Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev

This commit is contained in:
2022-12-22 08:57:21 +03:00
333 changed files with 68380 additions and 629 deletions

View File

@@ -1,24 +1,24 @@
{
{
"menuSection": "Сенсоры",
"configItem": [{
"global": 0,
"name": "Аналоговый сенсор",
"type": "Reading",
"subtype": "AnalogAdc",
"id": "t",
"widget": "anydataTmp",
"page": "Сенсоры",
"descr": "Температура",
"map": "1,1024,1,100",
"plus": 0,
"multiply": 1,
"round": 1,
"pin": 0,
"int": 15,
"avgSteps": 1
}],
"configItem": [
{
"global": 0,
"name": "Аналоговый сенсор",
"type": "Reading",
"subtype": "AnalogAdc",
"id": "t",
"widget": "anydataTmp",
"page": "Сенсоры",
"descr": "Температура",
"map": "1,1024,1,100",
"plus": 0,
"multiply": 1,
"round": 1,
"pin": 0,
"int": 15,
"avgSteps": 1
}
],
"about": {
"authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe",
@@ -39,13 +39,13 @@
"int": "Количество секунд между опросами датчика."
}
},
"defActive": true,
"usedLibs": {
"esp32_4mb": [],
"esp8266_4mb": []
"esp8266_4mb": [],
"esp8266_1mb": [],
"esp8266_1mb_ota": [],
"esp8285_1mb": [],
"esp8285_1mb_ota": []
}
}

View File

@@ -71,6 +71,18 @@
],
"esp8266_4mb": [
"adafruit/Adafruit BME280 Library"
],
"esp8266_1mb": [
"adafruit/Adafruit BME280 Library"
],
"esp8266_1mb_ota": [
"adafruit/Adafruit BME280 Library"
],
"esp8285_1mb": [
"adafruit/Adafruit BME280 Library"
],
"esp8285_1mb_ota": [
"adafruit/Adafruit BME280 Library"
]
}
}

View File

@@ -57,6 +57,18 @@
],
"esp8266_4mb": [
"adafruit/Adafruit BMP280 Library"
],
"esp8266_1mb": [
"adafruit/Adafruit BMP280 Library"
],
"esp8266_1mb_ota": [
"adafruit/Adafruit BMP280 Library"
],
"esp8285_1mb": [
"adafruit/Adafruit BMP280 Library"
],
"esp8285_1mb_ota": [
"adafruit/Adafruit BMP280 Library"
]
}
}

View File

@@ -15,6 +15,8 @@ class Pzem004v : public IoTItem {
addr = jsonReadStr(parameters, "addr");
if (myUART) {
pzem = new PZEMSensor(myUART, hexStringToUint8(addr));
// раскомментируйте эту строку если нужно поменять адрес pzem
// SerialPrint("i", "Pzem", String(pzem->setAddress(0x03)));
}
}
@@ -179,6 +181,48 @@ class Pzem004pf : public IoTItem {
~Pzem004pf(){};
};
class Pzem004cmd : public IoTItem {
private:
String addr;
int changeaddr;
String setaddr;
int reset;
PZEMSensor* pzem;
public:
Pzem004cmd(String parameters) : IoTItem(parameters) {
jsonRead(parameters, F("addr"), addr);
jsonRead(parameters, F("changeaddr"), changeaddr);
jsonRead(parameters, F("setaddr"), setaddr);
jsonRead(parameters, F("reset"), reset);
if (myUART) {
pzem = new PZEMSensor(myUART, hexStringToUint8(addr));
if (changeaddr == 1) {
if (pzem->setAddress(hexStringToUint8(setaddr))) {
SerialPrint("i", "Pzem", "address set: " + setaddr);
} else {
SerialPrint("i", "Pzem", "set adress error");
}
}
if (reset == 1) {
if (pzem->reset()) {
SerialPrint("i", "Pzem", "reset done");
} else {
SerialPrint("i", "Pzem", "reset error");
}
}
}
}
void doByInterval() {
if (pzem) {
}
}
~Pzem004cmd(){};
};
void* getAPI_Pzem004(String subtype, String param) {
if (subtype == F("Pzem004v")) {
return new Pzem004v(param);
@@ -191,7 +235,9 @@ void* getAPI_Pzem004(String subtype, String param) {
} else if (subtype == F("Pzem004hz")) {
return new Pzem004hz(param);
} else if (subtype == F("Pzem004pf")) {
return new Pzem004pf(param);
return new Pzem004pf(param);
} else if (subtype == F("Pzem004cmd")) {
return new Pzem004cmd(param);
} else {
return nullptr;
}

View File

@@ -78,6 +78,21 @@
"int": 15,
"addr": "0xF8",
"round": 1
},
{
"global": 0,
"name": "PZEM настройка",
"type": "Reading",
"subtype": "Pzem004cmd",
"id": "set",
"widget": "nil",
"page": "",
"descr": "",
"int": 15,
"addr": "0xF8",
"changeaddr": 0,
"setaddr": "0x01",
"reset": 0
}
],
"about": {
@@ -86,7 +101,7 @@
"authorGit": "https://github.com/DmitryBorisenko33",
"specialThanks": "Serghei Crasnicov @Serghei63",
"moduleName": "Pzem004",
"moduleVersion": "1.0",
"moduleVersion": "1.1",
"usedRam": {
"esp32_4mb": 15,
"esp8266_4mb": 15
@@ -97,13 +112,17 @@
"Pzem004w",
"Pzem004wh",
"Pzem004hz",
"Pzem004pf"
"Pzem004pf",
"Pzem004cmd"
],
"title": "Счетчик электроэнергии PZEM 004 t версии 3.0 (с модбасом). Возможно подключение трех счетчиков к одной esp для трехфазных сетей. Для этого нужно настроить разные адреса modbus в платах pzem",
"moduleDesc": "Считает потраченную электроэнергию, измеряет напряжение, частоту, силу тока и прочие параметры",
"propInfo": {
"addr": "Адрес modbus",
"int": "Количество секунд между опросами датчика. Желателно устанавливать разные интервалы для параметров что бы опросы происходили в разное время."
"int": "Количество секунд между опросами датчика. Желателно устанавливать разные интервалы для параметров что бы опросы происходили в разное время.",
"changeaddr": "Поставьте этот параметр равным 1 и перезагрузите esp - будет установлен адрес указанный в setaddr. Смотрите в логе результат: [i] Pzem address set: 0x01",
"setaddr": "Новый адрес который нужно назначить",
"reset": "Поставьте этот параметр равным 1 и pzem будет сброшен к нулю. Смотрите в логе результат: [i] Pzem reset done"
}
},
"defActive": true,

View File

@@ -54,6 +54,18 @@
],
"esp8266_4mb": [
"robtillaart/SHT2x@^0.1.1"
],
"esp8266_1mb": [
"robtillaart/SHT2x@^0.1.1"
],
"esp8266_1mb_ota": [
"robtillaart/SHT2x@^0.1.1"
],
"esp8285_1mb": [
"robtillaart/SHT2x@^0.1.1"
],
"esp8285_1mb_ota": [
"robtillaart/SHT2x@^0.1.1"
]
}
}

View File

@@ -54,6 +54,18 @@
],
"esp8266_4mb": [
"WEMOS SHT3x@1.0.0"
],
"esp8266_1mb": [
"WEMOS SHT3x@1.0.0"
],
"esp8266_1mb_ota": [
"WEMOS SHT3x@1.0.0"
],
"esp8285_1mb": [
"WEMOS SHT3x@1.0.0"
],
"esp8285_1mb_ota": [
"WEMOS SHT3x@1.0.0"
]
}
}