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. OH3 - MySensors Binding

OH3 - MySensors Binding

Scheduled Pinned Locked Moved OpenHAB
135 Posts 34 Posters 1.6k Views 40 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.
  • N ncollins

    @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.

    https://github.com/nikolac/openhab2-addons/tree/mysensors-oh3-migration/bundles/org.openhab.binding.mysensors

    Screen Shot 2021-02-24 at 11.37.43 AM.png

    H Offline
    H Offline
    haloway13
    wrote on last edited by
    #46

    @ncollins

    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!

    N 1 Reply Last reply
    0
    • H haloway13

      @ncollins

      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!

      N Offline
      N Offline
      ncollins
      wrote on last edited by
      #47

      @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.

      H 1 Reply Last reply
      0
      • N ncollins

        @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.

        H Offline
        H Offline
        haloway13
        wrote on last edited by
        #48

        @ncollins

        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
        
        
        
        N 1 Reply Last reply
        0
        • H haloway13

          @ncollins

          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
          
          
          
          N Offline
          N Offline
          ncollins
          wrote on last edited by
          #49

          @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 setting log:set DEBUG org.openhab.binding.mysensors

          Create a mqtt system connection in OpenHAB. Be sure to check advanced, and set the port.
          Screen Shot 2021-02-28 at 10.37.10 AM.png

          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)
          Screen Shot 2021-02-28 at 10.50.13 AM.png

          H 1 Reply Last reply
          0
          • N ncollins

            @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 setting log:set DEBUG org.openhab.binding.mysensors

            Create a mqtt system connection in OpenHAB. Be sure to check advanced, and set the port.
            Screen Shot 2021-02-28 at 10.37.10 AM.png

            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)
            Screen Shot 2021-02-28 at 10.50.13 AM.png

            H Offline
            H Offline
            haloway13
            wrote on last edited by
            #50

            @ncollins I have had some issues getting this going. Am I running the development branch? Can you tell from the output?

            N 1 Reply Last reply
            0
            • H haloway13

              @ncollins I have had some issues getting this going. Am I running the development branch? Can you tell from the output?

              N Offline
              N Offline
              ncollins
              wrote on last edited by
              #51

              @haloway13 you have any logs or screenshots of errors you're seeing?

              H 1 Reply Last reply
              0
              • N ncollins

                @haloway13 you have any logs or screenshots of errors you're seeing?

                H Offline
                H Offline
                haloway13
                wrote on last edited by
                #52

                @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!

                1 Reply Last reply
                0
                • N Offline
                  N Offline
                  ncollins
                  wrote on last edited by
                  #53

                  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.

                  H 1 Reply Last reply
                  0
                  • N ncollins

                    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.

                    H Offline
                    H Offline
                    haloway13
                    wrote on last edited by
                    #54

                    @ncollins

                    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:
                    SS_2021-03-03_20-29-11.png
                    Addition to the Inbox:
                    SS_2021-03-03_20-29-32.png
                    Clicking the inbox. This is where I have no clue as to how to proceed...

                    SS_2021-03-03_20-29-45.png

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      haloway13
                      wrote on last edited by
                      #55

                      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:

                      systembroker.png

                      1 Reply Last reply
                      1
                      • fabyteF fabyte

                        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:
                        Screenshot 2021-02-22 195800.png
                        Here's a MySensors temperature item:
                        Screenshot 2021-02-22 201902.png

                        To sum up, here's what I did

                        1. (manually) installed MySensors binding
                        2. uninstalled mqtt binding
                        3. installed mqtt binding
                        4. set up the MQTT system broker connection
                          4.1 set Connection Name to systembroker
                          4.2 set Broker Host to localhost (it's running on the same device)
                          4.3 Show advanced -> set Broker Port to 1883 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)
                        5. set up the MySensors MQTT Gateway thing
                          5.1 set Broker Name to systembroker
                        H Offline
                        H Offline
                        haloway13
                        wrote on last edited by
                        #56

                        @fabyte

                        Could you post config screens for each of the things above for me?

                        Thanks!

                        1 Reply Last reply
                        0
                        • N Offline
                          N Offline
                          ncollins
                          wrote on last edited by
                          #57

                          One thing I had to do was explicitly set secure="false" into /opt/openhab/userdata/config/org/openhab/mqttbroker.config.

                          Please try that, then restart.

                          D 1 Reply Last reply
                          1
                          • N Offline
                            N Offline
                            ncollins
                            wrote on last edited by
                            #58

                            also, is your MQTT broker password protected? if not, remove the username and password from your system broker configuration.

                            H 1 Reply Last reply
                            0
                            • N ncollins

                              also, is your MQTT broker password protected? if not, remove the username and password from your system broker configuration.

                              H Offline
                              H Offline
                              haloway13
                              wrote on last edited by
                              #59

                              @ncollins
                              I will check tonight.

                              I really appreciate all help so far.

                              When you refer to the broker password: do you mean when you install the mqtt using the openhabian-config utility from the command line while being logged in with ssh to the Pi?

                              N 1 Reply Last reply
                              0
                              • fabyteF Offline
                                fabyteF Offline
                                fabyte
                                wrote on last edited by fabyte
                                #60

                                @haloway13 I had exactly the same problem.
                                Here is what I did to fix it:

                                1. uninstalled the mqtt binding
                                  1.1 make sure the /opt/openhab/userdata/config/org/openhab/mqttbroker.config is removed
                                2. installed the mqtt binding
                                3. setup the system broker

                                After that, the system broker connection could be established and the Try to restore connection to '192.168.1.151'. Next attempt in 60000ms messaged disappeared.

                                Then you can proceed and set up the MySensors MQTT Bridge.

                                H 1 Reply Last reply
                                1
                                • H haloway13

                                  @ncollins
                                  I will check tonight.

                                  I really appreciate all help so far.

                                  When you refer to the broker password: do you mean when you install the mqtt using the openhabian-config utility from the command line while being logged in with ssh to the Pi?

                                  N Offline
                                  N Offline
                                  ncollins
                                  wrote on last edited by
                                  #61

                                  @haloway13 yeah, when you did the initial mqtt setup, did you protect it with a password? If not, make sure you clear out the username and password from the OpenHAB broker settings. (I’m not sure if it will fail if you provide credentials to an instance that is not password protected)

                                  1 Reply Last reply
                                  0
                                  • fabyteF fabyte

                                    @haloway13 I had exactly the same problem.
                                    Here is what I did to fix it:

                                    1. uninstalled the mqtt binding
                                      1.1 make sure the /opt/openhab/userdata/config/org/openhab/mqttbroker.config is removed
                                    2. installed the mqtt binding
                                    3. setup the system broker

                                    After that, the system broker connection could be established and the Try to restore connection to '192.168.1.151'. Next attempt in 60000ms messaged disappeared.

                                    Then you can proceed and set up the MySensors MQTT Bridge.

                                    H Offline
                                    H Offline
                                    haloway13
                                    wrote on last edited by
                                    #62

                                    @fabyte

                                    I am not showing such a file as mentioned in 1.1

                                    2 & 3 refer to using the web interface?

                                    Thanks!

                                    fabyteF N 2 Replies Last reply
                                    0
                                    • H haloway13

                                      @fabyte

                                      I am not showing such a file as mentioned in 1.1

                                      2 & 3 refer to using the web interface?

                                      Thanks!

                                      fabyteF Offline
                                      fabyteF Offline
                                      fabyte
                                      wrote on last edited by
                                      #63

                                      @haloway13 Yes, everything via the web interface

                                      1 Reply Last reply
                                      0
                                      • H haloway13

                                        @fabyte

                                        I am not showing such a file as mentioned in 1.1

                                        2 & 3 refer to using the web interface?

                                        Thanks!

                                        N Offline
                                        N Offline
                                        ncollins
                                        wrote on last edited by ncollins
                                        #64

                                        @haloway13 Here are all of my settings in my sandbox environment.

                                        A couple things to note, NO MQTT BINDING INSTALLED, no special MQTT thing configured, my mqtt install is not password protected.

                                        Screen Shot 2021-03-05 at 12.49.22 PM.png Screen Shot 2021-03-05 at 12.53.23 PM.png Screen Shot 2021-03-05 at 12.54.34 PM.png Screen Shot 2021-03-05 at 12.55.27 PM.png Screen Shot 2021-03-05 at 12.55.50 PM.png Screen Shot 2021-03-05 at 1.01.14 PM.png
                                        Screen Shot 2021-03-05 at 1.03.05 PM.png

                                        My Gateway code:

                                        
                                        // Enable debug prints to serial monitor
                                        #define MY_DEBUG
                                        
                                        
                                        // Enables and select radio type (if attached)
                                        //#define MY_RADIO_RF24
                                        //#define MY_RADIO_RFM69
                                        //#define MY_RADIO_RFM95
                                        
                                        #define MY_GATEWAY_MQTT_CLIENT
                                        #define MY_GATEWAY_ESP8266
                                        
                                        #define MY_BAUD_RATE 9600
                                        
                                        #define MY_MQTT_CLIENT_ID "MYSGW01"
                                        
                                        // Set this node's subscribe and publish topic prefix
                                        #define MY_MQTT_PUBLISH_TOPIC_PREFIX "tele/mysgw01-out"
                                        #define MY_MQTT_SUBSCRIBE_TOPIC_PREFIX  "cmnd/mysgw01-in"
                                        
                                        // Set MQTT client id
                                        
                                        
                                        // Enable these if your MQTT broker requires username/password
                                        //#define MY_MQTT_USER "username"
                                        //#define MY_MQTT_PASSWORD "password"
                                        
                                        // Set WIFI SSID and password
                                        #define MY_WIFI_SSID "--------"
                                        #define MY_WIFI_PASSWORD "*********"
                                        
                                        // Set the hostname for the WiFi Client. This is the hostname
                                        // passed to the DHCP server if not static.
                                        #define MY_HOSTNAME MY_MQTT_CLIENT_ID 
                                        
                                        // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
                                        //#define MY_IP_ADDRESS 192,168,178,87
                                        
                                        // If using static ip you can define Gateway and Subnet address as well
                                        //#define MY_IP_GATEWAY_ADDRESS 192,168,178,1
                                        //#define MY_IP_SUBNET_ADDRESS 255,255,255,0
                                        
                                        // MQTT broker ip address.
                                        #define MY_CONTROLLER_IP_ADDRESS 192, 168, 1, 62
                                        
                                        //MQTT broker if using URL instead of ip address.
                                        // #define MY_CONTROLLER_URL_ADDRESS "test.mosquitto.org"
                                        
                                        // The MQTT broker port to to open
                                        #define MY_PORT 1883
                                        
                                        // Enable inclusion mode
                                        //#define MY_INCLUSION_MODE_FEATURE
                                        // Enable Inclusion mode button on gateway
                                        //#define MY_INCLUSION_BUTTON_FEATURE
                                        // Set inclusion mode duration (in seconds)
                                        //#define MY_INCLUSION_MODE_DURATION 60
                                        // Digital pin used for inclusion mode button
                                        //#define MY_INCLUSION_MODE_BUTTON_PIN D1
                                        
                                        // Set blinking period
                                        //#define MY_DEFAULT_LED_BLINK_PERIOD 300
                                        
                                        // Flash leds on rx/tx/err
                                        //#define MY_DEFAULT_ERR_LED_PIN 16  // Error led pin
                                        //#define MY_DEFAULT_RX_LED_PIN  16  // Receive led pin
                                        //#define MY_DEFAULT_TX_LED_PIN  2  // the PCB, on board LED
                                        #include <ArduinoOTA.h>
                                        #include <MySensors.h>
                                        
                                        void setup()
                                        {
                                        
                                          pinMode(LED_BUILTIN, OUTPUT);
                                        	// Setup locally attached sensors
                                         ArduinoOTA.setHostname(MY_HOSTNAME);
                                          ArduinoOTA.onStart([]() {
                                            Serial.println("ArduinoOTA start");
                                          });
                                          ArduinoOTA.onEnd([]() {
                                            Serial.println("\nArduinoOTA end");
                                          });
                                          ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
                                            Serial.printf("OTA Progress: %u%%\r", (progress / (total / 100)));
                                          });
                                          ArduinoOTA.onError([](ota_error_t error) {
                                            Serial.printf("Error[%u]: ", error);
                                            if (error == OTA_AUTH_ERROR) {
                                              Serial.println("Auth Failed");
                                            } else if (error == OTA_BEGIN_ERROR) {
                                              Serial.println("Begin Failed");
                                            } else if (error == OTA_CONNECT_ERROR) {
                                              Serial.println("Connect Failed");
                                            } else if (error == OTA_RECEIVE_ERROR) {
                                              Serial.println("Receive Failed");
                                            } else if (error == OTA_END_ERROR) {
                                              Serial.println("End Failed");
                                            }
                                          });
                                          ArduinoOTA.begin();
                                        }
                                        
                                        void presentation()
                                        {
                                          
                                        	// Present locally attached sensors here
                                          sendSketchInfo("MYSGW01-TEST Gateway","1.0");
                                          present(0, S_BINARY);
                                        }
                                        
                                        void loop()
                                        {
                                        	// Send locally attached sensors data here
                                           ArduinoOTA.handle();
                                        }
                                        
                                        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(LED_BUILTIN, message.getBool() ? LOW:HIGH);
                                                // 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());
                                            }
                                        }
                                        
                                        H 1 Reply Last reply
                                        0
                                        • N ncollins

                                          @haloway13 Here are all of my settings in my sandbox environment.

                                          A couple things to note, NO MQTT BINDING INSTALLED, no special MQTT thing configured, my mqtt install is not password protected.

                                          Screen Shot 2021-03-05 at 12.49.22 PM.png Screen Shot 2021-03-05 at 12.53.23 PM.png Screen Shot 2021-03-05 at 12.54.34 PM.png Screen Shot 2021-03-05 at 12.55.27 PM.png Screen Shot 2021-03-05 at 12.55.50 PM.png Screen Shot 2021-03-05 at 1.01.14 PM.png
                                          Screen Shot 2021-03-05 at 1.03.05 PM.png

                                          My Gateway code:

                                          
                                          // Enable debug prints to serial monitor
                                          #define MY_DEBUG
                                          
                                          
                                          // Enables and select radio type (if attached)
                                          //#define MY_RADIO_RF24
                                          //#define MY_RADIO_RFM69
                                          //#define MY_RADIO_RFM95
                                          
                                          #define MY_GATEWAY_MQTT_CLIENT
                                          #define MY_GATEWAY_ESP8266
                                          
                                          #define MY_BAUD_RATE 9600
                                          
                                          #define MY_MQTT_CLIENT_ID "MYSGW01"
                                          
                                          // Set this node's subscribe and publish topic prefix
                                          #define MY_MQTT_PUBLISH_TOPIC_PREFIX "tele/mysgw01-out"
                                          #define MY_MQTT_SUBSCRIBE_TOPIC_PREFIX  "cmnd/mysgw01-in"
                                          
                                          // Set MQTT client id
                                          
                                          
                                          // Enable these if your MQTT broker requires username/password
                                          //#define MY_MQTT_USER "username"
                                          //#define MY_MQTT_PASSWORD "password"
                                          
                                          // Set WIFI SSID and password
                                          #define MY_WIFI_SSID "--------"
                                          #define MY_WIFI_PASSWORD "*********"
                                          
                                          // Set the hostname for the WiFi Client. This is the hostname
                                          // passed to the DHCP server if not static.
                                          #define MY_HOSTNAME MY_MQTT_CLIENT_ID 
                                          
                                          // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
                                          //#define MY_IP_ADDRESS 192,168,178,87
                                          
                                          // If using static ip you can define Gateway and Subnet address as well
                                          //#define MY_IP_GATEWAY_ADDRESS 192,168,178,1
                                          //#define MY_IP_SUBNET_ADDRESS 255,255,255,0
                                          
                                          // MQTT broker ip address.
                                          #define MY_CONTROLLER_IP_ADDRESS 192, 168, 1, 62
                                          
                                          //MQTT broker if using URL instead of ip address.
                                          // #define MY_CONTROLLER_URL_ADDRESS "test.mosquitto.org"
                                          
                                          // The MQTT broker port to to open
                                          #define MY_PORT 1883
                                          
                                          // Enable inclusion mode
                                          //#define MY_INCLUSION_MODE_FEATURE
                                          // Enable Inclusion mode button on gateway
                                          //#define MY_INCLUSION_BUTTON_FEATURE
                                          // Set inclusion mode duration (in seconds)
                                          //#define MY_INCLUSION_MODE_DURATION 60
                                          // Digital pin used for inclusion mode button
                                          //#define MY_INCLUSION_MODE_BUTTON_PIN D1
                                          
                                          // Set blinking period
                                          //#define MY_DEFAULT_LED_BLINK_PERIOD 300
                                          
                                          // Flash leds on rx/tx/err
                                          //#define MY_DEFAULT_ERR_LED_PIN 16  // Error led pin
                                          //#define MY_DEFAULT_RX_LED_PIN  16  // Receive led pin
                                          //#define MY_DEFAULT_TX_LED_PIN  2  // the PCB, on board LED
                                          #include <ArduinoOTA.h>
                                          #include <MySensors.h>
                                          
                                          void setup()
                                          {
                                          
                                            pinMode(LED_BUILTIN, OUTPUT);
                                          	// Setup locally attached sensors
                                           ArduinoOTA.setHostname(MY_HOSTNAME);
                                            ArduinoOTA.onStart([]() {
                                              Serial.println("ArduinoOTA start");
                                            });
                                            ArduinoOTA.onEnd([]() {
                                              Serial.println("\nArduinoOTA end");
                                            });
                                            ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
                                              Serial.printf("OTA Progress: %u%%\r", (progress / (total / 100)));
                                            });
                                            ArduinoOTA.onError([](ota_error_t error) {
                                              Serial.printf("Error[%u]: ", error);
                                              if (error == OTA_AUTH_ERROR) {
                                                Serial.println("Auth Failed");
                                              } else if (error == OTA_BEGIN_ERROR) {
                                                Serial.println("Begin Failed");
                                              } else if (error == OTA_CONNECT_ERROR) {
                                                Serial.println("Connect Failed");
                                              } else if (error == OTA_RECEIVE_ERROR) {
                                                Serial.println("Receive Failed");
                                              } else if (error == OTA_END_ERROR) {
                                                Serial.println("End Failed");
                                              }
                                            });
                                            ArduinoOTA.begin();
                                          }
                                          
                                          void presentation()
                                          {
                                            
                                          	// Present locally attached sensors here
                                            sendSketchInfo("MYSGW01-TEST Gateway","1.0");
                                            present(0, S_BINARY);
                                          }
                                          
                                          void loop()
                                          {
                                          	// Send locally attached sensors data here
                                             ArduinoOTA.handle();
                                          }
                                          
                                          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(LED_BUILTIN, message.getBool() ? LOW:HIGH);
                                                  // 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());
                                              }
                                          }
                                          
                                          H Offline
                                          H Offline
                                          haloway13
                                          wrote on last edited by haloway13
                                          #65

                                          @ncollins

                                          Thank you so much. This has gotten me so much closer to actually getting the test temp and humidity arduino thing working.

                                          I am seeing this output from the mysensors gateway:

                                          Mar 05 22:55:07 DEBUG GWT:RMQ:OK
                                          Mar 05 22:55:07 DEBUG GWT:TPS:TOPIC=mygateway1-out/0/255/0/0/18,MSG SENT
                                          Mar 05 22:55:07 DEBUG TSM:READY:NWD REQ
                                          Mar 05 22:55:07 DEBUG ?TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
                                          Mar 05 22:55:07 DEBUG TSF:MSG:READ,1-1-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0
                                          Mar 05 22:55:07 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/255/3/0/21,MSG SENT
                                          Mar 05 22:55:41 DEBUG TSF:MSG:READ,1-1-0,s=1,c=1,t=1,pt=7,l=5,sg=0:34.0
                                          Mar 05 22:55:41 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/1/1/0/1,MSG SENT
                                          Mar 05 22:55:51 DEBUG TSF:MSG:READ,1-1-0,s=0,c=1,t=0,pt=7,l=5,sg=0:19.8
                                          Mar 05 22:55:51 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/0/1/0/0,MSG SENT
                                          Mar 05 22:57:01 DEBUG TSF:MSG:READ,1-1-0,s=1,c=1,t=1,pt=7,l=5,sg=0:34.1
                                          Mar 05 22:57:01 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/1/1/0/1,MSG SENT
                                          Mar 05 22:57:11 DEBUG TSF:MSG:READ,1-1-0,s=1,c=1,t=1,pt=7,l=5,sg=0:34.0
                                          Mar 05 22:57:11 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/1/1/0/1,MSG SENT
                                          Mar 05 22:57:41 DEBUG TSF:MSG:READ,1-1-0,s=0,c=1,t=0,pt=7,l=5,sg=0:19.8
                                          Mar 05 22:57:41 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/0/1/0/0,MSG SENT
                                          Mar 05 22:59:01 DEBUG TSF:MSG:READ,1-1-0,s=1,c=1,t=1,pt=7,l=5,sg=0:34.0
                                          Mar 05 22:59:01 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/1/1/0/1,MSG SENT
                                          Mar 05 22:59:21 DEBUG TSF:MSG:READ,1-1-0,s=0,c=1,t=0,pt=7,l=5,sg=0:19.9
                                          Mar 05 22:59:21 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/0/1/0/0,MSG SENT
                                          Mar 05 22:59:41 DEBUG TSF:MSG:READ,1-1-0,s=0,c=1,t=0,pt=7,l=5,sg=0:19.8
                                          Mar 05 22:59:41 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/0/1/0/0,MSG SENT
                                          Mar 05 23:00:51 DEBUG TSF:MSG:READ,1-1-0,s=1,c=1,t=1,pt=7,l=5,sg=0:34.0
                                          Mar 05 23:00:51 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/1/1/0/1,MSG SENT
                                          Mar 05 23:01:11 DEBUG TSF:MSG:READ,1-1-0,s=0,c=1,t=0,pt=7,l=5,sg=0:19.7
                                          Mar 05 23:01:11 DEBUG GWT:TPS:TOPIC=mygateway1-out/1/0/1/0/0,MSG SENT
                                          Mar 05 23:01:21 DEBUG TSF:MSG:READ,1-1-0,s=0,c=1,t=0,pt=7,l=5,sg=0:19.8
                                          
                                          

                                          My Sensors Gateway configuration: not letting me upload the image/screenshot, getting an error.
                                          ![0_1615011411135_SS_2021-03-05_23-09-13.jpg](Uploading 100%)

                                          Humidity Sensor thing: same problem here.
                                          ![0_1615011449159_SS_2021-03-05_23-12-48.jpg](Uploading 100%)

                                          I will try to edit this in the morning

                                          The short of it is that I am not seeing the values I am expecting from the sensor. I am leaning towards just not identifying the id/node for each of the things/channel.

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


                                          19

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 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