//made in Russia by Zhirkevich Ilia #define CAYENNE_PRINT Serial #include #include #include #define VIRTUAL_PIN1 1 //VIRTUAL_PIN1 RELAT №1 #define VIRTUAL_PIN2 2 //VIRTUAL_PIN1 RELAT №2 #define RELAY_DIGITAL_PIN1 8 //RELAT №1 pin8 #define RELAY_DIGITAL_PIN2 9 //RELAT №2 pin9 #define VIRTUAL_PIN3 3 //DS18B20_№1 #define VIRTUAL_PIN4 4 //DS18B20_№2 #define ONE_WIRE_PIN3 7 //DS18B20_№1 pin7 #define ONE_WIRE_PIN4 6 //DS18B20_№2 pin8 OneWire oneWire_in(ONE_WIRE_PIN3); OneWire oneWire_out(ONE_WIRE_PIN4); DallasTemperature sensor_inhouse(&oneWire_in); DallasTemperature sensor_outhouse(&oneWire_out); char token[] = "a9ichx9ldy"; void setup() { Serial.begin(9600); Cayenne.begin(token); pinMode(RELAY_DIGITAL_PIN1, OUTPUT); pinMode(RELAY_DIGITAL_PIN2, OUTPUT); sensor_inhouse.begin(); sensor_outhouse.begin(); } void loop(void) { Cayenne.run(); } CAYENNE_IN(VIRTUAL_PIN1) { / int currentValue = getValue.asInt(); if (currentValue == 1) { digitalWrite(RELAY_DIGITAL_PIN1, HIGH); } else { digitalWrite(RELAY_DIGITAL_PIN1, LOW); } } CAYENNE_IN(VIRTUAL_PIN2) { int currentValue = getValue.asInt(); if (currentValue == 1) { digitalWrite(RELAY_DIGITAL_PIN2, HIGH); } else { digitalWrite(RELAY_DIGITAL_PIN2, LOW); } } CAYENNE_OUT(VIRTUAL_PIN3) { Serial.print("Inhouse: "); Serial.println(sensor_inhouse.getTempCByIndex(0)); sensor_inhouse.requestTemperatures(); Cayenne.celsiusWrite(VIRTUAL_PIN3, sensor_inhouse.getTempCByIndex(0)); } CAYENNE_OUT(VIRTUAL_PIN4) { Serial.print("Outhouse: "); Serial.println(sensor_outhouse.getTempCByIndex(0)); sensor_outhouse.requestTemperatures(); Cayenne.celsiusWrite(VIRTUAL_PIN4, sensor_outhouse.getTempCByIndex(0)); }