openHAB 2.0 binding
-
@TimO
I'm trying to add a CO2 sensor. What is the sensor i need to select inside OpenHAB?TSP:MSG:SEND 70-70-0-0 s=0,c=1,t=37,pt=4,l=4,sg=0,ft=0,st=ok:1162
CO2 level = 1162 ppmsketch:
MyMessage msg(CHILD_ID_AIQ, V_LEVEL);
present(CHILD_ID_AIQ, S_AIR_QUALITY); -
@TimO
I'm trying to add a CO2 sensor. What is the sensor i need to select inside OpenHAB?TSP:MSG:SEND 70-70-0-0 s=0,c=1,t=37,pt=4,l=4,sg=0,ft=0,st=ok:1162
CO2 level = 1162 ppmsketch:
MyMessage msg(CHILD_ID_AIQ, V_LEVEL);
present(CHILD_ID_AIQ, S_AIR_QUALITY);Hello everyone,
In an OH2 environment with 2 nodes reporting temperature, one attached to the gateway and one on his own I receive the following error:
[ERROR] [rs.internal.protocol.MySensorsReader] - (java.lang.IllegalStateException: Could not update state, because callback is missing) on reading from connection, message: class org.openhab.binding.mysensors.internal.protocol.serial.MySensorsSerialReaderThe node attached to the gateway works fine, his item gets updated but the other one not.
The only code difference between their loop methods are calls to isTransportOK() and receiveTime() which are made by the latter node.
Doesn't this version support those 2 methods or I'm missing something ?
https://github.com/tobof/openhab2-addons/blob/MySensors/addons/binding/org.openhab.binding.mysensors/target/org.openhab.binding.mysensors-2.0.0-SNAPSHOT.jarThx for all the hard work on this library :smiley:
-
Hello everyone,
In an OH2 environment with 2 nodes reporting temperature, one attached to the gateway and one on his own I receive the following error:
[ERROR] [rs.internal.protocol.MySensorsReader] - (java.lang.IllegalStateException: Could not update state, because callback is missing) on reading from connection, message: class org.openhab.binding.mysensors.internal.protocol.serial.MySensorsSerialReaderThe node attached to the gateway works fine, his item gets updated but the other one not.
The only code difference between their loop methods are calls to isTransportOK() and receiveTime() which are made by the latter node.
Doesn't this version support those 2 methods or I'm missing something ?
https://github.com/tobof/openhab2-addons/blob/MySensors/addons/binding/org.openhab.binding.mysensors/target/org.openhab.binding.mysensors-2.0.0-SNAPSHOT.jarThx for all the hard work on this library :smiley:
Hey @frg !
- receiveTime() is supported by the binding and should work. In the binding log should appear a message like:
I_TIME request received from 123, answering...Do you have some more log for me?
- isTransportOK() is only handled within the node, no message is send so there is nothing the binding could support. By the way, the method was renamed to isTransportReady() with the current version 2.1.0.
Are there no updates from the second node? Did you check in the serial log of the node that messages were sent?
-
Hey @frg !
- receiveTime() is supported by the binding and should work. In the binding log should appear a message like:
I_TIME request received from 123, answering...Do you have some more log for me?
- isTransportOK() is only handled within the node, no message is send so there is nothing the binding could support. By the way, the method was renamed to isTransportReady() with the current version 2.1.0.
Are there no updates from the second node? Did you check in the serial log of the node that messages were sent?
@TimO
Hello,
Well this is bit of embarrassing...after changing the sleep time from 5 minutes to 1 minute for the troublesome node and re-uploading the sketch, it is reporting the temperature just fine. I tried all kinds of combinations trying to replicate the initial behavior, stopped the controller, rebooted the gateway, powered them off for while, moving back to 5 minutes sleep, to no avail, node registers and the temperature is reporting is showed in the paperui.On the other hand I don't see that I_TIME request received from... message in the logs (used log:set DEBUG org.openhab.binding.mysensors and log:tail) so I'm not sure if the receiveTime() is called.
I suppose I can write something in the EEPROM when the callback function runs and check that.
Thank you01:30:45.291 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:30:50.280 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;0;1;0;0;22.0 01:30:50.282 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 2 to 2017-01-06T01:30:50.281+0200 01:30:50.285 [INFO ] [marthome.event.ItemStateChangedEvent] - TemperatureOutside_LastUpdate changed from 2017-01-06T01:28:52.282+0200 to 2017-01-06T01:30:50.281+0200 01:30:53.550 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;1;1;0;0;23.1 01:30:55.292 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:05.293 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:15.293 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:25.294 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:35.294 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:45.295 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:49.287 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;0;1;0;0;22.0 01:31:53.541 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;1;1;0;0;23.1 01:31:53.544 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 0 to 2017-01-06T01:31:53.543+0200 01:31:53.552 [INFO ] [marthome.event.ItemStateChangedEvent] - TemperatureGateway_LastUpdate changed from 2017-01-06T01:29:53.559+0200 to 2017-01-06T01:31:53.543+0200 01:31:55.295 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:05.296 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:15.296 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:25.297 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:35.298 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:45.298 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:48.283 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;0;1;0;0;22.0 01:32:48.284 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 2 to 2017-01-06T01:32:48.284+0200 01:32:48.290 [INFO ] [marthome.event.ItemStateChangedEvent] - TemperatureOutside_LastUpdate changed from 2017-01-06T01:30:50.281+0200 to 2017-01-06T01:32:48.284+0200 01:32:53.532 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;1;1;0;0;23.1 01:32:55.299 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skippedNode 0 is gateway attached, Node 2 is battery run -TemperatureOutside.
-
@TimO
Hello,
Well this is bit of embarrassing...after changing the sleep time from 5 minutes to 1 minute for the troublesome node and re-uploading the sketch, it is reporting the temperature just fine. I tried all kinds of combinations trying to replicate the initial behavior, stopped the controller, rebooted the gateway, powered them off for while, moving back to 5 minutes sleep, to no avail, node registers and the temperature is reporting is showed in the paperui.On the other hand I don't see that I_TIME request received from... message in the logs (used log:set DEBUG org.openhab.binding.mysensors and log:tail) so I'm not sure if the receiveTime() is called.
I suppose I can write something in the EEPROM when the callback function runs and check that.
Thank you01:30:45.291 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:30:50.280 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;0;1;0;0;22.0 01:30:50.282 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 2 to 2017-01-06T01:30:50.281+0200 01:30:50.285 [INFO ] [marthome.event.ItemStateChangedEvent] - TemperatureOutside_LastUpdate changed from 2017-01-06T01:28:52.282+0200 to 2017-01-06T01:30:50.281+0200 01:30:53.550 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;1;1;0;0;23.1 01:30:55.292 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:05.293 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:15.293 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:25.294 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:35.294 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:45.295 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:31:49.287 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;0;1;0;0;22.0 01:31:53.541 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;1;1;0;0;23.1 01:31:53.544 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 0 to 2017-01-06T01:31:53.543+0200 01:31:53.552 [INFO ] [marthome.event.ItemStateChangedEvent] - TemperatureGateway_LastUpdate changed from 2017-01-06T01:29:53.559+0200 to 2017-01-06T01:31:53.543+0200 01:31:55.295 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:05.296 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:15.296 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:25.297 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:35.298 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:45.298 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped 01:32:48.283 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;0;1;0;0;22.0 01:32:48.284 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 2 to 2017-01-06T01:32:48.284+0200 01:32:48.290 [INFO ] [marthome.event.ItemStateChangedEvent] - TemperatureOutside_LastUpdate changed from 2017-01-06T01:30:50.281+0200 to 2017-01-06T01:32:48.284+0200 01:32:53.532 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;1;1;0;0;23.1 01:32:55.299 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skippedNode 0 is gateway attached, Node 2 is battery run -TemperatureOutside.
@frg Sometimes magic just happens. 😉
I'm glad it is working now! :+1: -
I try to send ORP calibration value to my sensors but it doesn't work.
NODE_ID : 10, CHILD_NODE_ID : 0
When I'm recieve ORP from my sensors it's ok :13:55:38.216 [DEBUG] [rs.internal.protocol.MySensorsReader] - 10;0;1;0;52;996.3But when I change the value, the value is not send :
14:09:24.051 [INFO ] [marthome.event.ItemStateChangedEvent] - orp01 changed from 40 to 50 14:09:24.266 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'orp01' received command 60 14:09:24.266 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 10;0;1;0;0;Item :
Number orp01 "Redox [%.1f mV]" <faucet> (gPiscine) { channel="mysensors:waterQuality:gateway:orp01:orp"}Sitemap :
sitemap test label="Main Menu" { Frame label="Piscine" { Setpoint item=orp01 label="Calirabte ORP" minValue=0 maxValue=1000 step=10 } } -
I try to send ORP calibration value to my sensors but it doesn't work.
NODE_ID : 10, CHILD_NODE_ID : 0
When I'm recieve ORP from my sensors it's ok :13:55:38.216 [DEBUG] [rs.internal.protocol.MySensorsReader] - 10;0;1;0;52;996.3But when I change the value, the value is not send :
14:09:24.051 [INFO ] [marthome.event.ItemStateChangedEvent] - orp01 changed from 40 to 50 14:09:24.266 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'orp01' received command 60 14:09:24.266 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 10;0;1;0;0;Item :
Number orp01 "Redox [%.1f mV]" <faucet> (gPiscine) { channel="mysensors:waterQuality:gateway:orp01:orp"}Sitemap :
sitemap test label="Main Menu" { Frame label="Piscine" { Setpoint item=orp01 label="Calirabte ORP" minValue=0 maxValue=1000 step=10 } }@Fabien I need a little bit more time to reproduce this behaviour. I've opened an issue here: https://github.com/tobof/openhab2-addons/issues/50
-
Hello everyone
I'm slowly migrating to OH2, my small MySensors network generally works fine but I see some weird behavior with the binding configuration in Paper UI.
So far it looks like "Disable network sanity check" is reversed - I'm sliding it to the left which means for me 'not disabled', i.e. 'enabled', but in the log I see "Checker thread disabled".2017-01-11 16:50:38.405 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;14;Gateway startup complete. 2017-01-11 16:50:38.408 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;0;0;18;2.1.0 2017-01-11 16:50:38.503 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2; 2017-01-11 16:50:38.511 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;2;2.1.0 2017-01-11 16:50:38.512 [DEBUG] [col.serial.MySensorsSerialConnection] - Good,Gateway is up and running! (Ver:2.1.0) 2017-01-11 16:50:38.514 [INFO ] [col.serial.MySensorsSerialConnection] - Successfully connected to MySensors Bridge. 2017-01-11 16:50:38.515 [WARN ] [col.serial.MySensorsSerialConnection] - Network Sanity Checker thread disabled from bridge configuration 2017-01-11 16:50:48.516 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skippedIs that ok?
-
Hello everyone
I'm slowly migrating to OH2, my small MySensors network generally works fine but I see some weird behavior with the binding configuration in Paper UI.
So far it looks like "Disable network sanity check" is reversed - I'm sliding it to the left which means for me 'not disabled', i.e. 'enabled', but in the log I see "Checker thread disabled".2017-01-11 16:50:38.405 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;14;Gateway startup complete. 2017-01-11 16:50:38.408 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;0;0;18;2.1.0 2017-01-11 16:50:38.503 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2; 2017-01-11 16:50:38.511 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;2;2.1.0 2017-01-11 16:50:38.512 [DEBUG] [col.serial.MySensorsSerialConnection] - Good,Gateway is up and running! (Ver:2.1.0) 2017-01-11 16:50:38.514 [INFO ] [col.serial.MySensorsSerialConnection] - Successfully connected to MySensors Bridge. 2017-01-11 16:50:38.515 [WARN ] [col.serial.MySensorsSerialConnection] - Network Sanity Checker thread disabled from bridge configuration 2017-01-11 16:50:48.516 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skippedIs that ok?
-
@AndrewZ Don't worry about that message, the debug log looks good. The warning is confusing and we need to change that. :-)
-
Hi @TimO
I've logged a job to include documentation about non-native OpenHAB 2.0 bindings in the official OH2 docs.
ThomDeitrich is looking to know why it's not yet in the official distro. Can provide some info?
-
Hi @TimO
I've logged a job to include documentation about non-native OpenHAB 2.0 bindings in the official OH2 docs.
ThomDeitrich is looking to know why it's not yet in the official distro. Can provide some info?
Hey @Duncan-Pullen !
The main reason is: I'm waiting for suggestions / approval from the OH2 developers. :)
The MySensors binding has grown big and a review takes some time.
-
Hi everyone,
@TimO, thanks for everything you did here!I just made the 2.0 version (code in comments of respective post) of petewill's Simple Scene Controller and discovered that a Scene Controller is not yet implemented in the OpenHAB binding. Is there a possibility that it will be implemented in the future?
For now, is it possible to get this working with CustomSensor or Text? -
Hi everyone,
@TimO, thanks for everything you did here!I just made the 2.0 version (code in comments of respective post) of petewill's Simple Scene Controller and discovered that a Scene Controller is not yet implemented in the OpenHAB binding. Is there a possibility that it will be implemented in the future?
For now, is it possible to get this working with CustomSensor or Text?Hi @FusedHe3 !
My first thought was: that's easy, lets add this! But after a second thought ...
I see one problem with S_SCENE_CONTROLLER: how do I map this in OpenHAB?
In MySensors there is V_SCENE_ON and V_SCENE_OFF. The message contains the corresponding scene number.
In OpenHAB I've: Number, Switch, Selection ...
In OpenHAB I may choose between Scene A, Scene B and so on, but I can't select between ON and OFF. Is Scene A switched off, when I select Scene B?
I'm using scenes with a switch in OpenHAB. Something like "Christmas decoration ON". In OpenHAB I'm using a group for that gChristmasDecoration or a rule: switch light on, shutter to 33%, ..
My approach in implementing a (hardware) scene controller would be a mapping of those switches. So I would define a switch / child for every button (scene) on the controller.
I'm open for ideas on how to map V_SCENE_CONTROLLER in OpenHAB, so if you or someone else have and idea, shout it out. :D
-
Ah, by the way, I forgot to mention: SmartSleep is supported since last week.
-
Hi @FusedHe3 !
My first thought was: that's easy, lets add this! But after a second thought ...
I see one problem with S_SCENE_CONTROLLER: how do I map this in OpenHAB?
In MySensors there is V_SCENE_ON and V_SCENE_OFF. The message contains the corresponding scene number.
In OpenHAB I've: Number, Switch, Selection ...
In OpenHAB I may choose between Scene A, Scene B and so on, but I can't select between ON and OFF. Is Scene A switched off, when I select Scene B?
I'm using scenes with a switch in OpenHAB. Something like "Christmas decoration ON". In OpenHAB I'm using a group for that gChristmasDecoration or a rule: switch light on, shutter to 33%, ..
My approach in implementing a (hardware) scene controller would be a mapping of those switches. So I would define a switch / child for every button (scene) on the controller.
I'm open for ideas on how to map V_SCENE_CONTROLLER in OpenHAB, so if you or someone else have and idea, shout it out. :D
-
Just updated my OH2 installation from snapshot to RC/beta and immediately got an error with the binding:
[ERROR] [rs.internal.protocol.MySensorsReader] - (java.lang.NumberFormatException: For input string: "Gateway startup complete.") on reading from connection, message: class org.openhab.binding.mysensors.internal.protocol.serial.MySensorsSerialReaderBut then the usual:
[INFO ] [col.serial.MySensorsSerialConnection] - Successfully connected to MySensors Bridge. [WARN ] [col.serial.MySensorsSerialConnection] - Network Sanity Checker thread disabled from bridge configurationWhat could be a problem? Do I need to perform some cleanup on my system? What exactly needs to be deleted?
-
Hey @Nicklas-Starkel !
I hope it will work out for you! :-)It is not yet part of OH2 and downloadable within OH2 because my pull request is still open. A OH2 developer needs to look at it. :-)
I ran into trouble today by apt-get updating Openhab.
I am over redefining the Distro for Snapshot... I have 2.0.0-SNAPSHOT, Build #743 up and running.
my bundle list looks following:
204 | Active | 80 | 3.12.0.OH | nrjavaserial
205 | Installed | 80 | 2.0.0.201611221149 | MySensors BindingStill getting these errors:
"03:17:10.911 [ERROR] [org.openhab.binding.mysensors ] - FrameworkEvent ERROR - org.openhab.binding.mysensors
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.mysensors [205]
Unresolved requirement: Require-Bundle: org.openhab.io.transport.serial"Any idea for next step?
-
I ran into trouble today by apt-get updating Openhab.
I am over redefining the Distro for Snapshot... I have 2.0.0-SNAPSHOT, Build #743 up and running.
my bundle list looks following:
204 | Active | 80 | 3.12.0.OH | nrjavaserial
205 | Installed | 80 | 2.0.0.201611221149 | MySensors BindingStill getting these errors:
"03:17:10.911 [ERROR] [org.openhab.binding.mysensors ] - FrameworkEvent ERROR - org.openhab.binding.mysensors
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.mysensors [205]
Unresolved requirement: Require-Bundle: org.openhab.io.transport.serial"Any idea for next step?
@krejcarek please upgrade the binding to the most recent version. :-)