<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[TEMT6000]]></title><description><![CDATA[<p dir="auto">Hello first time user here,  I have been trying to build a 4in1 light, motion, tem/hum using a nano, temt6000, dht22, and sr501 using the examples and already made sketches i can combine everything, but i am not sure if i am entering the info for the  temt6000 correctly.  Can someone take a look please```<br />
Insert Code Here</p>
<pre><code class="lang-#define">
// Enable and select radio type attached
#define MY_RADIO_NRF24
//#define MY_RADIO_RFM69

#include &lt;SPI.h&gt;
#include &lt;MySensors.h&gt;  
#include &lt;DHT.h&gt;

#define CHILD_ID_HUM 0
#define CHILD_ID_TEMP 1
#define CHILD_ID_MOTION 2
#define CHILD_ID_LIGHT 3

#define LIGHT_SENSOR_ANALOG_PIN 0
int lastLightLevel;

#define HUMIDITY_SENSOR_DIGITAL_PIN 4

#define DIGITAL_INPUT_SENSOR 2   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)


DHT dht;
float lastTemp;
float lastHum;
boolean metric = false; 

unsigned long interval= 3000;//dht.getMinimumSamplingPeriod(); // the time we need to wait
unsigned long previousMillis=0; // millis() returns an unsigned long.
unsigned long SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)

MyMessage msgHum(CHILD_ID_HUM, V_HUM);
MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
MyMessage msgMot(CHILD_ID_MOTION, V_TRIPPED);
MyMessage msg(CHILD_ID_LIGHT, V_LIGHT_LEVEL);
uint16_t lastlux;

void setup()  
{ 
  dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN); 

 // metric = getConfig().isMetric;

 pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
 }

void presentation()  
{ 
  // Send the Sketch Version Information to the Gateway
  sendSketchInfo("4-1 Sensor", "1.0");

  // Register all sensors to gw (they will be created as child devices)
  present(CHILD_ID_HUM, S_HUM);
  present(CHILD_ID_TEMP, S_TEMP);
  present(CHILD_ID_MOTION, V_TRIPPED);
  present(CHILD_ID_LIGHT, S_LIGHT_LEVEL);
}

void loop()      
{  
  // Read digital motion value
  boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH;
   
// only run loop if time has passed. 
unsigned long currentMillis = millis(); // grab current time       

 // check if "interval" time has passed
 if ((unsigned long)(currentMillis - previousMillis) &gt;= interval) {

 
       send(msgMot.set(tripped?"1":"0")); 
              
  
      #ifdef MY_DEBUG
       Serial.print("Motion: ");
       Serial.println(tripped);
      #endif



 
  
  // Fetch temperatures from DHT sensor
  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);
    }
    send(msgTemp.set(temperature, 1));
    #ifdef MY_DEBUG
    Serial.print("T: ");
    Serial.println(temperature);
    #endif
  }
 
  // Fetch humidity from DHT sensor
  float humidity = dht.getHumidity();
  if (isnan(humidity)) {
      Serial.println("Failed reading humidity from DHT");
  } else if (humidity != lastHum) {
      lastHum = humidity;
      send(msgHum.set(humidity, 1));
      #ifdef MY_DEBUG
      Serial.print("H: ");
      Serial.println(humidity);
      #endif
  }   
 // Read lux from TEMT6000
  float lightLevel = analogRead(LIGHT_SENSOR_ANALOG_PIN) *  9.;  // 1000/1024
  if (int(lightLevel - lastLightLevel) &gt; 10 || int(lastLightLevel - lightLevel) &gt; 10) {
      send(msg.setSensor(CHILD_ID_LIGHT).set(lightLevel,1));
      lastLightLevel = lightLevel;
 }

   // save the "current" time
   previousMillis = millis();

 }  

  // Sleep until interrupt comes in on motion sensor. Send update every two minute.
  //sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME);

}
</code></pre>
<p dir="auto"><img src="/assets/uploads/files/1499978827226-upload-a3bebffe-d25d-49db-8ffb-1a043392c708-resized.png" alt="0_1499978821740_upload-a3bebffe-d25d-49db-8ffb-1a043392c708" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.mysensors.org/topic/7150/temt6000</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 18:46:18 GMT</lastBuildDate><atom:link href="https://forum.mysensors.org/topic/7150.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Jul 2017 20:48:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TEMT6000 on Thu, 03 Aug 2017 22:03:45 GMT]]></title><description><![CDATA[<p dir="auto">Original post moved to <a href="https://forum.mysensors.org/topic/7150/temt6000/">https://forum.mysensors.org/topic/7150/temt6000/</a><br />
Locking this topic to avoid confusion and double work.</p>
]]></description><link>https://forum.mysensors.org/post/71181</link><guid isPermaLink="true">https://forum.mysensors.org/post/71181</guid><dc:creator><![CDATA[mfalkvidd]]></dc:creator><pubDate>Thu, 03 Aug 2017 22:03:45 GMT</pubDate></item><item><title><![CDATA[Reply to TEMT6000 on Thu, 13 Jul 2017 23:17:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/stress-nero" aria-label="Profile: stress-nero">@<bdi>stress-nero</bdi></a> do the v light levels values look good or am i missing something?</p>
]]></description><link>https://forum.mysensors.org/post/71160</link><guid isPermaLink="true">https://forum.mysensors.org/post/71160</guid><dc:creator><![CDATA[stress nero]]></dc:creator><pubDate>Thu, 13 Jul 2017 23:17:53 GMT</pubDate></item></channel></rss>