Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Controllers
  3. OpenHAB
  4. openHAB 2.0 binding

openHAB 2.0 binding

Scheduled Pinned Locked Moved OpenHAB
534 Posts 88 Posters 480.6k Views 99 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    azuntik
    wrote on last edited by
    #377

    I was able to successfully install the binding, but when I added a temperature sensor as a test, it keeps failing. This is the error message I'm getting:

    17:01:28.130 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while initializing handler of thing 'mysensors:temperature:4c0b17b9': java.lang.NullPointerException
    java.util.concurrent.ExecutionException: java.lang.NullPointerException
            at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_121]
            at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_121]
            at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:188)[98:org.eclipse.smarthome.core:0.9.0.b4]
            at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:81)[98:org.eclipse.smarthome.core:0.9.0.b4]
            at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:65)[98:org.eclipse.smarthome.core:0.9.0.b4]
            at org.eclipse.smarthome.core.thing.internal.ThingManager$9.run(ThingManager.java:710)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_121]
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_121]
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
            at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
    Caused by: java.lang.NullPointerException
            at org.openhab.binding.mysensors.internal.handler.MySensorsThingHandler.getBridgeHandler(MySensorsThingHandler.java:268)[193:org.openhab.binding.mysensors:2.0.0.201701181308]
            at org.openhab.binding.mysensors.internal.handler.MySensorsThingHandler.initialize(MySensorsThingHandler.java:77)[193:org.openhab.binding.mysensors:2.0.0.201701181308]
            at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:713)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
            at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:1)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
            at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:179)[98:org.eclipse.smarthome.core:0.9.0.b4]
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
            ... 3 more
    

    Any thoughts?

    T 1 Reply Last reply
    0
    • A azuntik

      I was able to successfully install the binding, but when I added a temperature sensor as a test, it keeps failing. This is the error message I'm getting:

      17:01:28.130 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while initializing handler of thing 'mysensors:temperature:4c0b17b9': java.lang.NullPointerException
      java.util.concurrent.ExecutionException: java.lang.NullPointerException
              at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_121]
              at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_121]
              at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:188)[98:org.eclipse.smarthome.core:0.9.0.b4]
              at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:81)[98:org.eclipse.smarthome.core:0.9.0.b4]
              at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:65)[98:org.eclipse.smarthome.core:0.9.0.b4]
              at org.eclipse.smarthome.core.thing.internal.ThingManager$9.run(ThingManager.java:710)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_121]
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_121]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
              at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
      Caused by: java.lang.NullPointerException
              at org.openhab.binding.mysensors.internal.handler.MySensorsThingHandler.getBridgeHandler(MySensorsThingHandler.java:268)[193:org.openhab.binding.mysensors:2.0.0.201701181308]
              at org.openhab.binding.mysensors.internal.handler.MySensorsThingHandler.initialize(MySensorsThingHandler.java:77)[193:org.openhab.binding.mysensors:2.0.0.201701181308]
              at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:713)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
              at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:1)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
              at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:179)[98:org.eclipse.smarthome.core:0.9.0.b4]
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
              ... 3 more
      

      Any thoughts?

      T Offline
      T Offline
      TimO
      Hero Member
      wrote on last edited by
      #378

      @azuntik Did you configure the temperature thing in the things and items file? Please post the contents of these files. Please add the debug log from the time before and after the exception occurs. Which version (snapshot, stable) of OH2 are you running?

      A 1 Reply Last reply
      0
      • T TimO

        @azuntik Did you configure the temperature thing in the things and items file? Please post the contents of these files. Please add the debug log from the time before and after the exception occurs. Which version (snapshot, stable) of OH2 are you running?

        A Offline
        A Offline
        azuntik
        wrote on last edited by azuntik
        #379

        @TimO I'll be honest with you: I'm not sure I configured everything properly. I don't have things or items files, because I set things up through the PaperUI. Do I need to set everything up through config files?

        I've attached the complete log file. I'm running stable.

        Thanks for your help!

        Edit: Nevermind. I don't have permission to upload a file. So, here's a pastebin: http://pastebin.com/jLeTXbvX (the timestamps are wrong, you can ignore the date).

        Edit2: One thing that I was having trouble with was determining the Node and Child IDs. I finally settled on what I think they are (105 and 255, respectively), but I may be wrong. Any advice with regard to figuring that out would also be greatly appreciated!

        marceltrapmanM 1 Reply Last reply
        0
        • A azuntik

          @TimO I'll be honest with you: I'm not sure I configured everything properly. I don't have things or items files, because I set things up through the PaperUI. Do I need to set everything up through config files?

          I've attached the complete log file. I'm running stable.

          Thanks for your help!

          Edit: Nevermind. I don't have permission to upload a file. So, here's a pastebin: http://pastebin.com/jLeTXbvX (the timestamps are wrong, you can ignore the date).

          Edit2: One thing that I was having trouble with was determining the Node and Child IDs. I finally settled on what I think they are (105 and 255, respectively), but I may be wrong. Any advice with regard to figuring that out would also be greatly appreciated!

          marceltrapmanM Offline
          marceltrapmanM Offline
          marceltrapman
          Mod
          wrote on last edited by
          #380

          @azuntik You should know what you are creating ;)

          In PaperUI you first create a thing for the gateway (I assume that worked for you).
          Next OpenHAB should find all attached things for you, no need to create them manually. Just confirm what OpenHAB found.
          Based on available properties you create an Item.

          Fulltime Servoy Developer
          Parttime Moderator MySensors board

          I use Domoticz as controller for Z-Wave and MySensors (previously Indigo and OpenHAB).
          I have a FABtotum to print cases.

          A 1 Reply Last reply
          0
          • marceltrapmanM marceltrapman

            @azuntik You should know what you are creating ;)

            In PaperUI you first create a thing for the gateway (I assume that worked for you).
            Next OpenHAB should find all attached things for you, no need to create them manually. Just confirm what OpenHAB found.
            Based on available properties you create an Item.

            A Offline
            A Offline
            azuntik
            wrote on last edited by azuntik
            #381

            @marceltrapman Frankenstein's Monster? :D

            So, the UI is not detecting anything, although testing mysgw shows it receiving data. Is this a misconfiguration on my part?

            Edit: Nevermind. I think what you said just sank in. Thanks for your help!

            1 Reply Last reply
            0
            • N Offline
              N Offline
              nikos1671
              wrote on last edited by
              #382

              Hi TimO
              Can you please add support for gas meter S_GAS like the water meter.

              Thanks
              Nikos

              S 1 Reply Last reply
              0
              • D Offline
                D Offline
                David Link
                wrote on last edited by
                #383

                Hello all! I believe I have done my due diligence in solving my own problem, but I am stuck. Can anyone point me in the right direction?

                I am trying to get started with an Ethernet Gateway. The gateway is displayed on the PaperUI, but in the log, it continues to try and connect to the ip bridge (Sending to MySensors: 0;0;3;0;2;)

                I am on:
                openhab 2.1.0-snapshot build #791
                MySensors Binding: 2.0.0.201701181308
                Gateway is using library 2.1.1

                I have tried:
                Clearing the EEPROM on the gateway thinking some garbage got stuck there.
                Set up and successfully used an MQTT gateway, thinking bad hardware?
                Restarted the binding, openhab, kitchen sink countless times.
                Updating everything to the latest build I could find
                Manually creating things

                The only thing that seems odd to me is the gateway repeats over and over what appears to be initialization data (displays ip address, 0;255;3;0;9;MC0;BGN;STP.....). However, it does receive data from a temperature node I built.

                I appreciate any pointers that can be provided, including "have you read this page?", though I think my Google search is permanently stuck on "mysensors openhab" at this point.

                Thanks,

                Dave

                T A 2 Replies Last reply
                0
                • N nikos1671

                  Hi TimO
                  Can you please add support for gas meter S_GAS like the water meter.

                  Thanks
                  Nikos

                  S Offline
                  S Offline
                  stoffej
                  wrote on last edited by
                  #384

                  @nikos1671

                  Where do I found the Mysensors Binding 2.0.0.201701181308 jar file for download?
                  Or is it mandatory to compile it from source?

                  Thanks Kristoffer

                  T 1 Reply Last reply
                  0
                  • D David Link

                    Hello all! I believe I have done my due diligence in solving my own problem, but I am stuck. Can anyone point me in the right direction?

                    I am trying to get started with an Ethernet Gateway. The gateway is displayed on the PaperUI, but in the log, it continues to try and connect to the ip bridge (Sending to MySensors: 0;0;3;0;2;)

                    I am on:
                    openhab 2.1.0-snapshot build #791
                    MySensors Binding: 2.0.0.201701181308
                    Gateway is using library 2.1.1

                    I have tried:
                    Clearing the EEPROM on the gateway thinking some garbage got stuck there.
                    Set up and successfully used an MQTT gateway, thinking bad hardware?
                    Restarted the binding, openhab, kitchen sink countless times.
                    Updating everything to the latest build I could find
                    Manually creating things

                    The only thing that seems odd to me is the gateway repeats over and over what appears to be initialization data (displays ip address, 0;255;3;0;9;MC0;BGN;STP.....). However, it does receive data from a temperature node I built.

                    I appreciate any pointers that can be provided, including "have you read this page?", though I think my Google search is permanently stuck on "mysensors openhab" at this point.

                    Thanks,

                    Dave

                    T Offline
                    T Offline
                    TimO
                    Hero Member
                    wrote on last edited by
                    #385

                    @David-Link Are you sure the gateway isn't in a boot loop?

                    D 1 Reply Last reply
                    0
                    • S stoffej

                      @nikos1671

                      Where do I found the Mysensors Binding 2.0.0.201701181308 jar file for download?
                      Or is it mandatory to compile it from source?

                      Thanks Kristoffer

                      T Offline
                      T Offline
                      TimO
                      Hero Member
                      wrote on last edited by
                      #386

                      @stoffej HERE

                      1 Reply Last reply
                      0
                      • T TimO

                        @David-Link Are you sure the gateway isn't in a boot loop?

                        D Offline
                        D Offline
                        David Link
                        wrote on last edited by
                        #387

                        @TimO That's exactly what is going on. Thank you for the tip, I was pulling my hair out. Now on to solving that problem! Thanks again.

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          mlava
                          wrote on last edited by
                          #388

                          Hi @TimO
                          I am having trouble but think I might be doing it wrong.
                          Is it possible to use this binding with a MQTT gateway?
                          I see that it needs to find the gateway on port 5003 but this isn't defined in MQTT gateway.
                          Is it possible?

                          T 1 Reply Last reply
                          0
                          • M mlava

                            Hi @TimO
                            I am having trouble but think I might be doing it wrong.
                            Is it possible to use this binding with a MQTT gateway?
                            I see that it needs to find the gateway on port 5003 but this isn't defined in MQTT gateway.
                            Is it possible?

                            T Offline
                            T Offline
                            TimO
                            Hero Member
                            wrote on last edited by
                            #389

                            Hi @mlava !
                            The MQTT gateway is not supported at the moment. I've done a proof of concept and it will be implemented after the refactoring we're currently working on.

                            M 1 Reply Last reply
                            1
                            • T TimO

                              Hi @mlava !
                              The MQTT gateway is not supported at the moment. I've done a proof of concept and it will be implemented after the refactoring we're currently working on.

                              M Offline
                              M Offline
                              mlava
                              wrote on last edited by
                              #390

                              @TimO
                              Wonderful, thank you for the answer.
                              I'll wait eagerly for progress! 😀

                              1 Reply Last reply
                              0
                              • D David Link

                                Hello all! I believe I have done my due diligence in solving my own problem, but I am stuck. Can anyone point me in the right direction?

                                I am trying to get started with an Ethernet Gateway. The gateway is displayed on the PaperUI, but in the log, it continues to try and connect to the ip bridge (Sending to MySensors: 0;0;3;0;2;)

                                I am on:
                                openhab 2.1.0-snapshot build #791
                                MySensors Binding: 2.0.0.201701181308
                                Gateway is using library 2.1.1

                                I have tried:
                                Clearing the EEPROM on the gateway thinking some garbage got stuck there.
                                Set up and successfully used an MQTT gateway, thinking bad hardware?
                                Restarted the binding, openhab, kitchen sink countless times.
                                Updating everything to the latest build I could find
                                Manually creating things

                                The only thing that seems odd to me is the gateway repeats over and over what appears to be initialization data (displays ip address, 0;255;3;0;9;MC0;BGN;STP.....). However, it does receive data from a temperature node I built.

                                I appreciate any pointers that can be provided, including "have you read this page?", though I think my Google search is permanently stuck on "mysensors openhab" at this point.

                                Thanks,

                                Dave

                                A Offline
                                A Offline
                                Andrew Currie
                                wrote on last edited by
                                #391

                                @David-Link It looks like you have a similar issue to me re the ethernet gateway. I have also tried "everything" and then yesterday discovered an old bug that might have resurfaced. I just put the following up on github:

                                https://github.com/mysensors/MySensors/issues/777

                                It might help you..

                                D 1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  Andrew Currie
                                  wrote on last edited by
                                  #392

                                  Further to my client ethernet gateway not working with the MySensors 2.1.1 library, I tried 2.0.0 and now go much further. The gateway does not keep restarting, talks to the openhab controller and at least reads the messages and tripped status from my motion sensor

                                  0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
                                  0;255;3;0;9;TSM:INIT
                                  0;255;3;0;9;TSM:RADIO:OK
                                  0;255;3;0;9;TSM:GW MODE
                                  0;255;3;0;9;TSM:READY
                                  IP: 192.168.1.9
                                  0;255;3;0;9;No registration required
                                  0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
                                  0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0
                                  0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1
                                  0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0
                                  0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1
                                  0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0
                                  0;255;3;0;9;TSP:SANCHK:OK```
                                  

                                  I had to turn on the skipStartupCheck for the ethernet gateway to come online in openhab (and the gateway serial monitor did show the 0;0;3;0;2; and ethernet messages between openhab and the gateway)

                                  15:10:13.316 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [192.168.1.9:5003]
                                  15:10:13.819 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                  15:10:14.320 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                  15:10:15.320 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                  15:10:16.320 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                  15:10:17.321 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                  15:10:18.321 [ERROR] [al.protocol.ip.MySensorsIpConnection] - Cannot start reading/writing thread, probably sync message (I_VERSION) not received. Try set skipStartupCheck to true
                                  15:10:18.322 [ERROR] [al.protocol.ip.MySensorsIpConnection] - Failed connecting to bridge...next retry in 10 seconds (Retry No.:1)
                                  15:10:18.322 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Disconnecting from IP bridge ...
                                  15:10:18.323 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Stopping Writer thread
                                  15:10:18.324 [DEBUG] [rs.internal.protocol.MySensorsReader] - Stopping Reader thread
                                  15:10:18.324 [ERROR] [rs.internal.protocol.MySensorsWriter] - (java.lang.InterruptedException) on writing to connection, message: class org.openhab.binding.mysensors.internal.protocol.ip.MySensorsIpWriter
                                  15:10:18.325 [ERROR] [rs.internal.protocol.MySensorsReader] - (java.lang.InterruptedException: sleep interrupted) on reading from connection, message: class org.openhab.binding.mysensors.internal.protocol.ip.MySensorIpReader
                                  15:10:25.236 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Disposing of the MySensors bridge
                                  15:10:25.236 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Destroying connection
                                  15:10:25.236 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist.
                                  15:10:25.237 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache (given_ids) content: [1]
                                  15:10:25.237 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Writing on cache given_ids, content: [1]
                                  15:10:25.239 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge
                                  15:10:25.239 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'mysensors:bridge-eth:cb1d6dd1' has been updated.
                                  15:10:25.240 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Set skip check on startup to: true
                                  15:10:25.240 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Enabling connection watchdog
                                  15:10:25.240 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist.
                                  15:10:25.241 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [192.168.1.9:5003]
                                  15:10:25.241 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache (given_ids) content: [1]
                                  15:10:25.241 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE!
                                  15:10:25.244 [WARN ] [al.protocol.ip.MySensorsIpConnection] - Skipping I_VERSION connection test, not recommended...
                                  15:10:25.244 [INFO ] [al.protocol.ip.MySensorsIpConnection] - Successfully connected to MySensors Bridge.
                                  

                                  I then got my motion sensor to come online in openhab

                                  15:13:24.300 [DEBUG] [ternal.handler.MySensorsThingHandler] - Configuration: nodeId 1, chiledId: 1, requestAck: false, revertState: false, smartSleep: false
                                  15:13:24.301 [DEBUG] [ternal.handler.MySensorsThingHandler] - Event listener for node 1-1 not registered yet, registering...
                                  15:13:24.305 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:motion:24559d07' changed from INITIALIZING to ONLINE```
                                  

                                  However the motion sensor (via gateway) and openhab controller are not talking to each other. Does skipping the startup check result in problems?

                                  Any ideas on how to progress with MySensors 2.0.0 library or do I need to wait for a fix to 2.1.1?

                                  Many Thanks...

                                  T 1 Reply Last reply
                                  0
                                  • A Andrew Currie

                                    @David-Link It looks like you have a similar issue to me re the ethernet gateway. I have also tried "everything" and then yesterday discovered an old bug that might have resurfaced. I just put the following up on github:

                                    https://github.com/mysensors/MySensors/issues/777

                                    It might help you..

                                    D Offline
                                    D Offline
                                    David Link
                                    wrote on last edited by
                                    #393

                                    @Andrew-Currie I think that is the same thing I am dealing with. I will take a look, thank you!

                                    I "cheated" and just hooked it up to my Pi that is running OpenHab and it works like a charm.

                                    1 Reply Last reply
                                    0
                                    • A Andrew Currie

                                      Further to my client ethernet gateway not working with the MySensors 2.1.1 library, I tried 2.0.0 and now go much further. The gateway does not keep restarting, talks to the openhab controller and at least reads the messages and tripped status from my motion sensor

                                      0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
                                      0;255;3;0;9;TSM:INIT
                                      0;255;3;0;9;TSM:RADIO:OK
                                      0;255;3;0;9;TSM:GW MODE
                                      0;255;3;0;9;TSM:READY
                                      IP: 192.168.1.9
                                      0;255;3;0;9;No registration required
                                      0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
                                      0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0
                                      0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1
                                      0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0
                                      0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1
                                      0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0
                                      0;255;3;0;9;TSP:SANCHK:OK```
                                      

                                      I had to turn on the skipStartupCheck for the ethernet gateway to come online in openhab (and the gateway serial monitor did show the 0;0;3;0;2; and ethernet messages between openhab and the gateway)

                                      15:10:13.316 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [192.168.1.9:5003]
                                      15:10:13.819 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                      15:10:14.320 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                      15:10:15.320 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                      15:10:16.320 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                      15:10:17.321 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                      15:10:18.321 [ERROR] [al.protocol.ip.MySensorsIpConnection] - Cannot start reading/writing thread, probably sync message (I_VERSION) not received. Try set skipStartupCheck to true
                                      15:10:18.322 [ERROR] [al.protocol.ip.MySensorsIpConnection] - Failed connecting to bridge...next retry in 10 seconds (Retry No.:1)
                                      15:10:18.322 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Disconnecting from IP bridge ...
                                      15:10:18.323 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Stopping Writer thread
                                      15:10:18.324 [DEBUG] [rs.internal.protocol.MySensorsReader] - Stopping Reader thread
                                      15:10:18.324 [ERROR] [rs.internal.protocol.MySensorsWriter] - (java.lang.InterruptedException) on writing to connection, message: class org.openhab.binding.mysensors.internal.protocol.ip.MySensorsIpWriter
                                      15:10:18.325 [ERROR] [rs.internal.protocol.MySensorsReader] - (java.lang.InterruptedException: sleep interrupted) on reading from connection, message: class org.openhab.binding.mysensors.internal.protocol.ip.MySensorIpReader
                                      15:10:25.236 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Disposing of the MySensors bridge
                                      15:10:25.236 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Destroying connection
                                      15:10:25.236 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist.
                                      15:10:25.237 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache (given_ids) content: [1]
                                      15:10:25.237 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Writing on cache given_ids, content: [1]
                                      15:10:25.239 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge
                                      15:10:25.239 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'mysensors:bridge-eth:cb1d6dd1' has been updated.
                                      15:10:25.240 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Set skip check on startup to: true
                                      15:10:25.240 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Enabling connection watchdog
                                      15:10:25.240 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist.
                                      15:10:25.241 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [192.168.1.9:5003]
                                      15:10:25.241 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache (given_ids) content: [1]
                                      15:10:25.241 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE!
                                      15:10:25.244 [WARN ] [al.protocol.ip.MySensorsIpConnection] - Skipping I_VERSION connection test, not recommended...
                                      15:10:25.244 [INFO ] [al.protocol.ip.MySensorsIpConnection] - Successfully connected to MySensors Bridge.
                                      

                                      I then got my motion sensor to come online in openhab

                                      15:13:24.300 [DEBUG] [ternal.handler.MySensorsThingHandler] - Configuration: nodeId 1, chiledId: 1, requestAck: false, revertState: false, smartSleep: false
                                      15:13:24.301 [DEBUG] [ternal.handler.MySensorsThingHandler] - Event listener for node 1-1 not registered yet, registering...
                                      15:13:24.305 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:motion:24559d07' changed from INITIALIZING to ONLINE```
                                      

                                      However the motion sensor (via gateway) and openhab controller are not talking to each other. Does skipping the startup check result in problems?

                                      Any ideas on how to progress with MySensors 2.0.0 library or do I need to wait for a fix to 2.1.1?

                                      Many Thanks...

                                      T Offline
                                      T Offline
                                      TimO
                                      Hero Member
                                      wrote on last edited by
                                      #394

                                      @Andrew-Currie It should make no difference for the binding if you're using 2.0.0 or 2.1.1. I can't see any incoming messages in the debug log you've posted. If the gateway is properly connected you should see messages incoming, for example from your motion sensor. Could you please establish a telnet connection to the gateway at port 5003 and post the output? In parallel check the serial output of the gateway, there you should see the establishment of the telnet connection for example.

                                      A 1 Reply Last reply
                                      0
                                      • T TimO

                                        @Andrew-Currie It should make no difference for the binding if you're using 2.0.0 or 2.1.1. I can't see any incoming messages in the debug log you've posted. If the gateway is properly connected you should see messages incoming, for example from your motion sensor. Could you please establish a telnet connection to the gateway at port 5003 and post the output? In parallel check the serial output of the gateway, there you should see the establishment of the telnet connection for example.

                                        A Offline
                                        A Offline
                                        Andrew Currie
                                        wrote on last edited by
                                        #395

                                        @TimO Thanks Tim for your feedback. Here is the log from the gateway. It receives messages from openhab re the ethernet connection and also from the motion sensor and gets a fail from one send

                                        0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
                                        0;255;3;0;9;TSM:INIT
                                        0;255;3;0;9;TSM:RADIO:OK
                                        0;255;3;0;9;TSM:GW MODE
                                        0;255;3;0;9;TSM:READY
                                        IP: 192.168.1.9
                                        0;255;3;0;9;No registration required
                                        0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
                                        0;255;3;0;9;TSP:SANCHK:OK
                                        0;255;3;0;9;TSP:SANCHK:OK
                                        0;255;3;0;9;Eth: connect
                                        0;255;3;0;9;Eth: 0;0;3;0;2;
                                        0;255;3;0;9;Eth: 
                                        0;255;3;0;9;Eth: 0;0;3;0;2;
                                        0;255;3;0;9;Eth: 
                                        0;255;3;0;9;Eth: 0;0;3;0;2;
                                        0;255;3;0;9;Eth: 
                                        0;255;3;0;9;Eth: 0;0;3;0;2;
                                        0;255;3;0;9;Eth: 
                                        0;255;3;0;9;Eth: 0;0;3;0;2;
                                        0;255;3;0;9;Eth: 
                                        0;255;3;0;9;Eth: disconnect
                                        0;255;3;0;9;TSP:SANCHK:OK
                                        0;255;3;0;9;Eth: connect
                                        0;255;3;0;9;Eth: 0;0;3;0;2;
                                        0;255;3;0;9;Eth: 
                                        0;255;3;0;9;Eth: 0;0;3;0;2;
                                        0;255;3;0;9;Eth: 
                                        0;255;3;0;9;Eth: 0;0;3;0;2;
                                        0;255;3;0;9;Eth: 
                                        0;255;3;0;9;Eth: 0;0;3;0;2;
                                        0;255;3;0;9;Eth: 
                                        0;255;3;0;9;Eth: 0;0;3;0;2;
                                        0;255;3;0;9;Eth: 
                                        0;255;3;0;9;Eth: disconnect
                                        0;255;3;0;9;TSP:SANCHK:OK
                                        0;255;3;0;9;TSP:SANCHK:OK
                                        0;255;3;0;9;TSP:MSG:READ 1-1-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
                                        0;255;3;0;9;TSP:MSG:BC
                                        0;255;3;0;9;TSP:MSG:FPAR REQ (sender=1)
                                        0;255;3;0;9;TSP:CHKUPL:OK
                                        0;255;3;0;9;TSP:MSG:GWL OK
                                        0;255;3;0;9;TSP:MSG:SEND 0-0-1-1 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
                                        0;255;3;0;9;TSP:MSG:READ 1-1-0 s=255,c=3,t=24,pt=1,l=1,sg=0:1
                                        0;255;3;0;9;TSP:MSG:PINGED (ID=1, hops=1)
                                        0;255;3;0;9;TSP:MSG:SEND 0-0-1-1 s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=ok:1
                                        0;255;3;0;9;TSP:MSG:READ 1-1-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                                        0;255;3;0;9;!TSP:MSG:SEND 0-0-1-1 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=fail:0100
                                        0;255;3;0;9;TSP:MSG:READ 1-1-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0
                                        0;255;3;0;9;TSP:MSG:READ 1-1-0 s=255,c=3,t=11,pt=0,l=13,sg=0:Motion Sensor
                                        0;255;3;0;9;TSP:MSG:READ 1-1-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.0
                                        0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=0,t=1,pt=0,l=0,sg=0:
                                        0;255;3;0;9;TSP:MSG:READ 1-1-0 s=255,c=3,t=26,pt=1,l=1,sg=0:2
                                        0;255;3;0;9;TSP:MSG:SEND 0-0-1-1 s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=ok:1
                                        0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0
                                        0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:1
                                        0;255;3;0;9;TSP:MSG:READ 1-1-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0
                                        0;255;3;0;9;TSP:SANCHK:OK
                                        

                                        The telnet connection shows no action and the gateway device is on the local network

                                        $ telnet 192.168.1.9 5003
                                        Trying 192.168.1.9...
                                        Connected to 192.168.1.9.
                                        Escape character is '^]'.
                                        
                                        $ arp -a
                                        HPB482AF (192.168.1.2) at 28:92:4a:c0:c3:27 [ether] on wlan0
                                        WIZnet9FFEED (192.168.1.9) at de:ad:b1:9f:fe:ed [ether] on wlan0
                                        NB604N.Home (192.168.1.1) at 00:60:64:83:50:8b [ether] on wlan0
                                        HF-LPB100 (192.168.1.12) at f0:fe:6b:16:a1:4a [ether] on wlan0
                                        

                                        I have tried all sorts of ubuntu firewall settings to allow access to and from 192.168.1.9 port 5003 and also looked into the router settings with no joy.

                                        As another approach I tried the serial gateway and investigated the linux settings given in
                                        http://docs.openhab.org/installation/linux.html#privileges-for-common-peripherals

                                        The furthest I got with the serial gateway was as follows, first the debug log at startup and then when creating the gateway thing in the paper ui

                                        10:07:04.218 [DEBUG] [org.openhab.binding.mysensors       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={component.name=org.openhab.binding.mysensors.internal.factory.MySensorsHandlerFactory, component.id=197, service.id=340, service.bundleid=250, service.scope=bundle} - org.openhab.binding.mysensors
                                        10:07:04.219 [DEBUG] [org.openhab.binding.mysensors       ] - BundleEvent STARTED – org.openhab.binding.mysensors
                                        10:08:52.520 [DEBUG] [org.openhab.binding.mysensors       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=341, service.bundleid=250, service.scope=singleton} – org.openhab.binding.mysensors
                                        
                                        10:08:52.524 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge
                                        10:08:52.526 [DEBUG] [col.serial.MySensorsSerialConnection] - Set skip check on startup to: false
                                        10:08:52.526 [DEBUG] [col.serial.MySensorsSerialConnection] - Enabling connection watchdog
                                        10:08:52.527 [DEBUG] [col.serial.MySensorsSerialConnection] - Connecting to ttyUSB1 [baudRate:115200]
                                        10:08:52.530 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist.
                                        10:08:52.531 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache (given_ids) content: []
                                        10:08:52.532 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE!
                                        
                                        testRead() open failed: /dev/ttyUSB1
                                        
                                        localClose: File Descriptor error, not closing
                                        
                                        testRead() open failed: /dev/ttyUSB1
                                        
                                        localClose: File Descriptor error, not closing
                                        
                                        testRead() open failed: /dev/ttyUSB1
                                        
                                        localClose: File Descriptor error, not closing
                                        10:08:52.545 [DEBUG] [col.serial.MySensorsSerialConnection] - Final port list: ttyUSB1:/dev/ttyUSB1
                                        
                                        testRead() open failed: ttyUSB1
                                        
                                        localClose: File Descriptor error, not closing
                                        Failed to connect on port: ttyUSB1 exception: 
                                        gnu.io.NoSuchPortException
                                        

                                        While my plan was to test on my ubuntu 16.04 laptop, I have gone ahead and ordered a Raspberry pi 3 and intend to install the openhabianpi img file. Hopefully better progress there...

                                        1 Reply Last reply
                                        0
                                        • B Offline
                                          B Offline
                                          balder88
                                          wrote on last edited by
                                          #396

                                          Hey guys, first message on this forum. Been reading alot before. But now I have a problem I just can't solve.
                                          It's about smartsleep with openhab 2.
                                          Im using wifi gw rfm 69.
                                          Regular messages works as it should both ways.
                                          But it almost seems like the smartsleep isn't enabled in the binding.
                                          Here are my configs and logs.

                                          Things file:

                                          Bridge mysensors:bridge-eth:gw69 [ ipAddress="192.168.1.235", tcpPort=5003, sendDelay=100, enableNetworkSanCheck=true ] {
                                          //  Anarduino
                                              humidity        AnHum   [ nodeId="66", childId="0" ]
                                              temperature     AnTemp  [ nodeId="66", childId="1" ]
                                              light           light02 [ nodeId="66", childId="3", smartSleep=true ]
                                            }
                                          

                                          Items file:

                                          Switch  TestLight   "Test lampa" (Test) { channel="mysensors:light:gw69:light02:status" }
                                          

                                          Sketch: (Cleaned up the parts that dont matter, RTC and so on.)

                                          // Enable debug prints to serial monitor
                                          #define MY_DEBUG 
                                          
                                          // Enable and select radio type attached
                                          #define MY_RADIO_RFM69
                                          #define MY_IS_RFM69HW
                                          #define MY_NODE_ID 66
                                          #define MY_RFM69_NETWORKID 100
                                          #define MY_RFM69_FREQUENCY RF69_433MHZ
                                          #define MY_SMART_SLEEP_WAIT_DURATION_MS 1000
                                          #include <MySensors.h>
                                          #include <TimeLib.h>
                                          #include <Wire.h>
                                          #include <MCP7940RTC.h>
                                          #include <DHT.h>
                                          
                                          #define MCP7940_CTRL_ID 0x6F
                                          #define CSMEM_PIN 5
                                          
                                          #define LEDPIN 9
                                          
                                          long sleepIntervalSec=5;
                                          long loopCnt=0;
                                          uint8_t d[8];
                                          uint8_t dAlarm[8];
                                          int d1[8];
                                          
                                          // Set this to the pin you connected the DHT's data pin to
                                          #define DHT_DATA_PIN 6
                                          
                                          // Set this offset if the sensor has a permanent small offset to the real temperatures
                                          #define SENSOR_TEMP_OFFSET 0
                                          
                                          // Sleep time between sensor updates (in milliseconds)
                                          // Must be >1000ms for DHT22 and >2000ms for DHT11
                                          static const uint64_t UPDATE_INTERVAL = 5000;
                                          
                                          // Force sending an update of the temperature after n sensor reads, so a controller showing the
                                          // timestamp of the last update doesn't show something like 3 hours in the unlikely case, that
                                          // the value didn't change since;
                                          // i.e. the sensor would force sending an update every UPDATE_INTERVAL*FORCE_UPDATE_N_READS [ms]
                                          static const uint8_t FORCE_UPDATE_N_READS = 10;
                                          
                                          #define CHILD_ID_HUM 0
                                          #define CHILD_ID_TEMP 1
                                          #define CHILD_ID_MULTIMETER 2
                                          
                                          float lastTemp;
                                          float lastHum;
                                          uint8_t nNoUpdatesTemp;
                                          uint8_t nNoUpdatesHum;
                                          bool metric = true;
                                          
                                          MyMessage msgHum(CHILD_ID_HUM, V_HUM);
                                          MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
                                          MyMessage msgVolt(CHILD_ID_MULTIMETER, V_VOLTAGE);
                                          
                                          DHT dht;
                                          
                                          int BATTERY_SENSE_PIN = A0;  // select the input pin for the battery sense point
                                          int oldBatteryPcnt = 0;
                                          int batteryBasement = 812;
                                          int batteryFull = 922;
                                          float batteryConstant = 100.0 / (batteryFull - batteryBasement);
                                          float lastbatteryV = 0;
                                          
                                          const int buzzer = 7; //buzzer to arduino pin 7
                                          
                                          #define RELAY_1  8  // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
                                          #define NUMBER_OF_RELAYS 1 // Total number of attached relays
                                          #define RELAY_ON 1  // GPIO value to write to turn on attached relay
                                          #define RELAY_OFF 0 // GPIO value to write to turn off attached relay
                                          
                                          void before()
                                          {
                                            for (int sensor=3, pin=RELAY_1; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
                                              // Then set relay pins in output mode
                                              pinMode(pin, OUTPUT);
                                              // Set relay to last known state (using eeprom storage)
                                              digitalWrite(pin, loadState(sensor)?RELAY_ON:RELAY_OFF);
                                            }
                                          }
                                          
                                          void setup()  
                                          {
                                             // use the 1.1 V internal reference
                                             analogReference(INTERNAL);
                                          
                                            pinMode(LEDPIN, OUTPUT);
                                            digitalWrite(LEDPIN, LOW);
                                            Wire.begin();
                                            pinMode(CSMEM_PIN, OUTPUT);
                                            digitalWrite(CSMEM_PIN, HIGH);
                                          
                                             dht.setup(DHT_DATA_PIN); // set data pin of DHT sensor
                                            if (UPDATE_INTERVAL <= dht.getMinimumSamplingPeriod()) {
                                              Serial.println("Warning: UPDATE_INTERVAL is smaller than supported by the sensor!");
                                            }
                                            // Sleep for the time of the minimum sampling period to give the sensor time to power up
                                            // (otherwise, timeout errors might occure for the first reading)
                                            sleepIntervalSec = dht.getMinimumSamplingPeriod();
                                            clearAlarm();
                                            delay(20);
                                            setNewAlarm();
                                            sleep(dht.getMinimumSamplingPeriod());
                                            analogRead(BATTERY_SENSE_PIN);
                                           }
                                          
                                          void presentation() {
                                             // Send the sketch version information to the gateway and Controller
                                             sendSketchInfo("Humidity sensor", "1.0");
                                             present(CHILD_ID_MULTIMETER, S_MULTIMETER, "VOLT", true);
                                             present(CHILD_ID_HUM, S_HUM, "HUMIDITY", true);
                                             present(CHILD_ID_TEMP, S_TEMP, "TEMP", true);
                                            for (int sensor=1, pin=RELAY_1; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
                                              // Register all sensors to gw (they will be created as child devices)
                                              present(sensor, S_BINARY);
                                            }
                                            metric = getControllerConfig().isMetric;
                                          }
                                          
                                          
                                          void loop()
                                          {
                                            wait(100);
                                             int sensorValue = analogRead(BATTERY_SENSE_PIN);
                                             #ifdef MY_DEBUG
                                             Serial.println(sensorValue);
                                             #endif
                                             float batteryV  = sensorValue * 0.004551646;
                                             if(sensorValue < batteryBasement) {
                                              sensorValue = batteryBasement;
                                              batteryV = 0;
                                             }
                                             else if (sensorValue > batteryFull) {
                                              sensorValue = batteryFull;
                                             }
                                             int batteryPcnt = (sensorValue - batteryBasement) * batteryConstant;
                                                 if ((abs(oldBatteryPcnt - batteryPcnt) > 1)) {
                                                sendBatteryLevel(batteryPcnt);
                                                oldBatteryPcnt = batteryPcnt;
                                              }
                                             
                                             if(batteryV != lastbatteryV) {
                                             send(msgVolt.set(batteryV, 2));
                                             lastbatteryV = batteryV;
                                             }
                                             #ifdef MY_DEBUG
                                             Serial.print("Battery Voltage: ");
                                             Serial.print(batteryV);
                                             Serial.println(" V");
                                             Serial.print("Battery percent: ");
                                             Serial.print(batteryPcnt);
                                             Serial.println(" %");
                                             #endif
                                          
                                            // Force reading sensor, so it works also after sleep()
                                            dht.readSensor(true);
                                          
                                            // Get temperature from DHT library
                                            float temperature = dht.getTemperature();
                                            if (isnan(temperature)) {
                                              Serial.println("Failed reading temperature from DHT!");
                                            } else if (temperature != lastTemp || nNoUpdatesTemp == FORCE_UPDATE_N_READS) {
                                              // Only send temperature if it changed since the last measurement or if we didn't send an update for n times
                                              lastTemp = temperature;
                                              if (!metric) {
                                                temperature = dht.toFahrenheit(temperature);
                                              }
                                              // Reset no updates counter
                                              nNoUpdatesTemp = 0;
                                              temperature += SENSOR_TEMP_OFFSET;
                                              send(msgTemp.set(temperature, 1));
                                              #ifdef MY_DEBUG
                                              Serial.print("T: ");
                                              Serial.println(temperature);
                                              #endif
                                            } else {
                                              // Increase no update counter if the temperature stayed the same
                                              nNoUpdatesTemp++;
                                            }
                                          
                                            // Get humidity from DHT library
                                            float humidity = dht.getHumidity();
                                            if (isnan(humidity)) {
                                              Serial.println("Failed reading humidity from DHT");
                                            } else if (humidity != lastHum || nNoUpdatesHum == FORCE_UPDATE_N_READS) {
                                              // Only send humidity if it changed since the last measurement or if we didn't send an update for n times
                                              lastHum = humidity;
                                              // Reset no updates counter
                                              nNoUpdatesHum = 0;
                                              send(msgHum.set(humidity, 1));
                                          
                                              #ifdef MY_DEBUG
                                              Serial.print("H: ");
                                              Serial.println(humidity);
                                              #endif
                                            } else {
                                              // Increase no update counter if the humidity stayed the same
                                              nNoUpdatesHum++;
                                            }
                                          long sleepTime = UPDATE_INTERVAL;
                                          if (batteryPcnt < 50) {
                                            sleepTime = (sleepTime * 2);
                                          }
                                            // Sleep for a while to save energy
                                            sleepIntervalSec = sleepTime / 1000;
                                            Serial.println();
                                            Serial.print("Setting new sleep time: ");
                                            Serial.print(sleepIntervalSec);
                                            Serial.println(" seconds.");
                                            clearAlarm();
                                            delay(20);
                                            setNewAlarm();
                                            smartSleep(sleepTime);
                                          
                                          }
                                          
                                          void receive(const MyMessage &message)
                                          {
                                            // We only expect one type of message from controller. But we better check anyway.
                                            if (message.type==V_STATUS) {
                                              // Change relay state
                                              digitalWrite(message.sensor-1+RELAY_1, message.getBool()?RELAY_ON:RELAY_OFF);
                                              // Store state in eeprom
                                              saveState(message.sensor, message.getBool());
                                              // Write some debug info
                                              Serial.print("Incoming change for sensor:");
                                              Serial.print(message.sensor);
                                              Serial.print(", New status: ");
                                              Serial.println(message.getBool());
                                            }
                                          }
                                          

                                          Sensor startup:

                                          0 MCO:BGN:INIT NODE,CP=RRNNA--,VER=2.1.1
                                          3 MCO:BGN:BFR
                                          4 TSM:INIT
                                          5 TSF:WUR:MS=0
                                          8 TSM:INIT:TSP OK
                                          9 TSM:INIT:STATID=66
                                          11 TSF:SID:OK,ID=66
                                          13 TSM:FPAR
                                          143 TSF:MSG:SEND,66-66-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                                          524 TSF:MSG:READ,0-0-66,s=255,c=3,t=8,pt=1,l=1,sg=0:0
                                          529 TSF:MSG:FPAR OK,ID=0,D=1
                                          2150 TSM:FPAR:OK
                                          2151 TSM:ID
                                          2152 TSM:ID:OK
                                          2154 TSM:UPL
                                          2161 TSF:MSG:SEND,66-66-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
                                          2181 TSF:MSG:READ,0-0-66,s=255,c=3,t=25,pt=1,l=1,sg=0:1
                                          2186 TSF:MSG:PONG RECV,HP=1
                                          2189 TSM:UPL:OK
                                          2190 TSM:READY:ID=66,PAR=0,DIS=1
                                          2199 TSF:MSG:SEND,66-66-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
                                          2253 TSF:MSG:READ,0-0-66,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                                          2310 TSF:MSG:SEND,66-66-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.1.1
                                          2366 TSF:MSG:SEND,66-66-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
                                          2403 TSF:MSG:READ,0-0-66,s=255,c=3,t=6,pt=0,l=1,sg=0:M
                                          2461 TSF:MSG:SEND,66-66-0-0,s=255,c=3,t=11,pt=0,l=15,sg=0,ft=0,st=OK:Humidity sensor
                                          2562 TSF:MSG:SEND,66-66-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
                                          2618 TSF:MSG:SEND,66-66-0-0,s=2,c=0,t=30,pt=0,l=4,sg=0,ft=0,st=OK:VOLT
                                          2757 !TSF:MSG:SEND,66-66-0-0,s=0,c=0,t=7,pt=0,l=8,sg=0,ft=0,st=NACK:HUMIDITY
                                          2777 TSF:MSG:SEND,66-66-0-0,s=1,c=0,t=6,pt=0,l=4,sg=0,ft=1,st=OK:TEMP
                                          2912 !TSF:MSG:SEND,66-66-0-0,s=1,c=0,t=3,pt=0,l=0,sg=0,ft=0,st=NACK:
                                          2918 MCO:REG:REQ
                                          2974 TSF:MSG:SEND,66-66-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=1,st=OK:2
                                          2991 TSF:MSG:READ,0-0-66,s=255,c=3,t=27,pt=1,l=1,sg=0:1
                                          2996 MCO:PIM:NODE REG=1
                                          2999 MCO:BGN:STP
                                          3154 MCO:SLP:MS=2000,SMS=0,I1=255,M1=255,I2=255,M2=255
                                          3160 MCO:SLP:TPD
                                          3161 MCO:SLP:WUP=-1
                                          3163 MCO:BGN:INIT OK,TSP=1
                                          

                                          Log Sensor: (This is when I press the button when the sensor is awake)
                                          It's sends away it's heartbeat correctly.

                                          125578 TSF:MSG:READ,0-0-66,s=3,c=1,t=2,pt=0,l=1,sg=0:0
                                          Incoming change for sensor:3, New status: 0
                                          
                                          Setting new sleep time: 5 seconds.
                                          137926 MCO:SLP:MS=5000,SMS=1,I1=255,M1=255,I2=255,M2=255
                                          137939 TSF:MSG:SEND,66-66-0-0,s=255,c=3,t=22,pt=5,l=4,sg=0,ft=0,st=OK:134932
                                          

                                          Log Openhab: And the gateway receives heartbeat.

                                          18:21:37.174 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 66;3;1;0;2;0
                                          18:21:37.178 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'TestLight' received command OFF
                                          18:21:37.181 [INFO ] [marthome.event.ItemStateChangedEvent] - TestLight changed from ON to OFF
                                          18:22:15.416 [DEBUG] [rs.internal.protocol.MySensorsReader] - 66;255;3;0;22;134932
                                          18:22:16.372 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
                                          18:22:16.408 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;2;2.1.1
                                          

                                          Log Openhab: When the node sleeps..

                                          18:26:52.396 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 66;3;1;0;2;0
                                          18:26:52.397 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'TestLight' received command OFF
                                          18:26:52.399 [INFO ] [marthome.event.ItemStateChangedEvent] - TestLight changed from ON to OFF
                                          

                                          As you can see there is no mention in the openhab log file about buffering or smart sleep. Or a received heartbeat. Which it gets.
                                          What am I doing wrong?

                                          B 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          18

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular