Merge remote-tracking branch 'mysensors/development' into development

Conflicts:
	libraries/MySensors/examples/MockMySensors/MockMySensors.ino
This commit is contained in:
Barduino
2015-09-06 10:28:22 -04:00
24 changed files with 937 additions and 170 deletions
@@ -26,7 +26,7 @@
#define SHORT_WAIT 50
#define SKETCH_NAME "MockMySensors "
#define SKETCH_VERSION "v0.4"
#define SKETCH_VERSION "v0.5"
// Define Sensors ids
/* S_DOOR, S_MOTION, S_SMOKE, S_LIGHT, S_DIMMER, S_COVER, S_TEMP, S_HUM, S_BARO, S_WIND,
@@ -42,6 +42,7 @@
// Some of these ID's have not been updated for v1.5. Uncommenting too many of them
// will make the sketch too large for a pro mini's memory so it's probably best to try
// one at a time.
<<<<<<< HEAD
#define ID_S_ARMED 0 // dummy to controll armed stated for several sensors
#define ID_S_DOOR 1
#define ID_S_MOTION 2
@@ -67,6 +68,35 @@
#define ID_S_DUST 22
#define ID_S_SCENE_CONTROLLER 23
#define ID_S_CUSTOM 99
=======
//#define ID_S_ARMED 0 // dummy to controll armed stated for several sensors
//#define ID_S_DOOR 1
//#define ID_S_MOTION 2
//#define ID_S_SMOKE 3
//#define ID_S_LIGHT 4
//#define ID_S_DIMMER 5
//#define ID_S_COVER 6
//#define ID_S_TEMP 7
//#define ID_S_HUM 8
//#define ID_S_BARO 9
//#define ID_S_WIND 10
//#define ID_S_RAIN 11
//#define ID_S_UV 12
//#define ID_S_WEIGHT 13
//#define ID_S_POWER 14
//#define ID_S_HEATER 15
//#define ID_S_DISTANCE 16
//#define ID_S_LIGHT_LEVEL 17
//#define ID_S_LOCK 18
//#define ID_S_IR 19
//#define ID_S_WATER 20
//#define ID_S_AIR_QUALITY 21
//#define ID_S_DUST 22
//#define ID_S_SCENE_CONTROLLER 23
#define ID_S_MOISTURE 24
//#define ID_S_CUSTOM 99
>>>>>>> mysensors/development
// Global Vars
unsigned long SLEEP_TIME = 900000; // Sleep time between reads (in milliseconds)
@@ -174,11 +204,23 @@ MyHwATMega328 hw;
// MyMessage msg_S_POWER_C(ID_S_POWER,V_CURRENT);
#endif
<<<<<<< HEAD
#ifdef ID_S_HEATER //V_HVAC_SETPOINT_HEAT, V_HVAC_FLOW_STATE, V_TEMP
MyMessage msg_S_HEATER_S(ID_S_HEATER,V_HVAC_SETPOINT_HEAT); // HVAC/Heater setpoint (Integer between 0-100). S_HEATER, S_HVAC
MyMessage msg_S_HEATER_F(ID_S_HEATER,V_HVAC_FLOW_STATE); // Mode of header. One of "Off", "HeatOn", "CoolOn", or "AutoChangeOver" // S_HVAC, S_HEATER
int heatTemp=18;
String heatState="Off";
=======
#ifdef ID_S_HEATER //V_HVAC_SETPOINT_HEAT, V_HVAC_FLOW_STATE, V_TEMP, V_STATUS
float heater_setpoint=21.5;
float heater_temp=23.5;
bool heater_status=false;
String heater_flow_state = "Off";
MyMessage msg_S_HEATER_SETPOINT(ID_S_HEATER,V_HVAC_SETPOINT_HEAT);
MyMessage msg_S_HEATER_STATUS(ID_S_HEATER,V_STATUS);
MyMessage msg_S_HEATER_TEMP(ID_S_HEATER,V_TEMP);
MyMessage msg_S_HEATER_FLOWSTATE(ID_S_HEATER,V_HVAC_FLOW_STATE);
>>>>>>> mysensors/development
#endif
#ifdef ID_S_DISTANCE
@@ -230,6 +272,10 @@ MyHwATMega328 hw;
#endif
#ifdef ID_S_MOISTURE
MyMessage msg_S_MOISTURE(ID_S_MOISTURE,V_LEVEL);
#endif
#ifdef ID_S_CUSTOM
MyMessage msg_S_CUSTOM_1(ID_S_CUSTOM,V_VAR1);
MyMessage msg_S_CUSTOM_2(ID_S_CUSTOM,V_VAR2);
@@ -410,6 +456,12 @@ void setup()
gw.present(ID_S_SCENE_CONTROLLER,S_SCENE_CONTROLLER);
gw.wait(SHORT_WAIT);
#endif
#ifdef ID_S_MOISTURE
Serial.println(" S_MOISTURE");
gw.present(ID_S_MOISTURE,S_MOISTURE);
gw.wait(SHORT_WAIT);
#endif
#ifdef ID_S_CUSTOM
Serial.println(" S_CUSTOM");
@@ -536,6 +588,10 @@ void loop()
scene();
#endif
#ifdef ID_S_MOISTURE
moisture();
#endif
#ifdef ID_S_CUSTOM
custom();
#endif
@@ -790,6 +846,7 @@ void power(){
#ifdef ID_S_HEATER
void heater(){
<<<<<<< HEAD
char cBuff[heatState.length()+1];
heatState.toCharArray(cBuff,heatState.length()+1);
@@ -797,12 +854,23 @@ void heater(){
Serial.println(cBuff);
gw.send(msg_S_HEATER_F.set(cBuff));
=======
Serial.print("Heater flow state is: " );
Serial.println(heater_flow_state);
gw.send(msg_S_HEATER_FLOWSTATE.set(heater_flow_state.c_str()));
Serial.print("Heater Set Point is: " );
Serial.println(heatTemp);
gw.send(msg_S_HEATER_S.set(heatTemp));
Serial.print("Heater on/off is: " );
Serial.println((heater_status==true)?"On":"Off");
gw.send(msg_S_HEATER_STATUS.set(heater_status));
Serial.print("Heater Temperature is: " );
Serial.println(heater_temp,1);
gw.send(msg_S_HEATER_TEMP.set(heater_temp,1));
>>>>>>> mysensors/development
Serial.print("Heater Setpoint: " );
Serial.println(heater_setpoint,1);
gw.send(msg_S_HEATER_SETPOINT.set(heater_setpoint,1));
}
#endif
@@ -903,6 +971,16 @@ void scene(){
}
#endif
#ifdef ID_S_MOISTURE
void moisture(){
Serial.print("Moisture level is: " );
Serial.println(randNumber);
gw.send(msg_S_MOISTURE.set(randNumber));
}
#endif
#ifdef ID_S_CUSTOM
void custom(){
@@ -996,23 +1074,37 @@ void incomingMessage(const MyMessage &message) {
#endif
#ifdef ID_S_HEATER
case V_HVAC_FLOW_STATE:
heatState = message.getString();
Serial.print("Incoming change for ID_S_HEATER:");
case V_HVAC_SETPOINT_HEAT:
Serial.print("Incoming set point for ID_S_HEATER:");
Serial.print(message.sensor);
Serial.print(", New status: ");
<<<<<<< HEAD
Serial.println(heatState);
heater();//temp ack
=======
heater_setpoint=message.getFloat();
Serial.println(heater_setpoint,1);
>>>>>>> mysensors/development
break;
case V_HVAC_SETPOINT_HEAT:
heatTemp = message.getInt();
case V_STATUS:
Serial.print("Incoming change for ID_S_HEATER:");
Serial.print(message.sensor);
Serial.print(", New status: ");
<<<<<<< HEAD
Serial.println(heatTemp);
heater();//temp ack
=======
heater_status = message.getBool();
Serial.println(heater_status);
break;
case V_HVAC_FLOW_STATE:
Serial.print("Incoming flow state change for ID_S_HEATER:");
Serial.print(message.sensor);
Serial.print(", New status: ");
heater_flow_state=message.getString();
Serial.println(heater_flow_state);
>>>>>>> mysensors/development
break;
#endif