mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
Обновляем Pzem
This commit is contained in:
@@ -150,6 +150,35 @@ class Pzem004hz : public IoTItem {
|
|||||||
~Pzem004hz(){};
|
~Pzem004hz(){};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Pzem004pf : public IoTItem {
|
||||||
|
private:
|
||||||
|
String addr;
|
||||||
|
PZEMSensor* pzem;
|
||||||
|
|
||||||
|
public:
|
||||||
|
Pzem004pf(String parameters) : IoTItem(parameters) {
|
||||||
|
addr = jsonReadStr(parameters, "addr");
|
||||||
|
if (myUART) {
|
||||||
|
pzem = new PZEMSensor(myUART, hexStringToUint8(addr));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void doByInterval() {
|
||||||
|
if (pzem) {
|
||||||
|
bool online = false;
|
||||||
|
value.valD = pzem->values(online)->pf;
|
||||||
|
if (online) {
|
||||||
|
regEvent(value.valD, "Pzem Pf");
|
||||||
|
} else {
|
||||||
|
regEvent(NAN, "Pzem Pf");
|
||||||
|
SerialPrint("E", "Pzem", "Pf error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
~Pzem004pf(){};
|
||||||
|
};
|
||||||
|
|
||||||
void* getAPI_Pzem004(String subtype, String param) {
|
void* getAPI_Pzem004(String subtype, String param) {
|
||||||
if (subtype == F("Pzem004v")) {
|
if (subtype == F("Pzem004v")) {
|
||||||
return new Pzem004v(param);
|
return new Pzem004v(param);
|
||||||
@@ -161,6 +190,8 @@ void* getAPI_Pzem004(String subtype, String param) {
|
|||||||
return new Pzem004wh(param);
|
return new Pzem004wh(param);
|
||||||
} else if (subtype == F("Pzem004hz")) {
|
} else if (subtype == F("Pzem004hz")) {
|
||||||
return new Pzem004hz(param);
|
return new Pzem004hz(param);
|
||||||
|
} else if (subtype == F("Pzem004pf")) {
|
||||||
|
return new Pzem004pf(param);
|
||||||
} else {
|
} else {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,10 +7,11 @@
|
|||||||
"subtype": "Pzem004v",
|
"subtype": "Pzem004v",
|
||||||
"id": "v",
|
"id": "v",
|
||||||
"widget": "anydataVlt",
|
"widget": "anydataVlt",
|
||||||
"page": "Сенсоры",
|
"page": "PZEM",
|
||||||
"descr": "Напряжение",
|
"descr": "Напряжение",
|
||||||
"int": 15,
|
"int": 15,
|
||||||
"addr": "0xF8"
|
"addr": "0xF8",
|
||||||
|
"round": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "PZEM 004t Сила тока",
|
"name": "PZEM 004t Сила тока",
|
||||||
@@ -18,10 +19,11 @@
|
|||||||
"subtype": "Pzem004a",
|
"subtype": "Pzem004a",
|
||||||
"id": "a",
|
"id": "a",
|
||||||
"widget": "anydataAmp",
|
"widget": "anydataAmp",
|
||||||
"page": "Сенсоры",
|
"page": "PZEM",
|
||||||
"descr": "Сила тока",
|
"descr": "Сила тока",
|
||||||
"int": 15,
|
"int": 15,
|
||||||
"addr": "0xF8"
|
"addr": "0xF8",
|
||||||
|
"round": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "PZEM 004t Мощность",
|
"name": "PZEM 004t Мощность",
|
||||||
@@ -29,10 +31,11 @@
|
|||||||
"subtype": "Pzem004w",
|
"subtype": "Pzem004w",
|
||||||
"id": "w",
|
"id": "w",
|
||||||
"widget": "anydataWt",
|
"widget": "anydataWt",
|
||||||
"page": "Сенсоры",
|
"page": "PZEM",
|
||||||
"descr": "Мощность",
|
"descr": "Мощность",
|
||||||
"int": 15,
|
"int": 15,
|
||||||
"addr": "0xF8"
|
"addr": "0xF8",
|
||||||
|
"round": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "PZEM 004t Энергия",
|
"name": "PZEM 004t Энергия",
|
||||||
@@ -40,10 +43,11 @@
|
|||||||
"subtype": "Pzem004wh",
|
"subtype": "Pzem004wh",
|
||||||
"id": "wh",
|
"id": "wh",
|
||||||
"widget": "anydataWth",
|
"widget": "anydataWth",
|
||||||
"page": "Сенсоры",
|
"page": "PZEM",
|
||||||
"descr": "Энергия",
|
"descr": "Энергия",
|
||||||
"int": 15,
|
"int": 15,
|
||||||
"addr": "0xF8"
|
"addr": "0xF8",
|
||||||
|
"round": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "PZEM 004t Частота",
|
"name": "PZEM 004t Частота",
|
||||||
@@ -51,10 +55,23 @@
|
|||||||
"subtype": "Pzem004hz",
|
"subtype": "Pzem004hz",
|
||||||
"id": "hz",
|
"id": "hz",
|
||||||
"widget": "anydataHtz",
|
"widget": "anydataHtz",
|
||||||
"page": "Сенсоры",
|
"page": "PZEM",
|
||||||
"descr": "Частота",
|
"descr": "Частота",
|
||||||
"int": 15,
|
"int": 15,
|
||||||
"addr": "0xF8"
|
"addr": "0xF8",
|
||||||
|
"round": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PZEM 004t Косинус",
|
||||||
|
"type": "Reading",
|
||||||
|
"subtype": "Pzem004pf",
|
||||||
|
"id": "pf",
|
||||||
|
"widget": "anydata",
|
||||||
|
"page": "PZEM",
|
||||||
|
"descr": "Косинус F",
|
||||||
|
"int": 15,
|
||||||
|
"addr": "0xF8",
|
||||||
|
"round": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"about": {
|
"about": {
|
||||||
@@ -73,7 +90,8 @@
|
|||||||
"Pzem004a",
|
"Pzem004a",
|
||||||
"Pzem004w",
|
"Pzem004w",
|
||||||
"Pzem004wh",
|
"Pzem004wh",
|
||||||
"Pzem004hz"
|
"Pzem004hz",
|
||||||
|
"Pzem004pf"
|
||||||
],
|
],
|
||||||
"title": "Счетчик электроэнергии PZEM 004 t версии 3.0 (с модбасом). Возможно подключение трех счетчиков к одной esp для трехфазных сетей. Для этого нужно настроить разные адреса modbus в платах pzem",
|
"title": "Счетчик электроэнергии PZEM 004 t версии 3.0 (с модбасом). Возможно подключение трех счетчиков к одной esp для трехфазных сетей. Для этого нужно настроить разные адреса modbus в платах pzem",
|
||||||
"moduleDesc": "Считает потраченную электроэнергию, измеряет напряжение, частоту, силу тока и прочие параметры",
|
"moduleDesc": "Считает потраченную электроэнергию, измеряет напряжение, частоту, силу тока и прочие параметры",
|
||||||
@@ -85,10 +103,10 @@
|
|||||||
"defActive": true,
|
"defActive": true,
|
||||||
"usedLibs": {
|
"usedLibs": {
|
||||||
"esp32_4mb": [
|
"esp32_4mb": [
|
||||||
"mandulaj/PZEM-004T-v30"
|
"https://github.com/mandulaj/PZEM-004T-v30"
|
||||||
],
|
],
|
||||||
"esp8266_4mb": [
|
"esp8266_4mb": [
|
||||||
"mandulaj/PZEM-004T-v30"
|
"https://github.com/mandulaj/PZEM-004T-v30"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user