openHAB 2.0 binding
-
@TimO ok, I have discovered that my "tail" command doesn't work rigth, sorry
My logs are
2016-12-01 23:02:53.990 [DEBUG] [rs.internal.protocol.MySensorsReader] - 10;255;3;0;22;100788 2016-12-01 23:07:05.190 [DEBUG] [rs.internal.protocol.MySensorsReader] - 10;255;3;0;21;0 2016-12-01 23:17:05.248 [DEBUG] [rs.internal.protocol.MySensorsReader] - 10;255;3;0;21;0 2016-12-01 23:27:05.326 [DEBUG] [rs.internal.protocol.MySensorsReader] - 10;255;3;0;21;0 2016-12-01 23:37:05.409 [DEBUG] [rs.internal.protocol.MySensorsReader] - 10;255;3;0;21;0 2016-12-01 23:47:05.486 [DEBUG] [rs.internal.protocol.MySensorsReader] - 10;255;3;0;21;0 2016-12-01 23:57:05.562 [DEBUG] [rs.internal.protocol.MySensorsReader] - 10;255;3;0;21;0 2016-12-02 00:07:05.639 [DEBUG] [rs.internal.protocol.MySensorsReader] - 10;255;3;0;21;0I don't understand why am I reciving this message?
@Jic According to the serial API this is a I_DISCOVER_RESPONSE, but why is it sent? This seeems to update the lastUpdate channel.
I see it this way: "lastUpdate" is the last time the node has sent something, so everything is working as expected. :D
-
@Jic According to the serial API this is a I_DISCOVER_RESPONSE, but why is it sent? This seeems to update the lastUpdate channel.
I see it this way: "lastUpdate" is the last time the node has sent something, so everything is working as expected. :D
-
@bentrik said:
I managed to find an addons directory in /usr/share/openhab2/addons, but I can´t find a way to copy the .jar file there, as I get permission denied both through WinSCP in sudo mode and terminal ssh. The folder has permission 0775.
That is the correct directory if you installed OH2 via .deb. Seems like you are using a user in WinSCP that is not allowed to write to the directory above. To circumvent this:
- Copy the binding jar to /tmp.
- Login via ssh and execute:
sudo cp /tmp/org.openhab.binding.mysensors-2.0.0-SNAPSHOT.jar /usr/share/openhab2/addons/and
sudo chmod openhab.openhab /usr/share/openhab2/addons/org.openhab.binding.mysensors-2.0.0-SNAPSHOT.jarOH2 is started/stopped/restarted with
service openhab2 start/stop/restartTo log into the karaf console do:
ssh openhab@localhost -p 8101Password is: habopen
Follow the guide/wiki from:
In the console enter feature:install openhab-transport-serial@TimO said:
@bentrik said:
I managed to find an addons directory in /usr/share/openhab2/addons, but I can´t find a way to copy the .jar file there, as I get permission denied both through WinSCP in sudo mode and terminal ssh. The folder has permission 0775.
That is the correct directory if you installed OH2 via .deb. Seems like you are using a user in WinSCP that is not allowed to write to the directory above. To circumvent this:
- Copy the binding jar to /tmp.
- Login via ssh and execute:
sudo cp /tmp/org.openhab.binding.mysensors-2.0.0-SNAPSHOT.jar /usr/share/openhab2/addons/and
sudo chmod openhab.openhab /usr/share/openhab2/addons/org.openhab.binding.mysensors-2.0.0-SNAPSHOT.jarOH2 is started/stopped/restarted with
service openhab2 start/stop/restartTo log into the karaf console do:
ssh openhab@localhost -p 8101Password is: habopen
Follow the guide/wiki from:
In the console enter feature:install openhab-transport-serialI have installed openhab with the openhabian image. I could start the mysensors gateway too.
I followed the github-openhab2 installation instructions.
To this pointIn the console enter feature:install openhab-transport-serialI read a lot of posts on this thread but on get this error:
openhab> install openhab-transport-serial Bundle IDs: Error executing command: Error installing bundles: Unable to install bundle openhab-transport-serialthe chmod line posted above doesn't work neither. chmod does not accept openhab.openhab
I dont have any clue how to install the binding for openhab2 ... why isn't that possible from paperui :-(
-
I have install the addon and am getting the error:
17:49:40.745 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [null:1883] 17:49:40.745 [ERROR] [al.protocol.ip.MySensorsIpConnection] - IP must be not null/empty 17:49:40.752 [ERROR] [al.protocol.ip.MySensorsIpConnection] - Failed connecting to bridge...next retry in 10 seconds (Retry No.:46) 17:49:40.753 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Disconnecting from IP bridge ...MySensors does not show up as a binding in HabMin or PaperUI.
Where do I configure the MySensors binding if it doesn't show up in the UI?
-
I have install the addon and am getting the error:
17:49:40.745 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [null:1883] 17:49:40.745 [ERROR] [al.protocol.ip.MySensorsIpConnection] - IP must be not null/empty 17:49:40.752 [ERROR] [al.protocol.ip.MySensorsIpConnection] - Failed connecting to bridge...next retry in 10 seconds (Retry No.:46) 17:49:40.753 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Disconnecting from IP bridge ...MySensors does not show up as a binding in HabMin or PaperUI.
Where do I configure the MySensors binding if it doesn't show up in the UI?
-
@tademet
as stated in the configuration wiki https://github.com/tobof/openhab2-addons/wiki/Configuration you have to define the bridge in your thing-configuration, depending on the type of your gateway serial or ethernet.@jogant
I have added the config to the thing file.Bridge mysensors:bridge-eth:gateway [ ipAddress:"10.9.167.116", tcpPort=5003, sendDelay=200, imperial=true] { }But still getting the error:
08:10:25.214 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [null:5003] 08:10:25.215 [ERROR] [al.protocol.ip.MySensorsIpConnection] - IP must be not null/empty 08:10:25.216 [ERROR] [al.protocol.ip.MySensorsIpConnection] - Failed connecting to bridge...next retry in 10 seconds (Retry No.:3) 08:10:25.217 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Disconnecting from IP bridge ...I changed the port and it recognized that change but is not recognizing ipAddress. Am I misspelling this?
-
@jogant
I have added the config to the thing file.Bridge mysensors:bridge-eth:gateway [ ipAddress:"10.9.167.116", tcpPort=5003, sendDelay=200, imperial=true] { }But still getting the error:
08:10:25.214 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [null:5003] 08:10:25.215 [ERROR] [al.protocol.ip.MySensorsIpConnection] - IP must be not null/empty 08:10:25.216 [ERROR] [al.protocol.ip.MySensorsIpConnection] - Failed connecting to bridge...next retry in 10 seconds (Retry No.:3) 08:10:25.217 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Disconnecting from IP bridge ...I changed the port and it recognized that change but is not recognizing ipAddress. Am I misspelling this?
-
Just stumbled across this binding great work!
Until now I have used MQTT binding and MQTT gateway.
Will try this later on.
However, is there a reason why this binding is not part as downloadable from within OH2?
Cheers :) -
Just stumbled across this binding great work!
Until now I have used MQTT binding and MQTT gateway.
Will try this later on.
However, is there a reason why this binding is not part as downloadable from within OH2?
Cheers :)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. :-)
-
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've downloaded your code from github for this binding and tried to modify it a bit for my specific needs. However I'm having trouble compiling it. I've then gone back to basics and added in your unedited code to Eclipse. However it complains about:
@Override
public void bridgeHandlerDisposed(ThingHandler thingHandler, Bridge bridge)Saying : The method bridgeHandlerDisposed(Thinghandler,Bridge) of type MySensorsHandler must override or implement a supertype method.
Do you have any advice for me on this? :)
Thanks for your work on this!
-
I've downloaded your code from github for this binding and tried to modify it a bit for my specific needs. However I'm having trouble compiling it. I've then gone back to basics and added in your unedited code to Eclipse. However it complains about:
@Override
public void bridgeHandlerDisposed(ThingHandler thingHandler, Bridge bridge)Saying : The method bridgeHandlerDisposed(Thinghandler,Bridge) of type MySensorsHandler must override or implement a supertype method.
Do you have any advice for me on this? :)
Thanks for your work on this!
The old method of bridgeHandlerDisposed is Depreciated now.
-
The old method of bridgeHandlerDisposed is Depreciated now.
-
@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 } }