mirror of https://github.com/arendst/Tasmota.git
Prep domoticz for P1 smart meter
Prep domoticz for P1 smart meter
This commit is contained in:
parent
459101ee3a
commit
43c3d3611d
|
@ -36,14 +36,13 @@ void (* const DomoticzCommand[])(void) PROGMEM = {
|
|||
|
||||
const char DOMOTICZ_MESSAGE[] PROGMEM = "{\"idx\":%d,\"nvalue\":%d,\"svalue\":\"%s\",\"Battery\":%d,\"RSSI\":%d}";
|
||||
|
||||
//enum DomoticzSensors {DZ_TEMP, DZ_TEMP_HUM, DZ_TEMP_HUM_BARO, DZ_POWER_ENERGY, DZ_ILLUMINANCE, DZ_COUNT, DZ_VOLTAGE, DZ_CURRENT, DZ_AIRQUALITY, DZ_MAX_SENSORS};
|
||||
|
||||
#if MAX_DOMOTICZ_SNS_IDX < DZ_MAX_SENSORS
|
||||
#error "Domoticz: Too many sensors or change settings.h layout"
|
||||
#endif
|
||||
|
||||
const char kDomoticzSensors[] PROGMEM =
|
||||
D_DOMOTICZ_TEMP "|" D_DOMOTICZ_TEMP_HUM "|" D_DOMOTICZ_TEMP_HUM_BARO "|" D_DOMOTICZ_POWER_ENERGY "|" D_DOMOTICZ_ILLUMINANCE "|" D_DOMOTICZ_COUNT "|" D_DOMOTICZ_VOLTAGE "|" D_DOMOTICZ_CURRENT "|" D_DOMOTICZ_AIRQUALITY ;
|
||||
D_DOMOTICZ_TEMP "|" D_DOMOTICZ_TEMP_HUM "|" D_DOMOTICZ_TEMP_HUM_BARO "|" D_DOMOTICZ_POWER_ENERGY "|" D_DOMOTICZ_ILLUMINANCE "|"
|
||||
D_DOMOTICZ_COUNT "|" D_DOMOTICZ_VOLTAGE "|" D_DOMOTICZ_CURRENT "|" D_DOMOTICZ_AIRQUALITY "|" D_DOMOTICZ_P1_SMART_METER ;
|
||||
|
||||
char domoticz_in_topic[] = DOMOTICZ_IN_TOPIC;
|
||||
char domoticz_out_topic[] = DOMOTICZ_OUT_TOPIC;
|
||||
|
@ -341,7 +340,7 @@ uint8_t DomoticzHumidityState(char *hum)
|
|||
void DomoticzSensor(uint8_t idx, char *data)
|
||||
{
|
||||
if (Settings.domoticz_sensor_idx[idx]) {
|
||||
char dmess[100];
|
||||
char dmess[128]; // {"idx":26700,"nvalue":0,"svalue":"22330.1;10234.4;22000.5;10243.4;1006;3000","Battery":100,"RSSI":10}
|
||||
|
||||
memcpy(dmess, mqtt_data, sizeof(dmess));
|
||||
if (DZ_AIRQUALITY == idx) {
|
||||
|
@ -384,6 +383,19 @@ void DomoticzSensorPowerEnergy(int power, char *energy)
|
|||
DomoticzSensor(DZ_POWER_ENERGY, data);
|
||||
}
|
||||
|
||||
void DomoticzSensorP1SmartMeter(char *usage1, char *usage2, char *return1, char *return2, int consumed, int produced)
|
||||
{
|
||||
//usage1 = energy usage meter tariff 1, This is an incrementing counter
|
||||
//usage2 = energy usage meter tariff 2, This is an incrementing counter
|
||||
//return1 = energy return meter tariff 1, This is an incrementing counter
|
||||
//return2 = energy return meter tariff 2, This is an incrementing counter
|
||||
//consumed = actual usage power (Watt)
|
||||
//produced = actual return power (Watt)
|
||||
char data[64];
|
||||
snprintf_P(data, sizeof(data), PSTR("%s;%s;%s;%s;%d;%d"), usage1, usage2, return1, return2, consumed, produced);
|
||||
DomoticzSensor(DZ_P1_SMART_METER, data);
|
||||
}
|
||||
|
||||
/*********************************************************************************************\
|
||||
* Commands
|
||||
\*********************************************************************************************/
|
||||
|
|
Loading…
Reference in New Issue