Merge branch 'pr/Mit4el/14' into ver4dev

This commit is contained in:
Mit4el
2023-09-09 13:20:12 +03:00
91 changed files with 4563 additions and 1089 deletions

View File

@@ -207,7 +207,7 @@ with open("platformio.ini", 'w') as configFile:
config.write(configFile) config.write(configFile)
# сохраняем применяемый профиль в папку data_svelte для загрузки на контроллер и дальнейшего переиспользования # сохраняем применяемый профиль в папку data_svelte для загрузки на контроллер и дальнейшего переиспользования
print(f"Сохраняем профиль {profile} в {dataDir}") print(f"Saving profile {profile} in {dataDir}")
shutil.copy(profile, dataDir + "/" + profile) shutil.copy(profile, dataDir + "/" + profile)
@@ -218,10 +218,10 @@ shutil.copy(profile, dataDir + "/" + profile)
# ctypes.windll.user32.MessageBoxW(0, "Профиль " + profile + " применен, можно запускать компиляцию и прошивку.", "Операция завершена.", 0) # ctypes.windll.user32.MessageBoxW(0, "Профиль " + profile + " применен, можно запускать компиляцию и прошивку.", "Операция завершена.", 0)
if update: if update:
print(f"\x1b[1;31;42m Модули профиля " + profile + " обновлены, а сам профиль применен, можно запускать компиляцию и прошивку.\x1b[0m") print(f"\x1b[1;31;42m Profile modules " + profile + " updated, profile applied, you can run compilation and firmware.\x1b[0m")
else: else:
print(f"\x1b[1;31;42m Профиль ", profile, " применен, можно запускать компиляцию и прошивку.\x1b[0m") print(f"\x1b[1;31;42m Profile ", profile, " applied, you can run compilation and firmware.\x1b[0m")
# print(f"\x1b[1;32;41m Операция завершена. \x1b[0m") # print(f"\x1b[1;32;41m Операция завершена. \x1b[0m")

View File

@@ -1,6 +1,15 @@
# IoTManager # IoTManager
Это модульная система беспроводной автоматизации на базе ESP32/ESP8266 микроконтроллеров и приложения IoT Manager.
Телеграм канал обсуждения приложения и системы автоматизации https://t.me/IoTmanager
# [Инструкция](https://github.com/IoTManagerProject/IoTManager/wiki)
![](https://github.com/IoTManagerProject/IoTManager/blob/beta/doc/pictures/007%20iot%20manager.jpg) This is a smart home based on esp8266 and esp32 microcontrollers. These microcontrollers gained their popularity due to their low cost. Each such microcontroller is able to connect to your home wifi router. They can be purchased at any robotics store or on aliexpress, there are also ready-made devices based on them. This microcontroller has a certain number of pins on which digital signals are generated. Various peripheral devices can be connected to it: sensors, relays, stepper motors, servo drives, etc.
Our firmware allows you to receive data from all these devices and manage them. The iot manager app available for ios and android is used to display the data. In order to connect devices and the application, a special mqtt server is needed, in other words, an mqtt broker. All devices are first connected to a wifi router, and then to this mqtt broker, the application is also connected to it. As a result, through the application you can manage devices from anywhere in the world, monitor sensor readings, build graphs and much more. Broker mqtt can be used in the cloud, such as wqtt.ru, or your own, raised, for example, on a single-board computer raspberry pi. There is also a second way to manage devices, it works even when you do not have the Internet - control through a web browser. All your devices will be available on one page. Both methods, through the application or through the web, work simultaneously with full mutual synchronization.
To achieve your goal, you only need three things:
1. Buy an esp microcontroller
2. Download the app
3. Get a cloud broker
If remote control and the application are not needed, then the last step can be omitted.
The logic of each device is configured using scripts. They are needed in order to teach the device to carry out your invented algorithms. You can assign any reaction to any action. The temperature has risen - the device will turn off the heater. Humidity has fallen and the level in the tank is more than 10% - the device will start watering, if not, it will send you a telegram notification that there is not enough water. These are just a few examples. Scenarios are created by you, and their flexibility will allow you to fulfill your every desire.

Binary file not shown.

Binary file not shown.

View File

@@ -4,7 +4,7 @@
"num": 0 "num": 0
}, },
{ {
"header": "Виртуальные элементы" "header": "virtual_elments"
}, },
{ {
"global": 0, "global": 0,
@@ -189,7 +189,7 @@
"num": 12 "num": 12
}, },
{ {
"header": "Сенсоры" "header": "sensors"
}, },
{ {
"name": "13. A02 Дальность", "name": "13. A02 Дальность",
@@ -630,7 +630,7 @@
"num": 42 "num": 42
}, },
{ {
"header": "Исполнительные устройства" "header": "executive_devices"
}, },
{ {
"global": 0, "global": 0,
@@ -757,7 +757,7 @@
"id": "impulse", "id": "impulse",
"widget": "anydataDef", "widget": "anydataDef",
"page": "Кнопки", "page": "Кнопки",
"descr": "Количество нажаний", "descr": "Количество нажатий",
"needSave": 0, "needSave": 0,
"int": 300, "int": 300,
"inv": 1, "inv": 1,
@@ -811,7 +811,7 @@
"num": 53 "num": 53
}, },
{ {
"header": "Экраны" "header": "screens"
}, },
{ {
"global": 0, "global": 0,
@@ -819,14 +819,15 @@
"type": "Reading", "type": "Reading",
"subtype": "Lcd2004", "subtype": "Lcd2004",
"id": "Lcd", "id": "Lcd",
"widget": "", "widget": "inputTxt",
"page": "", "page": "screens",
"descr": "T", "descr": "LCD Экран",
"int": 15,
"addr": "0x27", "addr": "0x27",
"size": "20,4", "size": "20,4",
"coord": "0,0", "coord": "0,0",
"id2show": "id датчика", "id2show": "",
"prefix": "",
"postfix": "",
"num": 54 "num": 54
}, },
{ {
@@ -834,14 +835,35 @@
"type": "Reading", "type": "Reading",
"subtype": "Lcd2004", "subtype": "Lcd2004",
"id": "Lcd", "id": "Lcd",
"widget": "", "widget": "inputTxt",
"page": "", "page": "screens",
"descr": "T", "descr": "LCD Экран",
"int": 15,
"addr": "0x27", "addr": "0x27",
"size": "16,2", "size": "16,2",
"coord": "0,0", "coord": "0,0",
"id2show": "id датчика", "id2show": "",
"prefix": "",
"postfix": "",
"num": 55 "num": 55
},
{
"global": 0,
"name": "56. 7 сегментный дисплей TM16XX",
"type": "Writing",
"subtype": "TM16XX",
"id": "tm",
"widget": "inputTxt",
"page": "screens",
"descr": "Экран",
"round": 0,
"chip": 1637,
"numDigits": 4,
"DIO": "13",
"CLK": "14",
"STB": "12",
"intensity": "5",
"on": "1",
"id2show": "",
"num": 56
} }
] ]

View File

