GithubHelp home page GithubHelp logo

Comments (8)

robertsLando avatar robertsLando commented on May 29, 2024

Actually the only way to set the polling interval is by using the entry in zwave settings Poll Interval and set the intensity of pooling for the value you need to poll. If it is a battery power device there is no way AFAIK to ask for updates, the update is triggered from the device when he decide to send it

from zwave2mqtt.

kvaster avatar kvaster commented on May 29, 2024

In openhab it is implemented in other way: they trigger query for values they want to poll on wakeup event. I.e. danfoss termostat pushes only battery level settings on wakeup, they do not push their current time. You can define 'check' period for such values - if passed more then 30 minutes (for example) from last check then openhab will request time value on next device wakeup and will correct it.

from zwave2mqtt.

robertsLando avatar robertsLando commented on May 29, 2024

from zwave2mqtt.

kvaster avatar kvaster commented on May 29, 2024

I'm sorry, I've missed message.

Generally we want receive data in two ways: 1) immediate data in case of some change / alarm (it device decision to send such data) 2) we want to update some metrics from our 'application' depending on our ow logic. 1 now is OK - we receive data imediatelly when it is sent from devices. But with 2 we have some problems.

We have: devices which may be sleeping, problems with lot's of requests at the same time.

What I'am expecting to be able to do (as a developer): I'd like to be able to schedule poll for a value at any time I want. For alive devices this poll should happen when there is 'slot' available (according to poll position in poll queue). For sleeping devices I'm expecting poll to be executed right in the moment device wakes up to send some data (maybe other data) to us. Such poll should have highest priority. After each poll we should give application some small time to send additional commands (if it's required) to device.

Example: CO2 sensor + Danfoss thermostat. CO2 sensor is always alive and auomatically send it's value when it changes more then 50ppm. Danfoss thermostat wake's up according to it's wake up period (300s for example) and sends it's current settings and battery status. For CO2 sensor we want more detailed value history - we want to track value chanhes each 10 seconds even if change is less then 50ppm. For thermostat we want to automatically adjust it's time (it is not sent automatically on each wakeup). We make schedule for polling CO2 value each 10 seconds and thermostat time each 1800 seconds (for example).

I think that it's all clear with CO2 value - we schedule poll request and after receiving value we will schedule one more poll request in 10 seconds. For thermostat we schedule poll request and system will make this poll exactly that time device will wakeup. After receiving time we will compare it with current and if it have big difference we will send set time command. Sleeping devices do not go sleep right after sending data, they wait for different commands from controller / application for small amount of time. Also in case CO2 schedule is at the same time when thermostat wakes up, CO2 polling will be delayed until thermostat time polling will be finished.

from zwave2mqtt.

robertsLando avatar robertsLando commented on May 29, 2024

@kvaster I think you should be able to do what you want by using MQTT APIs. With them you have full control of Zwave network and you can programatically ask to a node to update a value for example by using refreshValue api check here

from zwave2mqtt.

kvaster avatar kvaster commented on May 29, 2024

Ok. Thanks. I will check if it works this way!

from zwave2mqtt.

robertsLando avatar robertsLando commented on May 29, 2024

Any updates @kvaster ?

from zwave2mqtt.

kvaster avatar kvaster commented on May 29, 2024

It needs some code to be written from my side and I had no time yet, but I understand the concept and it should work. I think this issue can be closed. I will add comments after I will implement this in my system. Thanks!

from zwave2mqtt.

Related Issues (20)

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.