diff --git a/lib/HomeAssistantMqttHandler/include/HomeAssistantMqttHandler.h b/lib/HomeAssistantMqttHandler/include/HomeAssistantMqttHandler.h index 60822c68..f30c4ca7 100644 --- a/lib/HomeAssistantMqttHandler/include/HomeAssistantMqttHandler.h +++ b/lib/HomeAssistantMqttHandler/include/HomeAssistantMqttHandler.h @@ -98,13 +98,8 @@ private: bool publishList3(AmsData* data, EnergyAccounting* ea); bool publishList4(AmsData* data, EnergyAccounting* ea); String getMeterModel(AmsData* data); -<<<<<<< HEAD bool publishRealtime(AmsData* data, EnergyAccounting* ea, PriceService* ps); - void publishSensor(const HomeAssistantSensor& sensor); -======= - bool publishRealtime(AmsData* data, EnergyAccounting* ea, EntsoeApi* eapi); void publishSensor(const HomeAssistantSensor sensor); ->>>>>>> main void publishList1Sensors(); void publishList1ExportSensors(); void publishList2Sensors(); diff --git a/lib/HomeAssistantMqttHandler/src/HomeAssistantMqttHandler.cpp b/lib/HomeAssistantMqttHandler/src/HomeAssistantMqttHandler.cpp index 4d21934c..f91371b9 100644 --- a/lib/HomeAssistantMqttHandler/src/HomeAssistantMqttHandler.cpp +++ b/lib/HomeAssistantMqttHandler/src/HomeAssistantMqttHandler.cpp @@ -273,44 +273,44 @@ bool HomeAssistantMqttHandler::publishPrices(PriceService* ps) { } snprintf_P(json, BufferSize, JSONPRICES_JSON, WiFi.macAddress().c_str(), - values[0] == ENTSOE_NO_VALUE ? "null" : String(values[0], 4).c_str(), - values[1] == ENTSOE_NO_VALUE ? "null" : String(values[1], 4).c_str(), - values[2] == ENTSOE_NO_VALUE ? "null" : String(values[2], 4).c_str(), - values[3] == ENTSOE_NO_VALUE ? "null" : String(values[3], 4).c_str(), - values[4] == ENTSOE_NO_VALUE ? "null" : String(values[4], 4).c_str(), - values[5] == ENTSOE_NO_VALUE ? "null" : String(values[5], 4).c_str(), - values[6] == ENTSOE_NO_VALUE ? "null" : String(values[6], 4).c_str(), - values[7] == ENTSOE_NO_VALUE ? "null" : String(values[7], 4).c_str(), - values[8] == ENTSOE_NO_VALUE ? "null" : String(values[8], 4).c_str(), - values[9] == ENTSOE_NO_VALUE ? "null" : String(values[9], 4).c_str(), - values[10] == ENTSOE_NO_VALUE ? "null" : String(values[10], 4).c_str(), - values[11] == ENTSOE_NO_VALUE ? "null" : String(values[11], 4).c_str(), - values[12] == ENTSOE_NO_VALUE ? "null" : String(values[12], 4).c_str(), - values[13] == ENTSOE_NO_VALUE ? "null" : String(values[13], 4).c_str(), - values[14] == ENTSOE_NO_VALUE ? "null" : String(values[14], 4).c_str(), - values[15] == ENTSOE_NO_VALUE ? "null" : String(values[15], 4).c_str(), - values[16] == ENTSOE_NO_VALUE ? "null" : String(values[16], 4).c_str(), - values[17] == ENTSOE_NO_VALUE ? "null" : String(values[17], 4).c_str(), - values[18] == ENTSOE_NO_VALUE ? "null" : String(values[18], 4).c_str(), - values[19] == ENTSOE_NO_VALUE ? "null" : String(values[19], 4).c_str(), - values[20] == ENTSOE_NO_VALUE ? "null" : String(values[20], 4).c_str(), - values[21] == ENTSOE_NO_VALUE ? "null" : String(values[21], 4).c_str(), - values[22] == ENTSOE_NO_VALUE ? "null" : String(values[22], 4).c_str(), - values[23] == ENTSOE_NO_VALUE ? "null" : String(values[23], 4).c_str(), - values[24] == ENTSOE_NO_VALUE ? "null" : String(values[24], 4).c_str(), - values[25] == ENTSOE_NO_VALUE ? "null" : String(values[25], 4).c_str(), - values[26] == ENTSOE_NO_VALUE ? "null" : String(values[26], 4).c_str(), - values[27] == ENTSOE_NO_VALUE ? "null" : String(values[27], 4).c_str(), - values[28] == ENTSOE_NO_VALUE ? "null" : String(values[28], 4).c_str(), - values[29] == ENTSOE_NO_VALUE ? "null" : String(values[29], 4).c_str(), - values[30] == ENTSOE_NO_VALUE ? "null" : String(values[30], 4).c_str(), - values[31] == ENTSOE_NO_VALUE ? "null" : String(values[31], 4).c_str(), - values[32] == ENTSOE_NO_VALUE ? "null" : String(values[32], 4).c_str(), - values[33] == ENTSOE_NO_VALUE ? "null" : String(values[33], 4).c_str(), - values[34] == ENTSOE_NO_VALUE ? "null" : String(values[34], 4).c_str(), - values[35] == ENTSOE_NO_VALUE ? "null" : String(values[35], 4).c_str(), - values[36] == ENTSOE_NO_VALUE ? "null" : String(values[36], 4).c_str(), - values[37] == ENTSOE_NO_VALUE ? "null" : String(values[37], 4).c_str(), + values[0] == PRICE_NO_VALUE ? "null" : String(values[0], 4).c_str(), + values[1] == PRICE_NO_VALUE ? "null" : String(values[1], 4).c_str(), + values[2] == PRICE_NO_VALUE ? "null" : String(values[2], 4).c_str(), + values[3] == PRICE_NO_VALUE ? "null" : String(values[3], 4).c_str(), + values[4] == PRICE_NO_VALUE ? "null" : String(values[4], 4).c_str(), + values[5] == PRICE_NO_VALUE ? "null" : String(values[5], 4).c_str(), + values[6] == PRICE_NO_VALUE ? "null" : String(values[6], 4).c_str(), + values[7] == PRICE_NO_VALUE ? "null" : String(values[7], 4).c_str(), + values[8] == PRICE_NO_VALUE ? "null" : String(values[8], 4).c_str(), + values[9] == PRICE_NO_VALUE ? "null" : String(values[9], 4).c_str(), + values[10] == PRICE_NO_VALUE ? "null" : String(values[10], 4).c_str(), + values[11] == PRICE_NO_VALUE ? "null" : String(values[11], 4).c_str(), + values[12] == PRICE_NO_VALUE ? "null" : String(values[12], 4).c_str(), + values[13] == PRICE_NO_VALUE ? "null" : String(values[13], 4).c_str(), + values[14] == PRICE_NO_VALUE ? "null" : String(values[14], 4).c_str(), + values[15] == PRICE_NO_VALUE ? "null" : String(values[15], 4).c_str(), + values[16] == PRICE_NO_VALUE ? "null" : String(values[16], 4).c_str(), + values[17] == PRICE_NO_VALUE ? "null" : String(values[17], 4).c_str(), + values[18] == PRICE_NO_VALUE ? "null" : String(values[18], 4).c_str(), + values[19] == PRICE_NO_VALUE ? "null" : String(values[19], 4).c_str(), + values[20] == PRICE_NO_VALUE ? "null" : String(values[20], 4).c_str(), + values[21] == PRICE_NO_VALUE ? "null" : String(values[21], 4).c_str(), + values[22] == PRICE_NO_VALUE ? "null" : String(values[22], 4).c_str(), + values[23] == PRICE_NO_VALUE ? "null" : String(values[23], 4).c_str(), + values[24] == PRICE_NO_VALUE ? "null" : String(values[24], 4).c_str(), + values[25] == PRICE_NO_VALUE ? "null" : String(values[25], 4).c_str(), + values[26] == PRICE_NO_VALUE ? "null" : String(values[26], 4).c_str(), + values[27] == PRICE_NO_VALUE ? "null" : String(values[27], 4).c_str(), + values[28] == PRICE_NO_VALUE ? "null" : String(values[28], 4).c_str(), + values[29] == PRICE_NO_VALUE ? "null" : String(values[29], 4).c_str(), + values[30] == PRICE_NO_VALUE ? "null" : String(values[30], 4).c_str(), + values[31] == PRICE_NO_VALUE ? "null" : String(values[31], 4).c_str(), + values[32] == PRICE_NO_VALUE ? "null" : String(values[32], 4).c_str(), + values[33] == PRICE_NO_VALUE ? "null" : String(values[33], 4).c_str(), + values[34] == PRICE_NO_VALUE ? "null" : String(values[34], 4).c_str(), + values[35] == PRICE_NO_VALUE ? "null" : String(values[35], 4).c_str(), + values[36] == PRICE_NO_VALUE ? "null" : String(values[36], 4).c_str(), + values[37] == PRICE_NO_VALUE ? "null" : String(values[37], 4).c_str(), min == INT16_MAX ? 0.0 : min, max == INT16_MIN ? 0.0 : max, ts1hr, diff --git a/lib/JsonMqttHandler/src/JsonMqttHandler.cpp b/lib/JsonMqttHandler/src/JsonMqttHandler.cpp index 95faa24f..0524f8d1 100644 --- a/lib/JsonMqttHandler/src/JsonMqttHandler.cpp +++ b/lib/JsonMqttHandler/src/JsonMqttHandler.cpp @@ -294,44 +294,44 @@ bool JsonMqttHandler::publishPrices(PriceService* ps) { snprintf_P(json, BufferSize, JSONPRICES_JSON, WiFi.macAddress().c_str(), - values[0] == ENTSOE_NO_VALUE ? "null" : String(values[0], 4).c_str(), - values[1] == ENTSOE_NO_VALUE ? "null" : String(values[1], 4).c_str(), - values[2] == ENTSOE_NO_VALUE ? "null" : String(values[2], 4).c_str(), - values[3] == ENTSOE_NO_VALUE ? "null" : String(values[3], 4).c_str(), - values[4] == ENTSOE_NO_VALUE ? "null" : String(values[4], 4).c_str(), - values[5] == ENTSOE_NO_VALUE ? "null" : String(values[5], 4).c_str(), - values[6] == ENTSOE_NO_VALUE ? "null" : String(values[6], 4).c_str(), - values[7] == ENTSOE_NO_VALUE ? "null" : String(values[7], 4).c_str(), - values[8] == ENTSOE_NO_VALUE ? "null" : String(values[8], 4).c_str(), - values[9] == ENTSOE_NO_VALUE ? "null" : String(values[9], 4).c_str(), - values[10] == ENTSOE_NO_VALUE ? "null" : String(values[10], 4).c_str(), - values[11] == ENTSOE_NO_VALUE ? "null" : String(values[11], 4).c_str(), - values[12] == ENTSOE_NO_VALUE ? "null" : String(values[12], 4).c_str(), - values[13] == ENTSOE_NO_VALUE ? "null" : String(values[13], 4).c_str(), - values[14] == ENTSOE_NO_VALUE ? "null" : String(values[14], 4).c_str(), - values[15] == ENTSOE_NO_VALUE ? "null" : String(values[15], 4).c_str(), - values[16] == ENTSOE_NO_VALUE ? "null" : String(values[16], 4).c_str(), - values[17] == ENTSOE_NO_VALUE ? "null" : String(values[17], 4).c_str(), - values[18] == ENTSOE_NO_VALUE ? "null" : String(values[18], 4).c_str(), - values[19] == ENTSOE_NO_VALUE ? "null" : String(values[19], 4).c_str(), - values[20] == ENTSOE_NO_VALUE ? "null" : String(values[20], 4).c_str(), - values[21] == ENTSOE_NO_VALUE ? "null" : String(values[21], 4).c_str(), - values[22] == ENTSOE_NO_VALUE ? "null" : String(values[22], 4).c_str(), - values[23] == ENTSOE_NO_VALUE ? "null" : String(values[23], 4).c_str(), - values[24] == ENTSOE_NO_VALUE ? "null" : String(values[24], 4).c_str(), - values[25] == ENTSOE_NO_VALUE ? "null" : String(values[25], 4).c_str(), - values[26] == ENTSOE_NO_VALUE ? "null" : String(values[26], 4).c_str(), - values[27] == ENTSOE_NO_VALUE ? "null" : String(values[27], 4).c_str(), - values[28] == ENTSOE_NO_VALUE ? "null" : String(values[28], 4).c_str(), - values[29] == ENTSOE_NO_VALUE ? "null" : String(values[29], 4).c_str(), - values[30] == ENTSOE_NO_VALUE ? "null" : String(values[30], 4).c_str(), - values[31] == ENTSOE_NO_VALUE ? "null" : String(values[31], 4).c_str(), - values[32] == ENTSOE_NO_VALUE ? "null" : String(values[32], 4).c_str(), - values[33] == ENTSOE_NO_VALUE ? "null" : String(values[33], 4).c_str(), - values[34] == ENTSOE_NO_VALUE ? "null" : String(values[34], 4).c_str(), - values[35] == ENTSOE_NO_VALUE ? "null" : String(values[35], 4).c_str(), - values[36] == ENTSOE_NO_VALUE ? "null" : String(values[36], 4).c_str(), - values[37] == ENTSOE_NO_VALUE ? "null" : String(values[37], 4).c_str(), + values[0] == PRICE_NO_VALUE ? "null" : String(values[0], 4).c_str(), + values[1] == PRICE_NO_VALUE ? "null" : String(values[1], 4).c_str(), + values[2] == PRICE_NO_VALUE ? "null" : String(values[2], 4).c_str(), + values[3] == PRICE_NO_VALUE ? "null" : String(values[3], 4).c_str(), + values[4] == PRICE_NO_VALUE ? "null" : String(values[4], 4).c_str(), + values[5] == PRICE_NO_VALUE ? "null" : String(values[5], 4).c_str(), + values[6] == PRICE_NO_VALUE ? "null" : String(values[6], 4).c_str(), + values[7] == PRICE_NO_VALUE ? "null" : String(values[7], 4).c_str(), + values[8] == PRICE_NO_VALUE ? "null" : String(values[8], 4).c_str(), + values[9] == PRICE_NO_VALUE ? "null" : String(values[9], 4).c_str(), + values[10] == PRICE_NO_VALUE ? "null" : String(values[10], 4).c_str(), + values[11] == PRICE_NO_VALUE ? "null" : String(values[11], 4).c_str(), + values[12] == PRICE_NO_VALUE ? "null" : String(values[12], 4).c_str(), + values[13] == PRICE_NO_VALUE ? "null" : String(values[13], 4).c_str(), + values[14] == PRICE_NO_VALUE ? "null" : String(values[14], 4).c_str(), + values[15] == PRICE_NO_VALUE ? "null" : String(values[15], 4).c_str(), + values[16] == PRICE_NO_VALUE ? "null" : String(values[16], 4).c_str(), + values[17] == PRICE_NO_VALUE ? "null" : String(values[17], 4).c_str(), + values[18] == PRICE_NO_VALUE ? "null" : String(values[18], 4).c_str(), + values[19] == PRICE_NO_VALUE ? "null" : String(values[19], 4).c_str(), + values[20] == PRICE_NO_VALUE ? "null" : String(values[20], 4).c_str(), + values[21] == PRICE_NO_VALUE ? "null" : String(values[21], 4).c_str(), + values[22] == PRICE_NO_VALUE ? "null" : String(values[22], 4).c_str(), + values[23] == PRICE_NO_VALUE ? "null" : String(values[23], 4).c_str(), + values[24] == PRICE_NO_VALUE ? "null" : String(values[24], 4).c_str(), + values[25] == PRICE_NO_VALUE ? "null" : String(values[25], 4).c_str(), + values[26] == PRICE_NO_VALUE ? "null" : String(values[26], 4).c_str(), + values[27] == PRICE_NO_VALUE ? "null" : String(values[27], 4).c_str(), + values[28] == PRICE_NO_VALUE ? "null" : String(values[28], 4).c_str(), + values[29] == PRICE_NO_VALUE ? "null" : String(values[29], 4).c_str(), + values[30] == PRICE_NO_VALUE ? "null" : String(values[30], 4).c_str(), + values[31] == PRICE_NO_VALUE ? "null" : String(values[31], 4).c_str(), + values[32] == PRICE_NO_VALUE ? "null" : String(values[32], 4).c_str(), + values[33] == PRICE_NO_VALUE ? "null" : String(values[33], 4).c_str(), + values[34] == PRICE_NO_VALUE ? "null" : String(values[34], 4).c_str(), + values[35] == PRICE_NO_VALUE ? "null" : String(values[35], 4).c_str(), + values[36] == PRICE_NO_VALUE ? "null" : String(values[36], 4).c_str(), + values[37] == PRICE_NO_VALUE ? "null" : String(values[37], 4).c_str(), min == INT16_MAX ? 0.0 : min, max == INT16_MIN ? 0.0 : max, ts1hr, diff --git a/src/AmsToMqttBridge.cpp b/src/AmsToMqttBridge.cpp index b09e66c7..e7146ee5 100644 --- a/src/AmsToMqttBridge.cpp +++ b/src/AmsToMqttBridge.cpp @@ -1311,8 +1311,8 @@ void MQTT_connect() { if(mqttHandler != NULL) { mqttHandler->connect(); mqttHandler->publishSystem(&hw, ps, &ea); - if(eapi != NULL && eapi->getValueForHour(0) != ENTSOE_NO_VALUE) { - mqttHandler->publishPrices(eapi); + if(ps != NULL && ps->getValueForHour(0) != PRICE_NO_VALUE) { + mqttHandler->publishPrices(ps); } } } diff --git a/src/PassiveMeterCommunicator.cpp b/src/PassiveMeterCommunicator.cpp index ee3bfca3..e26f880f 100644 --- a/src/PassiveMeterCommunicator.cpp +++ b/src/PassiveMeterCommunicator.cpp @@ -238,7 +238,7 @@ AmsData* PassiveMeterCommunicator::getData(AmsData& meterState) { data = new IEC6205675(payload, meterState.getMeterType(), &meterConfig, ctx, meterState); } } else if(ctx.type == DATA_TAG_DSMR) { - data = new IEC6205621(payload, tz); + data = new IEC6205621(payload, tz, &meterConfig); } len = 0; if(data != NULL) {