openHAB 2.0 binding
-
@Francois could you please send manually the I_VERSION command to the gateway? By no this is done by binding to check if the startup of the gateway was completed without errors. In your case that check fail. The I_VERSION message is this: 0;0;3;0;2;, you could try also 0;255;3;0;2; and see if gateway answer. Let we know what you see!
-
@andreacioni sorry how do I do this I_VERSION command to the gateway?
-
@andreacioni sorry how do I do this I_VERSION command to the gateway?
@Francois is a simple serial text message, just open the serial monitor of Arduino IDE and send it from there.
-
@andreacioni Here is is the info:
0;255;3;0;9;Starting gateway (RRNGA-, 2.0.0-beta) 0;255;3;0;9;Radio init successful. 0;255;3;0;14;Gateway startup complete. 0;255;3;0;9;Init complete, id=0, parent=0, distance=0 0;255;3;0;9;read: 40-40-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1 40;1;1;0;16;1 0;255;3;0;9;read: 40-40-0 s=255,c=3,t=0,pt=1,l=1,sg=0:100 40;255;3;0;0;100 0;255;3;0;9;read: 40-40-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1 40;1;1;0;16;1 0;255;3;0;9;read: 2-2-0 s=0,c=1,t=1,pt=7,l=5,sg=0:34.0 2;0;1;0;1;34.0 0;255;3;0;9;read: 40-40-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0 40;1;1;0;16;0 0;255;3;0;9;read: 40-40-0 s=0,c=1,t=23,pt=2,l=2,sg=0:80 40;0;1;0;23;80 0;255;3;0;9;read: 40-40-0 s=255,c=3,t=0,pt=1,l=1,sg=0:100 40;255;3;0;0;100 0;255;3;0;9;read: 40-40-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1 40;1;1;0;16;1 0;255;3;0;9;read: 101-101-0 s=255,c=3,t=15,pt=0,l=2,sg=0: 0;255;3;0;9;send: 0-0-101-101 s=255,c=3,t=15,pt=0,l=2,sg=0,st=fail: 0;255;3;0;9;read: 101-101-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0 101;255;3;0;6;0 0;255;3;0;9;read: 101-101-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0 101;255;3;0;6;0 0;255;3;0;9;read: 101-101-0 s=255,c=3,t=12,pt=0,l=3,sg=0:2.0 101;255;3;0;12;2.0 -
@andreacioni Here is is the info:
0;255;3;0;9;Starting gateway (RRNGA-, 2.0.0-beta) 0;255;3;0;9;Radio init successful. 0;255;3;0;14;Gateway startup complete. 0;255;3;0;9;Init complete, id=0, parent=0, distance=0 0;255;3;0;9;read: 40-40-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1 40;1;1;0;16;1 0;255;3;0;9;read: 40-40-0 s=255,c=3,t=0,pt=1,l=1,sg=0:100 40;255;3;0;0;100 0;255;3;0;9;read: 40-40-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1 40;1;1;0;16;1 0;255;3;0;9;read: 2-2-0 s=0,c=1,t=1,pt=7,l=5,sg=0:34.0 2;0;1;0;1;34.0 0;255;3;0;9;read: 40-40-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0 40;1;1;0;16;0 0;255;3;0;9;read: 40-40-0 s=0,c=1,t=23,pt=2,l=2,sg=0:80 40;0;1;0;23;80 0;255;3;0;9;read: 40-40-0 s=255,c=3,t=0,pt=1,l=1,sg=0:100 40;255;3;0;0;100 0;255;3;0;9;read: 40-40-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1 40;1;1;0;16;1 0;255;3;0;9;read: 101-101-0 s=255,c=3,t=15,pt=0,l=2,sg=0: 0;255;3;0;9;send: 0-0-101-101 s=255,c=3,t=15,pt=0,l=2,sg=0,st=fail: 0;255;3;0;9;read: 101-101-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0 101;255;3;0;6;0 0;255;3;0;9;read: 101-101-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0 101;255;3;0;6;0 0;255;3;0;9;read: 101-101-0 s=255,c=3,t=12,pt=0,l=3,sg=0:2.0 101;255;3;0;12;2.0 -
@Francois : I've updated my serial gw to the most recent development version and checked it against the binding. It is working for me. The response to I_VERSION does not belong to the RF, I've checked the current implementation of the MySensors library, so it should make not difference if you use RFM69, NRF or no RF at all.
Maybe the gateway is too busy to answer the request? Maybe we could an option for the binding to omit the check for I_VERSION? I'm out of ideas at the moment.
-
@Francois : I've updated my serial gw to the most recent development version and checked it against the binding. It is working for me. The response to I_VERSION does not belong to the RF, I've checked the current implementation of the MySensors library, so it should make not difference if you use RFM69, NRF or no RF at all.
Maybe the gateway is too busy to answer the request? Maybe we could an option for the binding to omit the check for I_VERSION? I'm out of ideas at the moment.
@TimO said:
Maybe we could an option for the binding to omit the check for I_VERSION?
I could do it without any problem.
-
@Francois : No, I don't think so. I can't explain this behaviour and I'm sure the binding will just work fine after the initial check of I_VERSION.
@andreacioni : Would you be so kind to prepare a PR? I suggest to leave the check on by default.
-
@Francois : No, I don't think so. I can't explain this behaviour and I'm sure the binding will just work fine after the initial check of I_VERSION.
@andreacioni : Would you be so kind to prepare a PR? I suggest to leave the check on by default.
@TimO simple update, tonight I'll push it :+1:
-
New version of the binding available!
- A requestTime from a node is now answered by the controller. Is anyone able to test it? (@undee )
- The controller will answer a request for "imperial or metric" like temperature sensors might ask. We need to test that too.
Big thanks @andreacioni for the implementation and @Francois for testing/reporting!
I've added an example page in the wiki: https://github.com/tobof/openhab2-addons/wiki/Examples
These are the type of things I'm currently using. (SensebenderMicro, Humidity, Temperature, Cover, Motion, Light ...)Has anyone additional examples yet?
-
New version of the binding available!
- A requestTime from a node is now answered by the controller. Is anyone able to test it? (@undee )
- The controller will answer a request for "imperial or metric" like temperature sensors might ask. We need to test that too.
Big thanks @andreacioni for the implementation and @Francois for testing/reporting!
I've added an example page in the wiki: https://github.com/tobof/openhab2-addons/wiki/Examples
These are the type of things I'm currently using. (SensebenderMicro, Humidity, Temperature, Cover, Motion, Light ...)Has anyone additional examples yet?
Thanks for your work! It's really nice to see the progress!
I have tried the TimeAwareSensor and the MockMySensors examples. The I_TIME message is sent by the node, obviously received by the gateway, but there the gateway is not sending anything in response. Are you sure your code for sending a time response is already active?
-
@TimO mysensor is now working :-) The only problem I have and I also had the same problem with OpenHab 1.8.2 as well in that I don't get my relay sensor to switch on or off. If if look at the log openhab it is sending the commands to the RelayActuator what am I doing wrong with this sensor? All my other sensor are reporting back to the dashboard.
11:59:32.760 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'teststudy' received command ON 11:59:32.769 [DEBUG] [g.mysensors.protocol.MySensorsWriter] - Sending to MySensors: 101;1;1;1;2;1 11:59:32.782 [INFO ] [marthome.event.ItemStateChangedEvent] - teststudy changed from NULL to ON 11:59:32.789 [DEBUG] [g.mysensors.handler.MySensorsHandler] - handleUpdate called 11:59:32.873 [DEBUG] [g.mysensors.protocol.MySensorsWriter] - Sending to MySensors: 101;1;1;1;2;1 11:59:32.977 [DEBUG] [g.mysensors.protocol.MySensorsWriter] - Sending to MySensors: 101;1;1;1;2;1 11:59:33.478 [DEBUG] [g.mysensors.protocol.MySensorsWriter] - Sending to MySensors: 101;1;1;1;2;1 11:59:34.479 [DEBUG] [g.mysensors.protocol.MySensorsWriter] - Sending to MySensors: 101;1;1;1;2;1 11:59:35.209 [DEBUG] [g.mysensors.protocol.MySensorsReader] - 40;1;1;0;16;0 11:59:35.221 [INFO ] [marthome.event.ItemStateChangedEvent] - studymotion changed from OPEN to CLOSED 11:59:35.243 [INFO ] [marthome.event.ItemStateChangedEvent] - studymotionlastup changed from 2016-04-23T11:59:31.084+0200 to 2016-04-23T11:59:35.229+0200 11:59:35.269 [INFO ] [marthome.event.ItemStateChangedEvent] - studymotionlastup changed from 2016-04-23T11:59:35.229+0200 to 2016-04-23T11:59:35.248+0200 11:59:36.480 [WARN ] [g.mysensors.protocol.MySensorsWriter] - NO ACK from nodeId: 101 11:59:36.483 [DEBUG] [g.mysensors.protocol.MySensorsWriter] - No old status know to revert to! -
Thanks for your work! It's really nice to see the progress!
I have tried the TimeAwareSensor and the MockMySensors examples. The I_TIME message is sent by the node, obviously received by the gateway, but there the gateway is not sending anything in response. Are you sure your code for sending a time response is already active?
Hi @undee
Can you post your node firmware version and log of OH2? It's very important for us to troubleshoot your problem.
Thanks! -
Hi all,
After battling with some radio issues with my sensors (in the RFM69 library) I am again ready to get things working using OH2. I downloaded the latest copy of the binding, but sadly things are not working for me. I believe the problem is still related to collecting to the serial port. I have lots of zwave stuff going on in my log, but i have included it anyhow in case someone feels the urge to take a look :-).
0_1461437647445_temporary log -
Hi all,
After battling with some radio issues with my sensors (in the RFM69 library) I am again ready to get things working using OH2. I downloaded the latest copy of the binding, but sadly things are not working for me. I believe the problem is still related to collecting to the serial port. I have lots of zwave stuff going on in my log, but i have included it anyhow in case someone feels the urge to take a look :-).
0_1461437647445_temporary log -
Thanks for the suggestion. I updated the configuration like this:
Bridge mysensors:bridge-ser:gateway [ serialPort="/dev/mysensorsUSB", sendDelay=200, skipStartupCheck=true ] { baro stableBarometer [ nodeId="6", childId="3" ] power mainPower [ nodeId="3", childId="1" ] temperature basementTemperature [ nodeId="10", childId="1"] }It did not work as expected. The resulting log is like this:
22:34:35.570 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'mysensors.things' 22:34:35.606 [DEBUG] [col.serial.MySensorsSerialConnection] - Shutting down serial connection! 22:34:35.606 [DEBUG] [g.mysensors.protocol.MySensorsWriter] - Stopping Writer thread 22:34:35.606 [DEBUG] [g.mysensors.protocol.MySensorsReader] - Stopping Reader thread 22:34:35.606 [DEBUG] [nsors.handler.MySensorsBridgeHandler] - Initialization of the MySensors Bridge 22:34:35.607 [DEBUG] [col.serial.MySensorsSerialConnection] - Connecting to /dev/mysensorsUSB [baudRate:115200] 22:34:35.614 [DEBUG] [col.serial.MySensorsSerialConnection] - Successfully connected to serial port. 22:34:35.614 [DEBUG] [col.serial.MySensorsSerialConnection] - Waiting 5 seconds to allow correct reset trigger on serial connection opening 22:34:40.608 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while calling thing updated at ThingHandler 'org.openhab.binding.mysensors.handler.MySensorsBridgeHandler@534c4d92: null java.util.concurrent.TimeoutException at java.util.concurrent.FutureTask.get(FutureTask.java:205)[:1.8.0_66] at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:179)[88:org.eclipse.smarthome.core:0.8.0.201604051458] at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:72)[88:org.eclipse.smarthome.core:0.8.0.201604051458] at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:56)[88:org.eclipse.smarthome.core:0.8.0.201604051458] at org.eclipse.smarthome.core.thing.internal.ThingManager.thingUpdated(ThingManager.java:515)[94:org.eclipse.smarthome.core.thing:0.8.0.201604051458] at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:218)[94:org.eclipse.smarthome.core.thing:0.8.0.201604051458] at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutUpdatedElement(ThingRegistryImpl.java:141)[94:org.eclipse.smarthome.core.thing:0.8.0.201604051458] at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutUpdatedElement(ThingRegistryImpl.java:1)[94:org.eclipse.smarthome.core.thing:0.8.0.201604051458] at org.eclipse.smarthome.core.common.registry.AbstractRegistry.updated(AbstractRegistry.java:102)[88:org.eclipse.smarthome.core:0.8.0.201604051458] at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:57)[88:org.eclipse.smarthome.core:0.8.0.201604051458] at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutUpdatedElement(AbstractProvider.java:82)[88:org.eclipse.smarthome.core:0.8.0.201604051458] at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.access$3(GenericThingProvider.java:1)[118:org.eclipse.smarthome.model.thing:0.8.0.201604051458] at org.eclipse.smarthome.model.thing.internal.GenericThingProvider$18.apply(GenericThingProvider.java:700)[118:org.eclipse.smarthome.model.thing:0.8.0.201604051458] at org.eclipse.smarthome.model.thing.internal.GenericThingProvider$18.apply(GenericThingProvider.java:1)[118:org.eclipse.smarthome.model.thing:0.8.0.201604051458] at org.eclipse.xtext.xbase.lib.IterableExtensions.forEach(IterableExtensions.java:399)[129:org.eclipse.xtext.xbase.lib:2.6.2.v201407030533] at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.modelChanged(GenericThingProvider.java:705)[118:org.eclipse.smarthome.model.thing:0.8.0.201604051458] at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:200)[107:org.eclipse.smarthome.model.core:0.8.0.201604051458] at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:116)[107:org.eclipse.smarthome.model.core:0.8.0.201604051458] at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:240)[107:org.eclipse.smarthome.model.core:0.8.0.201604051458] at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.access$1(FolderObserver.java:235)[107:org.eclipse.smarthome.model.core:0.8.0.201604051458] at org.eclipse.smarthome.model.core.internal.folder.FolderObserver$WatchQueueReader.processWatchEvent(FolderObserver.java:117)[107:org.eclipse.smarthome.model.core:0.8.0.201604051458] at org.eclipse.smarthome.core.service.AbstractWatchQueueReader.run(AbstractWatchQueueReader.java:95)[88:org.eclipse.smarthome.core:0.8.0.201604051458] at java.lang.Thread.run(Thread.java:745)[:1.8.0_66] 22:34:40.612 [INFO ] [smarthome.event.ThingUpdatedEvent ] - Thing 'mysensors:bridge-ser:gateway' has been updated. 22:34:40.620 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'mysensors.things' 22:34:40.815 [DEBUG] [g.mysensors.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2; 22:34:45.619 [ERROR] [s.internal.MySensorsBridgeConnection] - Cannot start reading/writing thread, probably sync message (I_VERSION) not received 22:34:45.619 [DEBUG] [col.serial.MySensorsSerialConnection] - Shutting down serial connection! 22:34:45.619 [DEBUG] [g.mysensors.protocol.MySensorsWriter] - Stopping Writer thread 22:34:45.621 [WARN ] [g.mysensors.protocol.MySensorsWriter] - Writer thread interrupted 22:34:45.621 [DEBUG] [g.mysensors.protocol.MySensorsReader] - Stopping Reader thread -
I restarted OH2 after changing the configuration, and this time I get no exceptions, but I see no more messages from the binding after the one included below.
@kolaf said:
22:34:40.815 [DEBUG] [g.mysensors.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;Edit: after a while I finally received a few packets in the debug console:
2016-04-23 23:10:49.020 [DEBUG] [g.mysensors.protocol.MySensorsReader] - 0;d0;6t, 2016-04-23 23:10:49.021 [DEBUG] [g.mysensors.protocol.MySensorsReader] - 0;4;1012.9Both of the packets seem quite mangled, they are missing pieces, and some of the pieces present do not make sense. I have verified that the baud rate is correct, and when I correct directly to the Gateway using a serial console the output looks normal.