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(){};
|
||||
};
|
||||
|
||||
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) {
|
||||
if (subtype == F("Pzem004v")) {
|
||||
return new Pzem004v(param);
|
||||
@@ -161,6 +190,8 @@ void* getAPI_Pzem004(String subtype, String param) {
|
||||
return new Pzem004wh(param);
|
||||
} else if (subtype == F("Pzem004hz")) {
|
||||
return new Pzem004hz(param);
|
||||
} else if (subtype == F("Pzem004pf")) {
|
||||
return new Pzem004pf(param);
|
||||
} else {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -7,10 +7,11 @@
|
||||
"subtype": "Pzem004v",
|
||||
"id": "v",
|
||||
"widget": "anydataVlt",
|
||||
"page": "Сенсоры",
|
||||
"page": "PZEM",
|
||||
"descr": "Напряжение",
|
||||
"int": 15,
|
||||
"addr": "0xF8"
|
||||
"addr": "0xF8",
|
||||
"round": 1
|
||||
},
|
||||
{
|
||||
"name": "PZEM 004t Сила тока",
|
||||
@@ -18,10 +19,11 @@
|
||||
"subtype": "Pzem004a",
|
||||
"id": "a",
|
||||
"widget": "anydataAmp",
|
||||
"page": "Сенсоры",
|
||||
"page": "PZEM",
|
||||
"descr": "Сила тока",
|
||||
"int": 15,
|
||||
"addr": "0xF8"
|
||||
"addr": "0xF8",
|
||||
"round": 1
|
||||
},
|
||||
{
|
||||
"name": "PZEM 004t Мощность",
|
||||
@@ -29,10 +31,11 @@
|
||||
"subtype": "Pzem004w",
|
||||
"id": "w",
|
||||
"widget": "anydataWt",
|
||||
"page": "Сенсоры",
|
||||
"page": "PZEM",
|
||||
"descr": "Мощность",
|
||||
"int": 15,
|
||||
"addr": "0xF8"
|
||||
"addr": "0xF8",
|
||||
"round": 1
|
||||
},
|
||||
{
|
||||
"name": "PZEM 004t Энергия",
|
||||
@@ -40,10 +43,11 @@
|
||||
"subtype": "Pzem004wh",
|
||||
"id": "wh",
|
||||
"widget": "anydataWth",
|
||||
"page": "Сенсоры",
|
||||
"page": "PZEM",
|
||||
"descr": "Энергия",
|
||||
"int": 15,
|
||||
"addr": "0xF8"
|
||||
"addr": "0xF8",
|
||||
"round": 1
|
||||
},
|
||||
{
|
||||
"name": "PZEM 004t Частота",
|
||||
@@ -51,10 +55,23 @@
|
||||
"subtype": "Pzem004hz",
|
||||
"id": "hz",
|
||||
"widget": "anydataHtz",
|
||||
"page": "Сенсоры",
|
||||
"page": "PZEM",
|
||||
"descr": "Частота",
|
||||
"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": {
|
||||
@@ -73,7 +90,8 @@
|
||||
"Pzem004a",
|
||||
"Pzem004w",
|
||||
"Pzem004wh",
|
||||
"Pzem004hz"
|
||||
"Pzem004hz",
|
||||
"Pzem004pf"
|
||||
],
|
||||
"title": "Счетчик электроэнергии PZEM 004 t версии 3.0 (с модбасом). Возможно подключение трех счетчиков к одной esp для трехфазных сетей. Для этого нужно настроить разные адреса modbus в платах pzem",
|
||||
"moduleDesc": "Считает потраченную электроэнергию, измеряет напряжение, частоту, силу тока и прочие параметры",
|
||||
@@ -85,10 +103,10 @@
|
||||
"defActive": true,
|
||||
"usedLibs": {
|
||||
"esp32_4mb": [
|
||||
"mandulaj/PZEM-004T-v30"
|
||||
"https://github.com/mandulaj/PZEM-004T-v30"
|
||||
],
|
||||
"esp8266_4mb": [
|
||||
"mandulaj/PZEM-004T-v30"
|
||||
"https://github.com/mandulaj/PZEM-004T-v30"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user