@@ -25,11 +25,64 @@
"projectProp": { "projectProp": {
"platformio": { "platformio": {
"default_envs": "esp8266_4mb", "default_envs": "esp8266_4mb",
"comments_default_envs": "choose from: esp8266_4mb or esp32_4mb or esp32s2_4mb or esp8266_1mb or esp8266_1mb_ota or esp8285_1mb or esp8285_1mb_ota" "comments_default_envs": "choose from: esp8266_4mb or esp32_4mb or esp32s2_4mb or esp8266_1mb or esp8266_1mb_ota or esp8285_1mb or esp8285_1mb_ota",
"envs": [
{
"name": "esp8266_4mb",
"firmware": "0x00000",
"littlefs": "0x300000"
},
{
"name": "esp32_4mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x290000"
},
{
"name": "esp8266_1mb",
"firmware": "0x00000000",
"littlefs": "0x000bb000"
},
{
"name": "esp8266_1mb_ota",
"firmware": "0x00000000",
"littlefs": "0x000eb000"
},
{
"name": "esp8266_2mb",
"firmware": "0x00000000",
"littlefs": "0x00100000"
},
{
"name": "esp8266_2mb_ota",
"firmware": "0x00000000",
"littlefs": "0x001c0000"
},
{
"name": "esp8285_1mb",
"firmware": "0x00000000",
"littlefs": "0x000bb000"
},
{
"name": "esp8285_1mb_ota",
"firmware": "0x00000000",
"littlefs": "0x000eb000"
},
{
"name": "esp32s2_4mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x290000"
}
]
} }
}, },
"modules": { "modules": {
"Виртуальные элементы": [ "virtual_elments": [
{ {
"path": "src/modules/virtual/Cron", "path": "src/modules/virtual/Cron",
"active": true "active": true
@@ -67,7 +120,7 @@
"active": false "active": false
} }
], ],
"Сенсоры": [ "sensors": [
{ {
"path": "src/modules/sensors/A02Distance", "path": "src/modules/sensors/A02Distance",
"active": true "active": true
@@ -117,11 +170,11 @@
"active": false "active": false
}, },
{ {
"path": "src/modules/sensors/Ds2423", "path": "src/modules/sensors/Emon",
"active": false "active": false
}, },
{ {
"path": "src/modules/sensors/Emon", "path": "src/modules/sensors/ExampleModule",
"active": false "active": false
}, },
{ {
@@ -156,6 +209,10 @@
"path": "src/modules/sensors/Ina219", "path": "src/modules/sensors/Ina219",
"active": false "active": false
}, },
{
"path": "src/modules/sensors/Ina226",
"active": false
},
{ {
"path": "src/modules/sensors/IoTWiegand", "path": "src/modules/sensors/IoTWiegand",
"active": false "active": false
@@ -221,7 +278,7 @@
"active": true "active": true
} }
], ],
"Исполнительные устройства": [ "executive_devices": [
{ {
"path": "src/modules/exec/ButtonIn", "path": "src/modules/exec/ButtonIn",
"active": true "active": true
@@ -305,9 +362,13 @@
{ {
"path": "src/modules/exec/Thermostat", "path": "src/modules/exec/Thermostat",
"active": false "active": false
},
{
"path": "src/modules/sensors/Ds2423",
"active": false
} }
], ],
"Экраны": [ "screens": [
{ {
"path": "src/modules/display/DwinI", "path": "src/modules/display/DwinI",
"active": false "active": false
@@ -324,6 +385,10 @@
"path": "src/modules/display/Smi2_m", "path": "src/modules/display/Smi2_m",
"active": true "active": true
}, },
{
"path": "src/modules/display/TM16XX",
"active": true
},
{ {
"path": "src/modules/display/Ws2812b", "path": "src/modules/display/Ws2812b",
"active": false "active": false

View File

@@ -4,7 +4,7 @@
"num": 0 "num": 0
}, },
{ {
"header": "Виртуальные элементы" "header": "virtual_elments"
}, },
{ {
"global": 0, "global": 0,
@@ -189,7 +189,7 @@
"num": 12 "num": 12
}, },
{ {
"header": "Сенсоры" "header": "sensors"
}, },
{ {
"name": "13. Acs712 Ток", "name": "13. Acs712 Ток",
@@ -197,7 +197,7 @@
"subtype": "Acs712", "subtype": "Acs712",
"id": "amp", "id": "amp",
"widget": "anydataAmp", "widget": "anydataAmp",
"page": "Сенсоры", "page": "sensors",
"descr": "Ток", "descr": "Ток",
"round": 3, "round": 3,
"pin": 39, "pin": 39,
@@ -216,7 +216,7 @@
"subtype": "AnalogAdc", "subtype": "AnalogAdc",
"id": "t", "id": "t",
"widget": "anydataTmp", "widget": "anydataTmp",
"page": "Сенсоры", "page": "sensors",
"descr": "Температура", "descr": "Температура",
"map": "1,1024,1,100", "map": "1,1024,1,100",
"plus": 0, "plus": 0,
@@ -234,7 +234,7 @@
"subtype": "Bme280t", "subtype": "Bme280t",
"id": "Tmp3", "id": "Tmp3",
"widget": "anydataTmp", "widget": "anydataTmp",
"page": "Сенсоры", "page": "sensors",
"descr": "Температура", "descr": "Температура",
"int": 15, "int": 15,
"addr": "0x77", "addr": "0x77",
@@ -248,7 +248,7 @@
"subtype": "Bme280p", "subtype": "Bme280p",
"id": "Press3", "id": "Press3",
"widget": "anydataMm", "widget": "anydataMm",
"page": "Сенсоры", "page": "sensors",
"descr": "Давление", "descr": "Давление",
"int": 15, "int": 15,
"addr": "0x77", "addr": "0x77",
@@ -262,7 +262,7 @@
"subtype": "Bme280h", "subtype": "Bme280h",
"id": "Hum3", "id": "Hum3",
"widget": "anydataHum", "widget": "anydataHum",
"page": "Сенсоры", "page": "sensors",
"descr": "Влажность", "descr": "Влажность",
"int": 15, "int": 15,
"addr": "0x77", "addr": "0x77",
@@ -276,7 +276,7 @@
"subtype": "Bme280dp", "subtype": "Bme280dp",
"id": "Dew3", "id": "Dew3",
"widget": "anydataTmp", "widget": "anydataTmp",
"page": "Сенсоры", "page": "sensors",
"descr": "Точка росы", "descr": "Точка росы",
"int": 15, "int": 15,
"addr": "0x77", "addr": "0x77",
@@ -290,7 +290,7 @@
"subtype": "Bmp280t", "subtype": "Bmp280t",
"id": "tmp3", "id": "tmp3",
"widget": "anydataTmp", "widget": "anydataTmp",
"page": "Сенсоры", "page": "sensors",
"descr": "280 Температура", "descr": "280 Температура",
"int": 15, "int": 15,
"addr": "0x77", "addr": "0x77",
@@ -304,7 +304,7 @@
"subtype": "Bmp280p", "subtype": "Bmp280p",
"id": "Press3", "id": "Press3",
"widget": "anydataMm", "widget": "anydataMm",
"page": "Сенсоры", "page": "sensors",
"descr": "280 Давление", "descr": "280 Давление",
"int": 15, "int": 15,
"addr": "0x77", "addr": "0x77",
@@ -318,7 +318,7 @@
"subtype": "Ds18b20", "subtype": "Ds18b20",
"id": "dstmp", "id": "dstmp",
"widget": "anydataTmp", "widget": "anydataTmp",
"page": "Сенсоры", "page": "sensors",
"descr": "DS Температура", "descr": "DS Температура",
"int": 15, "int": 15,
"pin": 2, "pin": 2,
@@ -471,7 +471,7 @@
"subtype": "Sht20t", "subtype": "Sht20t",
"id": "tmp2", "id": "tmp2",
"widget": "anydataTmp", "widget": "anydataTmp",
"page": "Сенсоры", "page": "sensors",
"descr": "Температура", "descr": "Температура",
"int": 15, "int": 15,
"round": 1, "round": 1,
@@ -484,7 +484,7 @@
"subtype": "Sht20h", "subtype": "Sht20h",
"id": "Hum2", "id": "Hum2",
"widget": "anydataHum", "widget": "anydataHum",
"page": "Сенсоры", "page": "sensors",
"descr": "Влажность", "descr": "Влажность",
"int": 15, "int": 15,
"round": 1, "round": 1,
@@ -497,7 +497,7 @@
"subtype": "Sht30t", "subtype": "Sht30t",
"id": "tmp30", "id": "tmp30",
"widget": "anydataTmp", "widget": "anydataTmp",
"page": "Сенсоры", "page": "sensors",
"descr": "SHT30 Температура", "descr": "SHT30 Температура",
"int": 15, "int": 15,
"round": 1, "round": 1,
@@ -510,7 +510,7 @@
"subtype": "Sht30h", "subtype": "Sht30h",
"id": "Hum30", "id": "Hum30",
"widget": "anydataHum", "widget": "anydataHum",
"page": "Сенсоры", "page": "sensors",
"descr": "SHT30 Влажность", "descr": "SHT30 Влажность",
"int": 15, "int": 15,
"round": 1, "round": 1,
@@ -524,7 +524,7 @@
"subtype": "Sonar", "subtype": "Sonar",
"id": "sonar", "id": "sonar",
"widget": "anydataTmp", "widget": "anydataTmp",
"page": "Сенсоры", "page": "sensors",
"descr": "Расстояние (см)", "descr": "Расстояние (см)",
"pinTrig": 5, "pinTrig": 5,
"pinEcho": 4, "pinEcho": 4,
@@ -546,7 +546,7 @@
"num": 36 "num": 36
}, },
{ {
"header": "Исполнительные устройства" "header": "executive_devices"
}, },
{ {
"global": 0, "global": 0,
@@ -658,7 +658,7 @@
"num": 43 "num": 43
}, },
{ {
"header": "Экраны" "header": "screens"
}, },
{ {
"global": 0, "global": 0,

View File

@@ -29,7 +29,7 @@
} }
}, },
"modules": { "modules": {
"Виртуальные элементы": [ "virtual_elments": [
{ {
"path": "src/modules/virtual/Cron", "path": "src/modules/virtual/Cron",
"active": true "active": true
@@ -63,7 +63,7 @@
"active": false "active": false
} }
], ],
"Сенсоры": [ "sensors": [
{ {
"path": "src/modules/sensors/Acs712", "path": "src/modules/sensors/Acs712",
"active": true "active": true
@@ -193,7 +193,7 @@
"active": true "active": true
} }
], ],
"Исполнительные устройства": [ "executive_devices": [
{ {
"path": "src/modules/exec/ButtonIn", "path": "src/modules/exec/ButtonIn",
"active": true "active": true
@@ -267,7 +267,7 @@
"active": false "active": false
} }
], ],
"Экраны": [ "screens": [
{ {
"path": "src/modules/display/DwinI", "path": "src/modules/display/DwinI",
"active": false "active": false

View File

@@ -3,7 +3,8 @@
#include "Global.h" #include "Global.h"
#include "MqttClient.h" #include "MqttClient.h"
boolean isNetworkActive(); // boolean isNetworkActive();
inline boolean isNetworkActive() {return WiFi.status() == WL_CONNECTED;};
void routerConnect(); void routerConnect();
bool startAPMode(); bool startAPMode();
boolean RouterFind(String ssid); boolean RouterFind(String ssid);

View File

@@ -25,11 +25,64 @@
"projectProp": { "projectProp": {
"platformio": { "platformio": {
"default_envs": "esp8266_4mb", "default_envs": "esp8266_4mb",
"comments_default_envs": "choose from: esp8266_4mb or esp32_4mb or esp32s2_4mb or esp8266_1mb or esp8266_1mb_ota or esp8285_1mb or esp8285_1mb_ota" "comments_default_envs": "choose from: esp8266_4mb or esp32_4mb or esp32s2_4mb or esp8266_1mb or esp8266_1mb_ota or esp8285_1mb or esp8285_1mb_ota",
"envs": [
{
"name": "esp8266_4mb",
"firmware": "0x00000",
"littlefs": "0x300000"
},
{
"name": "esp32_4mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x290000"
},
{
"name": "esp8266_1mb",
"firmware": "0x00000000",
"littlefs": "0x000bb000"
},
{
"name": "esp8266_1mb_ota",
"firmware": "0x00000000",
"littlefs": "0x000eb000"
},
{
"name": "esp8266_2mb",
"firmware": "0x00000000",
"littlefs": "0x00100000"
},
{
"name": "esp8266_2mb_ota",
"firmware": "0x00000000",
"littlefs": "0x001c0000"
},
{
"name": "esp8285_1mb",
"firmware": "0x00000000",
"littlefs": "0x000bb000"
},
{
"name": "esp8285_1mb_ota",
"firmware": "0x00000000",
"littlefs": "0x000eb000"
},
{
"name": "esp32s2_4mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x290000"
}
]
} }
}, },
"modules": { "modules": {
"Виртуальные элементы": [ "virtual_elments": [
{ {
"path": "src/modules/virtual/Cron", "path": "src/modules/virtual/Cron",
"active": true "active": true
@@ -67,7 +120,7 @@
"active": false "active": false
} }
], ],
"Сенсоры": [ "sensors": [
{ {
"path": "src/modules/sensors/A02Distance", "path": "src/modules/sensors/A02Distance",
"active": true "active": true
@@ -116,10 +169,6 @@
"path": "src/modules/sensors/DS2401", "path": "src/modules/sensors/DS2401",
"active": false "active": false
}, },
{
"path": "src/modules/sensors/Ds2423",
"active": false
},
{ {
"path": "src/modules/sensors/Emon", "path": "src/modules/sensors/Emon",
"active": false "active": false
@@ -229,7 +278,7 @@
"active": true "active": true
} }
], ],
"Исполнительные устройства": [ "executive_devices": [
{ {
"path": "src/modules/exec/ButtonIn", "path": "src/modules/exec/ButtonIn",
"active": true "active": true
@@ -313,9 +362,13 @@
{ {
"path": "src/modules/exec/Thermostat", "path": "src/modules/exec/Thermostat",
"active": false "active": false
},
{
"path": "src/modules/sensors/Ds2423",
"active": false
} }
], ],
"Экраны": [ "screens": [
{ {
"path": "src/modules/display/DwinI", "path": "src/modules/display/DwinI",
"active": false "active": false
@@ -332,6 +385,10 @@
"path": "src/modules/display/Smi2_m", "path": "src/modules/display/Smi2_m",
"active": true "active": true
}, },
{
"path": "src/modules/display/TM16XX",
"active": true
},
{ {
"path": "src/modules/display/Ws2812b", "path": "src/modules/display/Ws2812b",
"active": false "active": false

398
myProfileDef.json Normal file
View File

@@ -0,0 +1,398 @@
{
"iotmSettings": {
"name": "IoTmanagerVer4",
"apssid": "IoTmanager",
"appass": "",
"routerssid": "iot",
"routerpass": "hostel3333",
"timezone": 2,
"ntp": "pool.ntp.org",
"weblogin": "admin",
"webpass": "admin",
"mqttServer": "",
"mqttPort": 8021,
"mqttPrefix": "/risenew",
"mqttUser": "rise",
"mqttPass": "3hostel3",
"serverip": "http://iotmanager.org",
"log": 0,
"mqttin": 0,
"pinSCL": 0,
"pinSDA": 0,
"i2cFreq": 100000,
"wg": "group1"
},
"projectProp": {
"platformio": {
"default_envs": "esp8266_4mb",
"comments_default_envs": "choose from: esp8266_4mb or esp32_4mb or esp32s2_4mb or esp8266_1mb or esp8266_1mb_ota or esp8285_1mb or esp8285_1mb_ota",
"envs": [
{
"name": "esp8266_4mb",
"firmware": "0x00000",
"littlefs": "0x300000"
},
{
"name": "esp32_4mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x290000"
},
{
"name": "esp8266_1mb",
"firmware": "0x00000000",
"littlefs": "0x000bb000"
},
{
"name": "esp8266_1mb_ota",
"firmware": "0x00000000",
"littlefs": "0x000eb000"
},
{
"name": "esp8266_2mb",
"firmware": "0x00000000",
"littlefs": "0x00100000"
},
{
"name": "esp8266_2mb_ota",
"firmware": "0x00000000",
"littlefs": "0x001c0000"
},
{
"name": "esp8285_1mb",
"firmware": "0x00000000",
"littlefs": "0x000bb000"
},
{
"name": "esp8285_1mb_ota",
"firmware": "0x00000000",
"littlefs": "0x000eb000"
},
{
"name": "esp32s2_4mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x290000"
}
]
}
},
"modules": {
"virtual_elments": [
{
"path": "src/modules/virtual/Cron",
"active": true
},
{
"path": "src/modules/virtual/GoogleSheet",
"active": false
},
{
"path": "src/modules/virtual/Loging",
"active": true
},
{
"path": "src/modules/virtual/LogingDaily",
"active": true
},
{
"path": "src/modules/virtual/Timer",
"active": true
},
{
"path": "src/modules/virtual/Variable",
"active": true
},
{
"path": "src/modules/virtual/VariableColor",
"active": true
},
{
"path": "src/modules/virtual/VButton",
"active": true
},
{
"path": "src/modules/virtual/Weather",
"active": false
}
],
"sensors": [
{
"path": "src/modules/sensors/A02Distance",
"active": true
},
{
"path": "src/modules/sensors/Acs712",
"active": true
},
{
"path": "src/modules/sensors/Ads1115",
"active": false
},
{
"path": "src/modules/sensors/AhtXX",
"active": true
},
{
"path": "src/modules/sensors/AnalogAdc",
"active": true
},
{
"path": "src/modules/sensors/BH_1750",
"active": false
},
{
"path": "src/modules/sensors/Ble",
"active": false
},
{
"path": "src/modules/sensors/Bme280",
"active": true
},
{
"path": "src/modules/sensors/Bmp280",
"active": true
},
{
"path": "src/modules/sensors/Dht1122",
"active": true
},
{
"path": "src/modules/sensors/Ds18b20",
"active": true
},
{
"path": "src/modules/sensors/DS2401",
"active": false
},
{
"path": "src/modules/sensors/Emon",
"active": false
},
{
"path": "src/modules/sensors/ExampleModule",
"active": false
},
{
"path": "src/modules/sensors/ExternalMQTT",
"active": false
},
{
"path": "src/modules/sensors/FreqMeter",
"active": false
},
{
"path": "src/modules/sensors/GY21",
"active": false
},
{
"path": "src/modules/sensors/Hdc1080",
"active": false
},
{
"path": "src/modules/sensors/Hx710",
"active": false
},
{
"path": "src/modules/sensors/Hx711",
"active": false
},
{
"path": "src/modules/sensors/Impulse",
"active": true
},
{
"path": "src/modules/sensors/Ina219",
"active": false
},
{
"path": "src/modules/sensors/Ina226",
"active": false
},
{
"path": "src/modules/sensors/IoTWiegand",
"active": false
},
{
"path": "src/modules/sensors/ld2410",
"active": false
},
{
"path": "src/modules/sensors/Max6675",
"active": false
},
{
"path": "src/modules/sensors/Mhz19",
"active": false
},
{
"path": "src/modules/sensors/Ntc",
"active": false
},
{
"path": "src/modules/sensors/Pzem004t",
"active": true
},
{
"path": "src/modules/sensors/RCswitch",
"active": false
},
{
"path": "src/modules/sensors/RTC",
"active": true
},
{
"path": "src/modules/sensors/S8",
"active": true
},
{
"path": "src/modules/sensors/Scd40",
"active": false
},
{
"path": "src/modules/sensors/Sds011",
"active": false
},
{
"path": "src/modules/sensors/Sgp30",
"active": false
},
{
"path": "src/modules/sensors/Sht20",
"active": true
},
{
"path": "src/modules/sensors/Sht30",
"active": true
},
{
"path": "src/modules/sensors/Sonar",
"active": true
},
{
"path": "src/modules/sensors/UART",
"active": true
}
],
"executive_devices": [
{
"path": "src/modules/exec/ButtonIn",
"active": true
},
{
"path": "src/modules/exec/ButtonOut",
"active": true
},
{
"path": "src/modules/exec/Buzzer",
"active": true
},
{
"path": "src/modules/exec/Enconder",
"active": true
},
{
"path": "src/modules/exec/EspCam",
"active": false
},
{
"path": "src/modules/exec/Ftp",
"active": false
},
{
"path": "src/modules/exec/HttpGet",
"active": false
},
{
"path": "src/modules/exec/IoTServo",
"active": true
},
{
"path": "src/modules/exec/Mcp23008",
"active": false
},
{
"path": "src/modules/exec/Mcp23017",
"active": true
},
{
"path": "src/modules/exec/Mp3",
"active": true
},
{
"path": "src/modules/exec/Multitouch",
"active": true
},
{
"path": "src/modules/exec/MySensors",
"active": false
},
{
"path": "src/modules/exec/Pcf8574",
"active": true
},
{
"path": "src/modules/exec/Pwm32",
"active": true
},
{
"path": "src/modules/exec/Pwm8266",
"active": true
},
{
"path": "src/modules/exec/SDcard",
"active": false
},
{
"path": "src/modules/exec/SysExt",
"active": false
},
{
"path": "src/modules/exec/Telegram",
"active": false
},
{
"path": "src/modules/exec/TelegramLT",
"active": true
},
{
"path": "src/modules/exec/Thermostat",
"active": false
},
{
"path": "src/modules/sensors/Ds2423",
"active": false
}
],
"screens": [
{
"path": "src/modules/display/DwinI",
"active": false
},
{
"path": "src/modules/display/Lcd2004",
"active": true
},
{
"path": "src/modules/display/NextionUpload",
"active": false
},
{
"path": "src/modules/display/Smi2_m",
"active": true
},
{
"path": "src/modules/display/TM16XX",
"active": true
},
{
"path": "src/modules/display/Ws2812b",
"active": false
}
]
}
}

View File

@@ -457,6 +457,8 @@ lib_deps =
adafruit/Adafruit BusIO @ ^1.13.2 adafruit/Adafruit BusIO @ ^1.13.2
https://github.com/robotclass/RobotClass_LiquidCrystal_I2C https://github.com/robotclass/RobotClass_LiquidCrystal_I2C
marcoschwartz/LiquidCrystal_I2C@^1.1.4 marcoschwartz/LiquidCrystal_I2C@^1.1.4
https://github.com/maxint-rd/TM16xx
adafruit/Adafruit GFX Library @ ^1.11.5
build_src_filter = build_src_filter =
+<modules/virtual/Cron> +<modules/virtual/Cron>
+<modules/virtual/Loging> +<modules/virtual/Loging>
@@ -493,6 +495,7 @@ build_src_filter =
+<modules/exec/Pwm8266> +<modules/exec/Pwm8266>
+<modules/exec/TelegramLT> +<modules/exec/TelegramLT>
+<modules/display/Lcd2004> +<modules/display/Lcd2004>
+<modules/display/TM16XX>
[env:esp32_4mb_fromitems] [env:esp32_4mb_fromitems]
lib_deps = lib_deps =
@@ -506,13 +509,15 @@ lib_deps =
WEMOS SHT3x@1.0.0 WEMOS SHT3x@1.0.0
plerup/EspSoftwareSerial plerup/EspSoftwareSerial
gyverlibs/EncButton @ ^2.0 gyverlibs/EncButton @ ^2.0
https://github.com/RoboticsBrno/ServoESP32 https://github.com/RoboticsBrno/ServoESP32#v1.0.3
adafruit/Adafruit MCP23017 Arduino Library@^2.1.0 adafruit/Adafruit MCP23017 Arduino Library@^2.1.0
adafruit/Adafruit BusIO @ ^1.13.2 adafruit/Adafruit BusIO @ ^1.13.2
dfrobot/DFRobotDFPlayerMini @ ^1.0.5 dfrobot/DFRobotDFPlayerMini @ ^1.0.5
adafruit/Adafruit BusIO @ ^1.13.2 adafruit/Adafruit BusIO @ ^1.13.2
https://github.com/robotclass/RobotClass_LiquidCrystal_I2C https://github.com/robotclass/RobotClass_LiquidCrystal_I2C
marcoschwartz/LiquidCrystal_I2C@^1.1.4 marcoschwartz/LiquidCrystal_I2C@^1.1.4
https://github.com/maxint-rd/TM16xx
adafruit/Adafruit GFX Library @ ^1.11.5
build_src_filter = build_src_filter =
+<modules/virtual/Cron> +<modules/virtual/Cron>
+<modules/virtual/Loging> +<modules/virtual/Loging>
@@ -549,6 +554,7 @@ build_src_filter =
+<modules/exec/TelegramLT> +<modules/exec/TelegramLT>
+<modules/display/Lcd2004> +<modules/display/Lcd2004>
+<modules/display/Smi2_m> +<modules/display/Smi2_m>
+<modules/display/TM16XX>
[env:esp32s2_4mb_fromitems] [env:esp32s2_4mb_fromitems]
lib_deps = lib_deps =

View File

@@ -35,6 +35,7 @@ void* getAPI_Pcf8574(String subtype, String params);
void* getAPI_Pwm8266(String subtype, String params); void* getAPI_Pwm8266(String subtype, String params);
void* getAPI_TelegramLT(String subtype, String params); void* getAPI_TelegramLT(String subtype, String params);
void* getAPI_Lcd2004(String subtype, String params); void* getAPI_Lcd2004(String subtype, String params);
void* getAPI_TM16XX(String subtype, String params);
void* getAPI(String subtype, String params) { void* getAPI(String subtype, String params) {
void* tmpAPI; void* tmpAPI;
@@ -73,5 +74,6 @@ if ((tmpAPI = getAPI_Pcf8574(subtype, params)) != nullptr) return tmpAPI;
if ((tmpAPI = getAPI_Pwm8266(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Pwm8266(subtype, params)) != nullptr) return tmpAPI;
if ((tmpAPI = getAPI_TelegramLT(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_TelegramLT(subtype, params)) != nullptr) return tmpAPI;
if ((tmpAPI = getAPI_Lcd2004(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Lcd2004(subtype, params)) != nullptr) return tmpAPI;
if ((tmpAPI = getAPI_TM16XX(subtype, params)) != nullptr) return tmpAPI;
return nullptr; return nullptr;
} }

View File

@@ -1,23 +1,22 @@
{ {
"menuSection": "Экраны", "menuSection": "screens",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "LCD Dwin экран", "name": "LCD Dwin экран",
"type": "Reading", "type": "Reading",
"subtype": "DwinI", "subtype": "DwinI",
"id": "dwin", "id": "dwin",
"widget": "", "widget": "",
"page": "", "page": "",
"descr": "", "descr": "",
"int": 15,
"int": 15, "TX": 17,
"TX": 17, "RX": 16,
"RX": 16, "line": 2,
"line": 2, "speed": 115200
"speed": 115200 }
}], ],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -33,6 +32,7 @@
"propInfo": { "propInfo": {
"int": "" "int": ""
}, },
"title": "Экраны от компании Dwin",
"funcInfo": [ "funcInfo": [
{ {
"name": "rrrr", "name": "rrrr",
@@ -41,21 +41,13 @@
} }
] ]
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [],
], "esp8266_4mb": [],
"esp8266_4mb": [ "esp8266_1mb": [],
], "esp8266_1mb_ota": [],
"esp8266_1mb": [ "esp8285_1mb": [],
], "esp8285_1mb_ota": []
"esp8266_1mb_ota": [
],
"esp8285_1mb": [
],
"esp8285_1mb_ota": [
]
} }
} }

View File

@@ -1,40 +1,38 @@
{ {
"menuSection": "Экраны", "menuSection": "screens",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "LCD экран 2004", "name": "LCD экран 2004",
"type": "Reading", "type": "Reading",
"subtype": "Lcd2004", "subtype": "Lcd2004",
"id": "Lcd", "id": "Lcd",
"widget": "inputTxt", "widget": "inputTxt",
"page": "Экраны", "page": "screens",
"descr": "LCD Экран", "descr": "LCD Экран",
"addr": "0x27",
"addr": "0x27", "size": "20,4",
"size": "20,4", "coord": "0,0",
"coord": "0,0", "id2show": "",
"id2show": "", "prefix": "",
"prefix": "", "postfix": ""
"postfix": "" },
}, {
{ "name": "LCD экран 1602",
"name": "LCD экран 1602", "type": "Reading",
"type": "Reading", "subtype": "Lcd2004",
"subtype": "Lcd2004", "id": "Lcd",
"id": "Lcd", "widget": "inputTxt",
"widget": "inputTxt", "page": "screens",
"page": "Экраны", "descr": "LCD Экран",
"descr": "LCD Экран", "addr": "0x27",
"size": "16,2",
"addr": "0x27", "coord": "0,0",
"size": "16,2", "id2show": "",
"coord": "0,0", "prefix": "",
"id2show": "", "postfix": ""
"prefix": "", }
"postfix": "" ],
}],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -55,6 +53,7 @@
"prefix": "Символы до значения.", "prefix": "Символы до значения.",
"postfix": "Символы после значения." "postfix": "Символы после значения."
}, },
"title": "Символьный дисплей Lcd2004",
"funcInfo": [ "funcInfo": [
{ {
"name": "noBacklight", "name": "noBacklight",
@@ -84,33 +83,41 @@
{ {
"name": "x", "name": "x",
"descr": "Устанавливает первую координату", "descr": "Устанавливает первую координату",
"params": ["Номер строки первого символа"] "params": [
"Номер строки первого символа"
]
}, },
{ {
"name": "y", "name": "y",
"descr": "Устанавливает вторую координату", "descr": "Устанавливает вторую координату",
"params": ["Номер столбца первого символа"] "params": [
"Номер столбца первого символа"
]
}, },
{ {
"name": "prefix", "name": "prefix",
"descr": "Задает приставку слева от значения", "descr": "Задает приставку слева от значения",
"params": ["Строка"] "params": [
"Строка"
]
}, },
{ {
"name": "postfix", "name": "postfix",
"descr": "Задает приставку справа от значения", "descr": "Задает приставку справа от значения",
"params": ["Строка"] "params": [
"Строка"
]
}, },
{ {
"name": "id2show", "name": "id2show",
"descr": "Задает ИД элемента, значение которого хотим отображать на экране", "descr": "Задает ИД элемента, значение которого хотим отображать на экране",
"params": ["Имя элемента конфигурации"] "params": [
"Имя элемента конфигурации"
]
} }
] ]
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"https://github.com/robotclass/RobotClass_LiquidCrystal_I2C", "https://github.com/robotclass/RobotClass_LiquidCrystal_I2C",

View File

@@ -1,6 +1,5 @@
{ {
"menuSection": "Экраны", "menuSection": "screens",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -17,7 +16,6 @@
"NEXT_RX": 17 "NEXT_RX": 17
} }
], ],
"about": { "about": {
"authorName": "AVAKS", "authorName": "AVAKS",
"authorContact": "https://t.me/@avaks_dev", "authorContact": "https://t.me/@avaks_dev",
@@ -36,15 +34,25 @@
"url": "файл прошивки" "url": "файл прошивки"
} }
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": ["https://github.com/avaksru/ESPNexUpload.git"], "esp32_4mb": [
"esp8266_4mb": ["https://github.com/avaksru/ESPNexUpload.git"], "https://github.com/avaksru/ESPNexUpload.git"
"esp8266_1mb": ["https://github.com/avaksru/ESPNexUpload.git"], ],
"esp8266_1mb_ota": ["https://github.com/avaksru/ESPNexUpload.git"], "esp8266_4mb": [
"esp8285_1mb": ["https://github.com/avaksru/ESPNexUpload.git"], "https://github.com/avaksru/ESPNexUpload.git"
"esp8285_1mb_ota": ["https://github.com/avaksru/ESPNexUpload.git"] ],
"esp8266_1mb": [
"https://github.com/avaksru/ESPNexUpload.git"
],
"esp8266_1mb_ota": [
"https://github.com/avaksru/ESPNexUpload.git"
],
"esp8285_1mb": [
"https://github.com/avaksru/ESPNexUpload.git"
],
"esp8285_1mb_ota": [
"https://github.com/avaksru/ESPNexUpload.git"
]
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Экраны", "menuSection": "screens",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -32,6 +32,7 @@
"id2show": "id элемента конфигурации.", "id2show": "id элемента конфигурации.",
"baud": "скорость обмена, бит/с" "baud": "скорость обмена, бит/с"
}, },
"title": "СМИ2-М трёхцветный Modbus-индикатор",
"funcInfo": [ "funcInfo": [
{ {
"name": "descr", "name": "descr",

View File

@@ -1,27 +1,26 @@
{ {
"menuSection": "Экраны", "menuSection": "screens",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "7 сегментный дисплей TM16XX", "name": "7 сегментный дисплей TM16XX",
"type": "Writing", "type": "Writing",
"subtype": "TM16XX", "subtype": "TM16XX",
"id": "tm", "id": "tm",
"widget": "inputTxt", "widget": "inputTxt",
"page": "Экраны", "page": "screens",
"descr": "Экран", "descr": "Экран",
"round": 0, "round": 0,
"chip": 1637,
"chip": 1637, "numDigits": 4,
"numDigits": 4, "DIO": "13",
"DIO": "13", "CLK": "14",
"CLK": "14", "STB": "12",
"STB": "12", "intensity": "5",
"intensity": "5", "on": "1",
"on": "1", "id2show": ""
"id2show": "" }
}], ],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -74,28 +73,34 @@
{ {
"name": "x", "name": "x",
"descr": "Устанавливает первую координату", "descr": "Устанавливает первую координату",
"params": ["Номер строки первого символа"] "params": [
"Номер строки первого символа"
]
}, },
{ {
"name": "y", "name": "y",
"descr": "Устанавливает вторую координату", "descr": "Устанавливает вторую координату",
"params": ["Номер столбца первого символа"] "params": [
"Номер столбца первого символа"
]
}, },
{ {
"name": "descr", "name": "descr",
"descr": "Задает приставку слева от значения", "descr": "Задает приставку слева от значения",
"params": ["Строка"] "params": [
"Строка"
]
}, },
{ {
"name": "id2show", "name": "id2show",
"descr": "Задает ИД элемента, значение которого хотим отображать на экране", "descr": "Задает ИД элемента, значение которого хотим отображать на экране",
"params": ["Имя элемента конфигурации"] "params": [
"Имя элемента конфигурации"
]
} }
] ]
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"https://github.com/maxint-rd/TM16xx", "https://github.com/maxint-rd/TM16xx",

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Экраны", "menuSection": "screens",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -40,6 +40,7 @@
"max": "Максимальный порог индикатора на который реагировать.", "max": "Максимальный порог индикатора на который реагировать.",
"idshow": "id элемента конфигурации который нужно повесить индикацию." "idshow": "id элемента конфигурации который нужно повесить индикацию."
}, },
"title": "Адресная светодиодная матрица",
"funcInfo": [ "funcInfo": [
{ {
"name": "noShow", "name": "noShow",

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,29 +1,29 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "Пассивный звуковой извещатель", "name": "Пассивный звуковой извещатель",
"type": "Writing", "type": "Writing",
"subtype": "Buzzer", "subtype": "Buzzer",
"id": "buzzer", "id": "buzzer",
"widget": "toggle", "widget": "toggle",
"page": "Кнопки", "page": "Кнопки",
"descr": "Buzzer", "descr": "Buzzer",
"int": 4000, "int": 4000,
"pin": 14, "pin": 14,
"freq": 2000, "freq": 2000,
"duration": 1000, "duration": 1000,
"beatLevel": 4, "beatLevel": 4,
"tempo": 120, "tempo": 120,
"tempoCorrection": 1, "tempoCorrection": 1,
"pauseBetween": 0, "pauseBetween": 0,
"transpose": 0, "transpose": 0,
"cycle": 0, "cycle": 0,
"indication": 1, "indication": 1,
"val": 0 "val": 0
}], }
],
"about": { "about": {
"authorName": "Alex K", "authorName": "Alex K",
"authorContact": "https://t.me/cmche", "authorContact": "https://t.me/cmche",
@@ -43,11 +43,11 @@
"int": "Количество миллисекунд между повторами одиночного сигнала", "int": "Количество миллисекунд между повторами одиночного сигнала",
"pin": "Управляемый пин", "pin": "Управляемый пин",
"freq": "Частота сигнала, Hz", "freq": "Частота сигнала, Hz",
"duration": "Длительность сигнала, ms", "duration": "Длительность сигнала, ms",
"beatLevel": "Долей в такте", "beatLevel": "Долей в такте",
"tempo": "Оригинальный темп мелодии, bpm", "tempo": "Оригинальный темп мелодии, bpm",
"tempoCorrection": "Коррекция темпа мелодии", "tempoCorrection": "Коррекция темпа мелодии",
"pauseBetween": "Дополнительная пауза между нот, в долях от длительности ноты", "pauseBetween": "Дополнительная пауза между нот, в долях от длительности ноты",
"transpose": "Транспонирование на количество полутонов. +/-12 - для повышения/понижения на октаву", "transpose": "Транспонирование на количество полутонов. +/-12 - для повышения/понижения на октаву",
"cycle": "Повтор мелодии/серии сигналов", "cycle": "Повтор мелодии/серии сигналов",
"indication": "Индикация в виджет, что идет сигнал, играет мелодия", "indication": "Индикация в виджет, что идет сигнал, играет мелодия",
@@ -57,17 +57,30 @@
{ {
"name": "tone", "name": "tone",
"descr": "Проигрывание одиночного сигнала (без индикации)", "descr": "Проигрывание одиночного сигнала (без индикации)",
"params": ["Частота", "Длительность (ms)"] "params": [
"Частота",
"Длительность (ms)"
]
}, },
{ {
"name": "tones", "name": "tones",
"descr": "Проигрывание серии сигналов, до 128", "descr": "Проигрывание серии сигналов, до 128",
"params": ["Частота 1-го сигнала", "Длительность 1-го сигнала (ms)","Частота 2-го сигала", "Длительность 2-го сигнала", "....итд"] "params": [
"Частота 1-го сигнала",
"Длительность 1-го сигнала (ms)",
"Частота 2-го сигала",
"Длительность 2-го сигнала",
"....итд"
]
}, },
{ {
"name": "melody", "name": "melody",
"descr": "Проигрывание мелодии, до 256 нот. Кодировка 'YYX.ZZZ'. Научная нотация: YY - обозначение ноты (C,CS,D,DS,E,F,FS,G,GS,A,AS,B), X - номер октавы (0-9), ZZZ - длительность в тысячных долях такта (0-999). Обязательно в двойных кавычках. 'AS4.50' - Ля# 4-й октавы, 1/2 такта. На Github лежит Excel файл для перекодировки.", "descr": "Проигрывание мелодии, до 256 нот. Кодировка 'YYX.ZZZ'. Научная нотация: YY - обозначение ноты (C,CS,D,DS,E,F,FS,G,GS,A,AS,B), X - номер октавы (0-9), ZZZ - длительность в тысячных долях такта (0-999). Обязательно в двойных кавычках. 'AS4.50' - Ля# 4-й октавы, 1/2 такта. На Github лежит Excel файл для перекодировки.",
"params": ["Код 1-ой ноты","Код 2-й ноты"," и тд"] "params": [
"Код 1-ой ноты",
"Код 2-й ноты",
" и тд"
]
}, },
{ {
"name": "notone", "name": "notone",
@@ -76,21 +89,27 @@
}, },
{ {
"name": "melodySetting", "name": "melodySetting",
"descr": "Перенастройка параметров мелодии: Долей в такте - (обычно 4), Оригинальный темп -(40-208 bpm), Коррекция темпа - в k раз быстрее/медленнее, Пауза между нот (стакато) - доля от длительности, Коррекция тональности (транспонирование) - в k раз выше/ниже, Повтор 1/0. Чтобы не изменялось значение вбить любой текст в ковычках ", "descr": "Перенастройка параметров мелодии: Долей в такте - (обычно 4), Оригинальный темп -(40-208 bpm), Коррекция темпа - в k раз быстрее/медленнее, Пауза между нот (стакато) - доля от длительности, Коррекция тональности (транспонирование) - в k раз выше/ниже, Повтор 1/0. Чтобы не изменялось значение вбить любой текст в ковычках ",
"params": ["Долей в такте", "Оригинальный темп", "Коррекция темпа", "Пауза между нот", "Коррекция тональности", "Повтор мелодии/серии сигналов"] "params": [
"Долей в такте",
"Оригинальный темп",
"Коррекция темпа",
"Пауза между нот",
"Коррекция тональности",
"Повтор мелодии/серии сигналов"
]
} }
] ]
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [], "esp32_4mb": [],
"esp8266_4mb": [], "esp8266_4mb": [],
"esp8266_1mb": [], "esp8266_1mb": [],
"esp8266_1mb_ota": [], "esp8266_1mb_ota": [],
"esp8285_1mb": [], "esp8285_1mb": [],
"esp8285_1mb_ota": [] "esp8285_1mb_ota": [],
"esp8266_2mb": [],
"esp8266_2mb_ota": []
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -12,8 +12,7 @@
"descr": "Громкость", "descr": "Громкость",
"needSave": 0, "needSave": 0,
"val": "0", "val": "0",
"round" : 0, "round": 0,
"step": 1, "step": 1,
"stepOnPress": 5, "stepOnPress": 5,
"pins": "4,5,2" "pins": "4,5,2"
@@ -37,7 +36,7 @@
"moduleDesc": "модуль для работы с Энкодером. Кнопочный вариант совместим с модулями Multitouch и ButtonIn", "moduleDesc": "модуль для работы с Энкодером. Кнопочный вариант совместим с модулями Multitouch и ButtonIn",
"retInfo": "Значение счетчика", "retInfo": "Значение счетчика",
"propInfo": { "propInfo": {
"step" : "Размер шага Энкодера, может принимать значение 0.0001 или 1000", "step": "Размер шага Энкодера, может принимать значение 0.0001 или 1000",
"stepOnPress": "Размер шага Энкодера при нажатой кнопке, 0 - отключает учет", "stepOnPress": "Размер шага Энкодера при нажатой кнопке, 0 - отключает учет",
"pins": "Подключеные пины (CLK, DT, SW)" "pins": "Подключеные пины (CLK, DT, SW)"
} }

View File

@@ -1,22 +1,21 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "Camera OV2640 (ESPcam)", "name": "Camera OV2640 (ESPcam)",
"type": "Reading", "type": "Reading",
"subtype": "EspCam", "subtype": "EspCam",
"id": "EspCam", "id": "EspCam",
"widget": "", "widget": "",
"page": "", "page": "",
"descr": "", "descr": "",
"int": 60,
"int": 60, "useLed": 0,
"useLed": 0, "ticker": 0,
"ticker": 0, "webTicker": 0
"webTicker": 0 }
}], ],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -45,7 +44,9 @@
{ {
"name": "ledOn", "name": "ledOn",
"descr": "Включить подсветку", "descr": "Включить подсветку",
"params": ["Яркость 0-255"] "params": [
"Яркость 0-255"
]
}, },
{ {
"name": "ledOff", "name": "ledOff",
@@ -54,9 +55,7 @@
} }
] ]
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"espressif/esp32-camera @ ^2.0.0" "espressif/esp32-camera @ ^2.0.0"

