Navigation

    • Register
    • Login
    • Search
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. ajlisy
    3. Posts
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Posts made by ajlisy

    • RE: request() not working with HomeAssistant

      When I toggle the switch in HomeAssistant, I do get a V_STATUS update message in receive() and see it print through in the logs.

      So, the toggle itself causes a status message, but I cannot figure out a way to actually poll the status.

      Thanks!

      posted in Home Assistant
      ajlisy
      ajlisy
    • request() not working with HomeAssistant

      Hi everyone,

      I've been going crazy trying to figure this one out.

      I have a sketch hooked up to HomeAssistant. The basic sketch just toggles a switch back and forth. The actual sending of the updates works -- as the sketch toggles the switch, I see the switch moving back and forth in the HA UI.

      However, when I try to request the V_STATUS of the switch, I see the message going out through the gateway and onto the MQTT, but I never get anything back. receive() never gets called with a status message.

      I'm currently on the development version of MySensors, but I had the same issue on 2.0. I just switched to development an hour ago to see if that would solve the problem, but alas, it didn't.

      Any thoughts? Thanks in advance

      My Sketch

      // Enable debug prints to serial monitor
      #define MY_DEBUG 
      
      // Enable and select radio type attached
      #define MY_RADIO_NRF24
      
      #include <SPI.h>
      #include <MySensors.h>
      
      #define RELAY_PIN  3  // Arduino Digital I/O pin number for relay 
      #define CHILD_ID 2   // Id of the sensor child
      #define RELAY_ON 0
      #define RELAY_OFF 1
      
      bool state;
      
      MyMessage msg(CHILD_ID,V_STATUS);
      
      void setup()  
      {  
      
        // Make sure relays are off when starting up
        digitalWrite(RELAY_PIN, RELAY_OFF);
        // Then set relay pins in output mode
        pinMode(RELAY_PIN, OUTPUT);   
      }
      
      void presentation()  {
        // Send the sketch version information to the gateway and Controller
        sendSketchInfo("Relay & Button", "1.0");
      
        // Register all sensors to gw (they will be created as child devices)
        present(CHILD_ID, S_BINARY);
      
      
      }
      
      
      int flip = 0;
      void loop() 
      {
        send(msg.set(flip),false);
        flip=flip?0:1;
        wait(5000);
        request(CHILD_ID,V_STATUS);
        wait(2000,C_SET,V_STATUS);
        
      } 
      
      void receive(const MyMessage &message) {
        // We only expect one type of message from controller. But we better check anyway.
        Serial.println("Got a message");
        if (message.isAck()) {
           Serial.println("This is an ack from gateway");
        }
      
        if (message.type == V_STATUS) {
          Serial.println("Got V_STATUS back:");
          Serial.println(message.getBool());
           Serial.print("Incoming change for sensor:");
           Serial.print(message.sensor);
           
           // Change relay state
           state = message.getBool();
           digitalWrite(RELAY_PIN, state?RELAY_ON:RELAY_OFF);
      
      
         } 
      }
      

      Gateway log:

      Nov  8 05:31:52 raspberrypi mysGateway: TSF:MSG:READ,1-1-0,s=2,c=2,t=2,pt=0,l=0,sg=0:
      Nov  8 05:31:52 raspberrypi mysGateway: Sending message on topic: mysensors-out/1/2/2/0/2
      Nov  8 05:31:54 raspberrypi mysGateway: TSF:MSG:READ,1-1-0,s=2,c=1,t=2,pt=2,l=2,sg=0:0
      Nov  8 05:31:54 raspberrypi mysGateway: Sending message on topic: mysensors-out/1/2/1/0/2
      Nov  8 05:31:59 raspberrypi mysGateway: TSF:MSG:READ,1-1-0,s=2,c=2,t=2,pt=0,l=0,sg=0:
      Nov  8 05:31:59 raspberrypi mysGateway: Sending message on topic: mysensors-out/1/2/2/0/2
      Nov  8 05:32:01 raspberrypi mysGateway: TSF:MSG:READ,1-1-0,s=2,c=1,t=2,pt=2,l=2,sg=0:1
      Nov  8 05:32:01 raspberrypi mysGateway: Sending message on topic: mysensors-out/1/2/1/0/2
      Nov  8 05:32:06 raspberrypi mysGateway: TSF:MSG:READ,1-1-0,s=2,c=2,t=2,pt=0,l=0,sg=0:
      Nov  8 05:32:06 raspberrypi mysGateway: Sending message on topic: mysensors-out/1/2/2/0/2
      Nov  8 05:32:08 raspberrypi mysGateway: TSF:MSG:READ,1-1-0,s=2,c=1,t=2,pt=2,l=2,sg=0:0
      Nov  8 05:32:08 raspberrypi mysGateway: Sending message on topic: mysensors-out/1/2/1/0/2
      Nov  8 05:32:13 raspberrypi mysGateway: TSF:MSG:READ,1-1-0,s=2,c=2,t=2,pt=0,l=0,sg=0:
      Nov  8 05:32:13 raspberrypi mysGateway: Sending message on topic: mysensors-out/1/2/2/0/2
      Nov  8 05:32:15 raspberrypi mysGateway: TSF:MSG:READ,1-1-0,s=2,c=1,t=2,pt=2,l=2,sg=0:1
      Nov  8 05:32:15 raspberrypi mysGateway: Sending message on topic: mysensors-out/1/2/1/0/2
      Nov  8 05:32:20 raspberrypi mysGateway: TSF:MSG:READ,1-1-0,s=2,c=2,t=2,pt=0,l=0,sg=0:
      Nov  8 05:32:20 raspberrypi mysGateway: Sending message on topic: mysensors-out/1/2/2/0/2
      Nov  8 05:32:22 raspberrypi mysGateway: TSF:MSG:READ,1-1-0,s=2,c=1,t=2,pt=2,l=2,sg=0:0
      Nov  8 05:32:22 raspberrypi mysGateway: Sending message on topic: mysensors-out/1/2/1/0/2
      

      mosquitto_sub:

      Client mosqsub/4008-raspberryp received PUBLISH (d0, q0, r0, m0, 'mysensors-in/1/2/1/0/2', ... (1 bytes))
      mysensors-in/1/2/1/0/2 1
      Client mosqsub/4008-raspberryp received PUBLISH (d0, q0, r0, m0, 'mysensors-out/1/2/1/0/2', ... (1 bytes))
      mysensors-out/1/2/1/0/2 0
      Client mosqsub/4008-raspberryp received PUBLISH (d0, q0, r0, m0, 'mysensors-out/1/2/2/0/2', ... (0 bytes))
      mysensors-out/1/2/2/0/2 (null)
      Client mosqsub/4008-raspberryp received PUBLISH (d0, q0, r0, m0, 'mysensors-in/1/2/1/0/2', ... (1 bytes))
      mysensors-in/1/2/1/0/2 0
      Client mosqsub/4008-raspberryp received PUBLISH (d0, q0, r0, m0, 'mysensors-out/1/2/1/0/2', ... (1 bytes))
      mysensors-out/1/2/1/0/2 1
      Client mosqsub/4008-raspberryp received PUBLISH (d0, q0, r0, m0, 'mysensors-out/1/2/2/0/2', ... (0 bytes))
      mysensors-out/1/2/2/0/2 (null)
      Client mosqsub/4008-raspberryp received PUBLISH (d0, q0, r0, m0, 'mysensors-in/1/2/1/0/2', ... (1 bytes))
      mysensors-in/1/2/1/0/2 1
      Client mosqsub/4008-raspberryp received PUBLISH (d0, q0, r0, m0, 'mysensors-out/1/2/1/0/2', ... (1 bytes))
      mysensors-out/1/2/1/0/2 0
      Client mosqsub/4008-raspberryp received PUBLISH (d0, q0, r0, m0, 'mysensors-out/1/2/2/0/2', ... (0 bytes))
      mysensors-out/1/2/2/0/2 (null)
      Client mosqsub/4008-raspberryp received PUBLISH (d0, q0, r0, m0, 'mysensors-in/1/2/1/0/2', ... (1 bytes))
      mysensors-in/1/2/1/0/2 0
      
      

      Serial output

      811358 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:1
      816367 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      818379 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:0
      823388 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      825397 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:1
      830406 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      832415 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:0
      837424 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      839433 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:1
      844442 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      846451 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:0
      851462 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      853471 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:1
      858480 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      860496 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:0
      865506 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      867515 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:1
      872524 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      874533 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:0
      879543 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      881552 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:1
      886561 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      888570 TSF:MSG:SEND,1-1-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:0
      893580 TSF:MSG:SEND,1-1-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
      
      

      (Note that the logs above are not perfectly lined up -- I copied and pasted as they were rolling, so they may be a few lines offset)

      posted in Home Assistant
      ajlisy
      ajlisy