Icone de Retour d'Etat

Un forum dédie à vos questions concernant l'intégration à Domoticz des capteurs et gateway mysensors.org
Répondre
maticz
Messages : 25
Enregistré le : 14 juil. 2019, 11:18

Icone de Retour d'Etat

Message par maticz »

Bonsoir

Je ne sais pas trop comment trouver les termes pour ma demande, j'ai chercher sur le forum mais rien.

comment avoir l’icône de ma commande d'éclairage qui change d’état en même temps que le contact du relais :roll:

la sur la recopie d’écran j'ai bien 2 icônes qui fonctionne, mais comment les groupées ??

un vrais retour d’état "physiques" .

Image

le croquis Arduino

Code : Tout sélectionner

/*
 *
 *
 * REVISION HISTORY
 * Version 1.0 - Henrik Ekblad
 * Version 2.0 - Node en RS485 par JeeLet
 *
 * DESCRIPTION
 * 
 * Commande(TC)  d'un Relais avec retour d'etat(TS)
 * 
 * 1. TC: Envoie d'une commande au relais
 * 2. TS: Retour d’état par le contact du relais 
 * 
 * 
 * 
 */

//------------------ Alco_TL_Impuls_Light.ino ------------

 #define MY_DEBUG                  /*Activer les impressions de débogage sur le terminal série*/

 #define MY_RS485                 /*Activer la couche de transport RS485*/ 
 #define MY_RS485_DE_PIN 2
 #define MY_RS485_BAUD_RATE22 9600  /* débit du bus rs485*/
// #define MY_RS485_HWSERIAL Serial1    /*pour Mega2560,Serial 1-2- ou 3 ? */

 #define  MY_SPLASH_SCREEN_DISABLED /*désactive écran de démarrage MySensors (économie 120oct. en flash)*/

 #define MY_NODE_ID 22                   /*Node en ID static*/
 #define MY_TRANSPORT_WAIT_READY_MS 3000 /*Tempo d'attente de mis en Com, des millisecondes*/ 


 #include <MySensors.h>
 #include <Bounce2.h>

 #define CHILD_ID 3

 #define RELAY_1 3             /*I/O pin number (second on pin+1 etc)*/
      #define BUTTON_PIN  5  // Arduino Digital I/O pin number for button //RTS
 #define NUMBER_OF_RELAYS 1    /*Total number of attached relays*/
 #define RELAY_ON 1            /*GPIO value to write to turn on attached relay*/
 #define RELAY_OFF 0           /*GPIO value to write to turn off attached relay*/

Bounce debouncer = Bounce(); 
int oldValue=-1;

MyMessage msg(CHILD_ID,V_LIGHT);  //V_LIGHT


  void before()
  {
    for (int sensor=1, pin=RELAY_1; sensor<=NUMBER_OF_RELAYS; sensor++, pin++)
    {
    pinMode(pin, OUTPUT);                   /*pins in output mode*/
    
     
      // Set relay to last known state (using eeprom storage)
     digitalWrite(pin, loadState(sensor)?RELAY_ON:RELAY_OFF);
     // }      
    }
  }

  void setup()
  {
    // Setup the button
  pinMode(BUTTON_PIN,INPUT_PULLUP);
  // Activate internal pull-up
  digitalWrite(BUTTON_PIN,HIGH);

   debouncer.attach(BUTTON_PIN);
   debouncer.interval(5);
  }

  void presentation()
  {
  // Send the sketch version information to the gateway and Controller
  sendSketchInfo("Relay TL", "2.0");

  for (int sensor=1, pin=RELAY_1; sensor<=NUMBER_OF_RELAYS; sensor++, pin++)
    {
    present(sensor, S_BINARY);  // Register all sensors to gw (they will be created as child devices)
    }
    present(CHILD_ID, S_LIGHT);  //
  }


  void loop()
  {
     debouncer.update();
 // Récupère la valeur de mise à jour
  int value = debouncer.read();
 
  if (value != oldValue) {
     // Envoyer la nouvelle valeur
     send(msg.set(value==HIGH ? 1 : 0));
     oldValue = value;
  }
  }

  void receive(const MyMessage &message)
  {
  if (message.type==V_STATUS)  // We only expect one type of message from controller. But we better check anyway.
    {
    // Change relay state
    digitalWrite(message.sensor-1+RELAY_1, message.getBool()?RELAY_ON:RELAY_OFF);
   
   
        
  // 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());
  }
  }
       
  // ---------- Fin du Pgm---------

Oui une maquette pour des tests, une Gateway USB Mega2560 sur bus RS485

Merci

Re-Edit
je vient de voir un max de demande sur retour d’état :mrgreen:
je merdouillie :oops:
https://easydomoticz.com/forum/viewtopic.php?t=1040
https://easydomoticz.com/forum/viewtopic.php?t=7639
https://easydomoticz.com/forum/viewtopic.php?t=10016

Répondre