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.
  • H haloway13

    @fabyte

    I am not showing such a file as mentioned in 1.1

    2 & 3 refer to using the web interface?

    Thanks!

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

    @haloway13 Yes, everything via the web interface

    1 Reply Last reply
    0
    • H haloway13

      @fabyte

      I am not showing such a file as mentioned in 1.1

      2 & 3 refer to using the web interface?

      Thanks!

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

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

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

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

      My Gateway code:

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

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

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

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

        My Gateway code:

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

        @ncollins

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

        I am seeing this output from the mysensors gateway:

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

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

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

        I will try to edit this in the morning

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

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