Attempt to bind ttyMyGatewaySerial to openhab failing miserably
-
Raspberry Pi3
Running openhab v1.8.3
nRF24L01+ connected directly to SPI of the Raspberry Pi using this instruction:This gives me a serial gateway "ttyMySensorsGateway" and as the instructions specify I have a symbolic link between that and "ttyUSB20" (whatever that means....sorry new at some of this stuff):
ttyMySensorsGateway ttyprintk ttyS0 ttyUSB20Next I followed this instruction:
https://forum.mysensors.org/topic/3108/openhab-binding
This is the result of all of this in the openhab debug log. What steps am I missing here?
2016-07-16 22:59:50.599 [DEBUG] [i.internal.GenericItemProvider] - Start processing binding configuration of Item 'Temperature (Type=NumberItem, State=Uninitialized)' with 'MySensorsGenericBindingProvider' reader. 2016-07-16 22:59:50.608 [DEBUG] [ySensorsGenericBindingProvider] - New Item "Temperature (Type=NumberItem, State=Uninitialized)" based on configuration "3;1;V_TEMP" 2016-07-16 22:59:50.609 [DEBUG] [i.internal.GenericItemProvider] - Start processing binding configuration of Item 'Temperature (Type=NumberItem, State=Uninitialized)' with 'MySensorsGenericBindingProvider' reader. 2016-07-16 22:59:50.610 [DEBUG] [ySensorsGenericBindingProvider] - New Item "Temperature (Type=NumberItem, State=Uninitialized)" based on configuration "3;1;V_TEMP" 2016-07-16 22:59:50.656 [DEBUG] [.b.m.internal.MySensorsBinding] - activate 2016-07-16 22:59:50.723 [ERROR] [.o.b.m.internal.gateway.Serial] - Unable to find Serial port '/dev/ttyUSB20' 2016-07-16 22:59:50.724 [INFO ] [.service.AbstractActiveService] - MySensors Refresh Service has been started 2016-07-16 22:59:50.728 [DEBUG] [inding.ntp.internal.NtpBinding] - Got time from ptbtime1.ptb.de: Saturday, 16 July 2016 22:59:50 o'clock UTC 2016-07-16 22:59:50.747 [ERROR] [.service.AbstractActiveService] - Error while executing background thread MySensors Refresh Service java.lang.NullPointerException: null at org.openhab.binding.mysensors.internal.gateway.Serial.write(Serial.java:82) ~[na:na] at org.openhab.binding.mysensors.internal.MySensorsBinding.execute(MySensorsBinding.java:178) ~[na:na] at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) ~[na:na] at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) ~[na:na]``` -
Woo Hoo!!!!
2016-07-17 15:39:53.970 [DEBUG] [.o.b.m.internal.gateway.Serial] - Serial port '/dev/ttyUSB20' has been found.Not sure what fixed it. I added pi and openhab to user group 'tty' and then rebooted. Okay baby steps here....moving on.
pi@raspberrypi:~ $ sudo adduser pi tty Adding user `pi' to group `tty' ... Adding user pi to group tty Done. pi@raspberrypi:~ $ sudo adduser openhab tty Adding user `openhab' to group `tty' ... Adding user openhab to group tty Done. -
Oh my gosh....I'm officially geeking out!
2016-07-17 15:42:54.396 [DEBUG] [.b.m.internal.MySensorsBinding] - Gateway Version: 1.4``` -
OH MY GOSH!!! Just plugged in a node! It's alive! This is the best day of my life!!!
2016-07-17 15:50:05.345 [INFO ] [.b.m.internal.MySensorsBinding] - New MySensor node found: node-id=0 * Example item: 0;255;I_BATTERY_LEVEL - Use this to report the battery level 0-100 (%) * Example item: 0;255;I_SKETCH_NAME - Sketch name that can be used to identify sensor * Example item: 0;255;I_SKETCH_VERSION - Sketch version that can be reported to keep track of the version of sensor -
Awwwww.....good feelings gone :-(
2016-07-17 15:50:54.019 [DEBUG] [.o.b.m.internal.gateway.Serial] - Error writing data on serial port /dev/ttyUSB20: Input/output error in writeArray 2016-07-17 15:50:54.021 [DEBUG] [.b.m.internal.MySensorsBinding] - Ping gateway: Faild, unable to contact gawatay 2016-07-17 15:50:54.026 [DEBUG] [.b.m.internal.MySensorsBinding] - Starting new gateway 2016-07-17 15:50:54.032 [ERROR] [.o.b.m.internal.gateway.Serial] - Unable to find Serial port '/dev/ttyUSB20'I'm on an emotional roller coaster here. Now I'm back to:
2016-07-17 15:51:54.065 [ERROR] [.service.AbstractActiveService] - Error while executing background thread MySensors Refresh Service java.lang.NullPointerException: null at org.openhab.binding.mysensors.internal.gateway.Serial.write(Serial.java:82) ~[na:na] at org.openhab.binding.mysensors.internal.MySensorsBinding.execute(MySensorsBinding.java:178) ~[na:na] at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) ~[na:na] at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) ~[na:na]``` -
Checked the PiGatewaySerial.log file and nothing seems out of place. The log for today is simply:
Jul 17 15:38:13 raspberrypi PiGatewaySerial: Starting PiGatewaySerial... Jul 17 15:38:13 raspberrypi PiGatewaySerial: Protocol version - 1.4 Jul 17 15:38:13 raspberrypi PiGatewaySerial: Created PTY '/dev/pts/0' Jul 17 15:38:13 raspberrypi PiGatewaySerial: Gateway tty: /dev/ttyMySensorsGateway``` -
Oh! It's working again. I had used the stock eeprom clear sketch in the arduino id to reset my node and I should have used the eeprom clear config sketch in the mySensors examples within the mySensors arduino library to clear the eeprom. I couldn't get it to auto assign a node ID so I just hard coded one using:
gw.begin(NULL,3);Then I updated my item to use that node id and voila:
2016-07-17 17:49:17.721 [DEBUG] [.b.m.internal.MySensorsBinding] - internalReceiveUpdate(Temperature,20) is called! 2016-07-17 17:49:17.723 [DEBUG] [.b.m.internal.MySensorsBinding] - Temperature = 20It's a good day!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login