View File

@@ -1,48 +1,43 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
"name": "FTP сервер", "name": "FTP сервер",
"type": "Reading", "type": "Reading",
"subtype": "ftp", "subtype": "ftp",
"id": "ftp", "id": "ftp",
"widget": "nil", "widget": "nil",
"page": "", "page": "",
"descr": "FTP сервер", "descr": "FTP сервер",
"login": "admin", "login": "admin",
"pass": "admin" "pass": "admin"
}
],
} "about": {
"authorName": "Bubnov Mikhail",
"authorContact": "https://t.me/Mit4bmw",
], "authorGit": "https://github.com/Mit4el",
"about": { "specialThanks": "",
"authorName": "Bubnov Mikhail", "moduleName": "FTPModule",
"authorContact": "https://t.me/Mit4bmw", "moduleVersion": "0.1",
"authorGit": "https://github.com/Mit4el", "usedRam": {
"specialThanks": "", "esp32_4mb": 15,
"moduleName": "FTPModule", "esp8266_4mb": 15
"moduleVersion": "0.1", },
"usedRam": { "title": "FTP-сервер",
"esp32_4mb": 15, "moduleDesc": "Запускает FTP-сервер на плате esp",
"esp8266_4mb": 15 "propInfo": {
}, "login": "Логин FTP сервера",
"title": "FTP-сервер", "pass": "Пароль FTP сервера"
"moduleDesc": "Запускает FTP-сервер на плате esp", }
"propInfo": { },
"login": "Логин FTP сервера", "defActive": false,
"pass": "Пароль FTP сервера" "usedLibs": {
} "esp32_4mb": [],
}, "esp32_16mb": [],
"defActive": false, "esp32s2_4mb": [],
"usedLibs": { "esp8266_4mb": [],
"esp32_4mb": [], "esp8266_16mb": []
"esp32_16mb": [], }
"esp32s2_4mb": [], }
"esp8266_4mb": [],
"esp8266_16mb": []
}
}

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -41,7 +41,8 @@
"name": "post", "name": "post",
"descr": "Отправить http запрос методом POST.", "descr": "Отправить http запрос методом POST.",
"params": [ "params": [
"URL","message" "URL",
"message"
] ]
} }
] ]

