Fix for HomeKit macros

pull/46/head
shaun feakes 2018-03-12 18:18:09 -05:00
parent 87ba041453
commit f846a3b03c
6 changed files with 15 additions and 9 deletions

View File

@ -313,11 +313,11 @@ void processMessage(char *message)
}
else if(strncasecmp(msg, MSG_SWG_PCT, MSG_SWG_PCT_LEN) == 0) {
_aqualink_data.swg_percent = atoi(msg+MSG_SWG_PCT_LEN);
logMessage(LOG_DEBUG, "Stored SWG Percent as %d\n", _aqualink_data.swg_percent);
//logMessage(LOG_DEBUG, "Stored SWG Percent as %d\n", _aqualink_data.swg_percent);
}
else if(strncasecmp(msg, MSG_SWG_PPM, MSG_SWG_PPM_LEN) == 0) {
_aqualink_data.swg_ppm = atoi(msg+MSG_SWG_PPM_LEN);
logMessage(LOG_DEBUG, "Stored SWG PPM as %d\n", _aqualink_data.swg_ppm);
//logMessage(LOG_DEBUG, "Stored SWG PPM as %d\n", _aqualink_data.swg_ppm);
}
else if( (msg[1] == ':' || msg[2] == ':') && msg[strlen(msg)-1] == 'M') { // time in format '9:45 AM'
strcpy(_aqualink_data.time, msg);

View File

@ -235,6 +235,10 @@ void readCfg (struct aqconfig *config_parameters, struct aqualinkdata *aqdata, c
config_parameters->dzidx_spa_water_temp = strtoul(indx+1, NULL, 10);
} else if (strncasecmp (b_ptr, "light_programming_mode", 21) == 0) {
config_parameters->light_programming_mode = atof(cleanalloc(indx+1)); // should free this
} else if (strncasecmp (b_ptr, "SWG_percent_dzidx", 17) == 0) {
config_parameters->dzidx_swg_percent = strtoul(indx+1, NULL, 10);
} else if (strncasecmp (b_ptr, "SWG_PPM_dzidx", 13) == 0) {
config_parameters->dzidx_swg_ppm = strtoul(indx+1, NULL, 10);
}/*else if (strncasecmp (b_ptr, "pool_thermostat_dzidx", 21) == 0) { // removed until domoticz has a better virtual thermostat
config_parameters->dzidx_pool_thermostat = strtoul(indx+1, NULL, 10);
} else if (strncasecmp (b_ptr, "spa_thermostat_dzidx", 20) == 0) {

View File

@ -526,18 +526,18 @@ void action_mqtt_message(struct mg_connection *nc, struct mg_mqtt_message *msg)
if (strncmp(pt1, _aqualink_data->aqbuttons[i].name, strlen(_aqualink_data->aqbuttons[i].name)) == 0 ){
logMessage(LOG_INFO, "MQTT: MATCH %s to topic %.*s\n",_aqualink_data->aqbuttons[i].name,msg->topic.len, msg->topic.p);
// Message is either a 1 or 0 for on or off
int status = atoi(msg->payload.p);
if ( status > 1 || status < 0) {
//int status = atoi(msg->payload.p);
if ( value > 1 || value < 0) {
logMessage(LOG_ERR, "MQTT: topic %.*s %.2f\n",msg->topic.len, msg->topic.p, value);
logMessage(LOG_ERR, "MQTT: received unknown status of '%.*s' for '%s', Ignoring!\n", msg->payload.len, msg->payload.p, _aqualink_data->aqbuttons[i].name);
}
else if ( (_aqualink_data->aqbuttons[i].led->state == OFF && status==0) ||
(status == 1 && (_aqualink_data->aqbuttons[i].led->state == ON ||
else if ( (_aqualink_data->aqbuttons[i].led->state == OFF && value==0) ||
(value == 1 && (_aqualink_data->aqbuttons[i].led->state == ON ||
_aqualink_data->aqbuttons[i].led->state == FLASH ||
_aqualink_data->aqbuttons[i].led->state == ENABLE))) {
logMessage(LOG_INFO, "MQTT: received '%s' for '%s', already '%s', Ignoring\n", (status==0?"OFF":"ON"), _aqualink_data->aqbuttons[i].name, (status==0?"OFF":"ON"));
logMessage(LOG_INFO, "MQTT: received '%s' for '%s', already '%s', Ignoring\n", (value==0?"OFF":"ON"), _aqualink_data->aqbuttons[i].name, (value==0?"OFF":"ON"));
} else {
logMessage(LOG_INFO, "MQTT: received '%s' for '%s', turning '%s'\n", (status==0?"OFF":"ON"), _aqualink_data->aqbuttons[i].name,(status==0?"OFF":"ON"));
logMessage(LOG_INFO, "MQTT: received '%s' for '%s', turning '%s'\n", (value==0?"OFF":"ON"), _aqualink_data->aqbuttons[i].name,(value==0?"OFF":"ON"));
aq_programmer(AQ_SEND_CMD, (char *)&_aqualink_data->aqbuttons[i].code, _aqualink_data);
}
break;

Binary file not shown.

View File

@ -51,6 +51,8 @@ light_programming_mode=0
air_temp_dzidx=13
pool_water_temp_dzidx=14
spa_water_temp_dzidx=15
#SWG_percent_dzidx=998
#SWG_PPM_dzidx=999
# Labels for standard butons (shown in web UI), and domoticz idx's
button_01_label=Filter Pump

View File

@ -1,4 +1,4 @@
#define AQUALINKD_NAME "Aqualink Daemon"
#define AQUALINKD_VERSION "0.9d"
#define AQUALINKD_VERSION "0.9e"