2929#include < DallasTemperature.h>
3030#include < OneWire.h>
3131
32+ #define COMPARE_TEMP 1 // Send temperature only if changed? 1 = Yes 0 = No
33+
3234#define ONE_WIRE_BUS 3 // Pin where dallase sensor is connected
3335#define MAX_ATTACHED_DS18B20 16
3436unsigned long SLEEP_TIME = 30000 ; // Sleep time between reads (in milliseconds)
35- OneWire oneWire (ONE_WIRE_BUS);
36- DallasTemperature sensors (&oneWire);
37+ OneWire oneWire (ONE_WIRE_BUS); // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
38+ DallasTemperature sensors (&oneWire); // Pass the oneWire reference to Dallas Temperature.
3739MySensor gw;
3840float lastTemperature[MAX_ATTACHED_DS18B20];
3941int numSensors=0 ;
@@ -44,14 +46,14 @@ MyMessage msg(0,V_TEMP);
4446
4547void setup ()
4648{
47- // Startup OneWire
49+ // Startup up the OneWire library
4850 sensors.begin ();
4951
5052 // Startup and initialize MySensors library. Set callback for incoming messages.
51- gw.begin ();
53+ gw.begin ();
5254
5355 // Send the sketch version information to the gateway and Controller
54- gw.sendSketchInfo (" Temperature Sensor" , " 1.0 " );
56+ gw.sendSketchInfo (" Temperature Sensor" , " 1.1 " );
5557
5658 // Fetch the number of attached temperature sensors
5759 numSensors = sensors.getDeviceCount ();
@@ -78,10 +80,15 @@ void loop()
7880 float temperature = static_cast <float >(static_cast <int >((gw.getConfig ().isMetric ?sensors.getTempCByIndex (i):sensors.getTempFByIndex (i)) * 10 .)) / 10 .;
7981
8082 // Only send data if temperature has changed and no error
81- if (lastTemperature[i] != temperature && temperature != -127.00 ) {
83+ #if COMPARE_TEMP == 1
84+ if (lastTemperature[i] != temperature && temperature != -127.00 && temperature != 85.00 ) {
85+ #else
86+ if (temperature != -127.00 && temperature != 85.00 ) {
87+ #endif
8288
8389 // Send in the new temperature
8490 gw.send (msg.setSensor (i).set (temperature,1 ));
91+ // Save new temperatures for next compare
8592 lastTemperature[i]=temperature;
8693 }
8794 }
0 commit comments