View File

@@ -1,22 +1,21 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "Сервопривод", "name": "Сервопривод",
"type": "Writing", "type": "Writing",
"subtype": "IoTServo", "subtype": "IoTServo",
"id": "servo", "id": "servo",
"widget": "range", "widget": "range",
"page": "servo", "page": "servo",
"descr": "угол", "descr": "угол",
"int": 1,
"int": 1, "pin": 12,
"pin": 12, "apin": -1,
"apin": -1, "amap": "0, 4096, 0, 180"
"amap": "0, 4096, 0, 180" }
}], ],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -41,16 +40,16 @@
{ {
"name": "rotate", "name": "rotate",
"descr": "Повернуть привод на значение", "descr": "Повернуть привод на значение",
"params": ["Числовое значение"] "params": [
"Числовое значение"
]
} }
] ]
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"https://github.com/RoboticsBrno/ServoESP32" "https://github.com/RoboticsBrno/ServoESP32#v1.0.3"
], ],
"esp8266_4mb": [] "esp8266_4mb": []
} }

View File

@@ -1,21 +1,20 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "Расширитель портов Mcp23008", "name": "Расширитель портов Mcp23008",
"type": "Reading", "type": "Reading",
"subtype": "Mcp23008", "subtype": "Mcp23008",
"id": "Mcp", "id": "Mcp",
"widget": "", "widget": "",
"page": "", "page": "",
"descr": "", "descr": "",
"int": "0",
"int": "0", "addr": "0x20",
"addr": "0x20", "index": 1
"index": 1 }
}], ],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -35,9 +34,7 @@
"index": "Значения от 1 до 4, где при выборе 1 будет нумерация pin 100-115, при выборе 2 200-215 и т.д." "index": "Значения от 1 до 4, где при выборе 1 будет нумерация pin 100-115, при выборе 2 200-215 и т.д."
} }
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"adafruit/Adafruit Mcp23017 Arduino Library@^2.1.0", "adafruit/Adafruit Mcp23017 Arduino Library@^2.1.0",

View File

@@ -1,21 +1,20 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "Расширитель портов Mcp23017", "name": "Расширитель портов Mcp23017",
"type": "Reading", "type": "Reading",
"subtype": "Mcp23017", "subtype": "Mcp23017",
"id": "Mcp", "id": "Mcp",
"widget": "", "widget": "",
"page": "", "page": "",
"descr": "", "descr": "",
"int": "0",
"int": "0", "addr": "0x20",
"addr": "0x20", "index": 1
"index": 1 }
}], ],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -35,9 +34,7 @@
"index": "Значения от 1 до 4, где при выборе 1 будет нумерация pin 100-115, при выборе 2 200-215 и т.д." "index": "Значения от 1 до 4, где при выборе 1 будет нумерация pin 100-115, при выборе 2 200-215 и т.д."
} }
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"adafruit/Adafruit MCP23017 Arduino Library@^2.1.0", "adafruit/Adafruit MCP23017 Arduino Library@^2.1.0",

View File

@@ -1,21 +1,20 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "MP3 плеер", "name": "MP3 плеер",
"type": "Reading", "type": "Reading",
"subtype": "Mp3", "subtype": "Mp3",
"id": "mp3", "id": "mp3",
"widget": "", "widget": "",
"page": "", "page": "",
"descr": "", "descr": "",
"int": 1,
"int": 1, "pins": "14,12",
"pins": "14,12", "volume": 20
"volume": 20 }
}], ],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -59,12 +58,17 @@
{ {
"name": "volume", "name": "volume",
"descr": "Установить громкость", "descr": "Установить громкость",
"params": ["Значение громкости"] "params": [
"Значение громкости"
]
}, },
{ {
"name": "playFolder", "name": "playFolder",
"descr": "Проиграть файл из папки", "descr": "Проиграть файл из папки",
"params": ["Номер папки", "Номер файла"] "params": [
"Номер папки",
"Номер файла"
]
}, },
{ {
"name": "play", "name": "play",
@@ -83,9 +87,7 @@
} }
] ]
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"dfrobot/DFRobotDFPlayerMini @ ^1.0.5" "dfrobot/DFRobotDFPlayerMini @ ^1.0.5"

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -9,7 +9,7 @@
"id": "impulse", "id": "impulse",
"widget": "anydataDef", "widget": "anydataDef",
"page": "Кнопки", "page": "Кнопки",
"descr": "Количество нажаний", "descr": "Количество нажатий",
"needSave": 0, "needSave": 0,
"int": 300, "int": 300,
"inv": 1, "inv": 1,
@@ -48,6 +48,8 @@
"esp8266_1mb": [], "esp8266_1mb": [],
"esp8266_1mb_ota": [], "esp8266_1mb_ota": [],
"esp8285_1mb": [], "esp8285_1mb": [],
"esp8285_1mb_ota": [] "esp8285_1mb_ota": [],
"esp8266_2mb": [],
"esp8266_2mb_ota": []
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,20 +1,20 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "Расширитель портов Pcf8574", "name": "Расширитель портов Pcf8574",
"type": "Reading", "type": "Reading",
"subtype": "Pcf8574", "subtype": "Pcf8574",
"id": "Pcf", "id": "Pcf",
"widget": "", "widget": "",
"page": "", "page": "",
"descr": "", "descr": "",
"int": "0", "int": "0",
"addr": "0x20", "addr": "0x20",
"index": 1 "index": 1
}], }
],
"about": { "about": {
"authorName": "Serghei Crasnicov", "authorName": "Serghei Crasnicov",
"authorContact": "https://t.me/Serghei63", "authorContact": "https://t.me/Serghei63",
@@ -27,11 +27,10 @@
"int": "Не используется", "int": "Не используется",
"addr": "Адрес устройства на шине, обычно 0x20", "addr": "Адрес устройства на шине, обычно 0x20",
"index": "Значения от 1 до 4, где при выборе 1 будет нумерация pin 100-115, при выборе 2 200-215 и т.д." "index": "Значения от 1 до 4, где при выборе 1 будет нумерация pin 100-115, при выборе 2 200-215 и т.д."
} },
"title": "Расширитель портов Pcf8574"
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"adafruit/Adafruit BusIO @ ^1.13.2" "adafruit/Adafruit BusIO @ ^1.13.2"

