Giter VIP home page Giter VIP logo

fritzbox-smarthome's Issues

Define properties via ActiveModel::Attributes

I was playing around with this gem for some home automation and it would be helpful for discoverability and ease of use to define the attributes in the Actor via ActiveModel::Attributes so that .attributes .to_h etc can be easily supported.

API performance low

Hi Klaus,

I found some time to compare the new reload function with a CURL request.
The reload takes around ~5 seconds.
With cURL it takes only ~1 second.

curl "http://fritz.box/webservices/homeautoswitch.lua?switchcmd=getdeviceinfos&ain=<ain>&sid=<sid>"

Not relevant for my use-case, but I thought I let you know as I initially expected the FritzBox to be slow.

-- Michael

Refresh data for single device

Hi,
in my use-case I need the current temperatur of a heater every couple of minutes.
I could not find a way to refresh data of a individual device in the API.
Could this be added via a update or refresh method?

I was able to achieve this with the following calls:

data = Fritzbox::Smarthome::Resource.get(command: 'getdeviceinfos', ain: heater.ain)
Fritzbox::Smarthome::Heater.new_from_api(data['device'])

However the ain and id are missing from the new heater.

'getdeviceinfos' is a new command that has apparently not been used in the API yet.

Unfortunately my ruby skills are not good enough for a PR.

Best Regards, Michael

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.