Navigation

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

    Topics created by Rene046

    • Rene046

      Get date from Domoticz into Node
      Troubleshooting • • Rene046  

      2
      0
      Votes
      2
      Posts
      689
      Views

      LastSamurai

      Request is the way to go as far as i know. You also need to implement the method handling incoming messages though to work with the answer. There are some threads about requesting values from domoticz in this forum. (Haven't read them) but imo there are some values that can't be requested from domotizc so better check that and maybe change the variable type.
    • Rene046

      Analog to digital how ?
      Troubleshooting • • Rene046  

      5
      0
      Votes
      5
      Posts
      1406
      Views

      Rene046

      All working fine sometimes the pir reaction could be a bid faster, and sometimes i get a false reading think i'll have to put the pir signal lines to the ground with an resistor. Any advice is welcome, to make thing faster, and less complex. else use this with fun...... #define MY_RADIO_NRF24 #define MY_REPEATER_FEATURE #define MY_DEBUG #include <Wire.h> // Wire library t.b.v. I²C #include <MySensors.h> byte GPIOA = 0x12; // GPIOA adres in 16-bit mode, is directe aansturing 1e groep van 8 I/O poorten. byte GPIOB = 0x13; // GPIOA adres in 16-bit mode, is directe aansturing 1e groep van 8 I/O poorten. boolean sensorBovenActive; // Status of Pir motion sensor 2. boolean sensorOnderActive; // Status of Pir motion sensor 1. boolean sensorKelderActive; // Status of Pir motion sensor 0. int PIR0new; // Pir motion sensor 0 updated value "Kelder". int PIR0old; // Pir motion sensor 0 old value "Kelder". int PIR1new; // Pir motion sensor 1 updated value "sensorOnderActive". int PIR1old; // Pir motion sensor 1 old value "sensorOnderActive". int PIR2new; // Pir motion sensor 2 updated value. "sensorBovenActive" int PIR2old; // Pir motion sensor 2 old value. sensorBovenActive" int StairDelay = 250; // Delay for stairs int StairOn = 30000; // Delay to keep stair light on #define MY_NODE_ID 30 #define CHILD_ID_PIR00 31 // Id of the sensor child #define CHILD_ID_PIR01 32 // Id of the sensor child #define CHILD_ID_PIR02 33 // Id of the sensor child void presentation(){ // Send the sketch version information to the gateway and Controller sendSketchInfo("Trap Controller", "4.0"); // Register all sensors to gw (they will be created as child devices) present(CHILD_ID_PIR00, S_MOTION, "PIR Sensor Kelder"); present(CHILD_ID_PIR01, S_MOTION, "PIR Sensor Trap Onder"); present(CHILD_ID_PIR02, S_MOTION, "PIR Sensor Trap Boven"); } // Initialize motion message MyMessage msgPIR00(CHILD_ID_PIR00, V_TRIPPED); MyMessage msgPIR01(CHILD_ID_PIR01, V_TRIPPED); MyMessage msgPIR02(CHILD_ID_PIR02, V_TRIPPED); // the setup routine runs once when you press reset: void setup() { Wire.begin(); // wake up I2C bus // set I/O pins to outputs Wire.beginTransmission(0x20); // Start adress of mcp23017 Wire.write(0x00); // IODIRA register Wire.write(0x00); // set all of port A to outputs Wire.endTransmission(); Wire.beginTransmission(0x20); Wire.write(0x01); // IODIRB register Wire.write(0x00); // set all of port B to outputs Wire.endTransmission(); } // the loop routine runs over and over again forever: void loop() { Pir0lezen(); Pir1lezen(); Pir2lezen(); effneerop(); effopneer(); effKelder(); } void Pir0lezen() { int PIR0new = analogRead(A0); if (PIR0new >=900) { sensorKelderActive = true; // Send status to Domoticz send (msgPIR00.set(sensorKelderActive?"1":"0")); Serial.println("PIR0new----"); Serial.println(PIR0new); PIR0old = PIR0new; sensorKelderActive = false; send (msgPIR00.set(sensorKelderActive)); }} void Pir1lezen() { int PIR1new = analogRead(A1); if (PIR1new != PIR1old && PIR1new >=710) { sensorOnderActive = true ; sensorBovenActive = false ; // Send status to Domoticz send (msgPIR01.set(sensorOnderActive?"1":"0")); Serial.println("PIR1----"); Serial.println(PIR1new); PIR1old = PIR1new; }} void Pir2lezen() { int PIR2new = analogRead(A2); if (PIR2new != PIR2old && PIR2new >=710) { sensorBovenActive = true ; sensorOnderActive = false ; // Send status to Domoticz send (msgPIR02.set(sensorBovenActive?"1":"0")); Serial.println("PIR2----"); Serial.println(PIR2new); PIR2old = PIR2new; }} void effopneer() { if (sensorOnderActive==true && sensorBovenActive==false){ Serial.println("PIR1--aan"); sensorOnderActive = false ; setLEDA(B01111111); // Tree 1 delay(StairDelay); setLEDA(B00111111); // Tree 2 delay(StairDelay); setLEDA(B00011111); // Tree 3 delay(StairDelay); setLEDA(B00001111); // Tree 4 delay(StairDelay); setLEDA(B00000111); // Tree 5 delay(StairDelay); setLEDA(B00000011); // Tree 6 delay(StairDelay); setLEDA(B00000001); // Tree 7 delay(StairDelay); setLEDA(B00000000); // Tree 8 delay(StairDelay); setLEDB(B01111111); // Tree 9 delay(StairDelay); setLEDB(B00111111); // Tree 10 delay(StairDelay); setLEDB(B00011111); // Tree 11 delay(StairDelay); setLEDB(B00001111); // Tree 12 delay(StairDelay); setLEDB(B00000111); // Tree 13 delay(StairDelay); setLEDB(B00000011); // Tree 14 send (msgPIR01.set(sensorOnderActive)); // switch off before delay delay(StairOn); setLEDA(B11111111); // all off setLEDB(B11111111); // all off Serial.println("PIR1--uit"); }} void effneerop() { if (sensorOnderActive==false && sensorBovenActive==true){ Serial.println("PIR2--aan"); sensorBovenActive = false ; setLEDB(B11111011); // Tree 14 delay(StairDelay); setLEDB(B11110011); // Tree 13 delay(StairDelay); setLEDB(B11100011); // Tree 12 delay(StairDelay); setLEDB(B11000011); // Tree 11 delay(StairDelay); setLEDB(B10000111); // Tree 10 delay(StairDelay); setLEDB(B00000011); // Tree 9 delay(StairDelay); setLEDA(B11111110); // Tree 8 delay(StairDelay); setLEDA(B11111100); // Tree 7 delay(StairDelay); setLEDA(B11111000); // Tree 6 delay(StairDelay); setLEDA(B11110000); // Tree 5 delay(StairDelay); setLEDA(B11100000); // Tree 4 delay(StairDelay); setLEDA(B11000000); // Tree 3 delay(StairDelay); setLEDA(B10000000); // Tree 2 delay(StairDelay); setLEDA(B00000000); // Tree 1 send (msgPIR02.set(sensorBovenActive)); delay(StairOn); setLEDA(B11111111); // all off setLEDB(B11111111); // all off Serial.println("PIR2--uit"); }} void effKelder() { } void setLEDA(byte value) { Wire.beginTransmission(0x20); Wire.write(GPIOA); // gpioa Wire.write(byte(value)); // set LEDs volgens waarde 'value' Wire.endTransmission(); } void setLEDB(byte value) { Wire.beginTransmission(0x20); Wire.write(GPIOB); // gpiob Wire.write(byte(value)); // set LEDs volgens waarde 'value' Wire.endTransmission(); } void bonuseff() { setLEDB(B11111011); // Tree 14 delay(StairDelay); setLEDB(B11110111); // Tree 13 delay(StairDelay); setLEDB(B11101111); // Tree 12 delay(StairDelay); setLEDB(B11011111); // Tree 11 delay(StairDelay); setLEDB(B10111111); // Tree 10 delay(StairDelay); setLEDB(B01111111); // Tree 9 delay(StairDelay); setLEDA(B11111110); // Tree 8 delay(StairDelay); setLEDA(B11111101); // Tree 7 delay(StairDelay); ; setLEDA(B11111011); // Tree 6 delay(StairDelay); ; setLEDA(B11110111); // Tree 5 delay(StairDelay); setLEDA(B11101111); // Tree 4 delay(StairDelay); setLEDA(B11011111); // Tree 3 delay(StairDelay); setLEDB(B10111110); // Tree 2 delay(StairDelay); setLEDB(B01111111); // Tree 1 delay(StairDelay); setLEDA(B10111111); // Tree 2 delay(StairDelay); setLEDA(B11011111); // Tree 3 delay(StairDelay); setLEDA(B11101111); // Tree 4 delay(StairDelay); setLEDA(B11110111); // Tree 5 delay(StairDelay); setLEDA(B11111011); // Tree 6 delay(StairDelay); setLEDA(B11111101); // Tree 7 delay(StairDelay); setLEDA(B11111110); // Tree 8 delay(StairDelay); setLEDB(B01111111); // Tree 9 delay(StairDelay); setLEDB(B10111111); // Tree 10 delay(StairDelay); setLEDB(B11011111); // Tree 11 delay(StairDelay); setLEDB(B11101111); // Tree 12 delay(StairDelay); setLEDB(B11110111); // Tree 13 delay(StairDelay); setLEDB(B11111011); // Tree 14 }```
    • Rene046

      Double Pir sensors
      Troubleshooting • • Rene046  

      7
      0
      Votes
      7
      Posts
      2617
      Views

      mfalkvidd

      Great work @Rene046! Thanks for sharing your finished sketch.
    • Rene046

      Create relay free potential free switch.
      Troubleshooting • • Rene046  

      14
      0
      Votes
      14
      Posts
      3121
      Views

      gohan

      The wait is specific for keeping the communications going while pausing the loop
    • Rene046

      Need a bid of help...
      Development • • Rene046  

      15
      0
      Votes
      15
      Posts
      2670
      Views

      alowhum

      Try this code: https://github.com/flatsiedatsie/MySensorsArduinoExamples/blob/5c84100098352bab6db4b9c86e76db79842131ec/examples/WeatherStationSensor/WeatherStationSensor.ino
    • Rene046

      Could use a bid help to get started
      Troubleshooting • • Rene046  

      24
      0
      Votes
      24
      Posts
      5736
      Views

      mfalkvidd

      @Rene046 yes they are all documented in the api. https://www.mysensors.org/download/sensor_api_20