View File

@@ -1,24 +1,24 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "PWM ESP32", "name": "PWM ESP32",
"type": "Writing", "type": "Writing",
"subtype": "Pwm32", "subtype": "Pwm32",
"id": "pwm", "id": "pwm",
"widget": "range", "widget": "range",
"page": "Кнопки", "page": "Кнопки",
"descr": "PWM", "descr": "PWM",
"int": 0, "int": 0,
"pin": 2, "pin": 2,
"freq": 5000, "freq": 5000,
"ledChannel": 2, "ledChannel": 2,
"PWM_resolution": 10, "PWM_resolution": 10,
"val": 0, "val": 0,
"apin": -1 "apin": -1
}], }
],
"about": { "about": {
"authorName": "Avaks", "authorName": "Avaks",
"authorContact": "https://t.me/Avaks", "authorContact": "https://t.me/Avaks",
@@ -42,9 +42,7 @@
"freq": "Частота" "freq": "Частота"
} }
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [] "esp32_4mb": []
} }

View File

@@ -1,22 +1,22 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "PWM ESP8266", "name": "PWM ESP8266",
"type": "Writing", "type": "Writing",
"subtype": "Pwm8266", "subtype": "Pwm8266",
"id": "pwm", "id": "pwm",
"widget": "range", "widget": "range",
"page": "Кнопки", "page": "Кнопки",
"descr": "PWM", "descr": "PWM",
"int": 0, "int": 0,
"pin": 15, "pin": 15,
"freq": 5000, "freq": 5000,
"val": 0, "val": 0,
"apin": -1 "apin": -1
}], }
],
"about": { "about": {
"authorName": "Avaks", "authorName": "Avaks",
"authorContact": "https://t.me/Avaks", "authorContact": "https://t.me/Avaks",
@@ -38,9 +38,7 @@
"freq": "Частота" "freq": "Частота"
} }
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp8266_4mb": [], "esp8266_4mb": [],
"esp8266_1mb": [], "esp8266_1mb": [],

View File

@@ -1,19 +1,18 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "SD карта", "name": "SD карта",
"type": "Writing", "type": "Writing",
"subtype": "SDcard", "subtype": "SDcard",
"id": "sd", "id": "sd",
"widget": "", "widget": "",
"page": "", "page": "",
"descr": "", "descr": "",
"int": 1
"int": 1 }
}], ],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -31,9 +30,7 @@
"int": "Не используется." "int": "Не используется."
} }
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"espressif/esp32-camera @ ^2.0.0" "espressif/esp32-camera @ ^2.0.0"

View File

@@ -1,18 +1,18 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "Доп. функции системы", "name": "Доп. функции системы",
"type": "Reading", "type": "Reading",
"subtype": "SysExt", "subtype": "SysExt",
"id": "SysExt", "id": "SysExt",
"widget": "", "widget": "",
"page": "", "page": "",
"descr": "", "descr": "",
"int": 15 "int": 15
}], }
],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -30,9 +30,7 @@
"int": "Не используется" "int": "Не используется"
} }
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [], "esp32_4mb": [],
"esp8266_4mb": [] "esp8266_4mb": []

View File

@@ -1,23 +1,22 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "Телеграм-Бот", "name": "Телеграм-Бот",
"type": "Writing", "type": "Writing",
"subtype": "Telegram", "subtype": "Telegram",
"id": "tg", "id": "tg",
"widget": "", "widget": "",
"page": "", "page": "",
"descr": "", "descr": "",
"int": 10, "int": 10,
"token": "",
"token": "", "autos": 1,
"autos": 1, "receiveMsg": 0,
"receiveMsg": 0, "chatID": ""
"chatID": "" }
}], ],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",
@@ -38,21 +37,23 @@
"chatID": "ИД диалога с контактом. Необходим для отправки сообщений именно вам." "chatID": "ИД диалога с контактом. Необходим для отправки сообщений именно вам."
}, },
"funcInfo": [ "funcInfo": [
{ {
"name": "sendMsg", "name": "sendMsg",
"descr": "Отправить сообщение без повторений.", "descr": "Отправить сообщение без повторений.",
"params": ["Сообщение, может быть строкой, числом или ИД другого элемента для получения значения"] "params": [
"Сообщение, может быть строкой, числом или ИД другого элемента для получения значения"
]
}, },
{ {
"name": "sendOftenMsg", "name": "sendOftenMsg",
"descr": "Отправить сообщение в любом случае, даж если отправляли такое ранее.", "descr": "Отправить сообщение в любом случае, даж если отправляли такое ранее.",
"params": ["Сообщение, может быть строкой, числом или ИД другого элемента для получения значения"] "params": [
"Сообщение, может быть строкой, числом или ИД другого элемента для получения значения"
]
} }
] ]
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"CTBot @2.1.9" "CTBot @2.1.9"

View File

@@ -1,6 +1,5 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -15,7 +14,6 @@
"chatID": "" "chatID": ""
} }
], ],
"about": { "about": {
"authorName": "AVAKS", "authorName": "AVAKS",
"authorContact": "https://t.me/@avaks_dev", "authorContact": "https://t.me/@avaks_dev",
@@ -51,9 +49,7 @@
} }
] ]
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [], "esp32_4mb": [],
"esp32_16mb": [], "esp32_16mb": [],
@@ -67,4 +63,4 @@
"esp8266_2mb": [], "esp8266_2mb": [],
"esp8266_2mb_ota": [] "esp8266_2mb_ota": []
} }
} }

View File

@@ -1,6 +1,5 @@
{ {
"menuSection": "Исполнительные устройства", "menuSection": "executive_devices",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -73,7 +72,6 @@
"outside_id": "" "outside_id": ""
} }
], ],
"about": { "about": {
"authorName": "AVAKS", "authorName": "AVAKS",
"authorContact": "https://t.me/@avaks_dev", "authorContact": "https://t.me/@avaks_dev",
@@ -106,28 +104,34 @@
{ {
"name": "enable", "name": "enable",
"descr": "включить / выключить термостатирование (режим AUTO) применим к PID и Гистере́зис ", "descr": "включить / выключить термостатирование (режим AUTO) применим к PID и Гистере́зис ",
"params": ["thermostat.enable(1) - вкл, thermostat.enable(0) - выкл, "] "params": [
"thermostat.enable(1) - вкл, thermostat.enable(0) - выкл, "
]
}, },
{ {
"name": "KP", "name": "KP",
"descr": "Пропорциональный коэффициент PID .", "descr": "Пропорциональный коэффициент PID .",
"params": ["thermostat.KP(1) - задает значение коэффициента"] "params": [
"thermostat.KP(1) - задает значение коэффициента"
]
}, },
{ {
"name": "KI", "name": "KI",
"descr": "Интегральный коэффициент PID .", "descr": "Интегральный коэффициент PID .",
"params": ["thermostat.KI(1) - задает значение коэффициента"] "params": [
"thermostat.KI(1) - задает значение коэффициента"
]
}, },
{ {
"name": "KD", "name": "KD",
"descr": "Дифференциальный коэффициент PID .", "descr": "Дифференциальный коэффициент PID .",
"params": ["thermostat.KD(1) - задает значение коэффициента"] "params": [
"thermostat.KD(1) - задает значение коэффициента"
]
} }
] ]
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [], "esp32_4mb": [],
"esp8266_4mb": [], "esp8266_4mb": [],
@@ -138,4 +142,4 @@
"esp8266_2mb": [], "esp8266_2mb": [],
"esp8266_2mb_ota": [] "esp8266_2mb_ota": []
} }
} }

View File

@@ -1,9 +1,9 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"name": "A02 Дальность", "name": "A02 Дальность",
"type": "Reading", "type": "Reading",
"subtype": "A02Distance", "subtype": "A02Distance",
"id": "dist", "id": "dist",
"widget": "anydataCm", "widget": "anydataCm",
@@ -21,10 +21,11 @@
"specialThanks": "", "specialThanks": "",
"moduleName": "A02Distance", "moduleName": "A02Distance",
"moduleVersion": "0.1", "moduleVersion": "0.1",
"moduleDesc": "A0221AU, A02YYUW Ультразвуковой датчик. Позволяет получить дальность с ультрозвуковых датчиков A0221AU, A02YYUW", "moduleDesc": "Позволяет получить дальность с ультрозвуковых датчиков A0221AU, A02YYUW",
"propInfo": { "propInfo": {
"int": "Количество секунд между опросами датчика." "int": "Количество секунд между опросами датчика."
} },
"title": "A0221AU, A02YYUW Ультразвуковой датчик дальности"
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {

View File

@@ -1,9 +1,9 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"name": "Acs712 Ток", "name": "Acs712 Ток",
"type": "Reading", "type": "Reading",
"subtype": "Acs712", "subtype": "Acs712",
"id": "amp", "id": "amp",
"widget": "anydataAmp", "widget": "anydataAmp",
@@ -13,10 +13,10 @@
"pin": 39, "pin": 39,
"int": 5, "int": 5,
"rms": 1, "rms": 1,
"vref": 5000, "vref": 5000,
"sens": 100, "sens": 100,
"adczero" : 512, "adczero": 512,
"btn-setZero": "nil" "btn-setZero": "nil"
} }
], ],
"about": { "about": {
@@ -34,14 +34,15 @@
"rms": "1 - подсчет средне-квадратического тока (переменный), 0 - подсчет средне-арифмитического тока (постоянный)", "rms": "1 - подсчет средне-квадратического тока (переменный), 0 - подсчет средне-арифмитического тока (постоянный)",
"vref": "Vref (мВ) - Опороное наряжение питания Acs712, по умолчанию = 5000мВ", "vref": "Vref (мВ) - Опороное наряжение питания Acs712, по умолчанию = 5000мВ",
"sens": "Чувствительность датчика тока: 5A = 185mВ/A , 20A = 100mВ/A , 30A = 66mВ/A ", "sens": "Чувствительность датчика тока: 5A = 185mВ/A , 20A = 100mВ/A , 30A = 66mВ/A ",
"adczero" : "Переменная калибровки нулевого значения отсчетов АЦП при нулевой нагрузке. Для ESP8266 - 512, Для ESP32 -2048, это 2.5В = 0А (1,65 с делителем) для Acs712 20A и 30A при стабильном токе 5В", "adczero": "Переменная калибровки нулевого значения отсчетов АЦП при нулевой нагрузке. Для ESP8266 - 512, Для ESP32 -2048, это 2.5В = 0А (1,65 с делителем) для Acs712 20A и 30A при стабильном токе 5В",
"btn-setZero": "Кнопка калибровки нулевого значения отсчетов АЦП при нулевой нагрузке. Нагрузка в момент калибровки должна быть отключена! После перезагрузки будет установлено в значение по умолчанию adczero. Для сохранение смотрим лог, и изменияем adczero" "btn-setZero": "Кнопка калибровки нулевого значения отсчетов АЦП при нулевой нагрузке. Нагрузка в момент калибровки должна быть отключена! После перезагрузки будет установлено в значение по умолчанию adczero. Для сохранение смотрим лог, и изменияем adczero"
} },
"title": "Acs712 Датчик тока"
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [], "esp32_4mb": [],
"esp32s2_4mb": [], "esp32s2_4mb": [],
"esp8266_4mb": [], "esp8266_4mb": [],
"esp8266_1mb": [], "esp8266_1mb": [],
"esp8266_1mb_ota": [], "esp8266_1mb_ota": [],

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -12,7 +12,7 @@
"descr": "AHTXX Температура", "descr": "AHTXX Температура",
"int": 15, "int": 15,
"addr": "0x38", "addr": "0x38",
"shtType":1, "shtType": 1,
"round": 1 "round": 1
}, },
{ {
@@ -26,7 +26,7 @@
"descr": "AHTXX Влажность", "descr": "AHTXX Влажность",
"int": 15, "int": 15,
"addr": "0x38", "addr": "0x38",
"shtType":1, "shtType": 1,
"round": 1 "round": 1
} }
], ],
@@ -61,6 +61,18 @@
], ],
"esp8266_4mb": [ "esp8266_4mb": [
"https://github.com/enjoyneering/AHTxx.git" "https://github.com/enjoyneering/AHTxx.git"
],
"esp8266_1mb": [
"https://github.com/enjoyneering/AHTxx.git"
],
"esp8266_1mb_ota": [
"https://github.com/enjoyneering/AHTxx.git"
],
"esp8285_1mb": [
"https://github.com/enjoyneering/AHTxx.git"
],
"esp8285_1mb_ota": [
"https://github.com/enjoyneering/AHTxx.git"
] ]
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,19 +1,19 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "Cенсор освещенность Bh1750", "name": "Cенсор освещенность Bh1750",
"type": "Reading", "type": "Reading",
"subtype": "Bh1750", "subtype": "Bh1750",
"id": "Bh1750", "id": "Bh1750",
"widget": "anydata", "widget": "anydata",
"page": "Сенсоры", "page": "Сенсоры",
"descr": "Освещённость", "descr": "Освещённость",
"round": 1, "round": 1,
"int": 15 "int": 15
}], }
],
"about": { "about": {
"authorName": "Ilya Belyakov", "authorName": "Ilya Belyakov",
"authorContact": "https://t.me/Biveraxe", "authorContact": "https://t.me/Biveraxe",

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"name": "bluetooth сканер", "name": "bluetooth сканер",
@@ -42,7 +42,10 @@
"esp32_4mb": 1261449, "esp32_4mb": 1261449,
"esp8266_4mb": 0 "esp8266_4mb": 0
}, },
"subTypes": ["BleSens", "BleScan"], "subTypes": [
"BleSens",
"BleScan"
],
"title": "Сканер Bluetooth", "title": "Сканер Bluetooth",
"moduleDesc": "Позволяет получить данные с Bluetooth часов и термометров Mijia, Xiaomi, Cleargrass, ...", "moduleDesc": "Позволяет получить данные с Bluetooth часов и термометров Mijia, Xiaomi, Cleargrass, ...",
"propInfo": { "propInfo": {
@@ -61,4 +64,4 @@
"https://github.com/avaksru/decoder.git" "https://github.com/avaksru/decoder.git"
] ]
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -64,9 +64,6 @@
"esp8266_1mb_ota": [ "esp8266_1mb_ota": [
"adafruit/Adafruit BMP280 Library" "adafruit/Adafruit BMP280 Library"
], ],
"esp8266_2mb": [
"adafruit/Adafruit BMP280 Library"
],
"esp8285_1mb": [ "esp8285_1mb": [
"adafruit/Adafruit BMP280 Library" "adafruit/Adafruit BMP280 Library"
], ],

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "executive_devices",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -14,7 +14,7 @@
"multiply": 1, "multiply": 1,
"pin": 4, "pin": 4,
"index": 0, "index": 0,
"addr": "", "addr": "",
"int": 10, "int": 10,
"round": 0, "round": 0,
"needSave": 0 "needSave": 0

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -24,9 +24,9 @@
"page": "Сенсоры", "page": "Сенсоры",
"descr": "Давление", "descr": "Давление",
"int": 15, "int": 15,
"pin": "32", "pin": "32",
"round": 1, "round": 1,
"btn-Example": 100 "btn-Example": 100
} }
], ],
"about": { "about": {
@@ -46,31 +46,37 @@
"propInfo": { "propInfo": {
"pin": "Аналоговый GPIO номер, к которому подключен датчик.", "pin": "Аналоговый GPIO номер, к которому подключен датчик.",
"int": "Количество секунд между опросами датчика", "int": "Количество секунд между опросами датчика",
"btn-Example": "Кнопка Example. В поле указать ......" "btn-Example": "Кнопка Example. В поле указать ......"
}, },
"funcInfo": [ "funcInfo": [
{ {
"name": "expampleFunc", "name": "expampleFunc",
"descr": "Пример функции вызываемой из сценария. Принимает Id другого модуля и смотрит его значение", "descr": "Пример функции вызываемой из сценария. Принимает Id другого модуля и смотрит его значение",
"params": ["ID стороннего модуля"] "params": [
"ID стороннего модуля"
]
}, },
{ {
"name": "expample2", "name": "expample2",
"descr": "Второй Пример функции вызываемой из сценария.", "descr": "Второй Пример функции вызываемой из сценария.",
"params": ["Описание педедаваемого параметра", "params": [
"параметр 2"] "Описание педедаваемого параметра",
"параметр 2"
]
}, },
{ {
"name": "expampleAny", "name": "expampleAny",
"descr": "Третий Пример функции вызываемой из сценария. С неограниченным числом параметров", "descr": "Третий Пример функции вызываемой из сценария. С неограниченным числом параметров",
"params": ["Описание педедаваемых параметров"] "params": [
"Описание педедаваемых параметров"
]
} }
] ]
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [], "esp32_4mb": [],
"esp32s2_4mb": [], "esp32s2_4mb": [],
"esp8266_4mb": [], "esp8266_4mb": [],
"esp8266_1mb": [], "esp8266_1mb": [],
"esp8266_1mb_ota": [], "esp8266_1mb_ota": [],

View File

@@ -1,6 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -20,7 +19,6 @@
"int": 60 "int": 60
} }
], ],
"about": { "about": {
"authorName": "AVAKS", "authorName": "AVAKS",
"authorContact": "https://t.me/@avaks_dev", "authorContact": "https://t.me/@avaks_dev",
@@ -44,9 +42,7 @@
"sensor": "Тип сенсора: температура / влажность / время / ... " "sensor": "Тип сенсора: температура / влажность / время / ... "
} }
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [], "esp32_4mb": [],
"esp8266_4mb": [], "esp8266_4mb": [],
@@ -57,4 +53,4 @@
"esp8266_2mb": [], "esp8266_2mb": [],
"esp8266_2mb_ota": [] "esp8266_2mb_ota": []
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,22 +1,22 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [
"configItem": [{ {
"name": "HX710 Cенсор давления", "name": "HX710 Cенсор давления",
"type": "Reading", "type": "Reading",
"subtype": "Hx710", "subtype": "Hx710",
"id": "hxp", "id": "hxp",
"widget": "anydataDef", "widget": "anydataDef",
"page": "Давление", "page": "Давление",
"descr": "HX press", "descr": "HX press",
"int": 15, "int": 15,
"plus": 0, "plus": 0,
"multiply": 1, "multiply": 1,
"round": 1, "round": 1,
"data": 14, "data": 14,
"clock": 15 "clock": 15
}], }
],
"about": { "about": {
"authorName": "Serghei Crasnicov", "authorName": "Serghei Crasnicov",
"authorContact": "https://t.me/Serghei63", "authorContact": "https://t.me/Serghei63",
@@ -44,9 +44,7 @@
} }
] ]
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"https://github.com/kurimawxx00/hx710B_pressure_sensor" "https://github.com/kurimawxx00/hx710B_pressure_sensor"

