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

    @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
    • H Offline
      H Offline
      haloway13
      wrote on last edited by haloway13
      #66

      Here is the humidity sensor thing page:
      SS_2021-03-05_23-12-48.jpg
      Here is the temperature:
      SS_2021-03-07_06-32-21.png

      Do I have the node and child id right? What should I check?

      Or maybe I need to do a follow on configuration to see the values?

      Thank you!

      N 1 Reply Last reply
      0
      • H haloway13

        Here is the humidity sensor thing page:
        SS_2021-03-05_23-12-48.jpg
        Here is the temperature:
        SS_2021-03-07_06-32-21.png

        Do I have the node and child id right? What should I check?

        Or maybe I need to do a follow on configuration to see the values?

        Thank you!

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

        @haloway13 progress!

        Check the channels tab of your temperature sensor thing:
        Screen Shot 2021-03-07 at 8.13.28 AM.png

        "Add link to item" then follow the directions to create a new item
        Screen Shot 2021-03-07 at 8.15.31 AM.png

        H 1 Reply Last reply
        0
        • N ncollins

          @haloway13 progress!

          Check the channels tab of your temperature sensor thing:
          Screen Shot 2021-03-07 at 8.13.28 AM.png

          "Add link to item" then follow the directions to create a new item
          Screen Shot 2021-03-07 at 8.15.31 AM.png

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

          @ncollins

          I tried just as you describe. However I think something is failing before this should be expected to succeed.

          Thoughts?

          openhab> log:tail                                                                                                                                                                                                       
          22:37:44.426 [DEBUG] [s.discovery.MySensorsDiscoveryService] - Starting MySensors discovery scan
          22:37:44.428 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Adding consumer for topic: mygateway1-out/+/+/+/+/+
          22:37:44.434 [WARN ] [protocol.mqtt.MySensorsMqttConnection] - Skipping I_VERSION connection test, not recommended...
          22:37:44.438 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:bridge-mqtt:3976df7e54' changed from INITIALIZING to ONLINE
          22:37:44.446 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Writing on cache given_ids, content: []
          22:37:44.443 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
          22:37:44.451 [INFO ] [protocol.mqtt.MySensorsMqttConnection] - Successfully connected to MySensors Bridge.
          22:37:44.454 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
          22:37:44.460 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=1, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
          22:37:44.464 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={1=MySensorsChild [childId=1, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]}]
          22:37:44.465 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=0, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
          22:37:44.467 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-1 not registered yet, registering...
          22:37:44.469 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Merging child map: {1=MySensorsChild [childId=1, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]} with: {0=MySensorsChild [childId=0, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_ID=MySensorsVariableVId [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_TEMP=MySensorsVariableVTemp [value=null]}]}
          22:37:44.472 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from INITIALIZING to ONLINE
          22:37:44.474 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-0 not registered yet, registering...
          22:37:44.479 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from INITIALIZING to ONLINE
          22:41:47.918 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from ONLINE to UNINITIALIZED
          22:41:47.936 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from UNINITIALIZED to UNINITIALIZED (DISABLED)
          22:41:49.778 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from UNINITIALIZED (DISABLED) to INITIALIZING
          22:41:49.786 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=1, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
          22:41:49.788 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={1=MySensorsChild [childId=1, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]}]
          22:41:49.791 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-1 not registered yet, registering...
          22:41:49.795 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from INITIALIZING to ONLINE
          22:41:51.075 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from ONLINE to UNINITIALIZED
          22:41:51.090 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from UNINITIALIZED to UNINITIALIZED (DISABLED)
          22:41:51.806 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from UNINITIALIZED (DISABLED) to INITIALIZING
          22:41:51.814 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=1, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
          22:41:51.817 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={1=MySensorsChild [childId=1, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]}]
          22:41:51.819 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-1 not registered yet, registering...
          22:41:51.825 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from INITIALIZING to ONLINE
          22:42:06.748 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from ONLINE to UNINITIALIZED
          22:42:06.762 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from UNINITIALIZED to UNINITIALIZED (DISABLED)
          22:42:07.739 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from UNINITIALIZED (DISABLED) to INITIALIZING
          22:42:07.749 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=0, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
          22:42:07.751 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={0=MySensorsChild [childId=0, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_ID=MySensorsVariableVId [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_TEMP=MySensorsVariableVTemp [value=null]}]}]
          22:42:07.753 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-0 not registered yet, registering...
          22:42:07.756 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from INITIALIZING to ONLINE
          22:51:49.195 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuation update for thing 1-1: {nodeUpdateTimeout=-1, smartSleep=false, requestHeartbeatResponse=false, childUpdateTimeout=-1, childId=18, nodeId=1, revertState=true, requestAck=false}
          22:51:49.214 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=18, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
          22:51:49.217 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={18=MySensorsChild [childId=18, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]}]
          22:51:49.218 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-18 not registered yet, registering...
          23:01:04.984 [WARN ] [se.internal.SseItemStatesEventBuilder] - Attempting to send a state update of an item which doesn't exist: Temperature
          23:01:08.762 [WARN ] [se.internal.SseItemStatesEventBuilder] - Attempting to send a state update of an item which doesn't exist: TemperatureSensor_Temperature
          23:04:05.921 [WARN ] [se.internal.SseItemStatesEventBuilder] - Attempting to send a state update of an item which doesn't exist: TemperatureSensor_Variable1
          23:05:12.626 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuation update for thing 1-18: {nodeUpdateTimeout=-1, smartSleep=false, requestHeartbeatResponse=false, childUpdateTimeout=-1, childId=0, nodeId=1, revertState=true, requestAck=false}
          23:05:12.636 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=0, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
          23:05:12.638 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={0=MySensorsChild [childId=0, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]}]
          23:05:12.643 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-0 not registered yet, registering...
          22:35:59.095 [WARN ] [orsAbstractConnection$MySensorsWriter] - Message returned from queue is null
          22:37:44.434 [WARN ] [orsAbstractConnection$MySensorsWriter] - Message returned from queue is null
          
          
          N 1 Reply Last reply
          0
          • H haloway13

            @ncollins

            I tried just as you describe. However I think something is failing before this should be expected to succeed.

            Thoughts?

            openhab> log:tail                                                                                                                                                                                                       
            22:37:44.426 [DEBUG] [s.discovery.MySensorsDiscoveryService] - Starting MySensors discovery scan
            22:37:44.428 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Adding consumer for topic: mygateway1-out/+/+/+/+/+
            22:37:44.434 [WARN ] [protocol.mqtt.MySensorsMqttConnection] - Skipping I_VERSION connection test, not recommended...
            22:37:44.438 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:bridge-mqtt:3976df7e54' changed from INITIALIZING to ONLINE
            22:37:44.446 [DEBUG] [sensors.factory.MySensorsCacheFactory] - Writing on cache given_ids, content: []
            22:37:44.443 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
            22:37:44.451 [INFO ] [protocol.mqtt.MySensorsMqttConnection] - Successfully connected to MySensors Bridge.
            22:37:44.454 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
            22:37:44.460 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=1, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
            22:37:44.464 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={1=MySensorsChild [childId=1, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]}]
            22:37:44.465 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=0, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
            22:37:44.467 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-1 not registered yet, registering...
            22:37:44.469 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Merging child map: {1=MySensorsChild [childId=1, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]} with: {0=MySensorsChild [childId=0, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_ID=MySensorsVariableVId [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_TEMP=MySensorsVariableVTemp [value=null]}]}
            22:37:44.472 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from INITIALIZING to ONLINE
            22:37:44.474 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-0 not registered yet, registering...
            22:37:44.479 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from INITIALIZING to ONLINE
            22:41:47.918 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from ONLINE to UNINITIALIZED
            22:41:47.936 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from UNINITIALIZED to UNINITIALIZED (DISABLED)
            22:41:49.778 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from UNINITIALIZED (DISABLED) to INITIALIZING
            22:41:49.786 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=1, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
            22:41:49.788 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={1=MySensorsChild [childId=1, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]}]
            22:41:49.791 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-1 not registered yet, registering...
            22:41:49.795 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from INITIALIZING to ONLINE
            22:41:51.075 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from ONLINE to UNINITIALIZED
            22:41:51.090 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from UNINITIALIZED to UNINITIALIZED (DISABLED)
            22:41:51.806 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from UNINITIALIZED (DISABLED) to INITIALIZING
            22:41:51.814 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=1, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
            22:41:51.817 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={1=MySensorsChild [childId=1, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]}]
            22:41:51.819 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-1 not registered yet, registering...
            22:41:51.825 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:humidity:3976df7e54:529c716d78' changed from INITIALIZING to ONLINE
            22:42:06.748 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from ONLINE to UNINITIALIZED
            22:42:06.762 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from UNINITIALIZED to UNINITIALIZED (DISABLED)
            22:42:07.739 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from UNINITIALIZED (DISABLED) to INITIALIZING
            22:42:07.749 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=0, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
            22:42:07.751 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={0=MySensorsChild [childId=0, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_ID=MySensorsVariableVId [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_TEMP=MySensorsVariableVTemp [value=null]}]}]
            22:42:07.753 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-0 not registered yet, registering...
            22:42:07.756 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'mysensors:temperature:7c6c709b27' changed from INITIALIZING to ONLINE
            22:51:49.195 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuation update for thing 1-1: {nodeUpdateTimeout=-1, smartSleep=false, requestHeartbeatResponse=false, childUpdateTimeout=-1, childId=18, nodeId=1, revertState=true, requestAck=false}
            22:51:49.214 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=18, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
            22:51:49.217 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={18=MySensorsChild [childId=18, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]}]
            22:51:49.218 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-18 not registered yet, registering...
            23:01:04.984 [WARN ] [se.internal.SseItemStatesEventBuilder] - Attempting to send a state update of an item which doesn't exist: Temperature
            23:01:08.762 [WARN ] [se.internal.SseItemStatesEventBuilder] - Attempting to send a state update of an item which doesn't exist: TemperatureSensor_Temperature
            23:04:05.921 [WARN ] [se.internal.SseItemStatesEventBuilder] - Attempting to send a state update of an item which doesn't exist: TemperatureSensor_Variable1
            23:05:12.626 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuation update for thing 1-18: {nodeUpdateTimeout=-1, smartSleep=false, requestHeartbeatResponse=false, childUpdateTimeout=-1, childId=0, nodeId=1, revertState=true, requestAck=false}
            23:05:12.636 [DEBUG] [sensors.handler.MySensorsThingHandler] - Configuration: MySensorsSensorConfiguration{nodeId=1, childId=0, requestAck=false, revertState=true, smartSleep=false, childUpdateTimeout=-1, nodeUpdateTimeout=-1, requestHeartbeatResponse=false, usePureWhiteLightInRGBW=false}
            23:05:12.638 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Adding device MySensorsNode [nodeId=1, childNumber=1, chidldList={0=MySensorsChild [childId=0, nodeValue={V_VAR5=MySensorsVariableVVar5 [value=null], V_VAR1=MySensorsVariableVVar1 [value=null], V_VAR2=MySensorsVariableVVar2 [value=null], V_VAR4=MySensorsVariableVVar4 [value=null], V_VAR3=MySensorsVariableVVar3 [value=null], V_HUM=MySensorsVariableVHum [value=null]}]}]
            23:05:12.643 [DEBUG] [sensors.handler.MySensorsThingHandler] - Event listener for node 1-0 not registered yet, registering...
            22:35:59.095 [WARN ] [orsAbstractConnection$MySensorsWriter] - Message returned from queue is null
            22:37:44.434 [WARN ] [orsAbstractConnection$MySensorsWriter] - Message returned from queue is null
            
            
            N Offline
            N Offline
            ncollins
            wrote on last edited by
            #69

            @haloway13 can you send a screenshot of your item?Screen Shot 2021-03-08 at 9.09.23 AM.png

            H 1 Reply Last reply
            0
            • N ncollins

              @haloway13 can you send a screenshot of your item?Screen Shot 2021-03-08 at 9.09.23 AM.png

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

              @ncollins
              SS_2021-03-08_20-05-19.png

              N 1 Reply Last reply
              0
              • H haloway13

                @ncollins
                SS_2021-03-08_20-05-19.png

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

                @haloway13 Can you post your sketch?

                Your humidity sensor and your temperature sensor Thing configurations both point to Child Id = 0. I think your humidity sensor should be Child Id = 1.

                H 1 Reply Last reply
                0
                • N ncollins

                  @haloway13 Can you post your sketch?

                  Your humidity sensor and your temperature sensor Thing configurations both point to Child Id = 0. I think your humidity sensor should be Child Id = 1.

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

                  @ncollins
                  Fixed the child ID. Good catch. No change.

                  Here is the sketch

                  #include <DHT.h>
                  
                  #define MY_DEBUG 1
                  #define MY_RADIO_NRF24
                  #define MY_NODE_ID 1
                  
                  #define CHILD_ID_TEMP 0
                  #define CHILD_ID_HUM 1
                  #define DHT_DATA_PIN 3
                  #define SENSOR_TEMP_OFFSET 0
                  
                  #include <MySensors.h>
                  
                  /**************************************************/
                  /****************** CONSTANTS *********************/
                  /**************************************************/
                  
                  static const uint64_t UPDATE_INTERVAL = 10000;
                  static const uint8_t FORCE_UPDATE_N_READS = 10;
                  
                  /**************************************************/
                  /****************** VARIABLES *********************/
                  /**************************************************/
                  float lastTemp;
                  float lastHum;
                  float temperature;
                  float humidity;
                  uint8_t nNoUpdatesTemp;
                  uint8_t nNoUpdatesHum;
                  
                  /**************************************************/
                  /****************** MESSAGES **********************/
                  /**************************************************/
                  
                  MyMessage msgHum(CHILD_ID_HUM, V_HUM);
                  MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
                  
                  DHT dht;
                  
                  void presentation() 
                  { 
                  present(CHILD_ID_HUM, S_HUM);
                  present(CHILD_ID_TEMP, S_TEMP);
                  }
                  
                  
                  void setup()
                  {
                  delay(2000); //Wait 2 seconds before starting sequence
                  
                  if (UPDATE_INTERVAL <= dht.getMinimumSamplingPeriod()) 
                  {
                  Serial.println("Warning: UPDATE_INTERVAL is smaller than supported by the sensor!");
                  }
                  
                  sleep(dht.getMinimumSamplingPeriod()); 
                  dht.setup(DHT_DATA_PIN);
                  }
                  
                  void loop() 
                  { 
                  sendTemperatureHumiditySensor(); 
                  wait(UPDATE_INTERVAL);
                  }
                  
                  /**************************************************/
                  /**************** AUX. FUNCTIONS ******************/
                  /**************************************************/
                  
                  void sendTemperatureHumiditySensor()
                  {
                  dht.readSensor(true);
                  temperature = dht.getTemperature();
                  humidity = dht.getHumidity();
                  
                  if (isnan(temperature)) 
                  {
                  Serial.println("Failed reading temperature from DHT!");
                  } else if (temperature != lastTemp || nNoUpdatesTemp == FORCE_UPDATE_N_READS) 
                  {
                  lastTemp = temperature;
                  nNoUpdatesTemp = 0;
                  temperature += SENSOR_TEMP_OFFSET;
                  send(msgTemp.set(temperature, 1));
                  
                  #ifdef MY_DEBUG
                  Serial.print("T: ");
                  Serial.println(temperature);
                  #endif
                  } else 
                  {
                  nNoUpdatesTemp++;
                  }
                  
                  if (isnan(humidity)) 
                  {
                  Serial.println("Failed reading humidity from DHT");
                  } else if (humidity != lastHum || nNoUpdatesHum == FORCE_UPDATE_N_READS)
                  {
                  lastHum = humidity;
                  nNoUpdatesHum = 0;
                  send(msgHum.set(humidity, 1));
                  
                  #ifdef MY_DEBUG
                  Serial.print("H: ");
                  Serial.println(humidity);
                  #endif
                  } else 
                  {
                  nNoUpdatesHum++;
                  } 
                  }
                  

                  I am able to see the debug output from the sensors

                  N 1 Reply Last reply
                  0
                  • H haloway13

                    @ncollins
                    Fixed the child ID. Good catch. No change.

                    Here is the sketch

                    #include <DHT.h>
                    
                    #define MY_DEBUG 1
                    #define MY_RADIO_NRF24
                    #define MY_NODE_ID 1
                    
                    #define CHILD_ID_TEMP 0
                    #define CHILD_ID_HUM 1
                    #define DHT_DATA_PIN 3
                    #define SENSOR_TEMP_OFFSET 0
                    
                    #include <MySensors.h>
                    
                    /**************************************************/
                    /****************** CONSTANTS *********************/
                    /**************************************************/
                    
                    static const uint64_t UPDATE_INTERVAL = 10000;
                    static const uint8_t FORCE_UPDATE_N_READS = 10;
                    
                    /**************************************************/
                    /****************** VARIABLES *********************/
                    /**************************************************/
                    float lastTemp;
                    float lastHum;
                    float temperature;
                    float humidity;
                    uint8_t nNoUpdatesTemp;
                    uint8_t nNoUpdatesHum;
                    
                    /**************************************************/
                    /****************** MESSAGES **********************/
                    /**************************************************/
                    
                    MyMessage msgHum(CHILD_ID_HUM, V_HUM);
                    MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
                    
                    DHT dht;
                    
                    void presentation() 
                    { 
                    present(CHILD_ID_HUM, S_HUM);
                    present(CHILD_ID_TEMP, S_TEMP);
                    }
                    
                    
                    void setup()
                    {
                    delay(2000); //Wait 2 seconds before starting sequence
                    
                    if (UPDATE_INTERVAL <= dht.getMinimumSamplingPeriod()) 
                    {
                    Serial.println("Warning: UPDATE_INTERVAL is smaller than supported by the sensor!");
                    }
                    
                    sleep(dht.getMinimumSamplingPeriod()); 
                    dht.setup(DHT_DATA_PIN);
                    }
                    
                    void loop() 
                    { 
                    sendTemperatureHumiditySensor(); 
                    wait(UPDATE_INTERVAL);
                    }
                    
                    /**************************************************/
                    /**************** AUX. FUNCTIONS ******************/
                    /**************************************************/
                    
                    void sendTemperatureHumiditySensor()
                    {
                    dht.readSensor(true);
                    temperature = dht.getTemperature();
                    humidity = dht.getHumidity();
                    
                    if (isnan(temperature)) 
                    {
                    Serial.println("Failed reading temperature from DHT!");
                    } else if (temperature != lastTemp || nNoUpdatesTemp == FORCE_UPDATE_N_READS) 
                    {
                    lastTemp = temperature;
                    nNoUpdatesTemp = 0;
                    temperature += SENSOR_TEMP_OFFSET;
                    send(msgTemp.set(temperature, 1));
                    
                    #ifdef MY_DEBUG
                    Serial.print("T: ");
                    Serial.println(temperature);
                    #endif
                    } else 
                    {
                    nNoUpdatesTemp++;
                    }
                    
                    if (isnan(humidity)) 
                    {
                    Serial.println("Failed reading humidity from DHT");
                    } else if (humidity != lastHum || nNoUpdatesHum == FORCE_UPDATE_N_READS)
                    {
                    lastHum = humidity;
                    nNoUpdatesHum = 0;
                    send(msgHum.set(humidity, 1));
                    
                    #ifdef MY_DEBUG
                    Serial.print("H: ");
                    Serial.println(humidity);
                    #endif
                    } else 
                    {
                    nNoUpdatesHum++;
                    } 
                    }
                    

                    I am able to see the debug output from the sensors

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

                    @haloway13 I mean, last suggestion is restarting your openhab instance. If that doesn't work, please post your openhab log.

                    H 2 Replies Last reply
                    0
                    • N ncollins

                      @haloway13 I mean, last suggestion is restarting your openhab instance. If that doesn't work, please post your openhab log.

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

                      @ncollins
                      My sdcard corrupted, had to restart from scratch. Hopefully, I can get back to the same point tonight.

                      Thanks!

                      1 Reply Last reply
                      0
                      • N ncollins

                        @haloway13 I mean, last suggestion is restarting your openhab instance. If that doesn't work, please post your openhab log.

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

                        @ncollins QQ: Did you install mosquitto through the openhabian-config utility?

                        H 1 Reply Last reply
                        0
                        • H haloway13

                          @ncollins QQ: Did you install mosquitto through the openhabian-config utility?

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

                          @haloway13

                          I assumed yes since the log was showing no connection to MQTT

                          I am now getting this error:

                          20:56:49.983 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid cc150d9b-7fcc-45d0-93d2-00ad80ddb9a9
                          20:56:50.005 [ERROR] [protocol.mqtt.MySensorsMqttConnection] - MQTT connection offline - {}
                          com.hivemq.client.mqtt.exceptions.ConnectionClosedException: java.io.IOException: Connection reset by peer
                          Caused by: java.io.IOException: Connection reset by peer
                          	at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[?:?]
                          	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[?:?]
                          	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276) ~[?:?]
                          	at sun.nio.ch.IOUtil.read(IOUtil.java:233) ~[?:?]
                          	at sun.nio.ch.IOUtil.read(IOUtil.java:223) ~[?:?]
                          	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:358) ~[?:?]
                          	at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:247) ~[bundleFile:4.1.42.Final]
                          	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1147) ~[bundleFile:4.1.42.Final]
                          	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:347) ~[bundleFile:4.1.42.Final]
                          	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148) [bundleFile:4.1.42.Final]
                          	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700) [bundleFile:4.1.42.Final]
                          	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:635) [bundleFile:4.1.42.Final]
                          	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552) [bundleFile:4.1.42.Final]
                          	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514) [bundleFile:4.1.42.Final]
                          	at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044) [bundleFile:4.1.42.Final]
                          	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [bundleFile:4.1.42.Final]
                          	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [bundleFile:4.1.42.Final]
                          	at java.lang.Thread.run(Thread.java:834) [?:?]
                          
                          
                          H 1 Reply Last reply
                          0
                          • H haloway13

                            @haloway13

                            I assumed yes since the log was showing no connection to MQTT

                            I am now getting this error:

                            20:56:49.983 [INFO ] [o.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.1.151' with clientid cc150d9b-7fcc-45d0-93d2-00ad80ddb9a9
                            20:56:50.005 [ERROR] [protocol.mqtt.MySensorsMqttConnection] - MQTT connection offline - {}
                            com.hivemq.client.mqtt.exceptions.ConnectionClosedException: java.io.IOException: Connection reset by peer
                            Caused by: java.io.IOException: Connection reset by peer
                            	at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[?:?]
                            	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[?:?]
                            	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276) ~[?:?]
                            	at sun.nio.ch.IOUtil.read(IOUtil.java:233) ~[?:?]
                            	at sun.nio.ch.IOUtil.read(IOUtil.java:223) ~[?:?]
                            	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:358) ~[?:?]
                            	at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:247) ~[bundleFile:4.1.42.Final]
                            	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1147) ~[bundleFile:4.1.42.Final]
                            	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:347) ~[bundleFile:4.1.42.Final]
                            	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148) [bundleFile:4.1.42.Final]
                            	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700) [bundleFile:4.1.42.Final]
                            	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:635) [bundleFile:4.1.42.Final]
                            	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552) [bundleFile:4.1.42.Final]
                            	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514) [bundleFile:4.1.42.Final]
                            	at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044) [bundleFile:4.1.42.Final]
                            	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [bundleFile:4.1.42.Final]
                            	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [bundleFile:4.1.42.Final]
                            	at java.lang.Thread.run(Thread.java:834) [?:?]
                            
                            
                            H Offline
                            H Offline
                            haloway13
                            wrote on last edited by haloway13
                            #77

                            @haloway13
                            @ncollins
                            Woot!!! massive success!!!

                            in /srv/openhab-userdata/config/org/openhab/mqttbroker.config

                            added at the end secure="false"

                            as you suggested.

                            21:42:04.192 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'HumiditySensor_Humidity' changed from 33.1 to 33.3
                            21:42:54.224 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - MQTT message received. Topic: mygateway1-out/1/1/1/0/1, Message: 33.2
                            21:42:54.226 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Message topic part: 1/1/1/0/1
                            21:42:54.228 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Converted MQTT message to MySensors Serial format. Sending on to bridge: 1;1;1;0;1;33.2
                            21:42:54.231 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 1;1;1;0;1;33.2
                            21:42:54.234 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 1 found in gateway
                            21:42:54.236 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 1
                            21:42:54.238 [DEBUG] [sensors.handler.MySensorsThingHandler] - Updating channel: hum(V_HUM) value to: 33.2
                            21:42:54.244 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'HumiditySensor_Humidity' changed from 33.3 to 33.2
                            21:42:54.246 [DEBUG] [sensors.handler.MySensorsThingHandler] - Setting last update for node/child 1/1 to 2021-03-11T21:42:54.000-0700
                            21:43:04.250 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - MQTT message received. Topic: mygateway1-out/1/1/1/0/1, Message: 33.3
                            21:43:04.252 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Message topic part: 1/1/1/0/1
                            21:43:04.253 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Converted MQTT message to MySensors Serial format. Sending on to bridge: 1;1;1;0;1;33.3
                            21:43:04.260 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 1;1;1;0;1;33.3
                            21:43:04.262 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 1 found in gateway
                            21:43:04.263 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 1
                            21:43:04.265 [DEBUG] [sensors.handler.MySensorsThingHandler] - Updating channel: hum(V_HUM) value to: 33.3
                            21:43:04.270 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'HumiditySensor_Humidity' changed from 33.2 to 33.3
                            21:43:04.271 [DEBUG] [sensors.handler.MySensorsThingHandler] - Setting last update for node/child 1/1 to 2021-03-11T21:43:04.000-0700
                            21:43:14.266 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - MQTT message received. Topic: mygateway1-out/1/1/1/0/1, Message: 33.2
                            21:43:14.268 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Message topic part: 1/1/1/0/1
                            21:43:14.271 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Converted MQTT message to MySensors Serial format. Sending on to bridge: 1;1;1;0;1;33.2
                            21:43:14.276 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 1;1;1;0;1;33.2
                            21:43:14.278 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 1 found in gateway
                            21:43:14.280 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 1
                            21:43:14.281 [DEBUG] [sensors.handler.MySensorsThingHandler] - Updating channel: hum(V_HUM) value to: 33.2
                            21:43:14.285 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'HumiditySensor_Humidity' changed from 33.3 to 33.2
                            21:43:14.286 [DEBUG] [sensors.handler.MySensorsThingHandler] - Setting last update for node/child 1/1 to 2021-03-11T21:43:14.000-0700
                            
                            N 1 Reply Last reply
                            2
                            • H haloway13

                              @haloway13
                              @ncollins
                              Woot!!! massive success!!!

                              in /srv/openhab-userdata/config/org/openhab/mqttbroker.config

                              added at the end secure="false"

                              as you suggested.

                              21:42:04.192 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'HumiditySensor_Humidity' changed from 33.1 to 33.3
                              21:42:54.224 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - MQTT message received. Topic: mygateway1-out/1/1/1/0/1, Message: 33.2
                              21:42:54.226 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Message topic part: 1/1/1/0/1
                              21:42:54.228 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Converted MQTT message to MySensors Serial format. Sending on to bridge: 1;1;1;0;1;33.2
                              21:42:54.231 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 1;1;1;0;1;33.2
                              21:42:54.234 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 1 found in gateway
                              21:42:54.236 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 1
                              21:42:54.238 [DEBUG] [sensors.handler.MySensorsThingHandler] - Updating channel: hum(V_HUM) value to: 33.2
                              21:42:54.244 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'HumiditySensor_Humidity' changed from 33.3 to 33.2
                              21:42:54.246 [DEBUG] [sensors.handler.MySensorsThingHandler] - Setting last update for node/child 1/1 to 2021-03-11T21:42:54.000-0700
                              21:43:04.250 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - MQTT message received. Topic: mygateway1-out/1/1/1/0/1, Message: 33.3
                              21:43:04.252 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Message topic part: 1/1/1/0/1
                              21:43:04.253 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Converted MQTT message to MySensors Serial format. Sending on to bridge: 1;1;1;0;1;33.3
                              21:43:04.260 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 1;1;1;0;1;33.3
                              21:43:04.262 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 1 found in gateway
                              21:43:04.263 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 1
                              21:43:04.265 [DEBUG] [sensors.handler.MySensorsThingHandler] - Updating channel: hum(V_HUM) value to: 33.3
                              21:43:04.270 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'HumiditySensor_Humidity' changed from 33.2 to 33.3
                              21:43:04.271 [DEBUG] [sensors.handler.MySensorsThingHandler] - Setting last update for node/child 1/1 to 2021-03-11T21:43:04.000-0700
                              21:43:14.266 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - MQTT message received. Topic: mygateway1-out/1/1/1/0/1, Message: 33.2
                              21:43:14.268 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Message topic part: 1/1/1/0/1
                              21:43:14.271 [DEBUG] [protocol.mqtt.MySensorsMqttConnection] - Converted MQTT message to MySensors Serial format. Sending on to bridge: 1;1;1;0;1;33.2
                              21:43:14.276 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 1;1;1;0;1;33.2
                              21:43:14.278 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 1 found in gateway
                              21:43:14.280 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 1
                              21:43:14.281 [DEBUG] [sensors.handler.MySensorsThingHandler] - Updating channel: hum(V_HUM) value to: 33.2
                              21:43:14.285 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'HumiditySensor_Humidity' changed from 33.3 to 33.2
                              21:43:14.286 [DEBUG] [sensors.handler.MySensorsThingHandler] - Setting last update for node/child 1/1 to 2021-03-11T21:43:14.000-0700
                              
                              N Offline
                              N Offline
                              ncollins
                              wrote on last edited by
                              #78

                              @haloway13 Yes!! Impressive perseverance.

                              Somehow I've become emotionally invested in your outcome, so this is extremely satisfying. Great work.

                              H 1 Reply Last reply
                              0
                              • N ncollins

                                @haloway13 Yes!! Impressive perseverance.

                                Somehow I've become emotionally invested in your outcome, so this is extremely satisfying. Great work.

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

                                @ncollins

                                I could not have done it without you! I really appreciate the feedback and continued support. I would not have continued without it.

                                Now... to get the darn data to display both in C and F. I am missing something conceptually.

                                I should probably do this in another thread after I completely document all the steps I have done for posterity.

                                Thanks again!

                                N 1 Reply Last reply
                                0
                                • H haloway13

                                  @ncollins

                                  I could not have done it without you! I really appreciate the feedback and continued support. I would not have continued without it.

                                  Now... to get the darn data to display both in C and F. I am missing something conceptually.

                                  I should probably do this in another thread after I completely document all the steps I have done for posterity.

                                  Thanks again!

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

                                  @haloway13 oooof, I found that to be confusing too.

                                  If your platform settings Settings -> Regional Settings [advanced] -> Metric / Imperial are set,

                                  and you define your items as Number:Temperature, they should "magically" display in the correct format and auto converted, but I've had a lot of trouble with that.

                                  There are also settings to have the gateway confirm "isMetric" and have you node respond in the appropriate unit.

                                  Lastly, in your item definition, you can "Add Metadata" -> State Description, and set a display format that supposedly converts value, but I'm not sure I understand exactly when it's suppose to override platform settings.

                                  Screen Shot 2021-03-12 at 5.51.47 PM.png Screen Shot 2021-03-12 at 5.52.00 PM.png

                                  More info here: https://community.openhab.org/t/solved-the-right-place-to-do-temperature-conversion/91233

                                  H 1 Reply Last reply
                                  0
                                  • N ncollins

                                    @haloway13 oooof, I found that to be confusing too.

                                    If your platform settings Settings -> Regional Settings [advanced] -> Metric / Imperial are set,

                                    and you define your items as Number:Temperature, they should "magically" display in the correct format and auto converted, but I've had a lot of trouble with that.

                                    There are also settings to have the gateway confirm "isMetric" and have you node respond in the appropriate unit.

                                    Lastly, in your item definition, you can "Add Metadata" -> State Description, and set a display format that supposedly converts value, but I'm not sure I understand exactly when it's suppose to override platform settings.

                                    Screen Shot 2021-03-12 at 5.51.47 PM.png Screen Shot 2021-03-12 at 5.52.00 PM.png

                                    More info here: https://community.openhab.org/t/solved-the-right-place-to-do-temperature-conversion/91233

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

                                    @ncollins

                                    You are correct about magic supposing to happen when adding an item with:

                                    Number:Temperature with the correct regional imperial vs metric chosen.

                                    I think the confusion is that the number gets converted but the units need to be overriden with metadata so that it makes sense.

                                    Does that jive with what you understand?

                                    Also, it is interesting that the metadata is defined at item/channel link time?

                                    N 1 Reply Last reply
                                    0
                                    • H haloway13

                                      @ncollins

                                      You are correct about magic supposing to happen when adding an item with:

                                      Number:Temperature with the correct regional imperial vs metric chosen.

                                      I think the confusion is that the number gets converted but the units need to be overriden with metadata so that it makes sense.

                                      Does that jive with what you understand?

                                      Also, it is interesting that the metadata is defined at item/channel link time?

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

                                      @haloway13 I really don't have an understanding of how it works. I'm not sure how OpenHAB knows when to convert a value from a sensor reading?

                                      • When you set the platform level metric/imperial setting, is that establishing the assumption that all sensor values are metric/imperial?
                                      • If the metadata override for a Number:Temperature doesn't match the platform setting, is openhab smart enough to do the conversion?
                                      • When updating the metadata, does that convert the current value or only updates after setting the metadata?

                                      In my limited experiments, changing the metadata just seems to change the label suffix to ˚C or ˚F

                                      1 Reply Last reply
                                      0
                                      • N Offline
                                        N Offline
                                        niccodemi
                                        wrote on last edited by
                                        #83

                                        Hi,

                                        I just upgraded Linux Openhab version from "openHAB 3.1.0.M2" to "openHAB 3.1.0.M3". Since upgrade I cannot use / activate MySensors binding anymore (it worked in previous version - M2).
                                        I cleaned openhab cache, rebooted computer; feature:install openhab-transport-serial and feature:install openhab-core-io-transport-mqtt are properly installed and active. When I place Mysensors.jar to Addons folder the file gets recognized but it is listed only as Installed, not active.

                                        openhab> bundle:list | grep MySensors
                                        266 x Installed x  80 x 3.1.0.202012312203      x openHAB Add-ons :: Bundles :: MySensors Binding
                                        

                                        Log shows following error:

                                         [WARN ] [org.apache.felix.fileinstall         ] - Error while starting bundle: file:/usr/share/openhab/addons/org.openhab.binding.mysensors-3.1.0.jar
                                        org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.mysensors [266]
                                          Unresolved requirement: Import-Package: org.apache.commons.lang; version="[2.6.0,3.0.0)"
                                        
                                                at org.eclipse.osgi.container.Module.start(Module.java:444) ~[org.eclipse.osgi-3.12.100.jar:?]
                                                at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[org.eclipse.osgi-3.12.100.jar:?]
                                                at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.6.4]
                                                at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.6.4]
                                                at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [bundleFile:3.6.4]
                                                at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.6.4]
                                                at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.6.4]
                                        
                                        

                                        Does anyone know how to resolve this issue / install missing requirement?

                                        P 1 Reply Last reply
                                        1
                                        • N niccodemi

                                          Hi,

                                          I just upgraded Linux Openhab version from "openHAB 3.1.0.M2" to "openHAB 3.1.0.M3". Since upgrade I cannot use / activate MySensors binding anymore (it worked in previous version - M2).
                                          I cleaned openhab cache, rebooted computer; feature:install openhab-transport-serial and feature:install openhab-core-io-transport-mqtt are properly installed and active. When I place Mysensors.jar to Addons folder the file gets recognized but it is listed only as Installed, not active.

                                          openhab> bundle:list | grep MySensors
                                          266 x Installed x  80 x 3.1.0.202012312203      x openHAB Add-ons :: Bundles :: MySensors Binding
                                          

                                          Log shows following error:

                                           [WARN ] [org.apache.felix.fileinstall         ] - Error while starting bundle: file:/usr/share/openhab/addons/org.openhab.binding.mysensors-3.1.0.jar
                                          org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.mysensors [266]
                                            Unresolved requirement: Import-Package: org.apache.commons.lang; version="[2.6.0,3.0.0)"
                                          
                                                  at org.eclipse.osgi.container.Module.start(Module.java:444) ~[org.eclipse.osgi-3.12.100.jar:?]
                                                  at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[org.eclipse.osgi-3.12.100.jar:?]
                                                  at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.6.4]
                                                  at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.6.4]
                                                  at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [bundleFile:3.6.4]
                                                  at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.6.4]
                                                  at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.6.4]
                                          
                                          

                                          Does anyone know how to resolve this issue / install missing requirement?

                                          P Offline
                                          P Offline
                                          Peter Loeffler
                                          wrote on last edited by
                                          #84

                                          @niccodemi
                                          same problem here

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


                                          20

                                          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