Navigation

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

    dias

    @dias

    0
    Reputation
    10
    Posts
    584
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    dias Follow

    Best posts made by dias

    This user hasn't posted anything yet.

    Latest posts made by dias

    • RE: motion and relay

      AC works thank you for your help

      #include <SPI.h>
      #include <MySensor.h>
      #include <Wire.h>
      #include <DHT.h>
      #include <SimpleTimer.h>
      
      #define CHILD_ID_HUM 1
      #define CHILD_ID_TEMP 2
      #define CHILD_ID_MOTION 3
      #define CHILD_ID_RELAY 4
      
      #define HUMIDITY_SENSOR_DIGITAL_PIN 4
      #define MOTION_SENSOR_DIGITAL_PIN 3
      #define INTERRUPT MOTION_SENSOR_DIGITAL_PIN-2 // Usually the interrupt = pin -2 (on uno/nano anyway)
      #define RELAY  7  // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
      #define RELAY_ON 0  // GPIO value to write to turn on attached relay
      #define RELAY_OFF 1 // GPIO value to write to turn off attached relay
      
      unsigned long SLEEP_TIME = 600000; // Sleep time between reads (in milliseconds) - 10mins
      
      MySensor gw;
      DHT dht;
      SimpleTimer timer;
      
      float lastTemp;
      float lastHum;
      boolean lastTripped;
      boolean metric = true;
      
      MyMessage msgHum(CHILD_ID_HUM, V_HUM);
      MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
      MyMessage msg(CHILD_ID_MOTION, V_TRIPPED);
      
      void setup()  
      { 
        // Initialize library and add callback for incoming messages
        gw.begin(incomingMessage, AUTO, true);
        
        dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN); 
      
        // Send the Sketch Version Information to the Gateway
        gw.sendSketchInfo("HumTempRelayMotion", "1.0");
      
        // REGISTER all sensors to gw (they will be created as child devices)
        gw.present(CHILD_ID_HUM, S_HUM);
        gw.present(CHILD_ID_TEMP, S_TEMP);
        gw.present(CHILD_ID_MOTION, S_MOTION);
        gw.present(CHILD_ID_RELAY, S_LIGHT);
        pinMode(RELAY, OUTPUT);
        digitalWrite(RELAY, gw.loadState(RELAY)?RELAY_OFF:RELAY_ON);
        
        //Serial.begin(9600);
        timer.setInterval(30000, getMeasure);
        metric = gw.getConfig().isMetric;
        
      }
      
      void loop()      
      {  
        // Alway process incoming messages whenever possible
        gw.process();
        timer.run();
        
        boolean tripped = digitalRead(MOTION_SENSOR_DIGITAL_PIN) == HIGH;    
        if (tripped != lastTripped) {
          lastTripped = tripped;
          Serial.print("M: ");
          Serial.println(tripped);
          gw.send(msg.set(tripped?"1":"0"));  // Send tripped value to gw
        }
      
      }
      
      void incomingMessage(const MyMessage &message) {
        // We only expect one type of message from controller. But we better check anyway.
        if (message.type==V_LIGHT) {
           // Change relay state
           digitalWrite(message.sensor-CHILD_ID_RELAY+RELAY, message.getBool()?RELAY_ON:RELAY_OFF);
           // Store state in eeprom
           gw.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());
         } 
      }
      
      void getMeasure() {
        delay(dht.getMinimumSamplingPeriod());
      
        float temperature = dht.getTemperature();
        if (isnan(temperature)) {
            Serial.println("Failed reading temperature from DHT");
        } else if (temperature != lastTemp) {
          lastTemp = temperature;
          if (!metric) {
            temperature = dht.toFahrenheit(temperature);
          }
          gw.send(msgTemp.set(temperature, 1));
          Serial.print("T: ");
          Serial.println(temperature);
        }
        
        float humidity = dht.getHumidity();
        if (isnan(humidity)) {
            Serial.println("Failed reading humidity from DHT");
        } else if (humidity != lastHum) {
            lastHum = humidity;
            gw.send(msgHum.set(humidity, 1));
            Serial.print("H: ");
            Serial.println(humidity);
        }
      }
      Insert Code Here
      
      posted in My Project
      dias
      dias
    • RE: motion and relay

      on the picture have there a motion sensor that appears

      Capture d’écran (2).png

      posted in My Project
      dias
      dias
    • RE: motion and relay

      Thank you for your help
      it works for relay and dth11
      always the same pir sensors

      posted in My Project
      dias
      dias
    • RE: motion and relay

      I use google translation
      the relay remains stuck on walk
      2 pir sensor works well but in domoticz with the same name

      posted in My Project
      dias
      dias
    • RE: motion and relay

      the relay is present in domoticz but not the more it is driven on position when I connect the Arduino
      the motion sensor works well but they have the same name in domoticz so that I have one that appears

      posted in My Project
      dias
      dias
    • RE: motion and relay

      I have modified the code, I have no error message but:
      the relay remains on position but n not appear in domoticz
      in the logs they have the same name
      dth11 the works

      #include <MySensor.h>
      #include <Wire.h>
      #include <DHT.h>
      #include <SimpleTimer.h>
      
      #define CHILD_ID_HUM 1
      #define CHILD_ID_TEMP 2
      #define CHILD_ID_MOTION 3
      #define CHILD_ID_RELAY 4
      
      #define RELAY  3  // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
      #define HUMIDITY_SENSOR_DIGITAL_PIN 4
      #define MOTION_SENSOR_DIGITAL_PIN 5
      #define MOTION_SENSOR_DIGITAL_PIN2 6
      #define INTERRUPT MOTION_SENSOR_DIGITAL_PIN-2 // Usually the interrupt = pin -2 (on uno/nano anyway)
      
      #define RELAY_ON 0  // GPIO value to write to turn on attached relay
      #define RELAY_OFF 1 // GPIO value to write to turn off attached relay
      
      unsigned long SLEEP_TIME = 600000; // Sleep time between reads (in milliseconds) - 10mins
      
      MySensor gw;
      DHT dht;
      SimpleTimer timer;
      
      float lastTemp;
      float lastHum;
      boolean lastTripped;
      boolean lastTripped2;
      boolean metric = true;
      
      MyMessage msgHum(CHILD_ID_HUM, V_HUM);
      MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
      MyMessage msg(CHILD_ID_MOTION, V_TRIPPED);
      
      void setup()  
      { 
        // Initialize library and add callback for incoming messages
        gw.begin(incomingMessage, AUTO, true);
        
        dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN); 
      
        // Send the Sketch Version Information to the Gateway
        gw.sendSketchInfo("HumTempRelayMotion", "1.0");
      
        // REGISTER all sensors to gw (they will be created as child devices)
        gw.present(CHILD_ID_HUM, S_HUM);
        gw.present(CHILD_ID_TEMP, S_TEMP);
        gw.present(CHILD_ID_MOTION, S_MOTION);
        gw.present(CHILD_ID_RELAY, V_LIGHT);
        pinMode(RELAY, OUTPUT);
        digitalWrite(RELAY, gw.loadState(RELAY)?RELAY_OFF:RELAY_ON);
        
        //Serial.begin(9600);
        timer.setInterval(30000, getMeasure);
        metric = gw.getConfig().isMetric;
        
      }
      
      void loop()      
      {  
        // Alway process incoming messages whenever possible
        gw.process();
        timer.run();
        
        boolean tripped = digitalRead(MOTION_SENSOR_DIGITAL_PIN) == HIGH;    
        if (tripped != lastTripped) {
          lastTripped = tripped;
          Serial.print("M: ");
          Serial.println(tripped);
          gw.send(msg.set(tripped?"1":"0"));  // Send tripped value to gw
        }
        boolean tripped2 = digitalRead(MOTION_SENSOR_DIGITAL_PIN2) == HIGH;   // 
        if (tripped2 != lastTripped2) {
          lastTripped2 = tripped2;
          Serial.print("M2: ");
          Serial.println(tripped2);
          gw.send(msg.set(tripped2?"1":"0"));  // Send tripped value to gw   //
        }
      }
      
      void incomingMessage(const MyMessage &message) {
        // We only expect one type of message from controller. But we better check anyway.
        if (message.type==V_LIGHT) {
           // Change relay state
           digitalWrite(message.sensor-CHILD_ID_RELAY+RELAY, message.getBool()?RELAY_ON:RELAY_OFF);
           // Store state in eeprom
           gw.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());
         } 
      }
      
      void getMeasure() {
        delay(dht.getMinimumSamplingPeriod());
      
        float temperature = dht.getTemperature();
        if (isnan(temperature)) {
            Serial.println("Failed reading temperature from DHT");
        } else if (temperature != lastTemp) {
          lastTemp = temperature;
          if (!metric) {
            temperature = dht.toFahrenheit(temperature);
          }
          gw.send(msgTemp.set(temperature, 1));
          Serial.print("T: ");
          Serial.println(temperature);
        }
        
        float humidity = dht.getHumidity();
        if (isnan(humidity)) {
            Serial.println("Failed reading humidity from DHT");
        } else if (humidity != lastHum) {
            lastHum = humidity;
            gw.send(msgHum.set(humidity, 1));
            Serial.print("H: ");
            Serial.println(humidity);
        }
      }
      Insert Code Here
      
      posted in My Project
      dias
      dias
    • motion and relay

      hello, I am looking for a code used 2 motion sensors and 1 relay
      is that someone saw this forum? I have do a search but I found nothing

      posted in My Project
      dias
      dias
    • RE: relay motion domoticz help

      hello, I search for a code for 2 pir sensor and relay 2
        it exists?

      posted in Development
      dias
      dias
    • RE: Motion & Relay Sensor issue

      hello, desolated for my english
        I want a code with 2 relays and 2 pir
      Thank you

      posted in Troubleshooting
      dias
      dias