View File

@@ -1,24 +1,24 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [
"configItem": [{ {
"name": "HX711 Cенсор весов", "name": "HX711 Cенсор весов",
"type": "Reading", "type": "Reading",
"subtype": "Hx711", "subtype": "Hx711",
"id": "hx", "id": "hx",
"widget": "anydataDef", "widget": "anydataDef",
"page": "Весы", "page": "Весы",
"descr": "HX вес", "descr": "HX вес",
"int": 15, "int": 15,
"map": "1024,1024,1,100", "map": "1024,1024,1,100",
"plus": 0, "plus": 0,
"multiply": 1, "multiply": 1,
"round": 1, "round": 1,
"data": 3, "data": 3,
"clock": 2, "clock": 2,
"chan": 2 "chan": 2
}], }
],
"about": { "about": {
"authorName": "Serghei Crasnicov", "authorName": "Serghei Crasnicov",
"authorContact": "https://t.me/Serghei63", "authorContact": "https://t.me/Serghei63",
@@ -48,7 +48,9 @@
{ {
"name": "sleepMode", "name": "sleepMode",
"descr": "Перевести в режим сна", "descr": "Перевести в режим сна",
"params": ["=1 режим сна, =0 проснуться"] "params": [
"=1 режим сна, =0 проснуться"
]
}, },
{ {
"name": "read", "name": "read",
@@ -57,9 +59,7 @@
} }
] ]
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [
"GyverHX711@1.2" "GyverHX711@1.2"

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,139 +1,135 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "INA219 Tок", "name": "INA219 Tок",
"type": "Reading", "type": "Reading",
"subtype": "Ina219curr", "subtype": "Ina219curr",
"id": "ina219_A", "id": "ina219_A",
"widget": "anydataAmp", "widget": "anydataAmp",
"page": "INA 219", "page": "INA 219",
"descr": "Сила тока", "descr": "Сила тока",
"addr": "0x40", "addr": "0x40",
"plus": 0, "plus": 0,
"multiply": 1, "multiply": 1,
"round": 3, "round": 3,
"int": 10 "int": 10
},
{
"global": 0,
"name": "INA219 Напряжение",
"type": "Reading",
"subtype": "Ina219voltage",
"id": "ina219_V",
"widget": "anydataVlt",
"page": "INA 219",
"descr": "Напряжения",
"addr": "0x40",
"plus": 0,
"multiply": 1,
"round": 3,
"int": 10
},
{
"global": 0,
"name": "INA219 Мощность",
"type": "Reading",
"subtype": "Ina219power",
"id": "ina219_W",
"widget": "anydataWt",
"page": "INA 219",
"descr": "Мощность",
"addr": "0x40",
"plus": 0,
"multiply": 1,
"round": 3,
"int": 10
},
{
"global": 0,
"name": "INA219 Шунт",
"type": "Reading",
"subtype": "Ina219shuntvoltage",
"id": "ina219_Vsh",
"widget": "anydataVlt",
"page": "INA 219",
"descr": "Напряжение шунта",
"addr": "0x40",
"plus": 0,
"multiply": 1,
"round": 3,
"int": 10
},
{
"global": 0,
"name": "INA219 Настройки",
"type": "Reading",
"subtype": "Ina219setting",
"id": "ina219_set",
"widget": "nil",
"page": "",
"descr": "",
"addr": "0x40",
"shunt": 0.1,
"maxV": 3.2,
"adjClbr": 0,
"resol": 4,
"btn-getClbr":"nil"
}],
"about": {
"authorName": "Serghei Crasnicov",
"authorContact": "https://t.me/Serghei63",
"authorGit": "https://github.com/Serghei63",
"specialThanks": "Дмитрий, Serg, v2.0 - Mitchel @Mit4bmw",
"moduleName": "Ina219",
"moduleVersion": "2.0",
"usedRam": {
"esp32_4mb": 15,
"esp8266_4mb": 15
},
"subTypes": [
"Ina219curr",
"Ina219voltage",
"Ina219power",
"Ina219shuntvoltage",
"Ina219setting"
],
"title": "Милливатметр постоянного тока",
"moduleDesc": "Измеряет постоянный ток до 3.2 ампера, напряжение до 26 вольт и мощность на нагрузке. Модуль INA219 Настройки - для изменении настроек нужен постоянно в конфигурации, должен стоять перед рдугими модулями с тем же адресом, без него работает на значенях по умолчанию",
"propInfo": {
"int": "Количество секунд между опросами датчика.",
"addr": "Адрес датчика на шине, обычно 0x40. Если оставить поле пустым, то запуститься сканер I2C и подключение к адресу 0x40",
"shunt": "Сопротивление шунта, штатно 0.1Ом. Изменить если его перепаяли",
"maxV": "Максимальный ожидаемый ток, штатно 3.2А, для указаного шунта",
"adjClbr": "Задать смещение (подкрутить) калибровочное значение на указанное значение. -20 = Уменьшить калибровочное значение на 20",
"resol": "Установка режима усреднения для измерения напряжения и тока, рекомендуется для повышения стабильности показаний на шумной нагрузке. Варианты 1(без усреднения),2,4,8,16,32,64,128",
"btn-getClbr": "Кнопка запроса текущей калибровки, выводится в лог"
},
"funcInfo": [
{
"name": "sleep",
"descr": "INA219 Настройки. Установка / снятие режима сна датчика INA219",
"params": ["1- вкл сна/ 0-выкл сна"]
}
]
}, },
{
"defActive": false, "global": 0,
"name": "INA219 Напряжение",
"usedLibs": { "type": "Reading",
"esp32_4mb": [ "subtype": "Ina219voltage",
"https://github.com/GyverLibs/GyverINA" "id": "ina219_V",
], "widget": "anydataVlt",
"esp32s2_4mb": [ "page": "INA 219",
"https://github.com/GyverLibs/GyverINA" "descr": "Напряжения",
], "addr": "0x40",
"plus": 0,
"esp8266_4mb": [ "multiply": 1,
"https://github.com/GyverLibs/GyverINA" "round": 3,
], "int": 10
"esp8266_16mb": [ },
"https://github.com/GyverLibs/GyverINA" {
] "global": 0,
"name": "INA219 Мощность",
"type": "Reading",
"subtype": "Ina219power",
"id": "ina219_W",
"widget": "anydataWt",
"page": "INA 219",
"descr": "Мощность",
"addr": "0x40",
"plus": 0,
"multiply": 1,
"round": 3,
"int": 10
},
{
"global": 0,
"name": "INA219 Шунт",
"type": "Reading",
"subtype": "Ina219shuntvoltage",
"id": "ina219_Vsh",
"widget": "anydataVlt",
"page": "INA 219",
"descr": "Напряжение шунта",
"addr": "0x40",
"plus": 0,
"multiply": 1,
"round": 3,
"int": 10
},
{
"global": 0,
"name": "INA219 Настройки",
"type": "Reading",
"subtype": "Ina219setting",
"id": "ina219_set",
"widget": "nil",
"page": "",
"descr": "",
"addr": "0x40",
"shunt": 0.1,
"maxV": 3.2,
"adjClbr": 0,
"resol": 4,
"btn-getClbr": "nil"
} }
],
} "about": {
"authorName": "Serghei Crasnicov",
"authorContact": "https://t.me/Serghei63",
"authorGit": "https://github.com/Serghei63",
"specialThanks": "Дмитрий, Serg, v2.0 - Mitchel @Mit4bmw",
"moduleName": "Ina219",
"moduleVersion": "2.0",
"usedRam": {
"esp32_4mb": 15,
"esp8266_4mb": 15
},
"subTypes": [
"Ina219curr",
"Ina219voltage",
"Ina219power",
"Ina219shuntvoltage",
"Ina219setting"
],
"title": "Милливатметр постоянного тока",
"moduleDesc": "Измеряет постоянный ток до 3.2 ампера, напряжение до 26 вольт и мощность на нагрузке. Модуль INA219 Настройки - для изменении настроек нужен постоянно в конфигурации, должен стоять перед рдугими модулями с тем же адресом, без него работает на значенях по умолчанию",
"propInfo": {
"int": "Количество секунд между опросами датчика.",
"addr": "Адрес датчика на шине, обычно 0x40. Если оставить поле пустым, то запуститься сканер I2C и подключение к адресу 0x40",
"shunt": "Сопротивление шунта, штатно 0.1Ом. Изменить если его перепаяли",
"maxV": "Максимальный ожидаемый ток, штатно 3.2А, для указаного шунта",
"adjClbr": "Задать смещение (подкрутить) калибровочное значение на указанное значение. -20 = Уменьшить калибровочное значение на 20",
"resol": "Установка режима усреднения для измерения напряжения и тока, рекомендуется для повышения стабильности показаний на шумной нагрузке. Варианты 1(без усреднения),2,4,8,16,32,64,128",
"btn-getClbr": "Кнопка запроса текущей калибровки, выводится в лог"
},
"funcInfo": [
{
"name": "sleep",
"descr": "INA219 Настройки. Установка / снятие режима сна датчика INA219",
"params": [
"1- вкл сна/ 0-выкл сна"
]
}
]
},
"defActive": false,
"usedLibs": {
"esp32_4mb": [
"https://github.com/GyverLibs/GyverINA"
],
"esp32s2_4mb": [
"https://github.com/GyverLibs/GyverINA"
],
"esp8266_4mb": [
"https://github.com/GyverLibs/GyverINA"
],
"esp8266_16mb": [
"https://github.com/GyverLibs/GyverINA"
]
}
}

