diff --git a/examples/MockMySensors/MockMySensors.ino b/examples/MockMySensors/MockMySensors.ino index 1973692..a570f67 100644 --- a/examples/MockMySensors/MockMySensors.ino +++ b/examples/MockMySensors/MockMySensors.ino @@ -1,9 +1,9 @@ /* -* MockMySensors -* -* This skecth is intended to crate fake sensors which register and respond to the controller + MockMySensors + + This skecth is intended to crate fake sensors which register and respond to the controller * *** -* Barduino 2015, GizMoCuz 2015 + Barduino 2015, GizMoCuz 2015 */ // Enable debug prints to serial monitor @@ -26,7 +26,7 @@ #define SHORT_WAIT 50 #define SKETCH_NAME "MockMySensors " -#define SKETCH_VERSION "v0.5" +#define SKETCH_VERSION "v0.6" // Define Sensors ids /* S_DOOR, S_MOTION, S_SMOKE, S_LIGHT, S_DIMMER, S_COVER, S_TEMP, S_HUM, S_BARO, S_WIND, @@ -45,41 +45,41 @@ #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_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 //// Lib 1.5 sensors -//#define ID_S_RGB_LIGHT 24 -//#define ID_S_RGBW_LIGHT 25 -//#define ID_S_COLOR_SENSOR 26 -//#define ID_S_HVAC 27 -//#define ID_S_MULTIMETER 28 -//#define ID_S_SPRINKLER 29 -//#define ID_S_WATER_LEAK 30 -//#define ID_S_SOUND 31 -//#define ID_S_VIBRATION 32 -//#define ID_S_MOISTURE 33 +#define ID_S_RGB_LIGHT 24 +#define ID_S_RGBW_LIGHT 25 +#define ID_S_COLOR_SENSOR 26 +#define ID_S_HVAC 27 +#define ID_S_MULTIMETER 28 +#define ID_S_SPRINKLER 29 +#define ID_S_WATER_LEAK 30 +#define ID_S_SOUND 31 +#define ID_S_VIBRATION 32 +#define ID_S_MOISTURE 33 // -//#define ID_S_CUSTOM 99 +#define ID_S_CUSTOM 99 @@ -95,91 +95,94 @@ long randNumber; bool isArmed; #endif +MyMessage msg_generic(0, V_LIGHT); + #ifdef ID_S_DOOR // V_TRIPPED, V_ARMED -MyMessage msg_S_DOOR_T(ID_S_DOOR,V_TRIPPED); -MyMessage msg_S_DOOR_A(ID_S_DOOR,V_ARMED); +//MyMessage msg_S_DOOR_T(ID_S_DOOR,V_TRIPPED); +//MyMessage msg_S_DOOR_A(ID_S_DOOR,V_ARMED); #endif #ifdef ID_S_MOTION // V_TRIPPED, V_ARMED -MyMessage msg_S_MOTION_A(ID_S_MOTION,V_ARMED); -MyMessage msg_S_MOTION_T(ID_S_MOTION,V_TRIPPED); +//MyMessage msg_S_MOTION_A(ID_S_MOTION,V_ARMED); +//MyMessage msg_S_MOTION_T(ID_S_MOTION,V_TRIPPED); #endif #ifdef ID_S_SMOKE // V_TRIPPED, V_ARMED -MyMessage msg_S_SMOKE_T(ID_S_SMOKE,V_TRIPPED); -MyMessage msg_S_SMOKE_A(ID_S_SMOKE,V_ARMED); +//MyMessage msg_S_SMOKE_T(ID_S_SMOKE,V_TRIPPED); +//MyMessage msg_S_SMOKE_A(ID_S_SMOKE,V_ARMED); #endif #ifdef ID_S_LIGHT -MyMessage msg_S_LIGHT(ID_S_LIGHT,V_LIGHT); -bool isLightOn=0; +//MyMessage msg_S_LIGHT(ID_S_LIGHT, V_LIGHT); +bool isLightOn = 0; #endif #ifdef ID_S_DIMMER -MyMessage msg_S_DIMMER(ID_S_DIMMER,V_DIMMER); -int dimmerVal=100; +//MyMessage msg_S_DIMMER(ID_S_DIMMER, V_DIMMER); +int dimmerVal = 100; #endif #ifdef ID_S_COVER -MyMessage msg_S_COVER_U(ID_S_COVER,V_UP); -MyMessage msg_S_COVER_D(ID_S_COVER,V_DOWN); -MyMessage msg_S_COVER_S(ID_S_COVER,V_STOP); -MyMessage msg_S_COVER_V(ID_S_COVER,V_VAR1); -int coverState=0; //0=Stop; 1=up; -1=down +//MyMessage msg_S_COVER_U(ID_S_COVER, V_UP); +//MyMessage msg_S_COVER_D(ID_S_COVER, V_DOWN); +//MyMessage msg_S_COVER_S(ID_S_COVER, V_STOP); +//MyMessage msg_S_COVER_V(ID_S_COVER, V_VAR1); +int coverState = 0; //0=Stop; 1=up; -1=down #endif #ifdef ID_S_TEMP -MyMessage msg_S_TEMP(ID_S_TEMP,V_TEMP); +//MyMessage msg_S_TEMP(ID_S_TEMP, V_TEMP); #endif #ifdef ID_S_HUM -MyMessage msg_S_HUM(ID_S_HUM,V_HUM); +//MyMessage msg_S_HUM(ID_S_HUM, V_HUM); #endif #ifdef ID_S_BARO -MyMessage msg_S_BARO_P(ID_S_BARO,V_PRESSURE); -MyMessage msg_S_BARO_F(ID_S_BARO,V_FORECAST); +//MyMessage msg_S_BARO_P(ID_S_BARO, V_PRESSURE); +//MyMessage msg_S_BARO_F(ID_S_BARO, V_FORECAST); #endif #ifdef ID_S_WIND -MyMessage msg_S_WIND_S(ID_S_WIND,V_WIND); -MyMessage msg_S_WIND_G(ID_S_WIND,V_GUST); -MyMessage msg_S_WIND_D(ID_S_WIND,V_DIRECTION); +//MyMessage msg_S_WIND_S(ID_S_WIND, V_WIND); +//MyMessage msg_S_WIND_G(ID_S_WIND, V_GUST); +//MyMessage msg_S_WIND_D(ID_S_WIND, V_DIRECTION); #endif #ifdef ID_S_RAIN -MyMessage msg_S_RAIN_A(ID_S_RAIN,V_RAIN); -MyMessage msg_S_RAIN_R(ID_S_RAIN,V_RAINRATE); +//MyMessage msg_S_RAIN_A(ID_S_RAIN, V_RAIN); +//MyMessage msg_S_RAIN_R(ID_S_RAIN, V_RAINRATE); #endif #ifdef ID_S_UV -MyMessage msg_S_UV(ID_S_UV,V_UV); +//MyMessage msg_S_UV(ID_S_UV, V_UV); #endif #ifdef ID_S_WEIGHT -MyMessage msg_S_WEIGHT(ID_S_WEIGHT,V_WEIGHT); +//MyMessage msg_S_WEIGHT(ID_S_WEIGHT, V_WEIGHT); #endif #ifdef ID_S_POWER -MyMessage msg_S_POWER_W(ID_S_POWER,V_WATT); -MyMessage msg_S_POWER_K(ID_S_POWER,V_KWH); +//MyMessage msg_S_POWER_W(ID_S_POWER, V_WATT); +//MyMessage msg_S_POWER_K(ID_S_POWER, V_KWH); #endif #ifdef ID_S_HEATER //////// REVIEW IMPLEMENTATION //////////// - -MyMessage msg_S_HEATER_SET_POINT(ID_S_HEATER, - V_HVAC_SETPOINT_HEAT); // HVAC/Heater setpoint (Integer between 0-100). S_HEATER, S_HVAC -MyMessage msg_S_HEATER_FLOW_STATE(ID_S_HEATER, - V_HVAC_FLOW_STATE); // Mode of header. One of "Off", "HeatOn", "CoolOn", or "AutoChangeOver" // S_HVAC, S_HEATER +/* + MyMessage msg_S_HEATER_SET_POINT(ID_S_HEATER, + V_HVAC_SETPOINT_HEAT); // HVAC/Heater setpoint (Integer between 0-100). S_HEATER, S_HVAC + MyMessage msg_S_HEATER_FLOW_STATE(ID_S_HEATER, + V_HVAC_FLOW_STATE); // Mode of header. One of "Off", "HeatOn", "CoolOn", or "AutoChangeOver" // S_HVAC, S_HEATER +*/ //MyMessage msg_S_HEATER_STATUS(ID_S_HEATER,V_STATUS); //MyMessage msg_S_HEATER_TEMP(ID_S_HEATER,V_TEMP); -float heater_setpoint=21.5; -String heater_flow_state="Off"; +float heater_setpoint = 21.5; +String heater_flow_state = "Off"; // float heater_temp=23.5; // bool heater_status=false; @@ -193,82 +196,82 @@ String heater_flow_state="Off"; #endif #ifdef ID_S_DISTANCE -MyMessage msg_S_DISTANCE(ID_S_DISTANCE,V_DISTANCE); +//MyMessage msg_S_DISTANCE(ID_S_DISTANCE, V_DISTANCE); #endif #ifdef ID_S_LIGHT_LEVEL -MyMessage msg_S_LIGHT_LEVEL(ID_S_LIGHT_LEVEL,V_LIGHT_LEVEL); +//MyMessage msg_S_LIGHT_LEVEL(ID_S_LIGHT_LEVEL, V_LIGHT_LEVEL); #endif #ifdef ID_S_LOCK -MyMessage msg_S_LOCK(ID_S_LOCK,V_LOCK_STATUS); +//MyMessage msg_S_LOCK(ID_S_LOCK, V_LOCK_STATUS); bool isLocked = 0; #endif #ifdef ID_S_IR -MyMessage msg_S_IR_S(ID_S_IR,V_IR_SEND); -MyMessage msg_S_IR_R(ID_S_IR,V_IR_RECEIVE); +//MyMessage msg_S_IR_S(ID_S_IR, V_IR_SEND); +//MyMessage msg_S_IR_R(ID_S_IR, V_IR_RECEIVE); long irVal = 0; #endif #ifdef ID_S_WATER -MyMessage msg_S_WATER_F(ID_S_WATER,V_FLOW); -MyMessage msg_S_WATER_V(ID_S_WATER,V_VOLUME); +//MyMessage msg_S_WATER_F(ID_S_WATER, V_FLOW); +//MyMessage msg_S_WATER_V(ID_S_WATER, V_VOLUME); #endif #ifdef ID_S_AIR_QUALITY -MyMessage msg_S_AIR_QUALITY(ID_S_AIR_QUALITY,V_LEVEL); +//MyMessage msg_S_AIR_QUALITY(ID_S_AIR_QUALITY, V_LEVEL); #endif #ifdef ID_S_DUST -MyMessage msg_S_DUST(ID_S_DUST,V_LEVEL); +//MyMessage msg_S_DUST(ID_S_DUST, V_LEVEL); #endif #ifdef ID_S_SCENE_CONTROLLER -MyMessage msg_S_SCENE_CONTROLLER_ON(ID_S_SCENE_CONTROLLER,V_SCENE_ON); -MyMessage msg_S_SCENE_CONTROLLER_OF(ID_S_SCENE_CONTROLLER,V_SCENE_OFF); +//MyMessage msg_S_SCENE_CONTROLLER_ON(ID_S_SCENE_CONTROLLER, V_SCENE_ON); +//MyMessage msg_S_SCENE_CONTROLLER_OF(ID_S_SCENE_CONTROLLER, V_SCENE_OFF); // not sure if scene controller sends int or chars // betting on ints as Touch Display Scen by Hek // compiler warnings char *scenes[] = { - (char *)"Good Morning", - (char *)"Clean Up!", - (char *)"All Lights Off", - (char *)"Music On/Off" + (char *)"Good Morning", + (char *)"Clean Up!", + (char *)"All Lights Off", + (char *)"Music On/Off" }; -int sceneVal=0; -int sceneValPrevious=0; +int sceneVal = 0; +int sceneValPrevious = 0; #endif #ifdef ID_S_RGB_LIGHT -MyMessage msg_S_RGB_LIGHT_V_RGB(ID_S_RGB_LIGHT,V_RGB); -MyMessage msg_S_RGB_LIGHT_V_WATT(ID_S_RGB_LIGHT,V_WATT); -String rgbState="000000"; +//MyMessage msg_S_RGB_LIGHT_V_RGB(ID_S_RGB_LIGHT, V_RGB); +//MyMessage msg_S_RGB_LIGHT_V_WATT(ID_S_RGB_LIGHT, V_WATT); +String rgbState = "000000"; //RGB light V_RGB, V_WATT //RGB value transmitted as ASCII hex string (I.e "ff0000" for red) #endif #ifdef ID_S_RGBW_LIGHT -MyMessage msg_S_RGBW_LIGHT_V_RGBW(ID_S_RGBW_LIGHT,V_RGBW); -MyMessage msg_S_RGBW_LIGHT_V_WATT(ID_S_RGBW_LIGHT,V_WATT); -String rgbwState="00000000"; +//MyMessage msg_S_RGBW_LIGHT_V_RGBW(ID_S_RGBW_LIGHT, V_RGBW); +//MyMessage msg_S_RGBW_LIGHT_V_WATT(ID_S_RGBW_LIGHT, V_WATT); +String rgbwState = "00000000"; //RGBW light (with separate white component) V_RGBW, V_WATT //RGBW value transmitted as ASCII hex string (I.e "ff0000ff" for red + full white) S_RGBW_LIGHT #endif #ifdef ID_S_COLOR_SENSOR -MyMessage msg_S_COLOR_SENSOR_V_RGB(ID_S_COLOR_SENSOR,V_RGB); +//MyMessage msg_S_COLOR_SENSOR_V_RGB(ID_S_COLOR_SENSOR, V_RGB); //Color sensor V_RGB //RGB value transmitted as ASCII hex string (I.e "ff0000" for red) S_RGB_LIGHT, S_COLOR_SENSOR #endif #ifdef ID_S_HVAC -MyMessage msg_S_HVAC_V_HVAC_SETPOINT_HEAT(ID_S_HVAC,V_HVAC_SETPOINT_HEAT); -MyMessage msg_S_HVAC_V_HVAC_SETPOINT_COOL(ID_S_HVAC,V_HVAC_SETPOINT_COOL); -MyMessage msg_S_HVAC_V_HVAC_FLOW_STATET(ID_S_HVAC,V_HVAC_FLOW_STATE); -MyMessage msg_S_HVAC_V_HVAC_FLOW_MODE(ID_S_HVAC,V_HVAC_FLOW_MODE); -MyMessage msg_S_HVAC_V_HVAC_SPEED(ID_S_HVAC,V_HVAC_SPEED); +//MyMessage msg_S_HVAC_V_HVAC_SETPOINT_HEAT(ID_S_HVAC, V_HVAC_SETPOINT_HEAT); +//MyMessage msg_S_HVAC_V_HVAC_SETPOINT_COOL(ID_S_HVAC, V_HVAC_SETPOINT_COOL); +//MyMessage msg_S_HVAC_V_HVAC_FLOW_STATET(ID_S_HVAC, V_HVAC_FLOW_STATE); +//MyMessage msg_S_HVAC_V_HVAC_FLOW_MODE(ID_S_HVAC, V_HVAC_FLOW_MODE); +//MyMessage msg_S_HVAC_V_HVAC_SPEED(ID_S_HVAC, V_HVAC_SPEED); float hvac_SetPointHeat = 16.5; float hvac_SetPointCool = 25.5; @@ -289,9 +292,9 @@ String hvac_Speed = "Normal"; #endif #ifdef ID_S_MULTIMETER -MyMessage msg_S_MULTIMETER_V_IMPEDANCE(ID_S_MULTIMETER,V_IMPEDANCE); -MyMessage msg_S_MULTIMETER_V_VOLTAGE(ID_S_MULTIMETER,V_VOLTAGE); -MyMessage msg_S_MULTIMETER_V_CURRENT(ID_S_MULTIMETER,V_CURRENT); +//MyMessage msg_S_MULTIMETER_V_IMPEDANCE(ID_S_MULTIMETER, V_IMPEDANCE); +//MyMessage msg_S_MULTIMETER_V_VOLTAGE(ID_S_MULTIMETER, V_VOLTAGE); +//MyMessage msg_S_MULTIMETER_V_CURRENT(ID_S_MULTIMETER, V_CURRENT); // Multimeter device V_VOLTAGE, V_CURRENT, V_IMPEDANCE // V_IMPEDANCE 14 Impedance value @@ -316,15 +319,15 @@ MyMessage msg_S_MULTIMETER_V_CURRENT(ID_S_MULTIMETER,V_CURRENT); #endif #ifdef ID_S_MOISTURE -MyMessage msg_S_MOISTURE(ID_S_MOISTURE,V_LEVEL); +//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); -MyMessage msg_S_CUSTOM_3(ID_S_CUSTOM,V_VAR3); -MyMessage msg_S_CUSTOM_4(ID_S_CUSTOM,V_VAR4); -MyMessage msg_S_CUSTOM_5(ID_S_CUSTOM,V_VAR5); +//MyMessage msg_S_CUSTOM_1(ID_S_CUSTOM, V_VAR1); +//MyMessage msg_S_CUSTOM_2(ID_S_CUSTOM, V_VAR2); +//MyMessage msg_S_CUSTOM_3(ID_S_CUSTOM, V_VAR3); +//MyMessage msg_S_CUSTOM_4(ID_S_CUSTOM, V_VAR4); +//MyMessage msg_S_CUSTOM_5(ID_S_CUSTOM, V_VAR5); #endif @@ -332,203 +335,203 @@ MyMessage msg_S_CUSTOM_5(ID_S_CUSTOM,V_VAR5); void setup() { - // Random SEED - randomSeed(analogRead(0)); + // Random SEED + randomSeed(analogRead(0)); - wait(LONG_WAIT); - Serial.println("GW Started"); + wait(LONG_WAIT); + Serial.println(F("GW Started")); } void presentation() { - // Send the Sketch Version Information to the Gateway - Serial.print("Send Sketch Info: "); - sendSketchInfo(SKETCH_NAME, SKETCH_VERSION); - Serial.print(SKETCH_NAME); - Serial.println(SKETCH_VERSION); - wait(LONG_WAIT); + // Send the Sketch Version Information to the Gateway + Serial.print("Send Sketch Info: "); + sendSketchInfo(SKETCH_NAME, SKETCH_VERSION); + Serial.print(SKETCH_NAME); + Serial.println(SKETCH_VERSION); + wait(LONG_WAIT); - // Get controller configuration - Serial.print("Get Config: "); - metric = getControllerConfig().isMetric; - Serial.println(metric ? "Metric":"Imperial"); - wait(LONG_WAIT); + // Get controller configuration + Serial.print(F("Get Config: ")); + metric = getControllerConfig().isMetric; + Serial.println(metric ? F("Metric") : F("Imperial")); + wait(LONG_WAIT); - // Init Armed + // Init Armed #ifdef ID_S_ARMED - isArmed = true; + isArmed = true; #endif - // Register all sensors to gw (they will be created as child devices) - Serial.println("Presenting Nodes"); - Serial.println("________________"); + // Register all sensors to gw (they will be created as child devices) + Serial.println(F("Presenting Nodes")); + Serial.println(F("________________")); #ifdef ID_S_DOOR - Serial.println(" S_DOOR"); - present(ID_S_DOOR,S_DOOR,"Outside Door"); - wait(SHORT_WAIT); + Serial.println(F(" S_DOOR")); + present(ID_S_DOOR, S_DOOR, "Outside Door"); + wait(SHORT_WAIT); #endif #ifdef ID_S_MOTION - Serial.println(" S_MOTION"); - present(ID_S_MOTION,S_MOTION,"Outside Motion"); - wait(SHORT_WAIT); + Serial.println(F(" S_MOTION")); + present(ID_S_MOTION, S_MOTION, "Outside Motion"); + wait(SHORT_WAIT); #endif #ifdef ID_S_SMOKE - Serial.println(" S_SMOKE"); - present(ID_S_SMOKE,S_SMOKE,"Kitchen Smoke"); - wait(SHORT_WAIT); + Serial.println(F(" S_SMOKE")); + present(ID_S_SMOKE, S_SMOKE, "Kitchen Smoke"); + wait(SHORT_WAIT); #endif #ifdef ID_S_LIGHT - Serial.println(" S_LIGHT"); - present(ID_S_LIGHT,S_LIGHT,"Hall Light"); - wait(SHORT_WAIT); + Serial.println(F(" S_LIGHT")); + present(ID_S_LIGHT, S_LIGHT, "Hall Light"); + wait(SHORT_WAIT); #endif #ifdef ID_S_DIMMER - Serial.println(" S_DIMMER"); - present(ID_S_DIMMER,S_DIMMER,"Living room dimmer"); - wait(SHORT_WAIT); + Serial.println(F(" S_DIMMER")); + present(ID_S_DIMMER, S_DIMMER, "Living room dimmer"); + wait(SHORT_WAIT); #endif #ifdef ID_S_COVER - Serial.println(" S_COVER"); - present(ID_S_COVER,S_COVER,"Window cover"); - wait(SHORT_WAIT); + Serial.println(F(" S_COVER")); + present(ID_S_COVER, S_COVER, "Window cover"); + wait(SHORT_WAIT); #endif #ifdef ID_S_TEMP - Serial.println(" S_TEMP"); - present(ID_S_TEMP,S_TEMP,"House Temperarue"); - wait(SHORT_WAIT); + Serial.println(F(" S_TEMP")); + present(ID_S_TEMP, S_TEMP, "House Temperarue"); + wait(SHORT_WAIT); #endif #ifdef ID_S_HUM - Serial.println(" S_HUM"); - present(ID_S_HUM,S_HUM,"Current Humidity"); - wait(SHORT_WAIT); + Serial.println(F(" S_HUM")); + present(ID_S_HUM, S_HUM, "Current Humidity"); + wait(SHORT_WAIT); #endif #ifdef ID_S_BARO - Serial.println(" S_BARO"); - present(ID_S_BARO,S_BARO," Air pressure"); - wait(SHORT_WAIT); + Serial.println(F(" S_BARO")); + present(ID_S_BARO, S_BARO, " Air pressure"); + wait(SHORT_WAIT); #endif #ifdef ID_S_WIND - Serial.println(" S_WIND"); - present(ID_S_WIND,S_WIND,"Wind Station"); - wait(SHORT_WAIT); + Serial.println(F(" S_WIND")); + present(ID_S_WIND, S_WIND, "Wind Station"); + wait(SHORT_WAIT); #endif #ifdef ID_S_RAIN - Serial.println(" S_RAIN"); - present(ID_S_RAIN,S_RAIN,"Rain Station"); - wait(SHORT_WAIT); + Serial.println(F(" S_RAIN")); + present(ID_S_RAIN, S_RAIN, "Rain Station"); + wait(SHORT_WAIT); #endif #ifdef ID_S_UV - Serial.println(" S_UV"); - present(ID_S_UV,S_UV,"Ultra Violet"); - wait(SHORT_WAIT); + Serial.println(F(" S_UV")); + present(ID_S_UV, S_UV, "Ultra Violet"); + wait(SHORT_WAIT); #endif #ifdef ID_S_WEIGHT - Serial.println(" S_WEIGHT"); - present(ID_S_WEIGHT,S_WEIGHT,"Outdoor Scale"); - wait(SHORT_WAIT); + Serial.println(F(" S_WEIGHT")); + present(ID_S_WEIGHT, S_WEIGHT, "Outdoor Scale"); + wait(SHORT_WAIT); #endif #ifdef ID_S_POWER - Serial.println(" S_POWER"); - present(ID_S_POWER,S_POWER,"Power Metric"); - wait(SHORT_WAIT); + Serial.println(F(" S_POWER")); + present(ID_S_POWER, S_POWER, "Power Metric"); + wait(SHORT_WAIT); #endif #ifdef ID_S_HEATER - Serial.println(" S_HEATER"); - present(ID_S_HEATER,S_HEATER,"Garage Heater"); - wait(SHORT_WAIT); + Serial.println(F(" S_HEATER")); + present(ID_S_HEATER, S_HEATER, "Garage Heater"); + wait(SHORT_WAIT); #endif #ifdef ID_S_DISTANCE - Serial.println(" S_DISTANCE"); - present(ID_S_DISTANCE,S_DISTANCE,"Distance Measure"); - wait(SHORT_WAIT); + Serial.println(F(" S_DISTANCE")); + present(ID_S_DISTANCE, S_DISTANCE, "Distance Measure"); + wait(SHORT_WAIT); #endif #ifdef ID_S_LIGHT_LEVEL - Serial.println(" S_LIGHT_LEVEL"); - present(ID_S_LIGHT_LEVEL,S_LIGHT_LEVEL,"Outside Light Level"); - wait(SHORT_WAIT); + Serial.println(F(" S_LIGHT_LEVEL")); + present(ID_S_LIGHT_LEVEL, S_LIGHT_LEVEL, "Outside Light Level"); + wait(SHORT_WAIT); #endif #ifdef ID_S_LOCK - Serial.println(" S_LOCK"); - present(ID_S_LOCK,S_LOCK,"Front Door Lock"); - wait(SHORT_WAIT); + Serial.println(F(" S_LOCK")); + present(ID_S_LOCK, S_LOCK, "Front Door Lock"); + wait(SHORT_WAIT); #endif #ifdef ID_S_IR - Serial.println(" S_IR"); - present(ID_S_IR,S_IR,"Univeral Command"); - wait(SHORT_WAIT); + Serial.println(F(" S_IR")); + present(ID_S_IR, S_IR, "Univeral Command"); + wait(SHORT_WAIT); #endif #ifdef ID_S_WATER - Serial.println(" S_WATER"); - present(ID_S_WATER,S_WATER,"Water Level"); - wait(SHORT_WAIT); + Serial.println(F(" S_WATER")); + present(ID_S_WATER, S_WATER, "Water Level"); + wait(SHORT_WAIT); #endif #ifdef ID_S_AIR_QUALITY - Serial.println(" S_AIR_QUALITY"); - present(ID_S_AIR_QUALITY,S_AIR_QUALITY,"Air Station"); - wait(SHORT_WAIT); + Serial.println(F(" S_AIR_QUALITY")); + present(ID_S_AIR_QUALITY, S_AIR_QUALITY, "Air Station"); + wait(SHORT_WAIT); #endif #ifdef ID_S_DUST - Serial.println(" S_DUST"); - present(ID_S_DUST,S_DUST,"Dust Level"); - wait(SHORT_WAIT); + Serial.println(F(" S_DUST")); + present(ID_S_DUST, S_DUST, "Dust Level"); + wait(SHORT_WAIT); #endif #ifdef ID_S_SCENE_CONTROLLER - Serial.println(" S_SCENE_CONTROLLER"); - present(ID_S_SCENE_CONTROLLER,S_SCENE_CONTROLLER,"Scene Controller"); - wait(SHORT_WAIT); + Serial.println(F(" S_SCENE_CONTROLLER")); + present(ID_S_SCENE_CONTROLLER, S_SCENE_CONTROLLER, "Scene Controller"); + wait(SHORT_WAIT); #endif #ifdef ID_S_RGB_LIGHT - Serial.println(" RGB_LIGHT"); - present(ID_S_RGB_LIGHT,S_RGB_LIGHT,"Mood Light"); - wait(SHORT_WAIT); + Serial.println(F(" RGB_LIGHT")); + present(ID_S_RGB_LIGHT, S_RGB_LIGHT, "Mood Light"); + wait(SHORT_WAIT); #endif #ifdef ID_S_RGBW_LIGHT - Serial.println(" RGBW_LIGHT"); - present(ID_S_RGBW_LIGHT,S_RGBW_LIGHT,"Mood Light 2"); - wait(SHORT_WAIT); + Serial.println(F(" RGBW_LIGHT")); + present(ID_S_RGBW_LIGHT, S_RGBW_LIGHT, "Mood Light 2"); + wait(SHORT_WAIT); #endif #ifdef ID_S_COLOR_SENSOR - Serial.println(" COLOR_SENSOR"); - present(ID_S_COLOR_SENSOR,S_COLOR_SENSOR,"Hall Painting"); - wait(SHORT_WAIT); + Serial.println(F(" COLOR_SENSOR")); + present(ID_S_COLOR_SENSOR, S_COLOR_SENSOR, "Hall Painting"); + wait(SHORT_WAIT); #endif #ifdef ID_S_HVAC - Serial.println(" HVAC"); - present(ID_S_HVAC,S_HVAC,"HVAC"); - wait(SHORT_WAIT); + Serial.println(F(" HVAC")); + present(ID_S_HVAC, S_HVAC, "HVAC"); + wait(SHORT_WAIT); #endif #ifdef ID_S_MULTIMETER - Serial.println(" MULTIMETER"); - present(ID_S_MULTIMETER,S_MULTIMETER,"Electric Staion"); - wait(SHORT_WAIT); + Serial.println(F(" MULTIMETER")); + present(ID_S_MULTIMETER, S_MULTIMETER, "Electric Staion"); + wait(SHORT_WAIT); #endif #ifdef ID_S_SPRINKLER @@ -543,154 +546,154 @@ void presentation() #endif #ifdef ID_S_MOISTURE - Serial.println(" S_MOISTURE"); - present(ID_S_MOISTURE,S_MOISTURE,"Basement Sensor"); - wait(SHORT_WAIT); + Serial.println(F(" S_MOISTURE")); + present(ID_S_MOISTURE, S_MOISTURE, "Basement Sensor"); + wait(SHORT_WAIT); #endif #ifdef ID_S_CUSTOM - Serial.println(" S_CUSTOM"); - present(ID_S_CUSTOM,S_CUSTOM,"Other Stuff"); - wait(SHORT_WAIT); + Serial.println(F(" S_CUSTOM")); + present(ID_S_CUSTOM, S_CUSTOM, "Other Stuff"); + wait(SHORT_WAIT); #endif - Serial.println("________________"); + Serial.println(F("________________")); } void loop() { - Serial.println(""); - Serial.println(""); - Serial.println(""); - Serial.println("#########################"); - randNumber=random(0,101); + Serial.println(); + Serial.println(); + Serial.println(); + Serial.println(F("#########################")); + randNumber = random(0, 101); - Serial.print("RandomNumber:"); - Serial.println(randNumber); - // Send fake battery level - Serial.println("Send Battery Level"); - sendBatteryLevel(randNumber); - wait(LONG_WAIT); + Serial.print(F("RandomNumber:")); + Serial.println(randNumber); + // Send fake battery level + Serial.println(F("Send Battery Level")); + sendBatteryLevel(randNumber); + wait(LONG_WAIT); - // Request time - Serial.println("Request Time"); - requestTime(); - wait(LONG_WAIT); + // Request time + Serial.println(F("Request Time")); + requestTime(); + wait(LONG_WAIT); - //Read Sensors + //Read Sensors #ifdef ID_S_DOOR - door(); + door(); #endif #ifdef ID_S_MOTION - motion(); + motion(); #endif #ifdef ID_S_SMOKE - smoke(); + smoke(); #endif #ifdef ID_S_LIGHT - light(); + light(); #endif #ifdef ID_S_DIMMER - dimmer(); + dimmer(); #endif #ifdef ID_S_COVER - cover(); + cover(); #endif #ifdef ID_S_TEMP - temp(); + temp(); #endif #ifdef ID_S_HUM - hum(); + hum(); #endif #ifdef ID_S_BARO - baro(); + baro(); #endif #ifdef ID_S_WIND - wind(); + wind(); #endif #ifdef ID_S_RAIN - rain(); + rain(); #endif #ifdef ID_S_UV - uv(); + uv(); #endif #ifdef ID_S_WEIGHT - weight(); + weight(); #endif #ifdef ID_S_POWER - power(); + power(); #endif #ifdef ID_S_HEATER - heater(); + heater(); #endif #ifdef ID_S_DISTANCE - distance(); + distance(); #endif #ifdef ID_S_LIGHT_LEVEL - light_level(); + light_level(); #endif #ifdef ID_S_LOCK - lock(); + lock(); #endif #ifdef ID_S_IR - ir(); + ir(); #endif #ifdef ID_S_WATER - water(); + water(); #endif #ifdef ID_S_AIR_QUALITY - air(); + air(); #endif #ifdef ID_S_DUST - dust(); + dust(); #endif #ifdef ID_S_SCENE_CONTROLLER - scene(); + scene(); #endif #ifdef ID_S_RGB_LIGHT - rgbLight(); + rgbLight(); #endif #ifdef ID_S_RGBW_LIGHT - rgbwLight(); + rgbwLight(); #endif #ifdef ID_S_COLOR_SENSOR - color(); + color(); #endif #ifdef ID_S_HVAC - hvac(); + hvac(); #endif #ifdef ID_S_MULTIMETER - multimeter(); + multimeter(); #endif #ifdef ID_S_SPRINKLER @@ -705,25 +708,25 @@ void loop() #endif #ifdef ID_S_MOISTURE - moisture(); + moisture(); #endif #ifdef ID_S_CUSTOM - custom(); + custom(); #endif - sendBatteryLevel(randNumber); - wait(SHORT_WAIT); - Serial.println("#########################"); - wait(SLEEP_TIME); //sleep a bit + sendBatteryLevel(randNumber); + wait(SHORT_WAIT); + Serial.println(F("#########################")); + wait(SLEEP_TIME); //sleep a bit } // This is called when a new time value was received void receiveTime(unsigned long controllerTime) { - Serial.print("Time value received: "); - Serial.println(controllerTime); + Serial.print(F("Time value received: ")); + Serial.println(controllerTime); } @@ -733,19 +736,28 @@ void receiveTime(unsigned long controllerTime) void door() { - Serial.print("Door is: " ); + Serial.print("Door is: " ); - if (randNumber <= 50) { - Serial.println("Open"); - send(msg_S_DOOR_T.set((int16_t)1)); - } else { - Serial.println("Closed"); - send(msg_S_DOOR_T.set((int16_t)0)); - } + if (randNumber <= 50) { + Serial.println(F("Open")); + //ID_S_DOOR,V_TRIPPED + msg_generic.setSensor(ID_S_DOOR); + msg_generic.setType(V_TRIPPED); + send(msg_generic.set((int16_t)1)); + } else { + Serial.println(F("Closed")); + //ID_S_DOOR,V_TRIPPED + msg_generic.setSensor(ID_S_DOOR); + msg_generic.setType(V_TRIPPED); + send(msg_generic.set((int16_t)0)); + } #ifdef ID_S_ARMED - Serial.print("System is: " ); - Serial.println((isArmed ? "Armed":"Disarmed")); - send(msg_S_DOOR_A.set(isArmed)); + Serial.print(F("System is: ") ); + Serial.println((isArmed ? F("Armed") : F("Disarmed"))); + //ID_S_DOOR,V_ARMED + msg_generic.setSensor(ID_S_DOOR); + msg_generic.setType(V_ARMED); + send(msg_generic.set(isArmed)); #endif } #endif @@ -754,20 +766,27 @@ void door() void motion() { - Serial.print("Motion is: " ); + Serial.print(F("Motion is: ")); - if (randNumber <= 50) { - Serial.println("Active"); - send(msg_S_MOTION_T.set(1)); - } else { - Serial.println("Quiet"); - send(msg_S_MOTION_T.set(0)); - } + if (randNumber <= 50) { + Serial.println(F("Active")); + msg_generic.setSensor(ID_S_MOTION); + msg_generic.setType(V_TRIPPED); + send(msg_generic.set(1)); + } else { + Serial.println(F("Quiet")); + //MyMessage msg_S_MOTION_T(ID_S_MOTION,V_TRIPPED); + msg_generic.setSensor(ID_S_MOTION); + msg_generic.setType(V_TRIPPED); + send(msg_generic.set(0)); + } #ifdef ID_S_ARMED - Serial.print("System is: " ); - Serial.println((isArmed ? "Armed":"Disarmed")); - send(msg_S_MOTION_A.set(isArmed)); + Serial.print(F("System is: ")); + Serial.println((isArmed ? F("Armed") : F("Disarmed"))); + msg_generic.setSensor(ID_S_MOTION); + msg_generic.setType(V_ARMED); + send(msg_generic.set(isArmed)); #endif } #endif @@ -776,20 +795,26 @@ void motion() void smoke() { - Serial.print("Smoke is: " ); + Serial.print(F("Smoke is: ")); - if (randNumber <= 50) { - Serial.println("Active"); - send(msg_S_SMOKE_T.set(1)); - } else { - Serial.println("Quiet"); - send(msg_S_SMOKE_T.set(0)); - } + if (randNumber <= 50) { + Serial.println(F("Active")); + msg_generic.setSensor(ID_S_SMOKE); + msg_generic.setType(V_TRIPPED); + send(msg_generic.set(1)); + } else { + Serial.println(F("Quiet")); + msg_generic.setSensor(ID_S_SMOKE); + msg_generic.setType(V_TRIPPED); + send(msg_generic.set(0)); + } #ifdef ID_S_ARMED - Serial.print("System is: " ); - Serial.println((isArmed ? "Armed":"Disarmed")); - send(msg_S_SMOKE_A.set(isArmed)); + Serial.print(F("System is: ")); + Serial.println((isArmed ? F("Armed") : F("Disarmed"))); + msg_generic.setSensor(ID_S_SMOKE); + msg_generic.setType(V_ARMED); + send(msg_generic.set(isArmed)); #endif } @@ -799,10 +824,11 @@ void smoke() void light() { - Serial.print("Light is: " ); - Serial.println((isLightOn ? "On":"Off")); - - send(msg_S_LIGHT.set(isLightOn)); + Serial.print(F("Light is: ")); + Serial.println((isLightOn ? F("On") : F("Off"))); + msg_generic.setSensor(ID_S_LIGHT); + msg_generic.setType(V_LIGHT); + send(msg_generic.set(isLightOn)); } #endif @@ -811,10 +837,11 @@ void light() void dimmer() { - Serial.print("Dimmer is set to: " ); - Serial.println(dimmerVal); - - send(msg_S_DIMMER.set(dimmerVal)); + Serial.print(F("Dimmer is set to: ")); + Serial.println(dimmerVal); + msg_generic.setSensor(ID_S_DIMMER); + msg_generic.setType(V_DIMMER); + send(msg_generic.set(dimmerVal)); } #endif @@ -823,19 +850,27 @@ void dimmer() void cover() { - Serial.print("Cover is : " ); + Serial.print(F("Cover is : ")); - if (coverState == 1) { - Serial.println("Opening"); - send(msg_S_COVER_U.set(1)); - } else if (coverState == -1) { - Serial.println("Closing"); - send(msg_S_COVER_D.set(0)); - } else { - Serial.println("Idle"); - send(msg_S_COVER_S.set(-1)); - } - send(msg_S_COVER_V.set(coverState)); + if (coverState == 1) { + Serial.println(F("Opening")); + msg_generic.setSensor(ID_S_COVER); + msg_generic.setType(V_UP); + send(msg_generic.set(1)); + } else if (coverState == -1) { + Serial.println(F("Closing")); + msg_generic.setSensor(ID_S_COVER); + msg_generic.setType(V_DOWN); + send(msg_generic.set(0)); + } else { + Serial.println(F("Idle")); + msg_generic.setSensor(ID_S_COVER); + msg_generic.setType(V_STOP); + send(msg_generic.set(-1)); + } + msg_generic.setSensor(ID_S_COVER); + msg_generic.setType(V_VAR1); + send(msg_generic.set(coverState)); } #endif @@ -843,10 +878,11 @@ void cover() void temp() { - Serial.print("Temperature is: " ); - Serial.println(map(randNumber,1,100,0,45)); - - send(msg_S_TEMP.set(map(randNumber,1,100,0,45))); + Serial.print(F("Temperature is: ")); + Serial.println(map(randNumber, 1, 100, 0, 45)); + msg_generic.setSensor(ID_S_TEMP); + msg_generic.setType(V_TEMP); + send(msg_generic.set(map(randNumber, 1, 100, 0, 45))); } #endif @@ -855,10 +891,11 @@ void temp() void hum() { - Serial.print("Humitidty is: " ); - Serial.println(randNumber); - - send(msg_S_HUM.set(randNumber)); + Serial.print(F("Humitidty is: ")); + Serial.println(randNumber); + msg_generic.setSensor(ID_S_HUM); + msg_generic.setType(V_HUM); + send(msg_generic.set(randNumber)); } #endif @@ -867,17 +904,21 @@ void hum() void baro() { - const char *weather[] = {"stable","sunny","cloudy","unstable","thunderstorm","unknown"}; - long pressure = map(randNumber,1,100,870,1086);// hPa? - int forecast = map(randNumber,1,100,0,5); + const char *weather[] = {"stable", "sunny", "cloudy", "unstable", "thunderstorm", "unknown"}; + long pressure = map(randNumber, 1, 100, 870, 1086); // hPa? + int forecast = map(randNumber, 1, 100, 0, 5); - Serial.print("Atmosferic Pressure is: " ); - Serial.println(pressure); - send(msg_S_BARO_P.set(pressure)); + Serial.print("Atmosferic Pressure is: " ); + Serial.println(pressure); + msg_generic.setSensor(ID_S_BARO); + msg_generic.setType(V_PRESSURE); + send(msg_generic.set(pressure)); - Serial.print("Weather forecast: " ); - Serial.println(weather[forecast]); - send(msg_S_BARO_F.set(weather[forecast])); + Serial.print("Weather forecast: " ); + Serial.println(weather[forecast]); + msg_generic.setSensor(ID_S_BARO); + msg_generic.setType(V_FORECAST); + send(msg_generic.set(weather[forecast])); } #endif @@ -886,17 +927,23 @@ void baro() void wind() { - Serial.print("Wind Speed is: " ); - Serial.println(randNumber); - send(msg_S_WIND_S.set(randNumber)); + Serial.print(F("Wind Speed is: ")); + Serial.println(randNumber); + msg_generic.setSensor(ID_S_WIND); + msg_generic.setType(V_WIND); + send(msg_generic.set(randNumber)); - Serial.print("Wind Gust is: " ); - Serial.println(randNumber+10); - send(msg_S_WIND_G.set(randNumber+10)); + Serial.print(F("Wind Gust is: ")); + Serial.println(randNumber + 10); + msg_generic.setSensor(ID_S_WIND); + msg_generic.setType(V_GUST); + send(msg_generic.set(randNumber + 10)); - Serial.print("Wind Direction is: " ); - Serial.println(map(randNumber,1,100,0,360)); - send(msg_S_WIND_D.set(map(randNumber,1,100,0,360))); + Serial.print(F("Wind Direction is: ")); + Serial.println(map(randNumber, 1, 100, 0, 360)); + msg_generic.setSensor(ID_S_WIND); + msg_generic.setType(V_DIRECTION); + send(msg_generic.set(map(randNumber, 1, 100, 0, 360))); } #endif @@ -905,15 +952,17 @@ void wind() void rain() { - Serial.print("Rain ammount is: " ); - Serial.println(randNumber); + Serial.print(F("Rain ammount is: ")); + Serial.println(randNumber); + msg_generic.setSensor(ID_S_RAIN); + msg_generic.setType(V_RAIN); + send(msg_generic.set(randNumber)); - send(msg_S_RAIN_A.set(randNumber)); - - Serial.print("Rain rate is: " ); - Serial.println(randNumber/60); - - send(msg_S_RAIN_R.set(randNumber/60,1)); + Serial.print(F("Rain rate is: ")); + Serial.println(randNumber / 60); + msg_generic.setSensor(ID_S_RAIN); + msg_generic.setType(V_RAINRATE); + send(msg_generic.set(randNumber / 60, 1)); } #endif @@ -922,10 +971,11 @@ void rain() void uv() { - Serial.print("Ultra Violet level is: " ); - Serial.println(map(randNumber,1,100,0,15)); - - send(msg_S_UV.set(map(randNumber,1,100,0,15))); + Serial.print(F("Ultra Violet level is: ")); + Serial.println(map(randNumber, 1, 100, 0, 15)); + msg_generic.setSensor(ID_S_UV); + msg_generic.setType(V_UV); + send(msg_generic.set(map(randNumber, 1, 100, 0, 15))); } #endif @@ -934,10 +984,11 @@ void uv() void weight() { - Serial.print("Weight is: " ); - Serial.println(map(randNumber,1,100,0,150)); - - send(msg_S_WEIGHT.set(map(randNumber,1,100,0,150))); + Serial.print(F("Weight is: ")); + Serial.println(map(randNumber, 1, 100, 0, 150)); + msg_generic.setSensor(ID_S_WEIGHT); + msg_generic.setType(V_WEIGHT); + send(msg_generic.set(map(randNumber, 1, 100, 0, 150))); } #endif @@ -946,13 +997,17 @@ void weight() void power() { - Serial.print("Watt is: " ); - Serial.println(map(randNumber,1,100,0,150)); - send(msg_S_POWER_W.set(map(randNumber,1,100,0,150))); + Serial.print(F("Watt is: ")); + Serial.println(map(randNumber, 1, 100, 0, 150)); + msg_generic.setSensor(ID_S_POWER); + msg_generic.setType(V_WATT); + send(msg_generic.set(map(randNumber, 1, 100, 0, 150))); - Serial.print("KWH is: " ); - Serial.println(map(randNumber,1,100,0,150)); - send(msg_S_POWER_K.set(map(randNumber,1,100,0,150))); + msg_generic.setSensor(ID_S_POWER); + msg_generic.setType(V_KWH); + Serial.print(F("KWH is: ")); + Serial.println(map(randNumber, 1, 100, 0, 150)); + send(msg_generic.set(map(randNumber, 1, 100, 0, 150))); } #endif @@ -960,26 +1015,30 @@ void power() #ifdef ID_S_HEATER void heater() { - // float heater_setpoint=21.5; - // float heater_temp=23.5; - // bool heater_status=false; - // String heatState="Off"; + // float heater_setpoint=21.5; + // float heater_temp=23.5; + // bool heater_status=false; + // String heatState="Off"; - Serial.print("Heater flow state is: " ); - Serial.println(heater_flow_state); - send(msg_S_HEATER_FLOW_STATE.set(heater_flow_state.c_str())); + Serial.print(F("Heater flow state is: ")); + Serial.println(heater_flow_state); + msg_generic.setSensor(ID_S_HEATER); + msg_generic.setType(V_HVAC_FLOW_STATE); + send(msg_generic.set(heater_flow_state.c_str())); - // Serial.print("Heater on/off is: " ); - // Serial.println((heater_status==true)?"On":"Off"); - // send(msg_S_HEATER_STATUS.set(heater_status)); + // Serial.print("Heater on/off is: " ); + // Serial.println((heater_status==true)?"On":"Off"); + // send(msg_S_HEATER_STATUS.set(heater_status)); - // Serial.print("Heater Temperature is: " ); - // Serial.println(heater_temp,1); - // send(msg_S_HEATER_TEMP.set(heater_temp,1)); + // Serial.print("Heater Temperature is: " ); + // Serial.println(heater_temp,1); + // send(msg_S_HEATER_TEMP.set(heater_temp,1)); - Serial.print("Heater Setpoint: " ); - Serial.println(heater_setpoint,1); - send(msg_S_HEATER_SET_POINT.set(heater_setpoint,1)); + Serial.print(F("Heater Setpoint: ")); + Serial.println(heater_setpoint, 1); + msg_generic.setSensor(ID_S_HEATER); + msg_generic.setType(V_HVAC_SETPOINT_HEAT); + send(msg_generic.set(heater_setpoint, 1)); } #endif @@ -987,10 +1046,11 @@ void heater() void distance() { - Serial.print("Distance is: " ); - Serial.println(map(randNumber,1,100,0,150)); - - send(msg_S_DISTANCE.set(map(randNumber,1,100,0,150))); + Serial.print(F("Distance is: ")); + Serial.println(map(randNumber, 1, 100, 0, 150)); + msg_generic.setSensor(ID_S_DISTANCE); + msg_generic.setType(V_DISTANCE); + send(msg_generic.set(map(randNumber, 1, 100, 0, 150))); } #endif @@ -999,10 +1059,11 @@ void distance() void light_level() { - Serial.print("Light is: " ); - Serial.println(map(randNumber,1,100,0,150)); - - send(msg_S_LIGHT_LEVEL.set(map(randNumber,1,100,0,150))); + Serial.print(F("Light is: ")); + Serial.println(map(randNumber, 1, 100, 0, 150)); + msg_generic.setSensor(ID_S_LIGHT_LEVEL); + msg_generic.setType(V_LIGHT_LEVEL); + send(msg_generic.set(map(randNumber, 1, 100, 0, 150))); } #endif @@ -1011,9 +1072,11 @@ void light_level() void lock() { - Serial.print("Lock is: " ); - Serial.println((isLocked ? "Locked":"Unlocked")); - send(msg_S_LOCK.set(isLocked)); + Serial.print(F("Lock is: ")); + Serial.println((isLocked ? F("Locked") : F("Unlocked"))); + msg_generic.setSensor(ID_S_LOCK); + msg_generic.setType(V_LOCK_STATUS); + send(msg_generic.set(isLocked)); } #endif @@ -1022,11 +1085,14 @@ void lock() void ir() { - Serial.print("Infrared is: " ); - Serial.println(irVal); - - send(msg_S_IR_S.set(irVal)); - send(msg_S_IR_R.set(irVal)); + Serial.print(F("Infrared is: ")); + Serial.println(irVal); + msg_generic.setSensor(ID_S_IR); + msg_generic.setType(V_IR_SEND); + send(msg_generic.set(irVal)); + msg_generic.setSensor(ID_S_IR); + msg_generic.setType(V_IR_RECEIVE); + send(msg_generic.set(irVal)); } #endif @@ -1035,15 +1101,17 @@ void ir() void water() { - Serial.print("Water flow is: " ); - Serial.println(map(randNumber,1,100,0,150)); + Serial.print(F("Water flow is: ")); + Serial.println(map(randNumber, 1, 100, 0, 150)); + msg_generic.setSensor(ID_S_WATER); + msg_generic.setType(V_FLOW); + send(msg_generic.set(map(randNumber, 1, 100, 0, 150))); - send(msg_S_WATER_F.set(map(randNumber,1,100,0,150))); - - Serial.print("Water volume is: " ); - Serial.println(map(randNumber,1,100,0,150)); - - send(msg_S_WATER_V.set(map(randNumber,1,100,0,150))); + Serial.print(F("Water volume is: ")); + Serial.println(map(randNumber, 1, 100, 0, 150)); + msg_generic.setSensor(ID_S_WATER); + msg_generic.setType(V_VOLUME); + send(msg_generic.set(map(randNumber, 1, 100, 0, 150))); } #endif @@ -1052,10 +1120,11 @@ void water() void air() { - Serial.print("Air Quality is: " ); - Serial.println(randNumber); - - send(msg_S_AIR_QUALITY.set(randNumber)); + Serial.print(F("Air Quality is: ")); + Serial.println(randNumber); + msg_generic.setSensor(ID_S_AIR_QUALITY); + msg_generic.setType(V_LEVEL); + send(msg_generic.set(randNumber)); } #endif @@ -1064,10 +1133,11 @@ void air() void dust() { - Serial.print("Dust level is: " ); - Serial.println(randNumber); - - send(msg_S_DUST.set(randNumber)); + Serial.print(F("Dust level is: ")); + Serial.println(randNumber); + msg_generic.setSensor(ID_S_DUST); + msg_generic.setType(V_LEVEL); + send(msg_generic.set(randNumber)); } #endif @@ -1076,14 +1146,19 @@ void dust() void scene() { - Serial.print("Scene is: " ); - Serial.println(scenes[sceneVal]); + Serial.print(F("Scene is: ")); + Serial.println(scenes[sceneVal]); - if(sceneValPrevious != sceneVal) { - send(msg_S_SCENE_CONTROLLER_OF.set(sceneValPrevious)); - send(msg_S_SCENE_CONTROLLER_ON.set(sceneVal)); - sceneValPrevious=sceneVal; - } + if (sceneValPrevious != sceneVal) { + msg_generic.setSensor(ID_S_SCENE_CONTROLLER); + msg_generic.setType(V_SCENE_OFF); + send(msg_generic.set(sceneValPrevious)); + + msg_generic.setSensor(ID_S_SCENE_CONTROLLER); + msg_generic.setType(V_SCENE_ON); + send(msg_generic.set(sceneVal)); + sceneValPrevious = sceneVal; + } } #endif @@ -1092,13 +1167,17 @@ void scene() void rgbLight() { - Serial.print("RGB Light state is: " ); - Serial.println(rgbState); - send(msg_S_RGB_LIGHT_V_RGB.set(rgbState.c_str())); + Serial.print(F("RGB Light state is: ")); + Serial.println(rgbState); + msg_generic.setSensor(ID_S_RGB_LIGHT); + msg_generic.setType(V_RGB); + send(msg_generic.set(rgbState.c_str())); - Serial.print("RGB Light Watt is: " ); - Serial.println(map(randNumber,1,100,0,150)); - send(msg_S_RGB_LIGHT_V_WATT.set(map(randNumber,1,100,0,150))); + Serial.print(F("RGB Light Watt is: ")); + Serial.println(map(randNumber, 1, 100, 0, 150)); + msg_generic.setSensor(ID_S_RGB_LIGHT); + msg_generic.setType(V_WATT); + send(msg_generic.set(map(randNumber, 1, 100, 0, 150))); } #endif @@ -1107,13 +1186,17 @@ void rgbLight() void rgbwLight() { - Serial.print("RGBW Light state is: " ); - Serial.println(rgbwState); - send(msg_S_RGBW_LIGHT_V_RGBW.set(rgbwState.c_str())); + Serial.print(F("RGBW Light state is: ")); + Serial.println(rgbwState); + msg_generic.setSensor(ID_S_RGBW_LIGHT); + msg_generic.setType(V_RGBW); + send(msg_generic.set(rgbwState.c_str())); - Serial.print("RGBW Light Watt is: " ); - Serial.println(map(randNumber,1,100,0,150)); - send(msg_S_RGBW_LIGHT_V_WATT.set(map(randNumber,1,100,0,150))); + Serial.print(F("RGBW Light Watt is: ")); + Serial.println(map(randNumber, 1, 100, 0, 150)); + msg_generic.setSensor(ID_S_RGBW_LIGHT); + msg_generic.setType(V_WATT); + send(msg_generic.set(map(randNumber, 1, 100, 0, 150))); } #endif @@ -1121,17 +1204,19 @@ void rgbwLight() #ifdef ID_S_COLOR_SENSOR void color() { - String colorState; + String colorState; - String red = String(random(0,256),HEX); - String green = String(random(0,256),HEX); - String blue = String(random(0,256),HEX); + String red = String(random(0, 256), HEX); + String green = String(random(0, 256), HEX); + String blue = String(random(0, 256), HEX); - colorState=String(red + green + blue); + colorState = String(red + green + blue); - Serial.print("Color state is: " ); - Serial.println(colorState); - send(msg_S_COLOR_SENSOR_V_RGB.set(colorState.c_str())); + Serial.print(F("Color state is: ")); + Serial.println(colorState); + msg_generic.setSensor(ID_S_COLOR_SENSOR); + msg_generic.setType(V_RGB); + send(msg_generic.set(colorState.c_str())); } #endif @@ -1140,31 +1225,41 @@ void color() void hvac() { - // float hvac_SetPointHeat = 16.5; - // float hvac_SetPointCool = 25.5; - // String hvac_FlowState = "AutoChangeOver"; - // String hvac_FlowMode = "Auto"; - // String hvac_Speed = "Normal"; + // float hvac_SetPointHeat = 16.5; + // float hvac_SetPointCool = 25.5; + // String hvac_FlowState = "AutoChangeOver"; + // String hvac_FlowMode = "Auto"; + // String hvac_Speed = "Normal"; - Serial.print("HVAC Set Point Heat is: " ); - Serial.println(hvac_SetPointHeat); - send(msg_S_HVAC_V_HVAC_SETPOINT_HEAT.set(hvac_SetPointHeat,1)); + Serial.print(F("HVAC Set Point Heat is: ")); + Serial.println(hvac_SetPointHeat); + msg_generic.setSensor(ID_S_HVAC); + msg_generic.setType(V_HVAC_SETPOINT_HEAT); + send(msg_generic.set(hvac_SetPointHeat, 1)); - Serial.print("HVAC Set Point Cool is: " ); - Serial.println(hvac_SetPointCool); - send(msg_S_HVAC_V_HVAC_SETPOINT_COOL.set(hvac_SetPointCool,1)); + Serial.print(F("HVAC Set Point Cool is: ")); + Serial.println(hvac_SetPointCool); + msg_generic.setSensor(ID_S_HVAC); + msg_generic.setType(V_HVAC_SETPOINT_COOL); + send(msg_generic.set(hvac_SetPointCool, 1)); - Serial.print("HVAC Flow State is: " ); - Serial.println(hvac_FlowState); - send(msg_S_HVAC_V_HVAC_FLOW_STATET.set(hvac_FlowState.c_str())); + Serial.print(F("HVAC Flow State is: ")); + Serial.println(hvac_FlowState); + msg_generic.setSensor(ID_S_HVAC); + msg_generic.setType(V_HVAC_FLOW_STATE); + send(msg_generic.set(hvac_FlowState.c_str())); - Serial.print("HVAC Flow Mode is: " ); - Serial.println(hvac_FlowMode); - send(msg_S_HVAC_V_HVAC_FLOW_MODE.set(hvac_FlowMode.c_str())); + Serial.print(F("HVAC Flow Mode is: ")); + Serial.println(hvac_FlowMode); + msg_generic.setSensor(ID_S_HVAC); + msg_generic.setType(V_HVAC_FLOW_MODE); + send(msg_generic.set(hvac_FlowMode.c_str())); - Serial.print("HVAC Speed is: " ); - Serial.println(hvac_Speed); - send(msg_S_HVAC_V_HVAC_SPEED.set(hvac_Speed.c_str())); + Serial.print(F("HVAC Speed is: ")); + Serial.println(hvac_Speed); + msg_generic.setSensor(ID_S_HVAC); + msg_generic.setType(V_HVAC_SPEED); + send(msg_generic.set(hvac_Speed.c_str())); } #endif @@ -1172,21 +1267,28 @@ void hvac() #ifdef ID_S_MULTIMETER void multimeter() { - int impedance=map(randNumber,1,100,0,15000); - int volt=map(randNumber,1,100,0,380); - int amps=map(randNumber,1,100,0,16); + int impedance = map(randNumber, 1, 100, 0, 15000); + int volt = map(randNumber, 1, 100, 0, 380); + int amps = map(randNumber, 1, 100, 0, 16); - Serial.print("Impedance is: " ); - Serial.println(impedance); - send(msg_S_MULTIMETER_V_IMPEDANCE.set(impedance)); + Serial.print(F("Impedance is: ")); + Serial.println(impedance); + msg_generic.setSensor(ID_S_MULTIMETER); + msg_generic.setType(V_IMPEDANCE); + send(msg_generic.set(impedance)); - Serial.print("Voltage is: " ); - Serial.println(volt); - send(msg_S_MULTIMETER_V_VOLTAGE.set(volt)); + Serial.print(F("Voltage is: ")); + Serial.println(volt); + msg_generic.setSensor(ID_S_MULTIMETER); + msg_generic.setType(V_VOLTAGE); + send(msg_generic.set(volt)); - Serial.print("Current is: " ); - Serial.println(amps); - send(msg_S_MULTIMETER_V_CURRENT.set(amps)); + Serial.print(F("Current is: ")); + Serial.println(amps); + msg_generic.setSensor(ID_S_MULTIMETER); + msg_generic.setType(V_CURRENT); + + send(msg_generic.set(amps)); } #endif @@ -1206,10 +1308,12 @@ void multimeter() void moisture() { - Serial.print("Moisture level is: " ); - Serial.println(randNumber); + Serial.print(F("Moisture level is: ")); + Serial.println(randNumber); + msg_generic.setSensor(ID_S_MOISTURE); + msg_generic.setType(V_LEVEL); + send(msg_generic.set(randNumber)); - send(msg_S_MOISTURE.set(randNumber)); } #endif @@ -1217,14 +1321,28 @@ void moisture() void custom() { - Serial.print("Custom value is: " ); - Serial.println(randNumber); + Serial.print(F("Custom value is: ")); + Serial.println(randNumber); - send(msg_S_CUSTOM_1.set(randNumber)); - send(msg_S_CUSTOM_2.set(randNumber)); - send(msg_S_CUSTOM_3.set(randNumber)); - send(msg_S_CUSTOM_4.set(randNumber)); - send(msg_S_CUSTOM_5.set(randNumber)); + msg_generic.setSensor(ID_S_CUSTOM); + msg_generic.setType(V_VAR1); + send(msg_generic.set(randNumber)); + + msg_generic.setSensor(ID_S_CUSTOM); + msg_generic.setType(V_VAR2); + send(msg_generic.set(randNumber)); + + msg_generic.setSensor(ID_S_CUSTOM); + msg_generic.setType(V_VAR3); + send(msg_generic.set(randNumber)); + + msg_generic.setSensor(ID_S_CUSTOM); + msg_generic.setType(V_VAR4); + send(msg_generic.set(randNumber)); + + msg_generic.setSensor(ID_S_CUSTOM); + msg_generic.setType(V_VAR5); + send(msg_generic.set(randNumber)); } #endif @@ -1232,262 +1350,262 @@ void custom() void receive(const MyMessage &message) { - switch (message.type) { + switch (message.type) { #ifdef ID_S_ARMED - case V_ARMED: - isArmed = message.getBool(); - Serial.print("Incoming change for ID_S_ARMED:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println((isArmed ? "Armed":"Disarmed" )); + case V_ARMED: + isArmed = message.getBool(); + Serial.print(F("Incoming change for ID_S_ARMED:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println((isArmed ? F("Armed") : F("Disarmed") )); #ifdef ID_S_DOOR - door();//temp ack for door + door();//temp ack for door #endif #ifdef ID_S_MOTION - motion();//temp ack + motion();//temp ack #endif #ifdef ID_S_SMOKE - smoke();//temp ack + smoke();//temp ack #endif - break; + break; #endif - case V_STATUS: // V_LIGHT: + case V_STATUS: // V_LIGHT: #ifdef ID_S_LIGHT - if(message.sensor==ID_S_LIGHT) { - isLightOn = message.getBool(); - Serial.print("Incoming change for ID_S_LIGHT:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println((isLightOn ? "On":"Off")); - light(); // temp ack - } + if (message.sensor == ID_S_LIGHT) { + isLightOn = message.getBool(); + Serial.print(F("Incoming change for ID_S_LIGHT:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println((isLightOn ? F("On") : F("Off"))); + light(); // temp ack + } #endif - // #ifdef ID_S_HEATER - // if(message.sensor == ID_S_HEATER){ - // heater_status = message.getBool(); - // Serial.print("Incoming change for ID_S_HEATER:"); - // Serial.print(message.sensor); - // Serial.print(", New status: "); - // Serial.println(heater_status); - // heater();//temp ack - // } - // #endif - break; + // #ifdef ID_S_HEATER + // if(message.sensor == ID_S_HEATER){ + // heater_status = message.getBool(); + // Serial.print("Incoming change for ID_S_HEATER:"); + // Serial.print(message.sensor); + // Serial.print(", New status: "); + // Serial.println(heater_status); + // heater();//temp ack + // } + // #endif + break; #ifdef ID_S_DIMMER - case V_DIMMER: - if ((message.getInt()<0)||(message.getInt()>100)) { - Serial.println( "V_DIMMER data invalid (should be 0..100)" ); - break; - } - dimmerVal= message.getInt(); - Serial.print("Incoming change for ID_S_DIMMER:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(message.getInt()); - dimmer();// temp ack - break; + case V_DIMMER: + if ((message.getInt() < 0) || (message.getInt() > 100)) { + Serial.println( "V_DIMMER data invalid (should be 0..100)" ); + break; + } + dimmerVal = message.getInt(); + Serial.print(F("Incoming change for ID_S_DIMMER:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(message.getInt()); + dimmer();// temp ack + break; #endif #ifdef ID_S_COVER - case V_UP: - coverState=1; - Serial.print("Incoming change for ID_S_COVER:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println("V_UP"); - cover(); // temp ack - break; + case V_UP: + coverState = 1; + Serial.print(F("Incoming change for ID_S_COVER:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println("V_UP"); + cover(); // temp ack + break; - case V_DOWN: - coverState=-1; - Serial.print("Incoming change for ID_S_COVER:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println("V_DOWN"); - cover(); //temp ack - break; + case V_DOWN: + coverState = -1; + Serial.print(F("Incoming change for ID_S_COVER:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(F("V_DOWN")); + cover(); //temp ack + break; - case V_STOP: - coverState=0; - Serial.print("Incoming change for ID_S_COVER:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println("V_STOP"); - cover(); //temp ack - break; + case V_STOP: + coverState = 0; + Serial.print(F("Incoming change for ID_S_COVER:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println("V_STOP"); + cover(); //temp ack + break; #endif - case V_HVAC_SETPOINT_HEAT: + case V_HVAC_SETPOINT_HEAT: #ifdef ID_S_HEATER - if(message.sensor == ID_S_HEATER) { - heater_setpoint=message.getFloat(); + if (message.sensor == ID_S_HEATER) { + heater_setpoint = message.getFloat(); - Serial.print("Incoming set point for ID_S_HEATER:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(heater_setpoint,1); - heater();//temp ack - } + Serial.print(F("Incoming set point for ID_S_HEATER:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(heater_setpoint, 1); + heater();//temp ack + } #endif #ifdef ID_S_HVAC - if(message.sensor == ID_S_HVAC) { - hvac_SetPointHeat=message.getFloat(); - Serial.print("Incoming set point for ID_S_HVAC:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(hvac_SetPointHeat,1); - hvac();//temp ack - } + if (message.sensor == ID_S_HVAC) { + hvac_SetPointHeat = message.getFloat(); + Serial.print(F("Incoming set point for ID_S_HVAC:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(hvac_SetPointHeat, 1); + hvac();//temp ack + } #endif - break; + break; - case V_HVAC_FLOW_STATE: + case V_HVAC_FLOW_STATE: #ifdef ID_S_HEATER - if(message.sensor == ID_S_HEATER) { - heater_flow_state=message.getString(); - Serial.print("Incoming flow state change for ID_S_HEATER:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(heater_flow_state); - heater();//temp ack - } + if (message.sensor == ID_S_HEATER) { + heater_flow_state = message.getString(); + Serial.print(F("Incoming flow state change for ID_S_HEATER:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(heater_flow_state); + heater();//temp ack + } #endif #ifdef ID_S_HVAC - if(message.sensor == ID_S_HVAC) { - hvac_FlowState=message.getString(); + if (message.sensor == ID_S_HVAC) { + hvac_FlowState = message.getString(); - Serial.print("Incoming set point for ID_S_HVAC:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(hvac_FlowState); - hvac();//temp ack - } + Serial.print(F("Incoming set point for ID_S_HVAC:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(hvac_FlowState); + hvac();//temp ack + } #endif - break; + break; #ifdef ID_S_LOCK - case V_LOCK_STATUS: - isLocked = message.getBool(); - Serial.print("Incoming change for ID_S_LOCK:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(message.getBool()?"Locked":"Unlocked"); - lock(); //temp ack - break; + case V_LOCK_STATUS: + isLocked = message.getBool(); + Serial.print(F("Incoming change for ID_S_LOCK:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(message.getBool() ? F("Locked") : F("Unlocked")); + lock(); //temp ack + break; #endif #ifdef ID_S_IR - case V_IR_SEND: - irVal = message.getLong(); - Serial.print("Incoming change for ID_S_IR:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(irVal); - ir(); // temp ack - break; - case V_IR_RECEIVE: - irVal = message.getLong(); - Serial.print("Incoming change for ID_S_IR:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(irVal); - ir(); // temp ack - break; + case V_IR_SEND: + irVal = message.getLong(); + Serial.print(F("Incoming change for ID_S_IR:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(irVal); + ir(); // temp ack + break; + case V_IR_RECEIVE: + irVal = message.getLong(); + Serial.print(F("Incoming change for ID_S_IR:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(irVal); + ir(); // temp ack + break; #endif #ifdef ID_S_SCENE_CONTROLLER - case V_SCENE_ON: - sceneVal = message.getInt(); - Serial.print("Incoming change for ID_S_SCENE_CONTROLLER:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.print(scenes[sceneVal]); - Serial.println(" On"); - scene();// temp ack - break; - case V_SCENE_OFF: - sceneVal = message.getInt(); - Serial.print("Incoming change for ID_S_SCENE_CONTROLLER:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.print(scenes[sceneVal]); - Serial.println(" Off"); - scene();// temp ack - break; + case V_SCENE_ON: + sceneVal = message.getInt(); + Serial.print(F("Incoming change for ID_S_SCENE_CONTROLLER:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.print(scenes[sceneVal]); + Serial.println(F(" On")); + scene();// temp ack + break; + case V_SCENE_OFF: + sceneVal = message.getInt(); + Serial.print(F("Incoming change for ID_S_SCENE_CONTROLLER:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.print(scenes[sceneVal]); + Serial.println(F(" Off")); + scene();// temp ack + break; #endif #ifdef ID_S_RGB_LIGHT - case V_RGB: - rgbState=message.getString(); - Serial.print("Incoming flow state change for ID_S_RGB_LIGHT:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(rgbState); - rgbLight(); // temp ack + case V_RGB: + rgbState = message.getString(); + Serial.print(F("Incoming flow state change for ID_S_RGB_LIGHT:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(rgbState); + rgbLight(); // temp ack - break; + break; #endif #ifdef ID_S_RGBW_LIGHT - case V_RGBW: - rgbwState=message.getString(); - Serial.print("Incoming flow state change for ID_S_RGBW_LIGHT:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(rgbwState); - rgbwLight(); - break; + case V_RGBW: + rgbwState = message.getString(); + Serial.print(F("Incoming flow state change for ID_S_RGBW_LIGHT:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(rgbwState); + rgbwLight(); + break; #endif #ifdef ID_S_HVAC - // hvac_SetPointHeat - // hvac_SetPointCool - // hvac_FlowState - // hvac_FlowMode - // hvac_Speed + // hvac_SetPointHeat + // hvac_SetPointCool + // hvac_FlowState + // hvac_FlowMode + // hvac_Speed - case V_HVAC_SETPOINT_COOL: - hvac_SetPointCool=message.getFloat(); + case V_HVAC_SETPOINT_COOL: + hvac_SetPointCool = message.getFloat(); - Serial.print("Incoming set point for ID_S_HVAC:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(hvac_SetPointCool,1); - hvac();//temp ack - break; + Serial.print(F("Incoming set point for ID_S_HVAC:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(hvac_SetPointCool, 1); + hvac();//temp ack + break; - case V_HVAC_FLOW_MODE: - hvac_Speed=message.getString(); + case V_HVAC_FLOW_MODE: + hvac_Speed = message.getString(); - Serial.print("Incoming set point for ID_S_HVAC:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(hvac_Speed); - hvac();//temp ack - break; + Serial.print(F("Incoming set point for ID_S_HVAC:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(hvac_Speed); + hvac();//temp ack + break; - case V_HVAC_SPEED: - hvac_FlowMode=message.getString(); + case V_HVAC_SPEED: + hvac_FlowMode = message.getString(); - Serial.print("Incoming set point for ID_S_HVAC:"); - Serial.print(message.sensor); - Serial.print(", New status: "); - Serial.println(hvac_FlowMode); - hvac();//temp ack - break; + Serial.print(F("Incoming set point for ID_S_HVAC:")); + Serial.print(message.sensor); + Serial.print(F(", New status: ")); + Serial.println(hvac_FlowMode); + hvac();//temp ack + break; #endif - default: - Serial.print("Unknown/UnImplemented message type: "); - Serial.println(message.type); - } + default: + Serial.print(F("Unknown/UnImplemented message type: ")); + Serial.println(message.type); + } -} +}