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. Development
  3. implementing multiple sensors

implementing multiple sensors

Scheduled Pinned Locked Moved Development
83 Posts 28 Posters 86.9k Views 15 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.
  • T Offline
    T Offline
    Tibus
    wrote on last edited by
    #45

    is it the same process with the new 1.4 library version?

    Could you please give us a exemple here or on github to have multiple sensor type on the same arduino with the new 1.4 library?

    if it's the same implementation, we could write multiple "gw.present(ID, XXXX);" and send a message for each child ID type?

    Thank's very much.

    1 Reply Last reply
    0
    • T Offline
      T Offline
      Tibus
      wrote on last edited by
      #46

      Sorry, I found the new implementation in the "DallasTemperatureSensor" Example

      1 Reply Last reply
      0
      • mountainmanM Offline
        mountainmanM Offline
        mountainman
        wrote on last edited by mountainman
        #47

        Here is a version I'm currently using that makes use of interrupts so might be more suitable for a battery driven DHT/Motion multi sensor. It also includes the battery monitoring. Any feedback or improvements would be appreciated.

        #include <SPI.h>
        #include <MySensor.h>
        #include <DHT.h>
        
        #define CHILD_ID_HUM 0
        #define CHILD_ID_TEMP 1
        #define CHILD_ID_MOTION 2   // Id of the sensor child
        
        #define HUMIDITY_SENSOR_DIGITAL_PIN 4
        #define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
        #define INTERRUPT DIGITAL_INPUT_SENSOR-2 // Usually the interrupt = pin -2 (on uno/nano anyway)
        
        unsigned long SLEEP_TIME = F; // Sleep time between reports (in milliseconds)
        
        
        int BATTERY_SENSE_PIN = A0;  // select the input pin for the battery sense point
        int oldValue=-1;
        
        MySensor gw;
        DHT dht;
        float lastTemp;
        float lastHum;
        boolean metric = false;
        
        int oldBatteryPcnt = 0;
        int battLoop =0;
        
        MyMessage msgHum(CHILD_ID_HUM, V_HUM);
        MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
        // Initialize motion message
        MyMessage msg(CHILD_ID_MOTION, V_TRIPPED);
        
        boolean pinTriggered=0;//waitTime is number of seconds to hol in while loop
        long lastDebounceTime = 0;  // the last time the output pin was toggled
        long debounceDelay = 50;    // the debounce time; increase if the output flickers
        
        
        void setup()
        {
        
          // use the 1.1 V internal reference
          analogReference(INTERNAL);
        
          gw.begin();
          dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN);
        
          // Send the Sketch Version Information to the Gateway
          gw.sendSketchInfo("Motion Humidity w/ Batt", "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);
        
          pinMode(DIGITAL_INPUT_SENSOR,INPUT);      // sets the motion sensor digital pin as input
          digitalWrite(DIGITAL_INPUT_SENSOR,HIGH);   // Activate internal pull-up
        
          metric = gw.getConfig().isMetric;
        
          check_batt();
        
        }
        
        void loop()
        {
          if (pinTriggered)
          {
        	Serial.println(millis()-lastDebounceTime);
        	// Read digital motion value
        	boolean value = digitalRead(DIGITAL_INPUT_SENSOR);
        	// If the switch changed, due to noise or pressing
        	if (value != oldValue) {
        	  {
        		lastDebounceTime = millis();
        		// Send in the new value
        		gw.send(msg.set(value==HIGH ? 1 : 0));
        		battLoop++;
        		oldValue = value;
        		Serial.print("Mot: ");
        		Serial.println(value);
        	  }
        	}
        
        	pinTriggered=0;
        	// }
          }
          else
          {
        
        	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));
        	  battLoop++;
        	  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));
        	  battLoop++;
        	  Serial.print("H: ");
        	  Serial.println(humidity);
        	}
        
        
        	if (battLoop > 10)
        	{
        	  check_batt();
        	  battLoop=0;
        	}
          }
        
          // Sleep until interrupt comes in on motion sensor. Send update every two minute.
          pinTriggered = gw.sleep(INTERRUPT, CHANGE, SLEEP_TIME);
        }
        
        
        void check_batt()
        {
          // get the battery Voltage
          int sensorValue = analogRead(BATTERY_SENSE_PIN);
          Serial.println(sensorValue);
        
          // 1M, 470K divider across battery and using internal ADC ref of 1.1V
          // Sense point is bypassed with 0.1 uF cap to reduce noise at that point
          // ((1e6+470e3)/470e3)*1.1 = Vmax = 3.44 Volts
          // 3.44/1023 = Volts per bit = 0.003363075
          float batteryV  = sensorValue * 0.003363075;
          int batteryPcnt = sensorValue / 10;
        
          Serial.print("Battery Voltage: ");
          Serial.print(batteryV);
          Serial.println(" V");
        
          Serial.print("Battery percent: ");
          Serial.print(batteryPcnt);
          Serial.println(" %");
        
          if (oldBatteryPcnt != batteryPcnt) {
        	// Power up radio after sleep
        	gw.sendBatteryLevel(batteryPcnt);
        	oldBatteryPcnt = batteryPcnt;
          }
        }
        
        T C 2 Replies Last reply
        0
        • W Offline
          W Offline
          waynehead99
          wrote on last edited by
          #48

          How did you get 3 options for the sleep interrupt? Whenever I would try and add the sleep_time option it would give me compile errors.

          1 Reply Last reply
          0
          • mountainmanM mountainman

            Here is a version I'm currently using that makes use of interrupts so might be more suitable for a battery driven DHT/Motion multi sensor. It also includes the battery monitoring. Any feedback or improvements would be appreciated.

            #include <SPI.h>
            #include <MySensor.h>
            #include <DHT.h>
            
            #define CHILD_ID_HUM 0
            #define CHILD_ID_TEMP 1
            #define CHILD_ID_MOTION 2   // Id of the sensor child
            
            #define HUMIDITY_SENSOR_DIGITAL_PIN 4
            #define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
            #define INTERRUPT DIGITAL_INPUT_SENSOR-2 // Usually the interrupt = pin -2 (on uno/nano anyway)
            
            unsigned long SLEEP_TIME = F; // Sleep time between reports (in milliseconds)
            
            
            int BATTERY_SENSE_PIN = A0;  // select the input pin for the battery sense point
            int oldValue=-1;
            
            MySensor gw;
            DHT dht;
            float lastTemp;
            float lastHum;
            boolean metric = false;
            
            int oldBatteryPcnt = 0;
            int battLoop =0;
            
            MyMessage msgHum(CHILD_ID_HUM, V_HUM);
            MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
            // Initialize motion message
            MyMessage msg(CHILD_ID_MOTION, V_TRIPPED);
            
            boolean pinTriggered=0;//waitTime is number of seconds to hol in while loop
            long lastDebounceTime = 0;  // the last time the output pin was toggled
            long debounceDelay = 50;    // the debounce time; increase if the output flickers
            
            
            void setup()
            {
            
              // use the 1.1 V internal reference
              analogReference(INTERNAL);
            
              gw.begin();
              dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN);
            
              // Send the Sketch Version Information to the Gateway
              gw.sendSketchInfo("Motion Humidity w/ Batt", "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);
            
              pinMode(DIGITAL_INPUT_SENSOR,INPUT);      // sets the motion sensor digital pin as input
              digitalWrite(DIGITAL_INPUT_SENSOR,HIGH);   // Activate internal pull-up
            
              metric = gw.getConfig().isMetric;
            
              check_batt();
            
            }
            
            void loop()
            {
              if (pinTriggered)
              {
            	Serial.println(millis()-lastDebounceTime);
            	// Read digital motion value
            	boolean value = digitalRead(DIGITAL_INPUT_SENSOR);
            	// If the switch changed, due to noise or pressing
            	if (value != oldValue) {
            	  {
            		lastDebounceTime = millis();
            		// Send in the new value
            		gw.send(msg.set(value==HIGH ? 1 : 0));
            		battLoop++;
            		oldValue = value;
            		Serial.print("Mot: ");
            		Serial.println(value);
            	  }
            	}
            
            	pinTriggered=0;
            	// }
              }
              else
              {
            
            	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));
            	  battLoop++;
            	  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));
            	  battLoop++;
            	  Serial.print("H: ");
            	  Serial.println(humidity);
            	}
            
            
            	if (battLoop > 10)
            	{
            	  check_batt();
            	  battLoop=0;
            	}
              }
            
              // Sleep until interrupt comes in on motion sensor. Send update every two minute.
              pinTriggered = gw.sleep(INTERRUPT, CHANGE, SLEEP_TIME);
            }
            
            
            void check_batt()
            {
              // get the battery Voltage
              int sensorValue = analogRead(BATTERY_SENSE_PIN);
              Serial.println(sensorValue);
            
              // 1M, 470K divider across battery and using internal ADC ref of 1.1V
              // Sense point is bypassed with 0.1 uF cap to reduce noise at that point
              // ((1e6+470e3)/470e3)*1.1 = Vmax = 3.44 Volts
              // 3.44/1023 = Volts per bit = 0.003363075
              float batteryV  = sensorValue * 0.003363075;
              int batteryPcnt = sensorValue / 10;
            
              Serial.print("Battery Voltage: ");
              Serial.print(batteryV);
              Serial.println(" V");
            
              Serial.print("Battery percent: ");
              Serial.print(batteryPcnt);
              Serial.println(" %");
            
              if (oldBatteryPcnt != batteryPcnt) {
            	// Power up radio after sleep
            	gw.sendBatteryLevel(batteryPcnt);
            	oldBatteryPcnt = batteryPcnt;
              }
            }
            
            T Offline
            T Offline
            Tibus
            wrote on last edited by Tibus
            #49

            @mountainman
            Thank you verry much, exactly what i need!

            For child's id, if you have two sensor you have to change the ID in the second?

            Sensor 1 :
            #define CHILD_ID_HUM 0
            #define CHILD_ID_TEMP 1
            #define CHILD_ID_MOTION 2

            Sensor 2:
            #define CHILD_ID_HUM 3
            #define CHILD_ID_TEMP 4
            #define CHILD_ID_MOTION 5

            1 Reply Last reply
            0
            • mountainmanM Offline
              mountainmanM Offline
              mountainman
              wrote on last edited by
              #50

              @waynehead99 Are you using the new 1.4 Lib?

              1 Reply Last reply
              0
              • E egbertje

                Somebody has good result in a working multisensor and wants to share his code?

                NuubiN Offline
                NuubiN Offline
                Nuubi
                wrote on last edited by Nuubi
                #51

                @egbertje Good Question :-) It would be nice to learn from existing working sketches..

                1 Reply Last reply
                0
                • AnticimexA Offline
                  AnticimexA Offline
                  Anticimex
                  Contest Winner
                  wrote on last edited by
                  #52

                  @waynehead99 you most likely need 1.4 Lib for the new sleep constructor. I have not used sleep on 1.3 so I do not remember what arguments you had available there.
                  I have also extended sleep with an additional constructor which @hek has pulled into the release branch of 1.4 that permits you to use two external interrupts with independent triggers for sleep in addition to a timeout. Great for nodes with multiple sensors that still run on battery.

                  Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                  1 Reply Last reply
                  0
                  • E Offline
                    E Offline
                    egbertje
                    wrote on last edited by egbertje
                    #53

                    @Mountainman ;

                    Im trying your code and its almost what im looking for.
                    I have two questions about it:
                    1 : Is it possible that the battery info has is own child id?
                    2 : Why dont you implement a light sensor like an LDR?

                    I think that including LDR/light then you have the ideal multisensor ; light + temp/hum + motion + batt monitoring !
                    But for now im playing with your code and try to implement light.

                    1 Reply Last reply
                    0
                    • mountainmanM mountainman

                      Here is a version I'm currently using that makes use of interrupts so might be more suitable for a battery driven DHT/Motion multi sensor. It also includes the battery monitoring. Any feedback or improvements would be appreciated.

                      #include <SPI.h>
                      #include <MySensor.h>
                      #include <DHT.h>
                      
                      #define CHILD_ID_HUM 0
                      #define CHILD_ID_TEMP 1
                      #define CHILD_ID_MOTION 2   // Id of the sensor child
                      
                      #define HUMIDITY_SENSOR_DIGITAL_PIN 4
                      #define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
                      #define INTERRUPT DIGITAL_INPUT_SENSOR-2 // Usually the interrupt = pin -2 (on uno/nano anyway)
                      
                      unsigned long SLEEP_TIME = F; // Sleep time between reports (in milliseconds)
                      
                      
                      int BATTERY_SENSE_PIN = A0;  // select the input pin for the battery sense point
                      int oldValue=-1;
                      
                      MySensor gw;
                      DHT dht;
                      float lastTemp;
                      float lastHum;
                      boolean metric = false;
                      
                      int oldBatteryPcnt = 0;
                      int battLoop =0;
                      
                      MyMessage msgHum(CHILD_ID_HUM, V_HUM);
                      MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
                      // Initialize motion message
                      MyMessage msg(CHILD_ID_MOTION, V_TRIPPED);
                      
                      boolean pinTriggered=0;//waitTime is number of seconds to hol in while loop
                      long lastDebounceTime = 0;  // the last time the output pin was toggled
                      long debounceDelay = 50;    // the debounce time; increase if the output flickers
                      
                      
                      void setup()
                      {
                      
                        // use the 1.1 V internal reference
                        analogReference(INTERNAL);
                      
                        gw.begin();
                        dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN);
                      
                        // Send the Sketch Version Information to the Gateway
                        gw.sendSketchInfo("Motion Humidity w/ Batt", "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);
                      
                        pinMode(DIGITAL_INPUT_SENSOR,INPUT);      // sets the motion sensor digital pin as input
                        digitalWrite(DIGITAL_INPUT_SENSOR,HIGH);   // Activate internal pull-up
                      
                        metric = gw.getConfig().isMetric;
                      
                        check_batt();
                      
                      }
                      
                      void loop()
                      {
                        if (pinTriggered)
                        {
                      	Serial.println(millis()-lastDebounceTime);
                      	// Read digital motion value
                      	boolean value = digitalRead(DIGITAL_INPUT_SENSOR);
                      	// If the switch changed, due to noise or pressing
                      	if (value != oldValue) {
                      	  {
                      		lastDebounceTime = millis();
                      		// Send in the new value
                      		gw.send(msg.set(value==HIGH ? 1 : 0));
                      		battLoop++;
                      		oldValue = value;
                      		Serial.print("Mot: ");
                      		Serial.println(value);
                      	  }
                      	}
                      
                      	pinTriggered=0;
                      	// }
                        }
                        else
                        {
                      
                      	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));
                      	  battLoop++;
                      	  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));
                      	  battLoop++;
                      	  Serial.print("H: ");
                      	  Serial.println(humidity);
                      	}
                      
                      
                      	if (battLoop > 10)
                      	{
                      	  check_batt();
                      	  battLoop=0;
                      	}
                        }
                      
                        // Sleep until interrupt comes in on motion sensor. Send update every two minute.
                        pinTriggered = gw.sleep(INTERRUPT, CHANGE, SLEEP_TIME);
                      }
                      
                      
                      void check_batt()
                      {
                        // get the battery Voltage
                        int sensorValue = analogRead(BATTERY_SENSE_PIN);
                        Serial.println(sensorValue);
                      
                        // 1M, 470K divider across battery and using internal ADC ref of 1.1V
                        // Sense point is bypassed with 0.1 uF cap to reduce noise at that point
                        // ((1e6+470e3)/470e3)*1.1 = Vmax = 3.44 Volts
                        // 3.44/1023 = Volts per bit = 0.003363075
                        float batteryV  = sensorValue * 0.003363075;
                        int batteryPcnt = sensorValue / 10;
                      
                        Serial.print("Battery Voltage: ");
                        Serial.print(batteryV);
                        Serial.println(" V");
                      
                        Serial.print("Battery percent: ");
                        Serial.print(batteryPcnt);
                        Serial.println(" %");
                      
                        if (oldBatteryPcnt != batteryPcnt) {
                      	// Power up radio after sleep
                      	gw.sendBatteryLevel(batteryPcnt);
                      	oldBatteryPcnt = batteryPcnt;
                        }
                      }
                      
                      C Offline
                      C Offline
                      codenea
                      wrote on last edited by
                      #54

                      @mountainman Is there any instructions on how to wire/setup the hardware to work with your code?

                      1 Reply Last reply
                      0
                      • mountainmanM Offline
                        mountainmanM Offline
                        mountainman
                        wrote on last edited by
                        #55

                        @egbertje;

                        The battery percentage is associated with the parent Arduino Node in the vera UI.
                        I have some LDRs ordered from Ebay so that is the next step. I had previously used the BH1750 I2C sensor in a multi sensor with the 1.3 lib but I want to debug on its own as it seemed to be giving unexpected readings.

                        @codenea The instructions are pretty much from the main page although if I get a chance I try to draw it up and post some pics. My setup not very pretty yet with perf board and jumper wires. A dedicated PCB would be nice.

                        1 Reply Last reply
                        0
                        • epierreE Offline
                          epierreE Offline
                          epierre
                          Hero Member
                          wrote on last edited by
                          #56

                          Hello,

                          Here is my combo to make a Home Monitoring solution:
                          https://github.com/empierre/arduino/blob/master/MQv01dgi_1_4.ino

                          It includes (currently on a Mega):

                          • Barometer : BMP085
                          • Temperature + Humidity DHT11
                          • Particle sensor
                          • Gas sensors MQ2 MQ6 MQ131 MQ135 TGS2600 2SH12

                          To be added when stabilized:

                          • Sound level in DB

                          Could be added:

                          • Light sensor
                          • Vibration sensor
                          • PIR

                          z-wave - Vera -&gt; Domoticz
                          rfx - Domoticz &lt;- MyDomoAtHome &lt;- Imperihome
                          mysensors -&gt; mysensors-gw -&gt; Domoticz

                          1 Reply Last reply
                          0
                          • pgoP Offline
                            pgoP Offline
                            pgo
                            wrote on last edited by pgo
                            #57

                            Hi guys,

                            this is a one node with publishing DS temperatures and listening for relay commands I finished and tested yesterday>
                            https://github.com/pgo-sk/mysensors/blob/master/arduino/DS_and_Relay.ino
                            feel free to comment/use/publish...

                            I combined the Dalas and Relay examples together - you have to deactivate the sleep for the relays to listen 100% of time.
                            MQTT identification on openHAB:
                            MyMQTT/20/0/V_TEMP - DS sensor(s)
                            MyMQTT/20/1/V_LIGHT - relay 1
                            MyMQTT/20/2/V_LIGHT - relay 2

                            If somebody is interested I can post the maps/items files for openHAB

                            Regards,
                            Pego
                            PS I am working on an home automation system with solar hot air panels control/solar hot water panels and all the common stuff like lights/temperatures/weather etc.. More here: https://github.com/pgo-sk/mysensors/wiki/Home-automation-using-mysensors-and-openHAB

                            1 Reply Last reply
                            1
                            • I Offline
                              I Offline
                              integlikewhoa
                              wrote on last edited by
                              #58

                              I'm also following along interested in the Temp, Humidity, and motion sensor.

                              T 1 Reply Last reply
                              0
                              • I integlikewhoa

                                I'm also following along interested in the Temp, Humidity, and motion sensor.

                                T Offline
                                T Offline
                                Tibus
                                wrote on last edited by
                                #59

                                @integlikewhoa check this :

                                http://forum.mysensors.org/topic/404/3-in-1-humidity-temp-and-motion

                                1 Reply Last reply
                                0
                                • pgoP Offline
                                  pgoP Offline
                                  pgo
                                  wrote on last edited by pgo
                                  #60

                                  https://github.com/pgo-sk/mysensors/blob/master/arduino/DS_Light_Relay

                                  • DS18B20 (up to 16 like in original temp sketch)
                                  • TEMT6000 reporting LUX light values
                                  • 2x Relays
                                    running and tested
                                    Sensor <-> MQTT gateway <-> openHAB/PC

                                  When interested can post the openHAB items/sitemap(s) settings

                                  Screenshots - over teamviewer, sorry for the quality.

                                  Here the TEMT6000 output - in a quite dark room and changing weather today>
                                  upload-42ac73c1-61cf-4b90-9ec5-14a994a3b50a
                                  Here the temperature and relays:
                                  upload-86825c33-2cc2-4018-9e08-2020007af3a9
                                  Menu:
                                  upload-adf5c382-2803-49b9-a461-eb25beb572c0

                                  aquaproA 1 Reply Last reply
                                  0
                                  • D Offline
                                    D Offline
                                    Dany
                                    wrote on last edited by
                                    #61

                                    Has anyone made ​​RGB LED strip node? I am looking for a working example program ...

                                    N 1 Reply Last reply
                                    0
                                    • blaceyB Offline
                                      blaceyB Offline
                                      blacey
                                      Admin
                                      wrote on last edited by
                                      #62

                                      @Dany - yes. Checkout http://www.mysensors.org/build/dimmer

                                      D 1 Reply Last reply
                                      0
                                      • korttomaK Offline
                                        korttomaK Offline
                                        korttoma
                                        Hero Member
                                        wrote on last edited by
                                        #63

                                        Or here is an example I'm using:

                                        https://codebender.cc/sketch:44740

                                        • Tomas
                                        1 Reply Last reply
                                        1
                                        • pgoP pgo

                                          https://github.com/pgo-sk/mysensors/blob/master/arduino/DS_Light_Relay

                                          • DS18B20 (up to 16 like in original temp sketch)
                                          • TEMT6000 reporting LUX light values
                                          • 2x Relays
                                            running and tested
                                            Sensor <-> MQTT gateway <-> openHAB/PC

                                          When interested can post the openHAB items/sitemap(s) settings

                                          Screenshots - over teamviewer, sorry for the quality.

                                          Here the TEMT6000 output - in a quite dark room and changing weather today>
                                          upload-42ac73c1-61cf-4b90-9ec5-14a994a3b50a
                                          Here the temperature and relays:
                                          upload-86825c33-2cc2-4018-9e08-2020007af3a9
                                          Menu:
                                          upload-adf5c382-2803-49b9-a461-eb25beb572c0

                                          aquaproA Offline
                                          aquaproA Offline
                                          aquapro
                                          wrote on last edited by aquapro
                                          #64

                                          @pgo said:

                                          When interested can post the openHAB items/sitemap(s) settings

                                          Hi, I'm interested. :-)
                                          Or is this the latest version ?

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


                                          14

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 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