View File

@@ -1,139 +1,135 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [
"configItem": [{ {
"global": 0, "global": 0,
"name": "INA226 Tок", "name": "INA226 Tок",
"type": "Reading", "type": "Reading",
"subtype": "Ina226curr", "subtype": "Ina226curr",
"id": "ina226_A", "id": "ina226_A",
"widget": "anydataAmp", "widget": "anydataAmp",
"page": "INA 226", "page": "INA 226",
"descr": "Сила тока", "descr": "Сила тока",
"addr": "0x40", "addr": "0x40",
"plus": 0, "plus": 0,
"multiply": 1, "multiply": 1,
"round": 3, "round": 3,
"int": 10 "int": 10
},
{
"global": 0,
"name": "INA226 Напряжение",
"type": "Reading",
"subtype": "Ina226voltage",
"id": "ina226_V",
"widget": "anydataVlt",
"page": "INA 226",
"descr": "Напряжения",
"addr": "0x40",
"plus": 0,
"multiply": 1,
"round": 3,
"int": 10
},
{
"global": 0,
"name": "INA226 Мощность",
"type": "Reading",
"subtype": "Ina226power",
"id": "ina226_W",
"widget": "anydataWt",
"page": "INA 226",
"descr": "Мощность",
"addr": "0x40",
"plus": 0,
"multiply": 1,
"round": 3,
"int": 10
},
{
"global": 0,
"name": "INA226 Шунт",
"type": "Reading",
"subtype": "Ina226shuntvoltage",
"id": "ina226_Vsh",
"widget": "anydataVlt",
"page": "INA 226",
"descr": "Напряжение шунта",
"addr": "0x40",
"plus": 0,
"multiply": 1,
"round": 3,
"int": 10
},
{
"global": 0,
"name": "INA226 Настройки",
"type": "Reading",
"subtype": "Ina226setting",
"id": "ina226_set",
"widget": "nil",
"page": "",
"descr": "",
"addr": "0x40",
"shunt": 0.1,
"maxV": 3.2,
"adjClbr": 0,
"resol": 4,
"btn-getClbr":"nil"
}],
"about": {
"authorName": "Serghei Crasnicov",
"authorContact": "https://t.me/Serghei63",
"authorGit": "https://github.com/Serghei63",
"specialThanks": "v2.0 - Mitchel @Mit4bmw",
"moduleName": "Ina226",
"moduleVersion": "2.0",
"usedRam": {
"esp32_4mb": 15,
"esp8266_4mb": 15
},
"subTypes": [
"Ina226curr",
"Ina226voltage",
"Ina226power",
"Ina226shuntvoltage",
"Ina226setting"
],
"title": "Милливатметр постоянного тока",
"moduleDesc": "Стандартные значения для модуля INA226 (Сопротивление шунта - 0.1 Ом, Максимальный ожидаемый ток - 0.8 А, Адрес на шине I2c - 0x40). Модуль INA226 Настройки - для изменении настроек нужен постоянно в конфигурации, должен стоять перед рдугими модулями с тем же адресом, без него работает на значенях по умолчанию",
"propInfo": {
"int": "Количество секунд между опросами датчика.",
"addr": "Адрес датчика на шине, обычно 0x40. Если оставить поле пустым, то запуститься сканер I2C и подключение к адресу 0x40",
"shunt": "Сопротивление шунта, штатно 0.1Ом. Изменить если его перепаяли",
"maxV": "Максимальный ожидаемый ток, штатно 0.8А, для указаного шунта",
"adjClbr": "Задать смещение (подкрутить) калибровочное значение на указанное значение. -20 = Уменьшить калибровочное значение на 20",
"resol": "Установка режима усреднения (колическва замеров) для измерения напряжения и тока, рекомендуется для повышения стабильности показаний на шумной нагрузке. Пропорционально увеличивает время оцифровки. Варианты 0(без усреднения), от 1 до 7 - соответстввует 4,16,64,128,256,512,1024",
"btn-getClbr": "Кнопка запроса текущей калибровки, выводится в лог"
},
"funcInfo": [
{
"name": "sleep",
"descr": "INA226 Настройки. Установка / снятие режима сна датчика INA226",
"params": ["1- вкл сна/ 0-выкл сна"]
}
]
}, },
{
"defActive": false, "global": 0,
"name": "INA226 Напряжение",
"usedLibs": { "type": "Reading",
"esp32_4mb": [ "subtype": "Ina226voltage",
"https://github.com/GyverLibs/GyverINA" "id": "ina226_V",
], "widget": "anydataVlt",
"esp32s2_4mb": [ "page": "INA 226",
"https://github.com/GyverLibs/GyverINA" "descr": "Напряжения",
], "addr": "0x40",
"plus": 0,
"esp8266_4mb": [ "multiply": 1,
"https://github.com/GyverLibs/GyverINA" "round": 3,
], "int": 10
"esp8266_16mb": [ },
"https://github.com/GyverLibs/GyverINA" {
] "global": 0,
"name": "INA226 Мощность",
"type": "Reading",
"subtype": "Ina226power",
"id": "ina226_W",
"widget": "anydataWt",
"page": "INA 226",
"descr": "Мощность",
"addr": "0x40",
"plus": 0,
"multiply": 1,
"round": 3,
"int": 10
},
{
"global": 0,
"name": "INA226 Шунт",
"type": "Reading",
"subtype": "Ina226shuntvoltage",
"id": "ina226_Vsh",
"widget": "anydataVlt",
"page": "INA 226",
"descr": "Напряжение шунта",
"addr": "0x40",
"plus": 0,
"multiply": 1,
"round": 3,
"int": 10
},
{
"global": 0,
"name": "INA226 Настройки",
"type": "Reading",
"subtype": "Ina226setting",
"id": "ina226_set",
"widget": "nil",
"page": "",
"descr": "",
"addr": "0x40",
"shunt": 0.1,
"maxV": 3.2,
"adjClbr": 0,
"resol": 4,
"btn-getClbr": "nil"
} }
],
} "about": {
"authorName": "Serghei Crasnicov",
"authorContact": "https://t.me/Serghei63",
"authorGit": "https://github.com/Serghei63",
"specialThanks": "v2.0 - Mitchel @Mit4bmw",
"moduleName": "Ina226",
"moduleVersion": "2.0",
"usedRam": {
"esp32_4mb": 15,
"esp8266_4mb": 15
},
"subTypes": [
"Ina226curr",
"Ina226voltage",
"Ina226power",
"Ina226shuntvoltage",
"Ina226setting"
],
"title": "Милливатметр постоянного тока",
"moduleDesc": "Стандартные значения для модуля INA226 (Сопротивление шунта - 0.1 Ом, Максимальный ожидаемый ток - 0.8 А, Адрес на шине I2c - 0x40). Модуль INA226 Настройки - для изменении настроек нужен постоянно в конфигурации, должен стоять перед рдугими модулями с тем же адресом, без него работает на значенях по умолчанию",
"propInfo": {
"int": "Количество секунд между опросами датчика.",
"addr": "Адрес датчика на шине, обычно 0x40. Если оставить поле пустым, то запуститься сканер I2C и подключение к адресу 0x40",
"shunt": "Сопротивление шунта, штатно 0.1Ом. Изменить если его перепаяли",
"maxV": "Максимальный ожидаемый ток, штатно 0.8А, для указаного шунта",
"adjClbr": "Задать смещение (подкрутить) калибровочное значение на указанное значение. -20 = Уменьшить калибровочное значение на 20",
"resol": "Установка режима усреднения (колическва замеров) для измерения напряжения и тока, рекомендуется для повышения стабильности показаний на шумной нагрузке. Пропорционально увеличивает время оцифровки. Варианты 0(без усреднения), от 1 до 7 - соответстввует 4,16,64,128,256,512,1024",
"btn-getClbr": "Кнопка запроса текущей калибровки, выводится в лог"
},
"funcInfo": [
{
"name": "sleep",
"descr": "INA226 Настройки. Установка / снятие режима сна датчика INA226",
"params": [
"1- вкл сна/ 0-выкл сна"
]
}
]
},
"defActive": false,
"usedLibs": {
"esp32_4mb": [
"https://github.com/GyverLibs/GyverINA"
],
"esp32s2_4mb": [
"https://github.com/GyverLibs/GyverINA"
],
"esp8266_4mb": [
"https://github.com/GyverLibs/GyverINA"
],
"esp8266_16mb": [
"https://github.com/GyverLibs/GyverINA"
]
}
}

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -73,12 +73,15 @@
"ABC": "Автокалибровка. По умолчанию включена. Раз в сутки на 20 мин. надо выставлять на свежий воздух.", "ABC": "Автокалибровка. По умолчанию включена. Раз в сутки на 20 мин. надо выставлять на свежий воздух.",
"pin": "пин получения значений по ШИМ. Esp8266: GPIO 15 - D8, ESP32: GPIO 21, > MHZ19: PWM желтый провод", "pin": "пин получения значений по ШИМ. Esp8266: GPIO 15 - D8, ESP32: GPIO 21, > MHZ19: PWM желтый провод",
"maxRetriesNotAvailable": "Максимальное количество попыток опроса сенсора по ШИМ. (может задерживать контроллер)" "maxRetriesNotAvailable": "Максимальное количество попыток опроса сенсора по ШИМ. (может задерживать контроллер)"
} },
"title": "Mhz19 Датчик уровеня концентрации CO2"
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [], "esp32_4mb": [],
"esp32s2_4mb": ["plerup/EspSoftwareSerial"], "esp32s2_4mb": [
"plerup/EspSoftwareSerial"
],
"esp8266_4mb": [] "esp8266_4mb": []
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -13,17 +13,14 @@
"needSave": 0, "needSave": 0,
"val": "0", "val": "0",
"int": 15, "int": 15,
"pin": "35", "pin": "35",
"R1":"10000", "R1": "10000",
"R0":"10000", "R0": "10000",
"Beta":"3950.0", "Beta": "3950.0",
"T0":"25", "T0": "25",
"Vs":"3.3", "Vs": "3.3",
"round" : 1 "round": 1
} }
], ],
"about": { "about": {
"authorName": "Serghei Crasnicov", "authorName": "Serghei Crasnicov",
@@ -44,11 +41,11 @@
"retInfo": "", "retInfo": "",
"propInfo": { "propInfo": {
"pin": "Аналоговый пин (для esp8266 = 0, для esp32 алаоговый gpio, например 35)", "pin": "Аналоговый пин (для esp8266 = 0, для esp32 алаоговый gpio, например 35)",
"R1":"Сопротивление подтягивающего резистора, должен быть равен сопротивлению термистера", "R1": "Сопротивление подтягивающего резистора, должен быть равен сопротивлению термистера",
"Vs":"Напряжение питания датчика, Для точности измерить и ввести своё, по умолчанию 3.3В", "Vs": "Напряжение питания датчика, Для точности измерить и ввести своё, по умолчанию 3.3В",
"R0":"Сопротивление термистора при температуре То, например 10 КОм при 25С", "R0": "Сопротивление термистора при температуре То, например 10 КОм при 25С",
"T0":"Базовая температура, температура измерения сопротивление термистора (Rterm), обычно 25С", "T0": "Базовая температура, температура измерения сопротивление термистора (Rterm), обычно 25С",
"Beta":"Beta термистора" "Beta": "Beta термистора"
} }
}, },
"defActive": false, "defActive": false,
@@ -62,4 +59,4 @@
"esp8266_2mb": [], "esp8266_2mb": [],
"esp8266_2mb_ota": [] "esp8266_2mb_ota": []
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -115,8 +115,8 @@
"Pzem004pf", "Pzem004pf",
"Pzem004cmd" "Pzem004cmd"
], ],
"title": "Счетчик электроэнергии PZEM 004 t версии 3.0 (с модбасом). Возможно подключение трех счетчиков к одной esp для трехфазных сетей. Для этого нужно настроить разные адреса modbus в платах pzem", "title": "Счетчик электроэнергии PZEM 004 t версии 3.0 (с модбасом)",
"moduleDesc": "Считает потраченную электроэнергию, измеряет напряжение, частоту, силу тока и прочие параметры", "moduleDesc": "Считает потраченную электроэнергию, измеряет напряжение, частоту, силу тока и прочие параметры. Возможно подключение трех счетчиков к одной esp для трехфазных сетей. Для этого нужно настроить разные адреса modbus в платах pzem",
"propInfo": { "propInfo": {
"addr": "Адрес modbus", "addr": "Адрес modbus",
"int": "Количество секунд между опросами датчика. Желателно устанавливать одинаковые интервалы для параметров (для одного адреса Pzem) что опрос происходил один раз, остальные из 500мс буфера.", "int": "Количество секунд между опросами датчика. Желателно устанавливать одинаковые интервалы для параметров (для одного адреса Pzem) что опрос происходил один раз, остальные из 500мс буфера.",

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -18,7 +18,7 @@
"ticker": 0, "ticker": 0,
"int": 5, "int": 5,
"btn-setUTime": "0", "btn-setUTime": "0",
"btn-setSysTime": "nil" "btn-setSysTime": "nil"
} }
], ],
"about": { "about": {
@@ -51,19 +51,37 @@
{ {
"name": "getTime", "name": "getTime",
"descr": "Получить строковое значение времени по указанному формату.", "descr": "Получить строковое значение времени по указанному формату.",
"params": ["Формат как у функции date() в PHP"] "params": [
"Формат как у функции date() в PHP"
]
} }
] ]
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": ["https://github.com/tremaru/iarduino_RTC"], "esp32_4mb": [
"esp8266_4mb": ["https://github.com/tremaru/iarduino_RTC"], "https://github.com/tremaru/iarduino_RTC"
"esp8266_1mb": ["https://github.com/tremaru/iarduino_RTC"], ],
"esp8266_1mb_ota": ["https://github.com/tremaru/iarduino_RTC"], "esp8266_4mb": [
"esp8285_1mb": ["https://github.com/tremaru/iarduino_RTC"], "https://github.com/tremaru/iarduino_RTC"
"esp8285_1mb_ota": ["https://github.com/tremaru/iarduino_RTC"], ],
"esp8266_2mb": ["https://github.com/tremaru/iarduino_RTC"], "esp8266_1mb": [
"esp8266_2mb_ota": ["https://github.com/tremaru/iarduino_RTC"] "https://github.com/tremaru/iarduino_RTC"
],
"esp8266_1mb_ota": [
"https://github.com/tremaru/iarduino_RTC"
],
"esp8285_1mb": [
"https://github.com/tremaru/iarduino_RTC"
],
"esp8285_1mb_ota": [
"https://github.com/tremaru/iarduino_RTC"
],
"esp8266_2mb": [
"https://github.com/tremaru/iarduino_RTC"
],
"esp8266_2mb_ota": [
"https://github.com/tremaru/iarduino_RTC"
]
} }
} }

