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. Troubleshooting
  3. Dual Radio with Home Assistant Question

Dual Radio with Home Assistant Question

Scheduled Pinned Locked Moved Troubleshooting
14 Posts 3 Posters 153 Views 3 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.
  • E Offline
    E Offline
    ejlane
    wrote on last edited by
    #1

    Hello everyone,

    This isn't exactly troubleshooting, but it seemed to fit in this category best. I've built a dual-radio gateway on a Raspberry Pi Zero as on here: https://www.openhardware.io/view/470/MySensors-Gateway-for-Raspberry-PI

    I compile the software twice, once for each radio, and that all works just fine. However, I can't seem to get Home Assistant to use two different mqtt gateways. Is that just impossible? The Mqtt broker is on the same Raspberry Pi as the Home Assistant, which is on a RPi 3. If I have two entries in the configuration.yaml file, then it only seems to ever acknowledge one of them.

    I'm open to switching away from mqtt, but it looked like it might be the best fit. My main desires are to keep the communication between the gateway and Home Assistant only on wires, so they are both on my ethernet network. I'm actually also open to modifying things so that everything is done only on the RPi 3. (That might actually be preferable, but since most things don't expect that, I didn't want to introduce extra unnecessary effort.) I'm using hassio right now, I think, so modifying or getting sudo/CLI access might be an issue.

    Now, my main reason for wanting dual radios is that I want to use the RFM69 for it's lower frequency/longer range, as well as hardware encryption for all of my outdoor sensors. (Mainly garden stuff, at least for now.) My indoor things are going to be based on the nrf51. It seems plenty powerful, and is available in cheap modules with all the pins broken out. What I really don't want is for there to be any way for an outdoor sensor to masquerade as an indoor one. Like if there's something on my garage door, absolutely nothing that the outdoor sensor every sends should be possible to trigger the door to open. I thought having there be two sensor nets, and having them be separate by external/internal would be good safety, and keep physical access to the radios an impossibility as far as hacking the protocol for the indoor ones.

    This way I don't have to worry if an outdoor one ever disappears, because worst case is it could turn on a sprinkler or lie about some plants being dry, etc. I mean, it's not like I have much valuable here that anyone is going to go to great efforts to hack into things, but I just don't like the idea of leaving things lying around that could wreak havoc if someone knew what they were doing. I'll sleep better this way.

    Okay, so with that in mind, am I going about this the right way? I am open to writing a script that checks every incoming message from the outdoor radio gateway to ensure that only the whitelisted messages get passed along to Home Assistant. I just don't know enough about how any of the gateways are integrated into Home Assistant to have any idea whether I'm going about this in a good way or not. I don't really care what transport is used between the gateway and Home Assistant, other than it should be on a wire. Maybe something like what I want, or at least pieces of it, have already been thought of by someone else and they're already part of the system, but I'm just doing things wrong?

    Thank you!

    electrikE 1 Reply Last reply
    1
    • E ejlane

      Hello everyone,

      This isn't exactly troubleshooting, but it seemed to fit in this category best. I've built a dual-radio gateway on a Raspberry Pi Zero as on here: https://www.openhardware.io/view/470/MySensors-Gateway-for-Raspberry-PI

      I compile the software twice, once for each radio, and that all works just fine. However, I can't seem to get Home Assistant to use two different mqtt gateways. Is that just impossible? The Mqtt broker is on the same Raspberry Pi as the Home Assistant, which is on a RPi 3. If I have two entries in the configuration.yaml file, then it only seems to ever acknowledge one of them.

      I'm open to switching away from mqtt, but it looked like it might be the best fit. My main desires are to keep the communication between the gateway and Home Assistant only on wires, so they are both on my ethernet network. I'm actually also open to modifying things so that everything is done only on the RPi 3. (That might actually be preferable, but since most things don't expect that, I didn't want to introduce extra unnecessary effort.) I'm using hassio right now, I think, so modifying or getting sudo/CLI access might be an issue.

      Now, my main reason for wanting dual radios is that I want to use the RFM69 for it's lower frequency/longer range, as well as hardware encryption for all of my outdoor sensors. (Mainly garden stuff, at least for now.) My indoor things are going to be based on the nrf51. It seems plenty powerful, and is available in cheap modules with all the pins broken out. What I really don't want is for there to be any way for an outdoor sensor to masquerade as an indoor one. Like if there's something on my garage door, absolutely nothing that the outdoor sensor every sends should be possible to trigger the door to open. I thought having there be two sensor nets, and having them be separate by external/internal would be good safety, and keep physical access to the radios an impossibility as far as hacking the protocol for the indoor ones.

      This way I don't have to worry if an outdoor one ever disappears, because worst case is it could turn on a sprinkler or lie about some plants being dry, etc. I mean, it's not like I have much valuable here that anyone is going to go to great efforts to hack into things, but I just don't like the idea of leaving things lying around that could wreak havoc if someone knew what they were doing. I'll sleep better this way.

      Okay, so with that in mind, am I going about this the right way? I am open to writing a script that checks every incoming message from the outdoor radio gateway to ensure that only the whitelisted messages get passed along to Home Assistant. I just don't know enough about how any of the gateways are integrated into Home Assistant to have any idea whether I'm going about this in a good way or not. I don't really care what transport is used between the gateway and Home Assistant, other than it should be on a wire. Maybe something like what I want, or at least pieces of it, have already been thought of by someone else and they're already part of the system, but I'm just doing things wrong?

      Thank you!

      electrikE Offline
      electrikE Offline
      electrik
      wrote on last edited by
      #2

      @ejlane
      My configuration is this, and that seems to work correctly:

      mysensors:
        gateways:
          - device: mqtt
            persistence_file: '/config/mysensors-mqtt.json'
            topic_in_prefix: 'mygateway1-out'
            topic_out_prefix: 'mygateway1-in'
          - device: mqtt
            persistence_file: '/config/mysensors-rfm-mqtt.json'
            topic_in_prefix: 'ms-rfm-from'
            topic_out_prefix: 'ms-rfm-to'
        optimistic: false
        persistence: true
        retain: false
        version: '2.3'
      

      What exactly doesn't work in your case, and can you post your configuration?

      E 2 Replies Last reply
      1
      • electrikE electrik

        @ejlane
        My configuration is this, and that seems to work correctly:

        mysensors:
          gateways:
            - device: mqtt
              persistence_file: '/config/mysensors-mqtt.json'
              topic_in_prefix: 'mygateway1-out'
              topic_out_prefix: 'mygateway1-in'
            - device: mqtt
              persistence_file: '/config/mysensors-rfm-mqtt.json'
              topic_in_prefix: 'ms-rfm-from'
              topic_out_prefix: 'ms-rfm-to'
          optimistic: false
          persistence: true
          retain: false
          version: '2.3'
        

        What exactly doesn't work in your case, and can you post your configuration?

        E Offline
        E Offline
        ejlane
        wrote on last edited by
        #3

        @electrik Hmmm, that looks very similar to how I had my first configuration. Unfortunately, I've tried a few different things since then, so I'm not sure. I will have to sit down and try getting that all set up again and see what happens.

        Once I've done that, I can share the configuration and details of error messages, if any. Maybe I just did something stupid.

        But in trying all that and the reading I did afterwards, it looked like Home Assistant would only accept a single mqtt connection/gateway, so I thought that my config was overwriting the settings by having two entries, so I changed it to both go to a single one. Thank you for letting me know otherwise!

        1 Reply Last reply
        1
        • E Offline
          E Offline
          ejlane
          wrote on last edited by ejlane
          #4

          Well, it's still failing.

          I'm using the current version 5.1 of the Mosquitto broker add-on to Home Assistant. In the configuration page I have this:

          logins:
            - username: myOutdoorGateway
              password: outdoorPassword
            - username: myIndoorGateway
              password: indoorPassword
          anonymous: false
          customize:
            active: false
            folder: mosquitto
          certfile: fullchain.pem
          keyfile: privkey.pem
          require_certificate: false
          
          

          In the configuration.yaml file I have this:

          
          # Configure a default setup of Home Assistant (frontend, api, etc)
          default_config:
          
          # Uncomment this if you are using SSL/TLS, running in Docker container, etc.
          # http:
          #   base_url: example.duckdns.org:8123
          
          # Text to speech
          tts:
            - platform: google_translate
          
          group: !include groups.yaml
          automation: !include automations.yaml
          script: !include scripts.yaml
          scene: !include scenes.yaml
          
          mqtt:
            broker: 172.17.0.1
          
          mysensors:
            gateways:
              - device: mqtt
                persistence_file: 'mysensors/myoutdoorsensors.json'
                topic_in_prefix: 'myOutdoorGateway-out'
                topic_out_prefix: 'myOutdoorGateway-in'
              - device: mqtt
                persistence_file: 'mysensors/myindoorsensors.json'
                topic_in_prefix: 'myIndoorGateway-out'
                topic_out_prefix: 'myIndoorGateway-in'
            optimistic: false
            persistence: true
            retain: false
            version: '2.3'
          
          homeassistant:
            customize: !include customize.yaml
          

          Both of the json files are there in the mysensors folder, but they are just empty.

          I compiled the two gateways with:

          ./configure --my-transport=rf24 --my-rf24-irq-pin=33 --my-rf24-ce-pin=37 --my-rf24-cs-pin=36 --spi-spidev-device=/dev/spidev1.0 --spi-driver=SPIDEV  --my-gateway=mqtt --my-controller-ip-address=192.168.0.49 --my-mqtt-publish-topic-prefix=myIndoorGateway-out --my-mqtt-subscribe-topic-prefix=myIndoorGateway-in --my-mqtt-client-id=myIndoorGateway --my-leds-err-pin=29 --my-leds-rx-pin=31 --my-leds-tx-pin=32 --my-rf24-encryption-enabled --my-signing=password --my-security-password=indoors --my-mqtt-password=indoorPassword
          
          ./configure --my-transport=rfm69 --my-rfm69-frequency=915 --my-is-rfm69hw --my-gateway=mqtt --my-controller-ip-address=192.168.0.49 --my-mqtt-publish-topic-prefix=myOutdoorGateway-out --my-mqtt-subscribe-topic-prefix=myOutdoorGateway-in --my-mqtt-client-id=myOutdoorGateway --my-leds-err-pin=12 --my-leds-rx-pin=16 --my-leds-tx-pin=18 --my-signing=password --my-security-password=outdoors --my-rfm69-encryption-enabled --my-mqtt-password=outdoorPassword
          

          However, for both gateways, when I run the test everything looks good until it tries to connect to the mqtt server.

          pi@mysensors-gateway:~/MySensorsSecond $ ./bin/mysgwIndoor
          Sep 14 11:53:56 INFO  Starting gateway...
          Sep 14 11:53:56 INFO  Protocol version - 2.4.0-alpha
          Sep 14 11:53:56 DEBUG MCO:BGN:INIT GW,CP=RNNGLSQX,FQ=NA,REL=0,VER=2.4.0-alpha
          Sep 14 11:53:56 DEBUG TSF:LRT:OK
          Sep 14 11:53:56 DEBUG TSM:INIT
          Sep 14 11:53:56 DEBUG TSF:WUR:MS=0
          Sep 14 11:53:56 DEBUG TSM:INIT:TSP OK
          Sep 14 11:53:56 DEBUG TSM:INIT:GW MODE
          Sep 14 11:53:56 DEBUG TSM:READY:ID=0,PAR=0,DIS=0
          Sep 14 11:53:56 DEBUG MCO:REG:NOT NEEDED
          Sep 14 11:53:56 DEBUG MCO:BGN:STP
          Sep 14 11:53:56 DEBUG MCO:BGN:INIT OK,TSP=1
          Sep 14 11:53:56 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:53:56 DEBUG connected to 192.168.0.49
          Sep 14 11:53:57 DEBUG !GWT:RMQ:FAIL
          Sep 14 11:53:57 DEBUG TSM:READY:NWD REQ
          Sep 14 11:53:57 DEBUG ?TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
          Sep 14 11:53:57 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:53:57 DEBUG connected to 192.168.0.49
          Sep 14 11:53:58 DEBUG !GWT:RMQ:FAIL
          Sep 14 11:53:58 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:53:58 DEBUG connected to 192.168.0.49
          Sep 14 11:53:59 DEBUG !GWT:RMQ:FAIL
          Sep 14 11:53:59 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:53:59 DEBUG connected to 192.168.0.49
          Sep 14 11:54:00 DEBUG !GWT:RMQ:FAIL
          Sep 14 11:54:00 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:54:00 DEBUG connected to 192.168.0.49
          Sep 14 11:54:01 DEBUG !GWT:RMQ:FAIL
          Sep 14 11:54:01 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:54:01 DEBUG connected to 192.168.0.49
          

          and

          sudo ./bin/mysgw
          Sep 14 11:43:26 INFO  Starting gateway...
          Sep 14 11:43:26 INFO  Protocol version - 2.4.0-alpha
          Sep 14 11:43:26 DEBUG MCO:BGN:INIT GW,CP=RPNGLS-X,FQ=NA,REL=0,VER=2.4.0-alpha
          Sep 14 11:43:26 DEBUG TSF:LRT:OK
          Sep 14 11:43:26 DEBUG TSM:INIT
          Sep 14 11:43:26 DEBUG TSF:WUR:MS=0
          Sep 14 11:43:26 DEBUG TSM:INIT:TSP OK
          Sep 14 11:43:26 DEBUG TSM:INIT:GW MODE
          Sep 14 11:43:26 DEBUG TSM:READY:ID=0,PAR=0,DIS=0
          Sep 14 11:43:26 DEBUG MCO:REG:NOT NEEDED
          Sep 14 11:43:26 DEBUG MCO:BGN:STP
          Sep 14 11:43:26 DEBUG MCO:BGN:INIT OK,TSP=1
          Sep 14 11:43:26 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:43:26 DEBUG connected to 192.168.0.49
          Sep 14 11:43:27 DEBUG !GWT:RMQ:FAIL
          Sep 14 11:43:27 DEBUG TSM:READY:NWD REQ
          Sep 14 11:43:27 DEBUG ?TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
          Sep 14 11:43:27 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:43:27 DEBUG connected to 192.168.0.49
          Sep 14 11:43:28 DEBUG !GWT:RMQ:FAIL
          Sep 14 11:43:28 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:43:28 DEBUG connected to 192.168.0.49
          Sep 14 11:43:29 DEBUG !GWT:RMQ:FAIL
          Sep 14 11:43:29 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:43:29 DEBUG connected to 192.168.0.49
          Sep 14 11:43:30 DEBUG !GWT:RMQ:FAIL
          Sep 14 11:43:31 DEBUG GWT:RMQ:CONNECTING...
          Sep 14 11:43:31 DEBUG connected to 192.168.0.49
          

          So they both fail with the same error message of !GWT:RMQ:FAIL but I can't get the log parser to tell me what that means. From this page: https://www.mysensors.org/apidocs/group__MyGatewayTransportgrp.html it looks like it's just a generic failure, so I don't know what I have wrong.

          In the log file for the MQTT broker, all I see is a bunch of messages about a socket error. They look like this, if it matters:

          1600109639: New connection from 192.168.0.48 on port 1883.
          1600109639: Socket error on client <unknown>, disconnecting.
          

          Does this mean something to you? Any pointers for where next to look?

          Thanks so much!

          mfalkviddM 1 Reply Last reply
          0
          • E ejlane

            Well, it's still failing.

            I'm using the current version 5.1 of the Mosquitto broker add-on to Home Assistant. In the configuration page I have this:

            logins:
              - username: myOutdoorGateway
                password: outdoorPassword
              - username: myIndoorGateway
                password: indoorPassword
            anonymous: false
            customize:
              active: false
              folder: mosquitto
            certfile: fullchain.pem
            keyfile: privkey.pem
            require_certificate: false
            
            

            In the configuration.yaml file I have this:

            
            # Configure a default setup of Home Assistant (frontend, api, etc)
            default_config:
            
            # Uncomment this if you are using SSL/TLS, running in Docker container, etc.
            # http:
            #   base_url: example.duckdns.org:8123
            
            # Text to speech
            tts:
              - platform: google_translate
            
            group: !include groups.yaml
            automation: !include automations.yaml
            script: !include scripts.yaml
            scene: !include scenes.yaml
            
            mqtt:
              broker: 172.17.0.1
            
            mysensors:
              gateways:
                - device: mqtt
                  persistence_file: 'mysensors/myoutdoorsensors.json'
                  topic_in_prefix: 'myOutdoorGateway-out'
                  topic_out_prefix: 'myOutdoorGateway-in'
                - device: mqtt
                  persistence_file: 'mysensors/myindoorsensors.json'
                  topic_in_prefix: 'myIndoorGateway-out'
                  topic_out_prefix: 'myIndoorGateway-in'
              optimistic: false
              persistence: true
              retain: false
              version: '2.3'
            
            homeassistant:
              customize: !include customize.yaml
            

            Both of the json files are there in the mysensors folder, but they are just empty.

            I compiled the two gateways with:

            ./configure --my-transport=rf24 --my-rf24-irq-pin=33 --my-rf24-ce-pin=37 --my-rf24-cs-pin=36 --spi-spidev-device=/dev/spidev1.0 --spi-driver=SPIDEV  --my-gateway=mqtt --my-controller-ip-address=192.168.0.49 --my-mqtt-publish-topic-prefix=myIndoorGateway-out --my-mqtt-subscribe-topic-prefix=myIndoorGateway-in --my-mqtt-client-id=myIndoorGateway --my-leds-err-pin=29 --my-leds-rx-pin=31 --my-leds-tx-pin=32 --my-rf24-encryption-enabled --my-signing=password --my-security-password=indoors --my-mqtt-password=indoorPassword
            
            ./configure --my-transport=rfm69 --my-rfm69-frequency=915 --my-is-rfm69hw --my-gateway=mqtt --my-controller-ip-address=192.168.0.49 --my-mqtt-publish-topic-prefix=myOutdoorGateway-out --my-mqtt-subscribe-topic-prefix=myOutdoorGateway-in --my-mqtt-client-id=myOutdoorGateway --my-leds-err-pin=12 --my-leds-rx-pin=16 --my-leds-tx-pin=18 --my-signing=password --my-security-password=outdoors --my-rfm69-encryption-enabled --my-mqtt-password=outdoorPassword
            

            However, for both gateways, when I run the test everything looks good until it tries to connect to the mqtt server.

            pi@mysensors-gateway:~/MySensorsSecond $ ./bin/mysgwIndoor
            Sep 14 11:53:56 INFO  Starting gateway...
            Sep 14 11:53:56 INFO  Protocol version - 2.4.0-alpha
            Sep 14 11:53:56 DEBUG MCO:BGN:INIT GW,CP=RNNGLSQX,FQ=NA,REL=0,VER=2.4.0-alpha
            Sep 14 11:53:56 DEBUG TSF:LRT:OK
            Sep 14 11:53:56 DEBUG TSM:INIT
            Sep 14 11:53:56 DEBUG TSF:WUR:MS=0
            Sep 14 11:53:56 DEBUG TSM:INIT:TSP OK
            Sep 14 11:53:56 DEBUG TSM:INIT:GW MODE
            Sep 14 11:53:56 DEBUG TSM:READY:ID=0,PAR=0,DIS=0
            Sep 14 11:53:56 DEBUG MCO:REG:NOT NEEDED
            Sep 14 11:53:56 DEBUG MCO:BGN:STP
            Sep 14 11:53:56 DEBUG MCO:BGN:INIT OK,TSP=1
            Sep 14 11:53:56 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:53:56 DEBUG connected to 192.168.0.49
            Sep 14 11:53:57 DEBUG !GWT:RMQ:FAIL
            Sep 14 11:53:57 DEBUG TSM:READY:NWD REQ
            Sep 14 11:53:57 DEBUG ?TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
            Sep 14 11:53:57 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:53:57 DEBUG connected to 192.168.0.49
            Sep 14 11:53:58 DEBUG !GWT:RMQ:FAIL
            Sep 14 11:53:58 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:53:58 DEBUG connected to 192.168.0.49
            Sep 14 11:53:59 DEBUG !GWT:RMQ:FAIL
            Sep 14 11:53:59 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:53:59 DEBUG connected to 192.168.0.49
            Sep 14 11:54:00 DEBUG !GWT:RMQ:FAIL
            Sep 14 11:54:00 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:54:00 DEBUG connected to 192.168.0.49
            Sep 14 11:54:01 DEBUG !GWT:RMQ:FAIL
            Sep 14 11:54:01 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:54:01 DEBUG connected to 192.168.0.49
            

            and

            sudo ./bin/mysgw
            Sep 14 11:43:26 INFO  Starting gateway...
            Sep 14 11:43:26 INFO  Protocol version - 2.4.0-alpha
            Sep 14 11:43:26 DEBUG MCO:BGN:INIT GW,CP=RPNGLS-X,FQ=NA,REL=0,VER=2.4.0-alpha
            Sep 14 11:43:26 DEBUG TSF:LRT:OK
            Sep 14 11:43:26 DEBUG TSM:INIT
            Sep 14 11:43:26 DEBUG TSF:WUR:MS=0
            Sep 14 11:43:26 DEBUG TSM:INIT:TSP OK
            Sep 14 11:43:26 DEBUG TSM:INIT:GW MODE
            Sep 14 11:43:26 DEBUG TSM:READY:ID=0,PAR=0,DIS=0
            Sep 14 11:43:26 DEBUG MCO:REG:NOT NEEDED
            Sep 14 11:43:26 DEBUG MCO:BGN:STP
            Sep 14 11:43:26 DEBUG MCO:BGN:INIT OK,TSP=1
            Sep 14 11:43:26 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:43:26 DEBUG connected to 192.168.0.49
            Sep 14 11:43:27 DEBUG !GWT:RMQ:FAIL
            Sep 14 11:43:27 DEBUG TSM:READY:NWD REQ
            Sep 14 11:43:27 DEBUG ?TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
            Sep 14 11:43:27 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:43:27 DEBUG connected to 192.168.0.49
            Sep 14 11:43:28 DEBUG !GWT:RMQ:FAIL
            Sep 14 11:43:28 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:43:28 DEBUG connected to 192.168.0.49
            Sep 14 11:43:29 DEBUG !GWT:RMQ:FAIL
            Sep 14 11:43:29 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:43:29 DEBUG connected to 192.168.0.49
            Sep 14 11:43:30 DEBUG !GWT:RMQ:FAIL
            Sep 14 11:43:31 DEBUG GWT:RMQ:CONNECTING...
            Sep 14 11:43:31 DEBUG connected to 192.168.0.49
            

            So they both fail with the same error message of !GWT:RMQ:FAIL but I can't get the log parser to tell me what that means. From this page: https://www.mysensors.org/apidocs/group__MyGatewayTransportgrp.html it looks like it's just a generic failure, so I don't know what I have wrong.

            In the log file for the MQTT broker, all I see is a bunch of messages about a socket error. They look like this, if it matters:

            1600109639: New connection from 192.168.0.48 on port 1883.
            1600109639: Socket error on client <unknown>, disconnecting.
            

            Does this mean something to you? Any pointers for where next to look?

            Thanks so much!

            mfalkviddM Offline
            mfalkviddM Offline
            mfalkvidd
            Mod
            wrote on last edited by mfalkvidd
            #5

            @ejlane this might be a shot in the dark, but could you try using different config files for the two gateways? By default, they use /etc/mysensors.conf which means (among other things) they will use the same file for emulating eeprom (specifid in the config file), and sharing the same eeprom file could cause all sorts of strange random stuff.

            E 1 Reply Last reply
            0
            • mfalkviddM mfalkvidd

              @ejlane this might be a shot in the dark, but could you try using different config files for the two gateways? By default, they use /etc/mysensors.conf which means (among other things) they will use the same file for emulating eeprom (specifid in the config file), and sharing the same eeprom file could cause all sorts of strange random stuff.

              E Offline
              E Offline
              ejlane
              wrote on last edited by
              #6

              @mfalkvidd
              I went ahead and tried it. But right now I only have one running at a time, so they shouldn't be able to interfere, should they? (I haven't done the 'make install' on either one, I'm just running them manually while I test things out.)

              Anyway, no difference. I tried setting anonymous to true in the Mosquitto broker settings, and that allowed me to then connect. Now I have a new error:

              Sep 14 14:19:01 DEBUG GWT:RMQ:CONNECTING...
              Sep 14 14:19:01 DEBUG connected to 192.168.0.49
              Sep 14 14:19:01 DEBUG GWT:RMQ:OK
              Sep 14 14:19:01 DEBUG GWT:TPS:TOPIC=myIndoorGateway-out/0/255/0/0/18,MSG SENT
              Sep 14 14:19:01 DEBUG !MCO:PRO:RC=1
              Sep 14 14:19:01 DEBUG !MCO:PRO:RC=1
              

              According to the log parser, https://www.mysensors.org/build/parser?log=!MCO%3APRO%3ARC%3D1 this is a recursive call. So I still have something wrong.

              I'll keep working on that. But it now looks like my issues are primarily not a mysensors thing, and some kind of problem where Mosquitto is not accepting the username/password combo that it should be.

              Can anyone share their settings for that, from the Mosquitto settings page of Home Assistant? Maybe I have a formatting or spelling error in there.

              1 Reply Last reply
              1
              • E Offline
                E Offline
                ejlane
                wrote on last edited by
                #7

                I'm having no luck getting it to work with a username and password to connect to the mqtt broker. Well, I can get the Home Assistant user to connect, but I can't get the mysensors gateway to connect at all.

                It just keeps telling me that it failed, and in the mqtt logs, it says that it was an unauthorized user.

                I've tried all kinds of varieties, and I just can't get it to connect.

                I captured the outgoing packets from the gateway and put them into wireshark, and I never see a password sent. There are also "connect" flags in the header that aren't set for user name and password. See this page for what I was comparing to: https://dzone.com/articles/dissecting-mqtt-using-wireshark On that page the flags are set, and the password is also visible.

                If it's really not sending the password then there's no way that mosquitto will authorize it. Now I just need to find out what I'm doing wrong with the build flags that is stopping it from sending passwords out.

                1 Reply Last reply
                0
                • E Offline
                  E Offline
                  ejlane
                  wrote on last edited by ejlane
                  #8

                  I might have it figured out. At least so far the one is connecting and not showing any errors. Now that I have it this far, I need to program a sensor and see if I can get it to connect and show up in the Home Assistant dashboard. So it might still be a while before I know for sure.

                  But I was browsing the mqtt transport source code at https://github.com/mysensors/MySensors/blob/development/core/MyGatewayTransportMQTTClient.cpp when I saw something that surprised me. I saw a function that had both the client-id and username as parameters. This tipped me off that I should look at that closer, because I had seen something about both of them, but in the back of my mind just assumed they were the same thing.

                  I went and looked in my build flags, and I didn't have the --my-mqtt-user anywhere. After adding it, I can now run the gateway code and it connects and just waits for activity, without throwing any errors. So this feels like good progress, and that this part is solved.

                  However, the indoor gateway is still showing the errors from before about a recursive problem. https://www.mysensors.org/build/parser?log=!MCO%3APRO%3ARC%3D1

                  How do I track down more info about this? Is browsing the source the only option? Is there a way for it to provide more details about just what is going on without editing the source code?

                  Thanks!

                  1 Reply Last reply
                  0
                  • E Offline
                    E Offline
                    ejlane
                    wrote on last edited by ejlane
                    #9

                    I've found it in the source code, and it looks like it's just reporting that a recursion happened. Since the recursion level never gets above 1 in all the messages that I see, I'm going to ignore it for now and just keep it in mind in case I run into weird things in the future.

                    1 Reply Last reply
                    0
                    • electrikE electrik

                      @ejlane
                      My configuration is this, and that seems to work correctly:

                      mysensors:
                        gateways:
                          - device: mqtt
                            persistence_file: '/config/mysensors-mqtt.json'
                            topic_in_prefix: 'mygateway1-out'
                            topic_out_prefix: 'mygateway1-in'
                          - device: mqtt
                            persistence_file: '/config/mysensors-rfm-mqtt.json'
                            topic_in_prefix: 'ms-rfm-from'
                            topic_out_prefix: 'ms-rfm-to'
                        optimistic: false
                        persistence: true
                        retain: false
                        version: '2.3'
                      

                      What exactly doesn't work in your case, and can you post your configuration?

                      E Offline
                      E Offline
                      ejlane
                      wrote on last edited by
                      #10

                      @electrik

                      Well, I've made a bunch of progress, and found a few small errors. I simplified everything down to just using the 'Dimmable Light' from the Example folder in MySensors-provided source code. I did change a bit to match my radios and settings, as well as providing a value to the gateway the first time it runs so that it would show up in Home Assistant.

                      Now I have checked the mysensors.json file on the server, and it has gotten the data from the sketch! So I know that the radios, gateway, and MQTT server are all doing their jobs.

                      However, I can't find any new devices or entities in Home Assistant that match the light. Since this is my first time adding something through MySensors, I'm not sure what it's supposed to look like. Do they show up automatically, or do I need to go tweak something? One thing I read talked about having an entry in the configuration.yaml file for each device, but another said it shouldn't be needed anymore.

                      I'm going to mess with it some more next time I get a chance, but it's late here now so I need to be done for the day.

                      If it helps, here's what my mysensors.json file looks like for that sample sketch:

                          "1": {
                              "sensor_id": 1,
                              "children": {
                                  "1": {
                                      "id": 1,
                                      "type": 31,
                                      "description": "",
                                      "values": {
                                          "3": "0"
                                      }
                                  },
                                  "2": {
                                      "id": 2,
                                      "type": 31,
                                      "description": "",
                                      "values": {}
                                  },
                                  "3": {
                                      "id": 3,
                                      "type": 31,
                                      "description": "",
                                      "values": {}
                                  },
                                  "4": {
                                      "id": 4,
                                      "type": 31,
                                      "description": "",
                                      "values": {}
                                  }
                              },
                              "type": 17,
                              "sketch_name": "Dimmable Light",
                              "sketch_version": "1.0",
                              "battery_level": 0,
                              "protocol_version": "2.3.2",
                              "heartbeat": 0
                          }
                      

                      Thanks!

                      electrikE 1 Reply Last reply
                      0
                      • E ejlane

                        @electrik

                        Well, I've made a bunch of progress, and found a few small errors. I simplified everything down to just using the 'Dimmable Light' from the Example folder in MySensors-provided source code. I did change a bit to match my radios and settings, as well as providing a value to the gateway the first time it runs so that it would show up in Home Assistant.

                        Now I have checked the mysensors.json file on the server, and it has gotten the data from the sketch! So I know that the radios, gateway, and MQTT server are all doing their jobs.

                        However, I can't find any new devices or entities in Home Assistant that match the light. Since this is my first time adding something through MySensors, I'm not sure what it's supposed to look like. Do they show up automatically, or do I need to go tweak something? One thing I read talked about having an entry in the configuration.yaml file for each device, but another said it shouldn't be needed anymore.

                        I'm going to mess with it some more next time I get a chance, but it's late here now so I need to be done for the day.

                        If it helps, here's what my mysensors.json file looks like for that sample sketch:

                            "1": {
                                "sensor_id": 1,
                                "children": {
                                    "1": {
                                        "id": 1,
                                        "type": 31,
                                        "description": "",
                                        "values": {
                                            "3": "0"
                                        }
                                    },
                                    "2": {
                                        "id": 2,
                                        "type": 31,
                                        "description": "",
                                        "values": {}
                                    },
                                    "3": {
                                        "id": 3,
                                        "type": 31,
                                        "description": "",
                                        "values": {}
                                    },
                                    "4": {
                                        "id": 4,
                                        "type": 31,
                                        "description": "",
                                        "values": {}
                                    }
                                },
                                "type": 17,
                                "sketch_name": "Dimmable Light",
                                "sketch_version": "1.0",
                                "battery_level": 0,
                                "protocol_version": "2.3.2",
                                "heartbeat": 0
                            }
                        

                        Thanks!

                        electrikE Offline
                        electrikE Offline
                        electrik
                        wrote on last edited by
                        #11

                        @ejlane said in Dual Radio with Home Assistant Question:

                        . Do they show up automatically, or do I need to go tweak something?

                        They will, if your sketch complies to the presentation requirements. See https://www.home-assistant.io/integrations/sensor.mysensors/

                        E 1 Reply Last reply
                        0
                        • electrikE electrik

                          @ejlane said in Dual Radio with Home Assistant Question:

                          . Do they show up automatically, or do I need to go tweak something?

                          They will, if your sketch complies to the presentation requirements. See https://www.home-assistant.io/integrations/sensor.mysensors/

                          E Offline
                          E Offline
                          ejlane
                          wrote on last edited by
                          #12

                          @electrik

                          Thank you - I hadn't seen that page yet. I've tried to very carefully follow this page, though: https://www.home-assistant.io/integrations/mysensors

                          When I use the 2.x example on the page you linked, I do get the sensor to show up in the Configuration/Entities page. However, when I do, it has the edit symbol crossed out and when I click on it, it says: "This entity does not have a unique ID, therefore its settings cannot be managed from the UI."

                          I've tried to look wherever I could, but I can't find a way to get MySensors to report an ID. Is it possible? If not, do I then edit the .json file, or where can I go to fix that?

                          Thank you so much! I feel like I'm super close to getting this!

                          1 Reply Last reply
                          0
                          • electrikE Offline
                            electrikE Offline
                            electrik
                            wrote on last edited by
                            #13

                            Is it really needed to edit this entity?
                            If you add it to your dashboard, you should be able to use it.
                            On the top right click on the three dots, then edit dashboard. Create a card and add the sensor there and you should be good to go!

                            E 1 Reply Last reply
                            1
                            • electrikE electrik

                              Is it really needed to edit this entity?
                              If you add it to your dashboard, you should be able to use it.
                              On the top right click on the three dots, then edit dashboard. Create a card and add the sensor there and you should be good to go!

                              E Offline
                              E Offline
                              ejlane
                              wrote on last edited by
                              #14

                              @electrik

                              Looks like you're completely correct.

                              I don't know if I've ever used that function to manually add something to the dashboard, or if it was only long enough ago that I don't remember doing it that way. When I saw that warning about it not being editable, I thought that was an issue that I needed to address. (To me, it sounded like I wouldn't be able to turn a light on or off, for example.)

                              However, if that is not needed, then I guess I'm set! Now all I need to do is compare my code to the example code and make modifications where necessary to make mine show up.

                              Thank you so much!!!

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


                              13

                              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