diff --git a/atom.xml b/atom.xml index 0a93e8193a..18359a0779 100644 --- a/atom.xml +++ b/atom.xml @@ -4,7 +4,7 @@
You can use V_HVAC_SPEED to control the Speed setting of the Fan in the HVAC.
You can use V_TEMP to send the current temperature from the node to Home Assistant.
For more information, visit the serial api of MySensors.
-/*
+* Documentation: http://www.mysensors.org
+* Support Forum: http://forum.mysensors.org
+*/
+
+#define MY_RADIO_NRF24
+#define CHILD_ID_HVAC 0
+
+#include <MySensors.h>
+
+// Uncomment your heatpump model
+//#include <FujitsuHeatpumpIR.h>
+//#include <PanasonicCKPHeatpumpIR.h>
+//#include <PanasonicHeatpumpIR.h>
+//#include <CarrierHeatpumpIR.h>
+//#include <MideaHeatpumpIR.h>
+//#include <MitsubishiHeatpumpIR.h>
+//#include <SamsungHeatpumpIR.h>
+//#include <SharpHeatpumpIR.h>
+//#include <DaikinHeatpumpIR.h>
+
+//Some global variables to hold the states
+int POWER_STATE;
+int TEMP_STATE;
+int FAN_STATE;
+int MODE_STATE;
+int VDIR_STATE;
+int HDIR_STATE;
+
+IRSenderPWM irSender(3); // IR led on Arduino digital pin 3, using Arduino PWM
+
+//Change to your Heatpump
+HeatpumpIR *heatpumpIR = new PanasonicNKEHeatpumpIR();
+
+/*
+new PanasonicDKEHeatpumpIR()
+new PanasonicJKEHeatpumpIR()
+new PanasonicNKEHeatpumpIR()
+new CarrierHeatpumpIR()
+new MideaHeatpumpIR()
+new FujitsuHeatpumpIR()
+new MitsubishiFDHeatpumpIR()
+new MitsubishiFEHeatpumpIR()
+new SamsungHeatpumpIR()
+new SharpHeatpumpIR()
+new DaikinHeatpumpIR()
+*/
+
+MyMessage msgHVACSetPointC(CHILD_ID_HVAC, V_HVAC_SETPOINT_COOL);
+MyMessage msgHVACSpeed(CHILD_ID_HVAC, V_HVAC_SPEED);
+MyMessage msgHVACFlowState(CHILD_ID_HVAC, V_HVAC_FLOW_STATE);
+
+void presentation() {
+ sendSketchInfo("Heatpump", "2.1");
+ present(CHILD_ID_HVAC, S_HVAC, "Thermostat");
+}
+
+void setup() {
+}
+
+void loop() {
+ // put your main code here, to run repeatedly:
+}
+
+void receive(const MyMessage &message) {
+ if (message.isAck()) {
+ Serial.println("This is an ack from gateway");
+ return;
+ }
+
+ Serial.print("Incoming message for: ");
+ Serial.print(message.sensor);
+
+ String recvData = message.data;
+ recvData.trim();
+
+ Serial.print(", New status: ");
+ Serial.println(recvData);
+ switch (message.type) {
+ case V_HVAC_SPEED:
+ Serial.println("V_HVAC_SPEED");
+
+ if(recvData.equalsIgnoreCase("auto")) FAN_STATE = 0;
+ else if(recvData.equalsIgnoreCase("min")) FAN_STATE = 1;
+ else if(recvData.equalsIgnoreCase("normal")) FAN_STATE = 2;
+ else if(recvData.equalsIgnoreCase("max")) FAN_STATE = 3;
+ break;
+
+ case V_HVAC_SETPOINT_COOL:
+ Serial.println("V_HVAC_SETPOINT_COOL");
+ TEMP_STATE = message.getFloat();
+ Serial.println(TEMP_STATE);
+ break;
+
+ case V_HVAC_FLOW_STATE:
+ Serial.println("V_HVAC_FLOW_STATE");
+ if (recvData.equalsIgnoreCase("coolon")) {
+ POWER_STATE = 1;
+ MODE_STATE = MODE_COOL;
+ }
+ else if (recvData.equalsIgnoreCase("heaton")) {
+ POWER_STATE = 1;
+ MODE_STATE = MODE_HEAT;
+ }
+ else if (recvData.equalsIgnoreCase("autochangeover")) {
+ POWER_STATE = 1;
+ MODE_STATE = MODE_AUTO;
+ }
+ else if (recvData.equalsIgnoreCase("off")){
+ POWER_STATE = 0;
+ }
+ break;
+ }
+ sendHeatpumpCommand();
+ sendNewStateToGateway();
+}
+
+void sendNewStateToGateway() {
+ send(msgHVACSetPointC.set(TEMP_STATE));
+ send(msgHVACSpeed.set(FAN_STATE));
+ send(msgHVACFlowState.set(MODE_STATE));
+}
+
+void sendHeatpumpCommand() {
+ Serial.println("Power = " + (String)POWER_STATE);
+ Serial.println("Mode = " + (String)MODE_STATE);
+ Serial.println("Fan = " + (String)FAN_STATE);
+ Serial.println("Temp = " + (String)TEMP_STATE);
+
+ heatpumpIR->send(irSender, POWER_STATE, MODE_STATE, FAN_STATE, TEMP_STATE, VDIR_AUTO, HDIR_AUTO);
+}
+
+/*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
diff --git a/developers/cla_sign/index.html b/developers/cla_sign/index.html
index 8914572fa3..08501fdcf6 100644
--- a/developers/cla_sign/index.html
+++ b/developers/cla_sign/index.html
@@ -311,7 +311,7 @@
s_a[163] = "Drenthe|Flevoland|Friesland|Gelderland|Groningen|Limburg|Noord-Brabant|Noord-Holland|Overijssel|Utrecht|Zeeland|Zuid-Holland";
s_a[164] = "Netherlands Antilles";
s_a[165] = "Iles Loyaute|Nord|Sud";
- s_a[166] = "Akaroa|Amuri|Ashburton|Bay of Islands|Bruce|Buller|Chatham Islands|Cheviot|Clifton|Clutha|Cook|Dannevirke|Egmont|Eketahuna|Ellesmere|Eltham|Eyre|Featherston|Franklin|Golden Bay|Great Barrier Island|Grey|Hauraki Plains|Hawera|Hawke's Bay|Heathcote|Hikurangi|Hobson|Hokianga|Horowhenua|Hurunui|Hutt|Inangahua|Inglewood|Kaikoura|Kairanga|Kiwitea|Lake|Mackenzie|Malvern|Manaia|Manawatu|Mangonui|Maniototo|Marlborough|Masterton|Matamata|Mount Herbert|Ohinemuri|Opotiki|Oroua|Otamatea|Otorohanga|Oxford|Pahiatua|Paparua|Patea|Piako|Pohangina|Raglan|Rangiora|Rangitikei|Rodney|Rotorua|Runanga|Saint Kilda|Silverpeaks|Southland|Stewart Island|Stratford|Strathallan|Taranaki|Taumarunui|Taupo|Tauranga|Thames-Coromandel|Tuapeka|Vincent|Waiapu|Waiheke|Waihemo|Waikato|Waikohu|Waimairi|Waimarino|Waimate|Waimate West|Waimea|Waipa|Waipawa|Waipukurau|Wairarapa South|Wairewa|Wairoa|Waitaki|Waitomo|Waitotara|Wallace|Wanganui|Waverley|Westland|Whakatane|Whangarei|Whangaroa|Woodville";
+ s_a[166] = "Akaroa|Amuri|Ashburton|Bay of Islands|Bruce|Buller|Chatham Islands|Cheviot|Clifton|Clutha|Cook|Dannevirke|Egmont|Eketahuna|Ellesmere|Eltham|Eyre|Featherston|Franklin|Golden Bay|Great Barrier Island|Grey|Hauraki Plains|Hawera|Hawke's Bay|Heathcote|Hikurangi|Hobson|Hokianga|Horowhenua|Hurunui|Hutt|Inangahua|Inglewood|Kaikoura|Kairanga|Kiwitea|Lake|Mackenzie|Malvern|Manaia|Manawatu|Mangonui|Maniototo|Marlborough|Masterton|Matamata|Mount Herbert|Ohinemuri|Opotiki|Oroua|Otamatea|Otorohanga|Oxford|Pahiatua|Paparua|Patea|Piako|Pohangina|Raglan|Rangiora|Rangitikei|Rodney|Rotorua|Runanga|Saint Kilda|Silverpeaks|Southland|Stewart Island|Stratford|Strathallan|Taranaki|Taumarunui|Taupo|Tauranga|Thames-Coromandel|Tuapeka|Vincent|Waiapu|Waiheke|Waihemo|Waikato|Waikohu|Waimairi|Waimarino|Waimate|Waimate West|Waimea|Waipa|Waipawa|Waipukurau|Wairarapa South|Wairewa|Wairoa|Waitaki|Waitomo|Waitotara|Wallace|Wanganui|Waverley|Wellington|Westland|Whakatane|Whangarei|Whangaroa|Woodville";
s_a[167] = "Atlantico Norte|Atlantico Sur|Boaco|Carazo|Chinandega|Chontales|Esteli|Granada|Jinotega|Leon|Madriz|Managua|Masaya|Matagalpa|Nueva Segovia|Rio San Juan|Rivas";
s_a[168] = "Agadez|Diffa|Dosso|Maradi|Niamey|Tahoua|Tillaberi|Zinder";
s_a[169] = "Abia|Abuja Federal Capital Territory|Adamawa|Akwa Ibom|Anambra|Bauchi|Bayelsa|Benue|Borno|Cross River|Delta|Ebonyi|Edo|Ekiti|Enugu|Gombe|Imo|Jigawa|Kaduna|Kano|Katsina|Kebbi|Kogi|Kwara|Lagos|Nassarawa|Niger|Ogun|Ondo|Osun|Oyo|Plateau|Rivers|Sokoto|Taraba|Yobe|Zamfara";
diff --git a/sitemap.xml b/sitemap.xml
index 6bcb19d8b7..a5ac698b12 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -3383,62 +3383,62 @@
https://home-assistant.io/demo/frontend.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/demo/index.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/demo/panels/ha-panel-dev-event.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/demo/panels/ha-panel-dev-info.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/demo/panels/ha-panel-dev-service.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/demo/panels/ha-panel-dev-state.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/demo/panels/ha-panel-dev-template.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/demo/panels/ha-panel-history.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/demo/panels/ha-panel-iframe.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/demo/panels/ha-panel-logbook.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/demo/panels/ha-panel-map.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/googlef4f3693c209fe788.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:29+00:00
https://home-assistant.io/static/fonts/roboto/DESCRIPTION.en_us.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:30+00:00
https://home-assistant.io/static/fonts/robotomono/DESCRIPTION.en_us.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:30+00:00
https://home-assistant.io/static/mdi-demo.html
-2017-05-18T05:48:59+00:00
+2017-05-18T10:45:30+00:00