View File

@@ -1,19 +1,19 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"name": "(S8) Cенсор качества воздуха", "name": "(S8) Cенсор качества воздуха",
"num": 3, "num": 3,
"type": "Reading", "type": "Reading",
"subtype": "S8co", "subtype": "S8co",
"id": "s8co", "id": "s8co",
"widget": "anydataPpm", "widget": "anydataPpm",
"page": "Сенсоры", "page": "Сенсоры",
"descr": "S8_CO2", "descr": "S8_CO2",
"int": 15, "int": 15,
"round": 1, "round": 1,
"rxPin": 13, "rxPin": 13,
"txPin": 15 "txPin": 15
} }
], ],
"about": { "about": {
@@ -35,9 +35,7 @@
}, },
"defActive": true, "defActive": true,
"usedLibs": { "usedLibs": {
"esp32_4mb": [ "esp32_4mb": [],
], "esp8266_4mb": []
"esp8266_4mb": [
]
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -14,7 +14,7 @@
"round": 0, "round": 0,
"lowPeriodic": 1, "lowPeriodic": 1,
"autoCalibration": 1, "autoCalibration": 1,
"btn-Recalibration": 0 "btn-Recalibration": 0
}, },
{ {
"global": 0, "global": 0,
@@ -61,13 +61,11 @@
"title": "Датчик температуры и влажности Scd40", "title": "Датчик температуры и влажности Scd40",
"moduleDesc": "Позволяет получить значения температуры и влажности с Scd40.", "moduleDesc": "Позволяет получить значения температуры и влажности с Scd40.",
"propInfo": { "propInfo": {
"int": "Количество секунд между опросами библиотеки (датчик опрашивается библиотекой по своему таймеру, см. lowPeriodic).", "int": "Количество секунд между опросами библиотеки (датчик опрашивается библиотекой по своему таймеру, см. lowPeriodic).",
"offset": "Смещение температуры представляет собой разницу между температурой, измеренной SCD4x, и фактической температурой окружающей среды температура. По умолчанию смещение температуры в библиотеке/датчике установлено на 4°C.", "offset": "Смещение температуры представляет собой разницу между температурой, измеренной SCD4x, и фактической температурой окружающей среды температура. По умолчанию смещение температуры в библиотеке/датчике установлено на 4°C.",
"lowPeriodic": "Медленные режим опроса датчика библиотекой. 0-каждые 5сек, 1-каждые 30сек", "lowPeriodic": "Медленные режим опроса датчика библиотекой. 0-каждые 5сек, 1-каждые 30сек",
"autoCalibration": "Автоматическая калибровка, по умолчанию включена AutomaticSelfCalibration, 0 - выключена", "autoCalibration": "Автоматическая калибровка, по умолчанию включена AutomaticSelfCalibration, 0 - выключена",
"btn-Recalibration": "Кнопка принудительной калибровки. В поле указать Целевая концентрация CO₂ в миллионных долях. Перед калибровкой необходимо находтся в течение > 3 минут в среде с однородной и постоянной концентрацией CO₂. Выдает в лог Значение коррекции FRC в co₂ ppm" "btn-Recalibration": "Кнопка принудительной калибровки. В поле указать Целевая концентрация CO₂ в миллионных долях. Перед калибровкой необходимо находтся в течение > 3 минут в среде с однородной и постоянной концентрацией CO₂. Выдает в лог Значение коррекции FRC в co₂ ppm"
} }
}, },
"defActive": false, "defActive": false,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -61,7 +61,8 @@
"continuousMode": "1 - Непрерывный режим, 0 - Режим с остановкой (щедящий)", "continuousMode": "1 - Непрерывный режим, 0 - Режим с остановкой (щедящий)",
"maxRetriesNotAvailable": "Количество попыток ожидания ответа сенсора при опросе (не нужно менять)", "maxRetriesNotAvailable": "Количество попыток ожидания ответа сенсора при опросе (не нужно менять)",
"retryDelayMs": "Задержка между попытками, миллисекунды (не нужно менять)" "retryDelayMs": "Задержка между попытками, миллисекунды (не нужно менять)"
} },
"title": "Sds011 Датчик концентрации пыли в воздухе"
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {

View File

@@ -1,31 +1,31 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
"name": "SGP30 Cенсор качества воздуха", "name": "SGP30 Cенсор качества воздуха",
"num": 3, "num": 3,
"type": "Reading", "type": "Reading",
"subtype": "Sgp30t", "subtype": "Sgp30t",
"id": "sgp30t", "id": "sgp30t",
"widget": "anydatappm", "widget": "anydatappm",
"page": "Сенсоры", "page": "Сенсоры",
"descr": "TVOC", "descr": "TVOC",
"int": 30, "int": 30,
"round": 1 "round": 1
}, },
{ {
"global": 0, "global": 0,
"name": "SGP30 Cенсор газа", "name": "SGP30 Cенсор газа",
"num": 4, "num": 4,
"type": "Reading", "type": "Reading",
"subtype": "Sgp30e", "subtype": "Sgp30e",
"id": "sgp30e", "id": "sgp30e",
"widget": "anydatappm", "widget": "anydatappm",
"page": "Сенсоры", "page": "Сенсоры",
"descr": "eCO2", "descr": "eCO2",
"int": 30, "int": 30,
"round": 1 "round": 1
} }
], ],
"about": { "about": {

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"name": "UART", "name": "UART",
@@ -44,22 +44,31 @@
{ {
"name": "println", "name": "println",
"descr": "Отправить в UART строку текста и признак завершения строки (перевод строки).", "descr": "Отправить в UART строку текста и признак завершения строки (перевод строки).",
"params": ["Строка текста"] "params": [
"Строка текста"
]
}, },
{ {
"name": "print", "name": "print",
"descr": "Отправить в UART строку текста.", "descr": "Отправить в UART строку текста.",
"params": ["Строка текста"] "params": [
"Строка текста"
]
}, },
{ {
"name": "printHex", "name": "printHex",
"descr": "Отправить в UART HEX-строку.", "descr": "Отправить в UART HEX-строку.",
"params": ["HEX-строка."] "params": [
"HEX-строка."
]
}, },
{ {
"name": "printFFF", "name": "printFFF",
"descr": "Отправить в UART текстовую строку и hex метку 3 байта 0xFF0xFF0xFF.", "descr": "Отправить в UART текстовую строку и hex метку 3 байта 0xFF0xFF0xFF.",
"params": ["Строка текста", "1 - обернуть строку в кавычки, 0 - отправить без кавычек"] "params": [
"Строка текста",
"1 - обернуть строку в кавычки, 0 - отправить без кавычек"
]
} }
] ]
}, },

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Сенсоры", "menuSection": "sensors",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Виртуальные элементы", "menuSection": "virtual_elments",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,19 +1,19 @@
{ {
"menuSection": "Виртуальные элементы", "menuSection": "virtual_elments",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
"name": "GoogleSheet", "name": "GoogleSheet",
"type": "Reading", "type": "Reading",
"subtype": "GoogleSheet", "subtype": "GoogleSheet",
"id": "sheet", "id": "sheet",
"widget": "nil", "widget": "nil",
"page": "", "page": "",
"descr": "", "descr": "",
"int": 5, "int": 5,
"logid": "", "logid": "",
"scid": "", "scid": "",
"shname": "Logger" "shname": "Logger"
} }
], ],
"about": { "about": {
@@ -33,8 +33,8 @@
"propInfo": { "propInfo": {
"int": "Интервал логирования в минутах", "int": "Интервал логирования в минутах",
"logid": "ID величины которую будем логировать", "logid": "ID величины которую будем логировать",
"scid": "Идентификатор развертывания Google Apps (script id)", "scid": "Идентификатор развертывания Google Apps (script id)",
"shname": "Наименование листа в таблице (sheet name)" "shname": "Наименование листа в таблице (sheet name)"
}, },
"retInfo": "", "retInfo": "",
"funcInfo": [ "funcInfo": [
@@ -43,7 +43,7 @@
"descr": "Использовать не чаще раз в минуту! Логирование элементов в GoogleSheet, ID элементов указывать через запятую, от одного до N (проверено на 16шт). В данной функции поиск элементов идет по их значению, если несколько элементов с одинаковым значение, может быть не правильно указан его id в Таблице.", "descr": "Использовать не чаще раз в минуту! Логирование элементов в GoogleSheet, ID элементов указывать через запятую, от одного до N (проверено на 16шт). В данной функции поиск элементов идет по их значению, если несколько элементов с одинаковым значение, может быть не правильно указан его id в Таблице.",
"params": [ "params": [
"id Идентификатор 1-го элеменета", "id Идентификатор 1-го элеменета",
"id Идентификатор N-го элеменета" "id Идентификатор N-го элеменета"
] ]
}, },
{ {

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Виртуальные элементы", "menuSection": "virtual_elments",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Виртуальные элементы", "menuSection": "virtual_elments",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Виртуальные элементы", "menuSection": "virtual_elments",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -58,12 +58,16 @@
{ {
"name": "int", "name": "int",
"descr": "Можно изменить шаг тиков.", "descr": "Можно изменить шаг тиков.",
"params": ["Число в секундах"] "params": [
"Число в секундах"
]
}, },
{ {
"name": "setInitCountDown", "name": "setInitCountDown",
"descr": "Меняем начальное значение счетчика, устанавливаемое после сброса.", "descr": "Меняем начальное значение счетчика, устанавливаемое после сброса.",
"params": ["Число в секундах"] "params": [
"Число в секундах"
]
} }
] ]
}, },

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Виртуальные элементы", "menuSection": "virtual_elments",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,5 +1,5 @@
{ {
"menuSection": "Виртуальные элементы", "menuSection": "virtual_elments",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,

View File

@@ -1,51 +1,49 @@
{ {
"menuSection": "Виртуальные элементы", "menuSection": "virtual_elments",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
"name": "Цветной текст", "name": "Цветной текст",
"type": "Reading", "type": "Reading",
"subtype": "VariableColor", "subtype": "VariableColor",
"id": "color", "id": "color",
"needSave": 0, "needSave": 0,
"widget": "anydataDef", "widget": "anydataDef",
"page": "Вывод", "page": "Вывод",
"descr": "Цветной текст", "descr": "Цветной текст",
"val": "...", "val": "...",
"round": 0 "round": 0
} }
], ],
"about": { "about": {
"authorName": "AVAKS", "authorName": "AVAKS",
"authorContact": "https://t.me/@avaks_dev", "authorContact": "https://t.me/@avaks_dev",
"authorGit": "https://github.com/avaksru", "authorGit": "https://github.com/avaksru",
"specialThanks": "", "specialThanks": "",
"moduleName": "VariableColor", "moduleName": "VariableColor",
"moduleVersion": "1", "moduleVersion": "1",
"usedRam": { "usedRam": {
"esp32_4mb": 15, "esp32_4mb": 15,
"esp8266_4mb": 15 "esp8266_4mb": 15
}, },
"title": "Цветной текст", "title": "Цветной текст",
"moduleDesc": "Текст с возможностью динамического изменения цвета", "moduleDesc": "Текст с возможностью динамического изменения цвета",
"propInfo": { "propInfo": {
"val": "Значение при старте" "val": "Значение при старте"
} }
}, },
"defActive": true,
"defActive": true, "usedLibs": {
"esp32_4mb": [],
"usedLibs": { "esp32_16mb": [],
"esp32_4mb": [], "esp32s2_4mb": [],
"esp32_16mb": [], "esp8266_4mb": [],
"esp32s2_4mb": [], "esp8266_16mb": [],
"esp8266_4mb": [], "esp8266_1mb": [],
"esp8266_16mb": [], "esp8266_1mb_ota": [],
"esp8266_1mb": [], "esp8285_1mb": [],
"esp8266_1mb_ota": [], "esp8285_1mb_ota": [],
"esp8285_1mb": [], "esp8266_2mb": [],
"esp8285_1mb_ota": [], "esp8266_2mb_ota": []
"esp8266_2mb": [], }
"esp8266_2mb_ota": []
}
} }

View File

@@ -1,6 +1,5 @@
{ {
"menuSection": "Виртуальные элементы", "menuSection": "virtual_elments",
"configItem": [ "configItem": [
{ {
"global": 0, "global": 0,
@@ -19,7 +18,6 @@
"val": "..." "val": "..."
} }
], ],
"about": { "about": {
"authorName": "AVAKS", "authorName": "AVAKS",
"authorContact": "https://t.me/@avaks_dev", "authorContact": "https://t.me/@avaks_dev",
@@ -39,9 +37,7 @@
"int": "Интервал запроса погоды в часах" "int": "Интервал запроса погоды в часах"
} }
}, },
"defActive": false, "defActive": false,
"usedLibs": { "usedLibs": {
"esp32_4mb": [], "esp32_4mb": [],
"esp32_16mb": [], "esp32_16mb": [],
@@ -55,4 +51,4 @@
"esp8266_2mb": [], "esp8266_2mb": [],
"esp8266_2mb_ota": [] "esp8266_2mb_ota": []
} }
} }

View File

@@ -115,9 +115,9 @@ boolean RouterFind(String ssid) {
return res; return res;
} }
boolean isNetworkActive() { // boolean isNetworkActive() {
return WiFi.status() == WL_CONNECTED; // return WiFi.status() == WL_CONNECTED;
} // }
uint8_t RSSIquality() { uint8_t RSSIquality() {
uint8_t res = 0; uint8_t res = 0;

File diff suppressed because one or more lines are too long