OH3 - MySensors Binding
-
Hello,
has anyone of you guys already a bibdign version for OH3?
-
Hi,
I don't use MySensors binding so I have not tested it in OH3. But I know, that there are not binding special for OH3. All binding 2x should work with OH3. Difference is with binding 1x - these are not working with OH3.
-
The 2.5 binding does not work out of the box in OpenHAB 3 for me.
2020-12-22 22:53:34.555 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/usr/share/openhab/addons/org.openhab.binding.mysensors-2.5.0-SNAPSHOT.jar org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.mysensors [272] Unresolved requirement: Import-Package: org.eclipse.smarthome.config.core at org.eclipse.osgi.container.Module.start(Module.java:444) ~[org.eclipse.osgi-3.12.100.jar:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[org.eclipse.osgi-3.12.100.jar:?] at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.6.4] at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.6.4] at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [bundleFile:3.6.4] at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.6.4] at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.6.4]
I guess it has somehing to do with this?
https://community.openhab.org/t/guide-binding-development-changes-for-openhab-3-from-2-5-x/104134
Namespace change of openHAB core classes
With the migration of Eclipse Smart Home to openHAB the namespace of all classes in openHAB core needed to be changed. This means all imports done by bindings that refer to org.eclipse.smarthome have been changed to org.openhab.core. With your binding code you can simply do a file level replace of this text string in the java source files to migrate the binding. On linux you can use the following commands in you src/main/java directory:find . -name *.java -exec sed -i "s/org.eclipse.smarthome.core/org.openhab.core/g" {} ;
find . -name *.java -exec sed -i "s/org.eclipse.smarthome/org.openhab.core/g" {} ;
-
Well it seems that there isn't and ther won't be a mysensors binding anymore. It was abandoned by the developer.
So as of december 2020, with OpenHAB 3, the way to go is plain MQTT.
I can't say I disagree really. MQTT is simple and works.
I'm going to start from scratch and try to document my experience here.
-
Sad to hear that. I really liked the binding. I used MQTT before the binding and it worked but the binding was easier to use with auto ID and so on. Looking forward on following your progress. I guess I have to do the same, when I find the time.
-
I'm thinking about running a separate instance of OpenHAB 2 under docker, just to get the mysensors binding functionality. Or can I get all the functionality of the binding, via MQTT? Like auto ID and that the sensor (like a watermeter) can request its previous value from the controller.
-
Running OpenHAB 3 as my main system and OpenHAB 2 with the MySensors binding, under docker, works great. I use the remote binding in OpenHAB 3 to connect to OpenHAB 2. Just make sure to run them on different ports if they run on the same server.
-
@Klabbe great to know. Thanks
-
Hello,
Is smartsleep option of mysensors is implemented in de mqtt gateway? I have some battery powered units to control blinds which I put a lot in (smart)sleep to preserve batteries. This functions well with OH2 and mysensors binding....I'd rather not keep and OH2 instance running next to my OH3 instance if not necessary.
regards,
-
I think so. I have a lot of battery powered nodes heavily using smartsleep and they work just fine with MQTT.
-
Thanks Guillermo, are you using qos 1 for this, or are messages kept on the gateway automatically to deliver to a sensor which is asleep. Think I have to rebuild my gateway to mqtt then....
Thanks.
-
I'll look into the changes needed to migrate the binding to OH3 and let you know.
Maybe it's no big deal and I'll provide a version 3 binding.
-
@TimO That would be very appreciated! I really like your binding and it would be great to continue to use it without an extra instance of OpenHAB 2. I tried to compile it and got like 10 errors. Since I have zero java skills, I was unable to fix them.
-
@TimO, a binding for openhab 3.0 would be very much appreciated!
I have tried the MQTT gateway, and with standard setup, messages are lost wich are sent to the node when asleep. Does anyone know how to solve this. I didnt find anything in de mqtt-gateway config. I see mqtt messages which could be read by the controller (openhab), when the node goes to sleep and wakes up, but at this moment I don't see how to implement this in openhab MQTT generic things.
Thanks...
-
For those of you willing to help testing the OH3 integration here is a link:
Please don't forget to fulfill the requirements for mqtt und serial. Installation of bindings will do.
What's working after a quick test:
- binding loads in OH3
- serial gateway receives messages (ethernet gateway should work too)
- discovery is working
What's not working:
- MQTT gateway: it's broken some time and needs some tinkering
Please let me know if you found some time to test the binding.
-
@haasje30
smartsleep is easy with MQTTInitially a few years ago i tried the binding and it gave me nothing but trouble.
While it was configured I'd watch MQTT to see what it would do.2020-12-31 22:58:22 unoout/202/255/3/0/33 180000 (THIS IS THE SLEEP DURATION)
2020-12-31 22:58:22 unoout/202/255/3/0/32 500 (AT THIS MOMENT YOU HAVE 500MS to GET A COMMAND SENT)So define a thing to the channel ending in 32.
Bind an item to that channel with an expire timer for like 10 seconds state = 0then for your rule you'd have
rule "whatever"
when
Item whateverSleepItem changed from 0 to 500
then
whateverOtherItemThatIsSendingOutACommand.sendCommand(ON/OFF/WHATEVER)
end
-
Thanks TimO and waspie. At this moment I have one mysensors hardware gateway, which is connected to my openhab2 instance. I have an OH3 test instance, and no hardware controller for this (yet). I did an short test with my current controller, but this is not the best way for me. So I orderded an wemos D1 mini to create a new mysensors gateway. As soon as this is in I will be testing. Thanks again...
-
This post is deleted!
-
@haasje30 if it's mqtt both can subscribe at the same time
-
@TimO Thank you! It works for me with my Ethernet Gateway. I don't have that many nodes but the ones that I have, works as good as they did with OpenHAB2. I have a watermeter, an actuator and a door sensor. Great work!
-
@Klabbe thank you for your feedback!
-
@Klabbe great! perhaps I'll go back to ethernet gateway. Do you think is better option over mqtt gateway?
-
Hello,
I did some testing with 2 openhab versions to one ethernet gateway. At first it did not discover any devices, thats because they were allready discovered in the old (2.5) version of openhab, I Think, because when I created a new mysensor device,it was immediattely discovered by the new openhab. I noticed a minor problem, there is an ability to scan (and because auto discovery did not seem to work I tried this), but after a scan the ethernet gateways failes. When you try to add a device(manually), it goes back to the first page when you select the gateway. I had to restart de openhab service to get it running again.
I tested with a new blinds sensor (with smartsleep), and smartsleep seem to work OK. So I prefer this binding over de generic mqtt binding, because stuf like request() and smartsleep() work 'out of the box'. These are my fisrt tests, I will be doing more (other sensor types) later on when I have an additional gateway available.
Regards...
-
This post is deleted!
-
@TimO ,
many thanks for the updated binding. I just wait to update my OpenHAB to version 3.0.0 till your binding is ready. I use a OpenHAB manual install since many years on a ArchLinuxARM system. My Mysensors gateway is a serial one, which works like a charm till OpenHAB 2.5.11 and your bindings.
Today I updated to OpenHAB 3.0.0 and tried also OpenHAB 3.1.0-Snapshot. In both cases I got the Mysensors binding not working. It shows just "Initializing" in the Things overview. mqtt and serial transport features are installed. I don't change the manual config (things / items) files from 2.5.11 to 3.0.0.
If I use the openhab console, the bundle:diag and bundle:status shows "Active" and no errors.
If I take a look into the openhab.log, I found entries like:
[WARN ] [core.karaf.internal.FeatureInstaller] - The binding add-on 'mysensors' does not exist - ignoring it.
or
[WARN ] [org.apache.felix.fileinstall ] - A bundle with the same symbolic name (org.openhab.binding.mysensors) and version (3.1.0.202012312203) is already installed. Updating this bundle instead. [WARN ] [org.apache.felix.fileinstall ] - Failed to uninstall bundle: /opt/openhab/addons/org.openhab.binding.mysensors-3.1.0.jar.1 with id: 87. The bundle has already been uninstalled
Maybe you can share some ideas how to solve this issue? Any help is appreciated...
-
@kerberos Interesting find. Haven't seen something like this till now. I suggest to delete the jar file, delete the cache and start over again.
I haven't tested textual configuration, but this should work just fine and your problem occurred before the textual configuration is initialized.
-
hmm maybe I go back to the binding as well. Just spent several hours migrating all to the mqtt binding. It's working now but much slower.... So when I press a button the mqtt is slower to react as with the mysensor binding is. Why so?
-
many thanks for quick answer. I already remove the jar file and delete the cache, tmp and mysensors folder in the userdata folder several times. The textual configuration is used for many years, with some small updates. I don't try the gui configuration.
If you need more data's for debugging, I will provide.
-
Great work TimO your thing is working for me. Didn't do that much with it yet, so will keep testing.
-
@TimO What a fantastic build, thank you so much!
My build:
OH2 -> 3.0.0 upgraded via raspberry pi update (in OH3 instructions)
Battery Nodes, Color Lights, Buttons, Moisture sensors
My Sensors Eth Gateway Serial bridgeSide note for any newbies like me out there. Follow the instructions for OH2 installation for my sensors. Follow the directions for manually adding in the addon. And using TimO's jar instead.
I've been monitoring all my logs and no issues reported, everything seems to work just like in OH2.
-
@TimO
Thanks a lot for the updated version of the openHAB Binding (jar file) for openHAB 3.
It seems to be working well on OH 3- just perfomed some initial testing on my OH3 (3.0.0) test system.Also I feel it might be a good idea adding a link to the new 3.1.0 jar file to the "official" Install Instruction on https://www.mysensors.org/controller/openhab - don't you agree?
-
@TimO Great work.
I've had a merge request https://github.com/tobof/openhab2-addons/pull/141 floating around for months to add a wind direction channel to the my sensors binding.
Is your code in a shared repo? I'd love help add in my enhancement into your OH3 mysensors build.
-
Well, after a rather painful experience of manually upgrading and cherrypicking SerialPort changes from the decompiled OH3 mysensors jar posted above, I managed to get it a build working of the MySensors binding 3.1-SNAPSHOT.
This is the source: https://github.com/nikolac/openhab2-addons/tree/mysensors-oh3-migration/bundles/org.openhab.binding.mysensors
This fork has my addition, a direction channel on wind variables.
-
@ncollins Any chance this rebased work will be pushed upstream to the openhab/openhab-addons repo? Mainline support could help this binding with future framework changes and avoid reverse engineering of code changes and simplifies the binding installation.
Also any ideas on the MQTT bridge problem? Somehow the
broker name
cannot be resolved as also discussed here:
https://forum.mysensors.org/topic/10184/help-openhab-2-4-binding-mqtt
-
@fabyte I'd love to see this get pulled into the main repo. Not sure if @TimO plans to continue support, but I have no problem helping or even picking up where he leaves off.
I didn't contribute any MQTT specific fixes, and I don't recall manually migrating any MQTT fixes, but let me take a look.
-
@ncollins Thanks, really appreciate it
Let me know if you need more info, here's the basic config I did:
- created a mqtt broker (not system broker) This thing is ONLINE
UID: mqtt:broker:mosquitto label: mosquitto thingTypeUID: mqtt:broker configuration: lwtQos: 0 publickeypin: true keepAlive: 60 clientid: 566e1af2-19c2-4596-904f-18b89c502e53 qos: 0 reconnectTime: 60000 host: localhost secure: false certificatepin: true lwtRetain: true enableDiscovery: true
- created a MySensors MQTT Bridge with default settings (brokername = mosquitto)
UID: mysensors:bridge-mqtt:01d212b118 label: MySensors MQTT Gateway thingTypeUID: mysensors:bridge-mqtt configuration: networkSanCheckSendHeartbeat: false topicPublish: mygateway1-in networkSanCheckInterval: 3 networkSanCheckSendHeartbeatFailAttempts: 10 topicSubscribe: mygateway1-out networkSanCheckEnabled: false networkSanCheckConnectionFailAttempts: 3 startupCheckEnabled: false brokerName: mosquitto imperial: false sendDelay: 100
Here's the logs:
09:59:32.973 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:bridge-mqtt:01d212b118' changed from UNINITIALIZED to INITIALIZING 09:59:32.980 [DEBUG] [ensors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge 09:59:32.994 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Cache file: given_ids.cached not exist. 09:59:32.995 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Cache file: given_ids.cached not exist. Default passed, creating it... 09:59:32.997 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Writing on cache given_ids, content: [] 09:59:32.998 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Cache (given_ids) content: [] 09:59:33.011 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Enabling connection watchdog 09:59:33.015 [DEBUG] [ensors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE! 09:59:33.016 [DEBUG] [s.discovery.MySensorsDiscoveryService] - Starting MySensors discovery scan 09:59:33.022 [ERROR] [protocol.mqtt.MySensorsMqttConnection] - No connection to broker: mosquitto 09:59:33.027 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:bridge-mqtt:01d212b118' changed from INITIALIZING to OFFLINE 09:59:33.027 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Writing on cache given_ids, content: [] 09:59:33.029 [ERROR] [protocol.mqtt.MySensorsMqttConnection] - Failed connecting to bridge...next retry in 10 seconds (Retry No.:0)
I tried different broker names (like
mqtt:broker:mosquitto
, the clientid, different uid names, but the log always says the broker cannot be found. It maps to the following lines: linkI can provide more info if needed and try out debug versions of the binding if required.
-
Okay, now i tried to configure the
MQTT system broker connection
and this seems to work.- I set up the system broker and named it 'mosquitto'.
- in the MySensors MQTT bridge, as before, I used
mosquitto
as Broker Name. Now the Broker Name could be resolved and the Thing is online.
10:12:55.086 [DEBUG] [ensors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge 10:12:55.089 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Cache file: given_ids.cached not exist. 10:12:55.091 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Cache file: given_ids.cached not exist. Default passed, creating it... 10:12:55.094 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Writing on cache given_ids, content: [] 10:12:55.100 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Cache (given_ids) content: [] 10:12:55.103 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Enabling connection watchdog 10:12:55.106 [DEBUG] [ensors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE! 10:12:55.108 [ERROR] [protocol.mqtt.MySensorsMqttConnection] - MQTT connection offline - Reason unknown 10:12:55.113 [DEBUG] [s.discovery.MySensorsDiscoveryService] - Starting MySensors discovery scan 10:12:55.117 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Adding consumer for topic: mygateway1-out/+/+/+/+/+ 10:12:55.127 [WARN ] [protocol.mqtt.MySensorsMqttConnection] - Skipping I_VERSION connection test, not recommended... 10:12:55.133 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:bridge-mqtt:84dd4a387f' changed from INITIALIZING to ONLINE 10:12:55.133 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Writing on cache given_ids, content: [] 10:12:55.139 [INFO ] [protocol.mqtt.MySensorsMqttConnection] - Successfully connected to MySensors Bridge.
But
I'm having troubles with the MQTT system broker, it can't connect the broker instance.com.hivemq.client.mqtt.exceptions.ConnectionClosedException: java.io.IOException: Connection reset by peer Caused by: java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[?:?] at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[?:?] at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276) ~[?:?] at sun.nio.ch.IOUtil.read(IOUtil.java:233) ~[?:?] at sun.nio.ch.IOUtil.read(IOUtil.java:223) ~[?:?] at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:358) ~[?:?] at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:247) ~[bundleFile:4.1.42.Final] at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1147) ~[bundleFile:4.1.42.Final] at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:347) ~[bundleFile:4.1.42.Final] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148) [bundleFile:4.1.42.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700) [bundleFile:4.1.42.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:635) [bundleFile:4.1.42.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552) [bundleFile:4.1.42.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514) [bundleFile:4.1.42.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044) [bundleFile:4.1.42.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [bundleFile:4.1.42.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [bundleFile:4.1.42.Final] at java.lang.Thread.run(Thread.java:834) [?:?]
Since this seems more a OpenHAB/mosquitto issue I will dig into it myself.
Edit
TheMQTT System Broker
seems to be a concept from OH2, where a MQTT broker was shipped internally with OpenHAB and it seems to be broken in OH3 (OH Forum).This leaves me with the following conclusions:
- The MySensors binding configuration references the
MQTT system broker connection
- With OH3, this MQTT System Broker is not working anymore.
I suppose the correct way of handling this issue is to make the MySensors binding reference a normal
MQTT Broker
bridge, not a System Broker bridge.
Anyone who knows what changes this would require? My guess is that it should be manageable -> Source Code
-
@fabyte this is helpful.
My intuition says the embedded mqtt broker and the generic mqtt binding create the same "mqtt" connection service behind the scenes. I'm guessing the generic mqtt binding isn't registering its service by name, or it's registering it by some other key.
I'd like to get the mysensors addon to work with both mqtt brokers if possible.
-
@ncollins Yes, it looks like some resources are blocked or not resolved correctly when using the system broker.
But the system broker functionality comes with the mqtt binding itself. Here is a screen of the settings when I deleted the mqtt binding:
Also I never got the system broker working, even without defining a generic mqtt broker thing.
-
After reinstalling the mqtt bindung the MQTT System Broker connection now could be established - strange, that a reinstall was required since I did several OpenHAB system restarts and those didn't fix it.
Well, now the MySensors binding is working with the system broker:
Here's a MySensors temperature item:
To sum up, here's what I did
- (manually) installed
MySensors
binding - uninstalled
mqtt
binding - installed
mqtt
binding - set up the
MQTT system broker connection
4.1 setConnection Name
tosystembroker
4.2 setBroker Host
tolocalhost
(it's running on the same device)
4.3 Show advanced -> setBroker Port
to1883
since it was always using 8883 but I don't use a secure connection
(4.4 I didn't set a clientid, no user and no password) - set up the
MySensors MQTT Gateway
thing
5.1 setBroker Name
tosystembroker
- (manually) installed
-
@fabyte Nice work. I don't use mysensors-mqtt, but I do have a lot of tasmota devices using the generic mqtt binding.
I followed your directions to create system broker, then changed my existing mqtt broker connection to a "systemBroker" and referenced it by brokerid (Broker Name).
I had one other issue, the new system broker wouldn't start up. I had to manually add
secure="false"
to /opt/openhab/userdata/config/org/openhab/mqttbroker.config .Maybe you can get away with toggling "Secure Connection?" a couple of times.
-
I just want you to know, that I'm still there, but out of time at the moment. My third child was born just recently and I don't have any time for the binding at the moment.
I'm really sorry you had to reverse engineer the binding to add your code. That's awfully wrong.
We need to create a new common base to continue the work on the binding.
I was not able to add the binding to the official repo because of the formal requirements from the Openhab Team. I'm sure these requirements are needed, but I'm no professional in java. I struggled mainly at the nonnull annotations that are needed.
-
@TimO Congratulations on your child
I know it's an exciting time and definitely more important than developing a OH binding
Spending time with your family should always be number 1 priority and you can't blame anyone for taking time off from a internet community
-
@TimO Congrats!
I've been looking some of the other addon-ons and your code actually looks a lot better than most. I think the base is pretty solid.
I'll take a look at the annotations, and maybe getting some more traditional unit tests in place.
If we get to a point where a merge is acceptable, maybe we can move the maintenance fork to the MySensors repo.
-
@TimO & @fabyte I took a stab at making all of the classes/interfaces
@NonNullByDefault
and adding/overriding null checks throughout. It builds fine, seems to be working well with my ethernet gateway.I'm going to look at unit testing next.
-
I have been trying to get MySensors working with OH3 for a few days now and have just stumbled upon this thread. How opportune!!!
I am just trying to get a temp/hum arduino nano with a NRF24L01 hooked up to PI400 with OH3 using this link:
https://www.smarthomeblog.net/diy-home-automation-sensors-first-node/
Since I am starting from scratch with a simple proof of concept there might be some easy testing to be done with my setup.
Do you have any suggestions for me?
Thanks!
-
@haloway13 Glad to see you're diving in.
Have you set up your gateway yet? If not, try this https://www.mysensors.org/build/raspberry. I find it's easier to build and debug node with a working gateway.
-
I believe so.
openhabian@openhabian:~/MySensors $ sudo ./bin/mysgw Feb 28 14:28:54 INFO Starting gateway... Feb 28 14:28:54 INFO Protocol version - 2.4.0-alpha Feb 28 14:28:54 DEBUG MCO:BGN:INIT GW,CP=RNNGL---,FQ=NA,REL=0,VER=2.4.0-alpha Feb 28 14:28:54 DEBUG TSF:LRT:OK Feb 28 14:28:54 DEBUG TSM:INIT Feb 28 14:28:54 DEBUG TSF:WUR:MS=0 Feb 28 14:28:54 DEBUG TSM:INIT:TSP OK Feb 28 14:28:54 DEBUG TSM:INIT:GW MODE Feb 28 14:28:54 DEBUG TSM:READY:ID=0,PAR=0,DIS=0 Feb 28 14:28:54 DEBUG MCO:REG:NOT NEEDED Feb 28 14:28:54 DEBUG MCO:BGN:STP Feb 28 14:28:54 DEBUG MCO:BGN:INIT OK,TSP=1 Feb 28 14:28:54 DEBUG GWT:RMQ:CONNECTING... Feb 28 14:28:54 DEBUG connected to 192.168.1.151 Feb 28 14:28:54 DEBUG GWT:RMQ:OK Feb 28 14:28:54 DEBUG GWT:TPS:TOPIC=mygateway1-out/0/255/0/0/18,MSG SENT Feb 28 14:28:54 DEBUG TSM:READY:NWD REQ Feb 28 14:28:54 DEBUG ?TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK: Feb 28 14:29:13 DEBUG TSF:MSG:READ,1-1-0,s=1,c=1,t=1,pt=7,l=5,sg=0:31.3 Feb 28 14:29:13 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/1/1/0/1,MSG SENT Feb 28 14:29:23 DEBUG TSF:MSG:READ,1-1-0,s=1,c=1,t=1,pt=7,l=5,sg=0:31.4 Feb 28 14:29:23 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/1/1/0/1,MSG SENT Feb 28 14:29:43 DEBUG TSF:MSG:READ,1-1-0,s=0,c=1,t=0,pt=7,l=5,sg=0:16.1 Feb 28 14:29:43 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/0/1/0/0,MSG SENT
-
@haloway13 Looks good.
Next, I would get openhab ready for adding the mysensors addon. https://github.com/tobof/openhab2-addons/wiki/Installation
Via the openhab console run the following to install/activate the binding dependencies:
feature:install openhab-transport-serial
feature:install openhab-core-io-transport-mqtt
I recommend also settinglog:set DEBUG org.openhab.binding.mysensors
Create a mqtt system connection in OpenHAB. Be sure to check advanced, and set the port.
Then you can drop the org.openhab.binding.mysensors.jar into the addons folder and it should auto install. You can start with the binding linked above.
Once all of that is done, you can configure your first thing, which would be a MySensors MQTT Bridge. (you should disable "Enables the startup check", I believe there is a bug)
-
@ncollins I have had some issues getting this going. Am I running the development branch? Can you tell from the output?
-
@haloway13 you have any logs or screenshots of errors you're seeing?
-
@ncollins best I can do is say that it was a java io exception of some sort associated with the bridge or broker. I have since started from scratch several times and have not taken any screenshots.
I have faithfully followed directions from: https://github.com/tobof/openhab2-addons/wiki/Installation
Then it is a bit of a mystery to me how to finish up the configuration through the web pages.
Any help would be greatly appreciated!
-
Hmm, I don't use openhabian, but it looks like there is a log viewer built in: http://openhabian:9001 (maybe change openhabian to the IP of your pi).
Without logs or screenshots, it'll be impossible to help.
-
openhab log:tail output
log:set DEBUG org.openhab.binding.mysensors openhab> log:tail 20:17:49.861 [INFO ] [b.core.internal.i18n.I18nProviderImpl] - Time zone set to 'America/Denver'. 20:17:49.924 [INFO ] [b.core.internal.i18n.I18nProviderImpl] - Location set to '39.82834020908714,-105.06875216960907'. 20:17:49.929 [INFO ] [b.core.internal.i18n.I18nProviderImpl] - Locale set to 'en_US'. 20:18:27.583 [INFO ] [b.core.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007 20:18:33.947 [INFO ] [org.openhab.ui.internal.UIService ] - Started UI on port 8080 20:18:35.072 [INFO ] [re.automation.internal.RuleEngineImpl] - Rule engine started. 20:18:36.112 [INFO ] [hab.ui.habpanel.internal.HABPanelTile] - Started HABPanel at /habpanel 20:25:15.958 [INFO ] [ig.discovery.internal.PersistentInbox] - Added new thing 'mqtt:systemBroker:mosquitto' to inbox. 20:25:15.959 [INFO ] [openhab.event.InboxAddedEvent ] - Discovery Result with UID 'mqtt:systemBroker:mosquitto' has been added. 20:25:17.970 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid 86f6e016-3847-404f-80dc-a5abb81f6b2d 20:25:28.579 [INFO ] [t.reconnect.PeriodicReconnectStrategy] - Try to restore connection to '192.168.1.151'. Next attempt in 60000ms 20:25:28.673 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid 86f6e016-3847-404f-80dc-a5abb81f6b2d 20:26:28.685 [INFO ] [t.reconnect.PeriodicReconnectStrategy] - Try to restore connection to '192.168.1.151'. Next attempt in 60000ms 20:26:28.694 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid 86f6e016-3847-404f-80dc-a5abb81f6b2d
Broker config screen:
Addition to the Inbox:
Clicking the inbox. This is where I have no clue as to how to proceed...
-
so to follow up:
Here is the log after adding the thing systembroker:
21:28:27.906 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid bd9a756d-5cf7-46b0-adaa-856d29f8b587 21:29:27.913 [INFO ] [t.reconnect.PeriodicReconnectStrategy] - Try to restore connection to '192.168.1.151'. Next attempt in 60000ms 21:29:27.920 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid bd9a756d-5cf7-46b0-adaa-856d29f8b587 21:30:27.925 [INFO ] [t.reconnect.PeriodicReconnectStrategy] - Try to restore connection to '192.168.1.151'. Next attempt in 60000ms 21:30:27.933 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid bd9a756d-5cf7-46b0-adaa-856d29f8b587 21:31:05.860 [INFO ] [openhab.event.InboxRemovedEvent ] - Discovery Result with UID 'mqtt:systemBroker:mosquitto' has been removed. 21:31:06.015 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mqtt:systemBroker:mosquitto' changed from UNINITIALIZED to INITIALIZING 21:31:06.072 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mqtt:systemBroker:mosquitto' changed from INITIALIZING to OFFLINE 21:31:06.079 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid bd9a756d-5cf7-46b0-adaa-856d29f8b587 21:31:06.130 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mqtt:systemBroker:mosquitto' changed from OFFLINE to OFFLINE (COMMUNICATION_ERROR): Timeout 21:31:06.135 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mqtt:systemBroker:mosquitto' changed from OFFLINE (COMMUNICATION_ERROR): Timeout to OFFLINE (COMMUNICATION_ERROR): java.io.IOException: Connection reset by peer 21:31:27.938 [INFO ] [t.reconnect.PeriodicReconnectStrategy] - Try to restore connection to '192.168.1.151'. Next attempt in 60000ms 21:31:27.943 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mqtt:systemBroker:mosquitto' changed from OFFLINE (COMMUNICATION_ERROR): java.io.IOException: Connection reset by peer to OFFLINE 21:31:27.951 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid bd9a756d-5cf7-46b0-adaa-856d29f8b587 21:31:27.986 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mqtt:systemBroker:mosquitto' changed from OFFLINE to OFFLINE (COMMUNICATION_ERROR): java.io.IOException: Connection reset by peer 21:32:27.956 [INFO ] [t.reconnect.PeriodicReconnectStrategy] - Try to restore connection to '192.168.1.151'. Next attempt in 60000ms 21:32:27.967 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid bd9a756d-5cf7-46b0-adaa-856d29f8b587 21:32:27.968 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mqtt:systemBroker:mosquitto' changed from OFFLINE (COMMUNICATION_ERROR): java.io.IOException: Connection reset by peer to OFFLINE 21:32:28.014 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mqtt:systemBroker:mosquitto' changed from OFFLINE to OFFLINE (COMMUNICATION_ERROR): java.io.IOException: Connection reset by peer
Here is how I configured the thing:
-