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. Home Assistant
  4. IR Node resending last signal ca every 15 minutes

IR Node resending last signal ca every 15 minutes

Scheduled Pinned Locked Moved Home Assistant
18 Posts 5 Posters 220 Views 4 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.
  • electrikE Offline
    electrikE Offline
    electrik
    wrote on last edited by electrik
    #2

    Are you perhaps using a mqtt gateway and retained messages?

    K 1 Reply Last reply
    0
    • K kiesel

      Hi,

      I attached a TSOP 38238 to my arduino pro mini (3v) wit the goal of relaying IR signals to my controller (Home Assistant). On the face of it everything works: When I press a button on my tv remote a message is sent. But: about every 15 minutes the node resends the last IR command it has seen.

      Also attached to the node is a lux sensor and a temp/humidity sensor that are pulled every 90 seconds (I don't need updated temp/hum/lux values every time somebody presses a button on the remote).

      The IR sensor is attached to pin 3 and wakes the sensor up every time there is new data. When the ardunio is woken up it checks whether it was by interrupt or by time an then checks the corresponding sensor.

      Can anybody see what I am doing wrong here? Here is a pic of the sensor in Home Assistant:

      cf11c834-59a6-4668-9b70-f561c78a318b-image.png ![alt text](image url)

      This is from last night, all lights are off and nobody used the remote. I can't find a reason why the node wakes up ~ every 15 minutes.

      Does anybody have an idea or a workaround?

      sketch:

      
      
      // Enable debug prints
      //#define MY_DEBUG
      
      //#define MY_OWN_DEBUG
      
      #ifndef MY_OWN_DEBUG //disable serial in production compile, potentially saves few uA in sleep mode
           #define MY_DISABLED_SERIAL
      #endif
      
      
      // Enable and select radio type attached
      #define MY_RADIO_RFM69
      #define MY_IS_RFM69HW
      #define MY_RFM69_NEW_DRIVER
      
      
      #define MY_NODE_ID 3
      #include <MySensors.h>
      
      // IR specific setup  
      #include <IRremote.h>
      int RECV_PIN     = 3;
      IRrecv            irrecv(RECV_PIN);
      decode_results    ircode;
      const char * TYPE2STRING[] = {
          "UNKONWN",
          "RC5",
          "RC6",
          "NEC",
          "Sony",
          "Panasonic",
          "JVC",
          "SAMSUNG",
          "Whynter",
          "AIWA RC T501",
          "LG",
          "Sanyo",
          "Mitsubishi",
          "Dish",
          "Sharp",
          "Denon"
      };
      #define Type2String(x)   TYPE2STRING[x < 0 ? 0 : x]
      #define AddrTxt          F(" addres: 0x")
      #define ValueTxt         F(" value: 0x")
      #define NATxt            F(" - not implemented/found")
      unsigned long last_value;
      // IR specific setup end
      
      #define CHILD_ID_HUM  0
      #define CHILD_ID_TEMP 1
      #define CHILD_ID_LUX  2
      #define CHILD_ID_IR 3
      
      #define SKETCH_NAME "mysensors_wohnzimmer_main"
      #define SKETCH_MAJOR_VER "1"
      #define SKETCH_MINOR_VER "0"
      
      static bool metric = true;
      
      int BATTERY_SENSE_PIN = A0;  // select the input pin for the battery sense point
      int oldBatteryPcnt = 0;
      
      float lastHum = 0;
      float lastTemp = 0;
      int lastLux = 0;
      
      
      // Sleep time between sensor updates (in milliseconds)
      static const unsigned long UPDATE_INTERVAL = 90000;
      
      #include <SI7021.h>
      #include <BH1750.h>
      
      static SI7021 tempsensor;
      BH1750 lightmeter;
      
      
      
      MyMessage msgHum(CHILD_ID_HUM, V_HUM);
      MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
      MyMessage msgLux(CHILD_ID_LUX, V_LEVEL);
      MyMessage msgIrRecord(CHILD_ID_IR, V_IR_RECEIVE); 
      
      
      
      void presentation()  
      { 
       // Send the sketch version information to the gateway and Controller
        sendSketchInfo(SKETCH_NAME, SKETCH_MAJOR_VER "." SKETCH_MINOR_VER);
      
        present(CHILD_ID_HUM, S_HUM);
         present(CHILD_ID_TEMP, S_TEMP);
        present(CHILD_ID_LUX, S_LIGHT_LEVEL);
        present(CHILD_ID_IR, S_IR);
      }
      
      void setup()
      {
        while (not tempsensor.begin())
        {
          Serial.println(F("Temperaturesensor not detected!"));
          delay(5000);
        }
          #ifdef MY_OWN_DEBUG
          Serial.println("Tempsensor started");
        #endif
        lightmeter.begin();
        #ifdef MY_OWN_DEBUG
          Serial.print("UPDATE_INTERVAL:");Serial.println(UPDATE_INTERVAL);
        #endif
        irrecv.enableIRIn();
      }
      
      
      void loop(){
        int8_t wake_reason;
        sleep_bod_disable();//disable BOD  - saves~ 15uA
        wake_reason = sleep(RECV_PIN-2, RISING, UPDATE_INTERVAL);
        #ifdef MY_OWN_DEBUG
        Serial.print("wake_reason=");Serial.println(wake_reason);
        #endif
        if (wake_reason == 1){
          //woken up by interrupt on d3
          ir_received();
        }
        else{
          //woken by update_interval
          update_interval();
        }
      
      }
      
      void ir_received(){
        delay(100);
          if (irrecv.decode(&ircode)) {
            unsigned long ir_value = ircode.value;
            //if (ir_value == REPEAT) //if repeat-code: send last code
            //{
            //   ir_value = last_value;
            //}
            //else{ //if not: save new value as last value
            //  last_value = ir_value;
            //}
            #ifdef MY_OWN_DEBUG
            Serial.println(ir_value,HEX);
            #endif
            
            send(msgIrRecord.set(ir_value));
            
          }
          irrecv.resume(); // Receive the next value
      
          Serial.println("IR Processing done--------------------");
      }
      
      void update_interval()      
      {  
        #ifdef MY_OWN_DEBUG
        Serial.println("In loop");
        #endif
        // Read temperature & humidity from sensor.
        const float temperature = float( metric ? tempsensor.getCelsiusHundredths() : tempsensor.getFahrenheitHundredths() ) / 100.0;
        float roundedTemp = floorf(temperature * 10) / 10; //round temp down to 1 decimal
        const float humidity    = float( tempsensor.getHumidityBasisPoints() ) / 100.0;
        float roundedHum = floorf(humidity * 10) / 10; //round humidty down to 1 decimal
      
        lightmeter.configure(BH1750_ONE_TIME_HIGH_RES_MODE);
        //delay(500); // Allow some time
        const uint16_t lux = lightmeter.readLightLevel();
      
      
        if (lastHum != roundedHum){
            #ifdef MY_OWN_DEBUG
              Serial.print("roundedHum: ");Serial.println(roundedHum);
            #endif
          send(msgHum.set(roundedHum, 1));
          lastHum = roundedHum;
        }
      
        if (lastTemp != roundedTemp){
          send(msgTemp.set(temperature, 1));
          lastTemp = roundedTemp;
        }
      
        if (lastLux != lux){
          send(msgLux.set(lux, 1));
          lastLux = lux;
        }
      
        //send battery value
        battery();
      
      
      
      }
      
      void battery(){
           //omitted for brevity
      
      }
      
      // Dumps out the decode_results structure.
      void dump(decode_results *results) {
          int count = results->rawlen;
          unsigned long test = results->value;
          
          Serial.print("raw: ");
          Serial.print(test, HEX);
          Serial.println("");
          
          Serial.print(F("Received : "));
          Serial.print(results->decode_type, DEC);
          Serial.print(F(" "));
          Serial.print(Type2String(results->decode_type));
        
          if (results->decode_type == PANASONIC) {  
            Serial.print(AddrTxt);
            Serial.print(results->address,HEX);
            Serial.print(ValueTxt);
          }
          Serial.print(F(" "));
          Serial.print(results->value, HEX);
          Serial.print(F(" ("));
          Serial.print(results->bits, DEC);
          Serial.println(F(" bits)"));
        
          if (results->decode_type == UNKNOWN) {
            Serial.print(F("Raw ("));
            Serial.print(count, DEC);
            Serial.print(F("): "));
        
            for (int i = 0; i < count; i++) {
              if ((i % 2) == 1) {
                Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
              } 
              else {
                Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC);
              }
              Serial.print(" ");
            }
            Serial.println("");
          }
      }
      
      skywatchS Offline
      skywatchS Offline
      skywatch
      wrote on last edited by
      #3

      @kiesel said in IR Node resending last signal ca every 15 minutes:

      wake_reason = sleep(RECV_PIN-2, RISING, UPDATE_INTERVAL);

      How do you think this is working?

      From my experience this is not possible and you are actually putting the node to sleep. But of course I could be wrong (and often am). ;)

      K 1 Reply Last reply
      0
      • electrikE electrik

        Are you perhaps using a mqtt gateway and retained messages?

        K Offline
        K Offline
        kiesel
        wrote on last edited by
        #4

        @electrik

        I am using a serial gateway, but long term plan is to use an mqtt gateway.

        1 Reply Last reply
        0
        • skywatchS skywatch

          @kiesel said in IR Node resending last signal ca every 15 minutes:

          wake_reason = sleep(RECV_PIN-2, RISING, UPDATE_INTERVAL);

          How do you think this is working?

          From my experience this is not possible and you are actually putting the node to sleep. But of course I could be wrong (and often am). ;)

          K Offline
          K Offline
          kiesel
          wrote on last edited by
          #5

          @skywatch

          I want to put the node to sleep. And it actually works very well, when it is woken up by a pin interrupt it reads the data and sends them to my serial gateway.

          The issue is that it repeats messages.

          I have now covered the sensor and I still get messages ca every 15 minutes.

          Is resending messages a part of the send()-function maybe?

          mfalkviddM 1 Reply Last reply
          0
          • K kiesel

            @skywatch

            I want to put the node to sleep. And it actually works very well, when it is woken up by a pin interrupt it reads the data and sends them to my serial gateway.

            The issue is that it repeats messages.

            I have now covered the sensor and I still get messages ca every 15 minutes.

            Is resending messages a part of the send()-function maybe?

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

            @kiesel getting a log of the serial output might be the quickest wayto troubleshoot. you already have nice serial prints that will describe what the node is doing.

            K 1 Reply Last reply
            2
            • mfalkviddM mfalkvidd

              @kiesel getting a log of the serial output might be the quickest wayto troubleshoot. you already have nice serial prints that will describe what the node is doing.

              K Offline
              K Offline
              kiesel
              wrote on last edited by
              #7

              @mfalkvidd

              I am a bit embarrassed that I didn't post them straight away. I'll collect a bit of data during the night and send the logs tomorrow. Thanks!

              1 Reply Last reply
              1
              • K Offline
                K Offline
                kiesel
                wrote on last edited by
                #8

                I had a look at the Home Assistant logs and I think I have been blaming the wrong beast, my code seems to be innocent.

                I use appdaemon to execute actions in/from Home Assistant. There I can see exactly when a "ghost"-update was received.

                Matching those timestamps with timestamps from the Home Assistant log was spot on:

                Appdaemon log:

                2020-03-11 09:38:23.092076 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 09:39:48.834817 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 09:48:03.398937 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 09:49:19.742706 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 10:05:24.735442 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 10:06:58.973448 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 10:38:26.141511 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 10:39:42.890820 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 10:47:59.874830 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 10:49:16.437996 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 11:15:23.592502 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 11:16:40.138025 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 11:18:05.195990 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 11:19:39.443632 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 12:27:05.469657 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 12:28:22.691106 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 12:35:15.985303 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 12:36:33.073911 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 12:40:29.881660 INFO Living_Room_IR: ir_value: 551505585
                2020-03-11 12:42:01.804079 INFO Living_Room_IR: ir_value: 551505585
                

                Here is the corresponding part of the home assistant log:

                {"log":"2020-03-11 09:38:22 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T08:38:22.931537407Z"}
                {"log":"2020-03-11 09:39:48 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T08:39:48.650792534Z"}
                {"log":"2020-03-11 09:48:03 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T08:48:03.210220912Z"}
                {"log":"2020-03-11 09:49:19 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T08:49:19.579932619Z"}
                {"log":"2020-03-11 10:05:24 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:05:24.564205929Z"}
                {"log":"2020-03-11 10:06:58 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:06:58.804235809Z"}
                {"log":"2020-03-11 10:38:25 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:38:25.95710773Z"}
                {"log":"2020-03-11 10:39:42 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:39:42.703318764Z"}
                {"log":"2020-03-11 10:47:59 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:47:59.694853604Z"}
                {"log":"2020-03-11 10:49:16 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:49:16.294815751Z"}
                {"log":"2020-03-11 11:15:23 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T10:15:23.452517606Z"}
                {"log":"2020-03-11 11:16:39 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T10:16:39.957885612Z"}
                {"log":"2020-03-11 11:18:05 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T10:18:05.045447402Z"}
                {"log":"2020-03-11 11:19:39 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T10:19:39.270413469Z"}
                {"log":"2020-03-11 12:27:05 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:27:05.326243334Z"}
                {"log":"2020-03-11 12:28:22 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:28:22.519338238Z"}
                {"log":"2020-03-11 12:35:15 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:35:15.805191381Z"}
                {"log":"2020-03-11 12:36:32 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:36:32.903939567Z"}
                {"log":"2020-03-11 12:40:29 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:40:29.720752968Z"}
                {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:42:01.635196016Z"}
                

                So it seems that every time a Node update was triggered Home Assistant was told that there was a new value received from the IR-sensor.

                Here is the whole log from Home Assistant:

                {"log":"2020-03-11 12:42:00 DEBUG (MainThread) [mysensors.handler] n:0 c:255 t:3 s:9 p:11494641 TSF:MSG:RE
                AD,3-3-0,s=0,c=1,t=1,pt=7,l=5,sg=0:38.4\n","stream":"stderr","time":"2020-03-11T11:42:00.295978262Z"}
                {"log":"2020-03-11 12:42:00 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 0\n","stream":"stderr","time":"2020-03-11T11:42:00.311538101Z"}
                {"log":"2020-03-11 12:42:00 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                mysensors_wohnzimmer_main 3 0: value_type 1, value = 38.4\n","stream":"stderr","time":"2020-03-11T11:42:00
                .415847867Z"}
                {"log":"2020-03-11 12:42:00 DEBUG (MainThread) [mysensors.handler] n:0 c:255 t:3 s:9 p:11495280 TSF:MSG:RE
                AD,3-3-0,s=2,c=1,t=37,pt=7,l=5,sg=0:45.0\n","stream":"stderr","time":"2020-03-11T11:42:00.93325235Z"}
                {"log":"2020-03-11 12:42:00 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 2\n","stream":"stderr","time":"2020-03-11T11:42:00.950559479Z"}
                {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                mysensors_wohnzimmer_main 3 2: value_type 37, value = 45.0\n","stream":"stderr","time":"2020-03-11T11:42:0
                1.058505324Z"}
                {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [mysensors.handler] n:0 c:255 t:3 s:9 p:11495962 TSF:MSG:RE
                AD,3-3-0,s=255,c=3,t=0,pt=1,l=1,sg=0:22\n","stream":"stderr","time":"2020-03-11T11:42:01.618936799Z"}
                {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:42:01.635196016Z"}
                {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                mysensors_wohnzimmer_main 3 0: value_type 1, value = 38.4\n","stream":"stderr","time":"2020-03-11T11:42:01
                .738527926Z"}
                {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                mysensors_wohnzimmer_main 3 1: value_type 0, value = 22.4\n","stream":"stderr","time":"2020-03-11T11:42:01
                .743098362Z"}
                {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                mysensors_wohnzimmer_main 3 3: value_type 50, value = 624502100\n","stream":"stderr","time":"2020-03-11T11
                :42:01.747319859Z"}
                {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                mysensors_wohnzimmer_main 3 3: value_type 33, value = 551505585\n","stream":"stderr","time":"2020-03-11T11
                :42:01.748432047Z"}
                {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                mysensors_wohnzimmer_main 3 2: value_type 37, value = 45.0\n","stream":"stderr","time":"2020-03-11T11:42:0
                1.752559045Z"}
                {"log":"2020-03-11 12:42:02 DEBUG (SyncWorker_3) [mysensors.persistence] Saving sensors to persistence fil
                e /config/mysensorsserial.json\n","stream":"stderr","time":"2020-03-11T11:42:02.441267303Z"}
                

                Does anybody have an idea how I can prevent these updates? Or should I continue this thread in the Home Assistant forum of mysensors?

                mfalkviddM 1 Reply Last reply
                2
                • K kiesel

                  I had a look at the Home Assistant logs and I think I have been blaming the wrong beast, my code seems to be innocent.

                  I use appdaemon to execute actions in/from Home Assistant. There I can see exactly when a "ghost"-update was received.

                  Matching those timestamps with timestamps from the Home Assistant log was spot on:

                  Appdaemon log:

                  2020-03-11 09:38:23.092076 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 09:39:48.834817 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 09:48:03.398937 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 09:49:19.742706 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 10:05:24.735442 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 10:06:58.973448 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 10:38:26.141511 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 10:39:42.890820 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 10:47:59.874830 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 10:49:16.437996 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 11:15:23.592502 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 11:16:40.138025 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 11:18:05.195990 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 11:19:39.443632 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 12:27:05.469657 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 12:28:22.691106 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 12:35:15.985303 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 12:36:33.073911 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 12:40:29.881660 INFO Living_Room_IR: ir_value: 551505585
                  2020-03-11 12:42:01.804079 INFO Living_Room_IR: ir_value: 551505585
                  

                  Here is the corresponding part of the home assistant log:

                  {"log":"2020-03-11 09:38:22 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T08:38:22.931537407Z"}
                  {"log":"2020-03-11 09:39:48 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T08:39:48.650792534Z"}
                  {"log":"2020-03-11 09:48:03 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T08:48:03.210220912Z"}
                  {"log":"2020-03-11 09:49:19 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T08:49:19.579932619Z"}
                  {"log":"2020-03-11 10:05:24 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:05:24.564205929Z"}
                  {"log":"2020-03-11 10:06:58 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:06:58.804235809Z"}
                  {"log":"2020-03-11 10:38:25 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:38:25.95710773Z"}
                  {"log":"2020-03-11 10:39:42 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:39:42.703318764Z"}
                  {"log":"2020-03-11 10:47:59 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:47:59.694853604Z"}
                  {"log":"2020-03-11 10:49:16 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T09:49:16.294815751Z"}
                  {"log":"2020-03-11 11:15:23 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T10:15:23.452517606Z"}
                  {"log":"2020-03-11 11:16:39 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T10:16:39.957885612Z"}
                  {"log":"2020-03-11 11:18:05 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T10:18:05.045447402Z"}
                  {"log":"2020-03-11 11:19:39 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T10:19:39.270413469Z"}
                  {"log":"2020-03-11 12:27:05 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:27:05.326243334Z"}
                  {"log":"2020-03-11 12:28:22 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:28:22.519338238Z"}
                  {"log":"2020-03-11 12:35:15 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:35:15.805191381Z"}
                  {"log":"2020-03-11 12:36:32 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:36:32.903939567Z"}
                  {"log":"2020-03-11 12:40:29 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:40:29.720752968Z"}
                  {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:42:01.635196016Z"}
                  

                  So it seems that every time a Node update was triggered Home Assistant was told that there was a new value received from the IR-sensor.

                  Here is the whole log from Home Assistant:

                  {"log":"2020-03-11 12:42:00 DEBUG (MainThread) [mysensors.handler] n:0 c:255 t:3 s:9 p:11494641 TSF:MSG:RE
                  AD,3-3-0,s=0,c=1,t=1,pt=7,l=5,sg=0:38.4\n","stream":"stderr","time":"2020-03-11T11:42:00.295978262Z"}
                  {"log":"2020-03-11 12:42:00 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 0\n","stream":"stderr","time":"2020-03-11T11:42:00.311538101Z"}
                  {"log":"2020-03-11 12:42:00 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                  mysensors_wohnzimmer_main 3 0: value_type 1, value = 38.4\n","stream":"stderr","time":"2020-03-11T11:42:00
                  .415847867Z"}
                  {"log":"2020-03-11 12:42:00 DEBUG (MainThread) [mysensors.handler] n:0 c:255 t:3 s:9 p:11495280 TSF:MSG:RE
                  AD,3-3-0,s=2,c=1,t=37,pt=7,l=5,sg=0:45.0\n","stream":"stderr","time":"2020-03-11T11:42:00.93325235Z"}
                  {"log":"2020-03-11 12:42:00 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 2\n","stream":"stderr","time":"2020-03-11T11:42:00.950559479Z"}
                  {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                  mysensors_wohnzimmer_main 3 2: value_type 37, value = 45.0\n","stream":"stderr","time":"2020-03-11T11:42:0
                  1.058505324Z"}
                  {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [mysensors.handler] n:0 c:255 t:3 s:9 p:11495962 TSF:MSG:RE
                  AD,3-3-0,s=255,c=3,t=0,pt=1,l=1,sg=0:22\n","stream":"stderr","time":"2020-03-11T11:42:01.618936799Z"}
                  {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                  ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:42:01.635196016Z"}
                  {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                  mysensors_wohnzimmer_main 3 0: value_type 1, value = 38.4\n","stream":"stderr","time":"2020-03-11T11:42:01
                  .738527926Z"}
                  {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                  mysensors_wohnzimmer_main 3 1: value_type 0, value = 22.4\n","stream":"stderr","time":"2020-03-11T11:42:01
                  .743098362Z"}
                  {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                  mysensors_wohnzimmer_main 3 3: value_type 50, value = 624502100\n","stream":"stderr","time":"2020-03-11T11
                  :42:01.747319859Z"}
                  {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                  mysensors_wohnzimmer_main 3 3: value_type 33, value = 551505585\n","stream":"stderr","time":"2020-03-11T11
                  :42:01.748432047Z"}
                  {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.device] Entity update:
                  mysensors_wohnzimmer_main 3 2: value_type 37, value = 45.0\n","stream":"stderr","time":"2020-03-11T11:42:0
                  1.752559045Z"}
                  {"log":"2020-03-11 12:42:02 DEBUG (SyncWorker_3) [mysensors.persistence] Saving sensors to persistence fil
                  e /config/mysensorsserial.json\n","stream":"stderr","time":"2020-03-11T11:42:02.441267303Z"}
                  

                  Does anybody have an idea how I can prevent these updates? Or should I continue this thread in the Home Assistant forum of mysensors?

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

                  @kiesel Nice work. I am not familiar with Home Assistant but I can move this entire thread into the Home Assistant category if you want.

                  K 1 Reply Last reply
                  1
                  • mfalkviddM mfalkvidd

                    @kiesel Nice work. I am not familiar with Home Assistant but I can move this entire thread into the Home Assistant category if you want.

                    K Offline
                    K Offline
                    kiesel
                    wrote on last edited by
                    #10

                    @mfalkvidd

                    That would be great, thanks!

                    mfalkviddM 1 Reply Last reply
                    0
                    • K kiesel

                      @mfalkvidd

                      That would be great, thanks!

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

                      @kiesel done!

                      1 Reply Last reply
                      1
                      • K Offline
                        K Offline
                        kiesel
                        wrote on last edited by
                        #12

                        I am working around the issue by sending a zero after every received ir_value, that way I can identify refreshes in home assistant/appdaemon

                        send(msgIrRecord.set(ir_value));
                        send(msgIrRecord.set(0));
                        

                        This is a very ugly workaround though, does anybody have areal fix?

                        1 Reply Last reply
                        0
                        • O Offline
                          O Offline
                          olka
                          wrote on last edited by
                          #13

                          @kiesel Have you tried to replace the sensor with a pull-up resistor?

                          K 1 Reply Last reply
                          0
                          • O olka

                            @kiesel Have you tried to replace the sensor with a pull-up resistor?

                            K Offline
                            K Offline
                            kiesel
                            wrote on last edited by
                            #14

                            @olka

                            Sorry for the late reply, I have been busy with a few other sensors.

                            Do you mean attach a pull-up resistor to the ir sensor? I haven't tried that, but from what I can see the problem isn't the sensor node, it's the integration that sends events when no event has been sent. The gateway log doesn't show a new message being received so I guess the node isn't to blame.

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

                              Is the update mechanism maybe triggered by another meessage coming from your node? e.g. temperature or battery update

                              K 1 Reply Last reply
                              0
                              • electrikE electrik

                                Is the update mechanism maybe triggered by another meessage coming from your node? e.g. temperature or battery update

                                K Offline
                                K Offline
                                kiesel
                                wrote on last edited by
                                #16

                                @electrik

                                These updates trigger the event:

                                {"log":"2020-03-11 12:42:01 DEBUG (MainThread) [homeassistant.components.mysensors.gateway] Node update: n
                                ode 3 child 255\n","stream":"stderr","time":"2020-03-11T11:42:01.635196016Z"}
                                

                                From what I can see these updates happen whether I trigger something on the node or not, unfortunately.

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

                                  Those are battery reports. You should have a look at the update mechanism in appdaemon, maybe that is also responding on this event.

                                  Can you post the code of that? I don't have experience with it but interested if this can be useful for me also, instead of node-red for my automations.

                                  K 1 Reply Last reply
                                  0
                                  • electrikE electrik

                                    Those are battery reports. You should have a look at the update mechanism in appdaemon, maybe that is also responding on this event.

                                    Can you post the code of that? I don't have experience with it but interested if this can be useful for me also, instead of node-red for my automations.

                                    K Offline
                                    K Offline
                                    kiesel
                                    wrote on last edited by
                                    #18

                                    @electrik

                                    Thanks, I'll have a look at those updates.

                                    Do you mean the code I am using for my appdaemon app? I got everything I use from here: https://github.com/eifinger/appdaemon-scripts

                                    This is much cleaner and easier to understand than my code, but let me know if you want it anyway :)

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


                                    21

                                    Online

                                    11.7k

                                    Users

                                    11.2k

                                    Topics

                                    113.1k

                                    Posts


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

                                    • Don't have an account? Register

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