2068 Commits

Author SHA1 Message Date
IoT Manager
84384a9ada Merge pull request #411 from IoTManagerProject/ver4dev
Ver4dev
2026-01-29 13:37:01 +01:00
318e3ed463 Merge pull request #409 from biveraxe/ver4dev
Учитываем что moduleDefines всегда список
2025-09-24 20:55:12 +03:00
70896f6c92 Учитываем что moduleDefines всегда список 2025-09-24 20:53:29 +03:00
Mit4el
5ed30a7253 Merge pull request #408 from DmitriyTychina/ver4dev
в modinfo модулей добавлен moduleDefines для условной компиляции
upd: добавлена поддержка define во все проекты
2025-09-23 10:44:22 +03:00
Mit4el
e3121a2467 Update platformio.ini
Add build_flag all project
2025-09-23 10:39:56 +03:00
Mit4el
a71e6088ca Update PrepareProject.py
rename moduleType to moduleDefines
2025-09-23 10:28:44 +03:00
Дмитрий
f46e75786a в modinfo модулей добавлен moduleDefines для условной компиляции 2025-09-19 18:19:40 +03:00
d255efaefb Merge pull request #406 from biveraxe/ver4dev
Уточняем версию библиотеки DallasTemperature
2025-08-14 14:21:48 +03:00
f1ecf3d191 Уточняем версию библиотеки DallasTemperature 2025-08-14 14:20:15 +03:00
2002a6b45f Добавялем обработку в строке \\ в сценарии 2025-07-28 19:18:19 +03:00
Mit4el
7be2d41547 Merge branch 'ver4dev' into ver4dev 2025-07-25 00:05:43 +03:00
Mit4el
7b9da809f5 add Board esp32_wifirep 2025-07-24 23:26:28 +03:00
Mit4el
22629d0117 Merge pull request #40 from Mit4el/dev_newWeb
Dev new web
2025-07-24 22:47:01 +03:00
Mit4el
42b2d9085a Merge branch 'ver4dev' into dev_newWeb 2025-07-24 22:40:24 +03:00
Mit4el
4195c383ee *web Кастом Модификаторы в веб
*Адаптация под 8266 и Bk7231n
2025-07-24 22:28:57 +03:00
f948741ae5 Merge pull request #404 from biveraxe/ver4dev
Новый экран и другое
2025-05-29 19:12:51 +03:00
0b31c8a8c9 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2025-05-29 19:04:52 +03:00
49c90d20c3 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2025-05-29 19:04:38 +03:00
fe9d9827db Меняем алгоритм вызова getAPI_
Для возможнсоти обработки блоков конфигураций всех элементов в любом модуле для формирования расширенных модификаторов.
2025-05-29 19:00:19 +03:00
1a79776bfb Добавляем системные вызовы setInterval и doByInterval
Для возможности изменения интервала выполнения doByInterval
и вызова его вне плана
2025-05-29 18:57:46 +03:00
6194169990 Добавляем модуль U8g2lib для работы с дисплеями 2025-05-29 18:56:15 +03:00
4b98abfa53 Добавляем модуль U8g2lib для работы с дисплеями 2025-05-29 18:53:55 +03:00
33d449d892 Добавляем получение символа getUtf8CharByIndex 2025-05-29 18:52:23 +03:00
d11f69b08d Корректируем скрипты с учетом MACOS 2025-05-22 14:08:28 +03:00
892e6d32ab Добавляем новую функцию в сценарии doByInterval
Выполняем интервальное действие модуля вне плана. Используется только совместно с ИД элемента: ID.doByInterval()
Возврат - значение элемента после выполнения doByInterval
2025-05-21 09:35:51 +03:00
bdb8c29d8f Дописываем onModuleOrder в DwinI 2025-05-15 12:35:32 +03:00
b0d1ec9465 Исправляем опечатку в условии LrdFX 2025-05-15 12:31:22 +03:00
2a518bce5d Merge pull request #403 from biveraxe/ver4dev
Мелкие правки ledfx и скриптов сборки
2025-05-15 08:03:06 +03:00
bc548a1719 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2025-05-15 08:01:45 +03:00
fbdcb6ee42 Добавляем параметр board скрипты сборки 2025-05-15 08:00:44 +03:00
060373ec31 Исправляем опечатку в названиии библиотеки 2025-05-15 07:59:54 +03:00
6dbfa4669b Merge pull request #402 from biveraxe/ver4dev
Новый скрипт прошивки, модуль управления LED лентой и др. мелкие правки
2025-05-13 22:25:50 +03:00
d417f96248 Добавляем скрипт компиляции и загрузки прошивки
Для упрощения первых шагов и отказа от интерфейса PlatformIO
2025-05-13 22:16:21 +03:00
d30408c395 Добавляем заголовк для функции hexStringToUint32 2025-05-13 22:14:41 +03:00
e9cc823ebf Добавляем модуль управления led лентой LedFX 2025-05-13 22:13:18 +03:00
9b54a179e5 Исправляем опечатк в модуле AhtXX 2025-05-13 22:11:54 +03:00
1ead6a7e02 Добавляем функцию hexstr в uint32_t 2025-05-13 22:10:24 +03:00
ce1b8e4716 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2025-05-06 08:24:30 +03:00
Mit4el
444bd6c201 *web* chart color 2025-03-30 20:55:44 +03:00
Mit4el
ff7a3550d2 fix sync time bk7231n 2025-03-29 20:32:13 +03:00
Mit4el
17dadf5745 upd version, upd ectoControl 2025-03-29 20:17:18 +03:00
Mit4el
3a2ac1666b *web* fix render chart 2025-03-29 00:21:42 +03:00
Mit4el
692a36bf37 fix chart 2x 3x 2025-03-28 22:47:10 +03:00
Mit4el
efc4da0bb6 *web* 2x, 3x chart, d&d OTA, Info 2025-03-28 20:43:10 +03:00
Mit4el
1928806cae Merge pull request #401 from Mit4el/ver4dev
fix bk7231n
2025-03-27 23:19:06 +03:00
Mit4el
940f68a90f upd version 2025-03-27 23:15:30 +03:00
Mit4el
6765f265ac fix uart bk7231n 2025-03-27 23:11:34 +03:00
Mit4el
f5ba827488 fix wifi bk7231n 2025-03-27 22:19:36 +03:00
Mit4el
769d6fc7f1 WEB обновление и время 2025-03-26 19:08:53 +03:00
Mit4el
fc50947ff3 newWeb upd пинг всех плат, Файлы, новые графики 2025-03-22 12:07:07 +03:00
Mit4el
d8cb3e9b07 Merge pull request #400 from Mit4el/ver4dev
fix BLE и Wifi одновременно
2025-03-22 12:03:44 +03:00
Mit4el
37d9c2224a fix BLE и Wifi одновременно 2025-03-22 12:02:58 +03:00
Mit4el
4c949528b8 Merge pull request #399 from Mit4el/ver4dev
fix scanning wifi
2025-03-17 00:33:40 +03:00
Mit4el
9dca608181 fix scanning wifi 2025-03-17 00:32:18 +03:00
Mit4el
9beb86d775 Merge pull request #398 from Mit4el/ver4dev
upd Async Wifi
2025-03-16 12:19:34 +03:00
Mit4el
f254fbe7aa асинхронный скан сети по запросу веба 2025-03-16 12:16:34 +03:00
Mit4el
7627874766 event onWifi 2025-03-13 20:01:57 +03:00
Mit4el
4bd168494f Merge pull request #39 from IoTManagerProject/ver4dev
merge
2025-03-10 22:41:06 +03:00
Mit4el
8925239e46 Merge branch 'ver4dev' into ver4dev 2025-03-10 22:40:53 +03:00
Mit4el
104bfbf092 Merge pull request #37 from 2blSoft/ver4dev
Исправляем ошибку в определении вхождения в период в nowInTimePeriod
2025-03-10 22:11:00 +03:00
Mit4el
78742d90a1 fix EctoControl 2025-03-10 22:09:42 +03:00
a7a02db13d Исправляем ошибку в опредении вхождени в период в nowInTimePeriod 2025-03-10 23:15:56 +05:00
Mit4el
27f2e67e8e fix wifi 8266 2025-02-24 20:16:00 +03:00
Mit4el
67a6eba882 fix ecto writeRegister 2025-02-24 19:50:42 +03:00
Mit4el
36ea71c270 fix ecto modbus 2025-02-22 18:32:41 +03:00
Mit4el
4ef929bb23 not lib ecto 2025-02-21 17:50:41 +03:00
Mit4el
33d19bea97 open src EctoControl 2025-02-17 22:32:08 +03:00
Mit4el
9cbf5f0b38 upd AnalogADC, fix asyncWiFi UDP 2025-02-17 20:49:33 +03:00
Mit4el
e988481404 Merge pull request #36 from 2blSoft/ver4dev
Добавляем экранирование в строки сценария \" и \n
2025-02-16 18:05:19 +03:00
2e8a7f111c Добавляем экранирование в строки сценария \\" и \\n 2025-02-16 14:19:45 +03:00
Mit4el
9d32b0c33d fix AnalogAdc 2025-02-15 20:36:00 +03:00
Mit4el
9b620fda5e new WiFi async connect 2025-02-15 00:20:44 +03:00
Mit4el
dccdf4af66 fix ble 2025-02-14 19:03:23 +03:00
Mit4el
95b9dc3d2d fix BLE 2025-02-14 18:42:07 +03:00
Mit4el
e3d3bca68e optimize memory, upd AnalogADC 2025-02-14 17:32:01 +03:00
Mit4el
05ea75aa0a upd ModBus 2025-02-08 17:44:27 +03:00
Mit4el
229dc89a7c fix float & long 2025-02-05 21:40:03 +03:00
Mit4el
10b1adb5a5 upd /localota, modbusAsync 2025-02-05 20:33:05 +03:00
Mit4el
959315b86e test ModBusAsync 2025-01-13 22:20:02 +03:00
Mit4el
9a1e92d747 профиль 2025-01-13 21:00:55 +03:00
Mit4el
6094c621af add module ModBusRTU 2025-01-13 20:59:51 +03:00
Mit4el
d337dea1b8 обновил конфиг по умолчанию 2025-01-13 19:58:59 +03:00
Mit4el
68d653902c удалил лишний Pcf8574 2025-01-13 19:29:33 +03:00
Mit4el
f214140cea add ModBusNode 2025-01-13 19:19:35 +03:00
Mit4el
a6e4617b30 new lib BLE, чуть меньше расходует памяти 2025-01-13 19:19:02 +03:00
Mit4el
b7e59ff0e6 Merge pull request #396 from IoTManagerProject/ver4dev
Ver4dev
2025-01-13 18:22:10 +03:00
Mit4el
130dd038c6 preAlfa modBus_async 2025-01-07 19:27:55 +03:00
Mit4el
9904b561d9 CI github Action 2025-01-07 17:13:24 +03:00
Mit4el
3791fe29ad fix webSocket 8266 2025-01-07 17:05:18 +03:00
Mit4el
96b8311579 пути в скриптах 2025-01-07 17:02:35 +03:00
Mit4el
79c1810be8 fix абсолютных путей скриптов 2025-01-07 16:49:18 +03:00
Mit4el
24430de25f test path script 2025-01-07 16:22:58 +03:00
Mit4el
2397d1c018 test 2025-01-07 14:17:14 +03:00
Mit4el
fce887d10b test fix path script 2025-01-07 13:54:34 +03:00
Mit4el
18cd043ea8 test path script 2025-01-07 13:46:03 +03:00
Mit4el
c086c71728 esp32c6 flash_size 8mb 2025-01-07 13:36:31 +03:00
Mit4el
0f8fa70a56 fix даты в графиках, fix среднее AnalogAdc 2025-01-07 13:33:48 +03:00
Mit4el
025bf94abc подсчет среднего ADC 2025-01-06 21:06:55 +03:00
Mit4el
68fea2ae37 fix esp32c6 & add ble, Fix Date Log, add BL0942, upd Descovery 2025-01-06 20:35:19 +03:00
Mit4el
a844d08ebf module LocalUpdate, GyverLamp, WebSocket for C6 2024-12-17 21:09:22 +03:00
Mit4el
5e801e7789 wifiIsConnect, module Broker update 2024-12-08 21:35:53 +03:00
Mit4el
322925fa5a Broker fix 2024-12-03 20:15:16 +03:00
Mit4el
889eb5f85b fix display smi2 2024-11-30 21:11:02 +03:00
Mit4el
64b4e67dcd btn Home in localota 2024-11-29 23:13:09 +03:00
Mit4el
463fc61649 pcf8591, sht30 2024-11-27 22:21:53 +03:00
Mit4el
0bd525401b артифакты 2024-11-27 01:27:55 +03:00
Mit4el
a122de9b5d артифакты action github 2024-11-27 01:20:16 +03:00
Mit4el
a1079a0764 smi2 false 2024-11-27 01:06:18 +03:00
Mit4el
17949a56da undo ~, try exception 2024-11-27 01:00:43 +03:00
Mit4el
f3ebfb363a change /home/rise to ~ for script 2024-11-27 00:48:40 +03:00
Mit4el
64ce8b052d fix esp32_c3m 2024-11-27 00:26:15 +03:00
Mit4el
1a2de8521c build pipline select boards 2024-11-26 23:41:48 +03:00
Mit4el
5f3845457a build pipline 2024-11-26 23:30:41 +03:00
Mit4el
d726e661c0 local sever ota 2024-11-26 23:30:16 +03:00
Mit4el
247cb51169 speed bk7231 2024-11-26 21:17:12 +03:00
Mit4el
3aaeb760da fix HomeD 2024-11-26 21:04:22 +03:00
Mit4el
13d0b514a3 easy build and flash bk7231n 2024-11-25 00:20:16 +03:00
Mit4el
3a17e0c57c fix bk7231n 2024-11-23 20:31:16 +03:00
Mit4el
d392858cb1 add board ESP32-C6 4mb and 8mb 2024-11-22 22:45:10 +03:00
Mit4el
6820460915 update Thermostat and Loging 2024-11-20 21:13:12 +03:00
Mit4el
d6e4ac232f tiny->bk7231, WS ping? fix clear config 2024-11-20 21:11:50 +03:00
Mit4el
8136d47cbd undo WDT 2024-11-20 00:22:55 +03:00
Mit4el
cfe1f04bdd lib tiny ignore 2024-11-19 21:37:18 +03:00
Mit4el
e9403b275c fix wdt 2024-11-17 22:35:32 +03:00
Mit4el
509363fc4d fix reset_config_bootloop 2024-11-17 17:15:49 +03:00
Mit4el
dbad34b42c add WDT 10s, fix 8266, tiny 2024-11-16 15:00:04 +03:00
Mit4el
dc87331c4b fix Строки и числа от MQTT 2024-09-26 19:31:18 +03:00
Mit4el
7f18bcd622 upd IRremote 2024-09-21 13:56:51 +03:00
Mit4el
d63f1bb5bf add IRremote 2024-09-21 12:09:11 +03:00
Mit4el
af0f782f07 fix Discovery, DugTrace 2024-09-21 11:28:46 +03:00
Mit4el
b9c07b809f msg by used ELF file 2024-09-20 13:22:49 +03:00
Mit4el
a1ab70fc07 EctoControl Opentherm 2024-09-20 13:13:42 +03:00
Mit4el
596eb9cad4 libretiny 2024-09-20 12:45:17 +03:00
Mit4el
b32abb5a28 Discovery HA and HomeD 2024-09-20 12:19:15 +03:00
Mit4el
d6a24b1837 Nextion, VerifyOTA? RollBackConfig 2024-09-20 12:05:34 +03:00
Mit4el
3919e5a0ab DebugTrace, Nextion, BrokerMQTT 2024-09-20 11:07:08 +03:00
d3d01f1ae6 Добавляем варианты частичной прошивки 2024-08-14 00:33:21 +05:00
6a288bb002 Добавляем альтернативный источник обновлений 2024-08-14 00:00:52 +05:00
edd498d1c9 Merge pull request #392 from biveraxe/ver4dev
Расширитель портов Tca9555 добавлен
2024-08-13 16:29:41 +03:00
ed7037f280 Расширитель портов Tca9555 добавлен
Но требуется проверка
2024-08-13 18:28:37 +05:00
320dd2f68f Merge pull request #391 from biveraxe/ver4dev
Уточняем период работы функции nowInTimePeriod
2024-08-13 16:22:17 +03:00
Mit4el
03d37dd69f Merge pull request #390 from IoTManagerProject/ver4dev
Ver4dev
2024-06-07 19:35:16 +03:00
Mit4el
a693f69fdd Update patch8266_16m.py
Абсолютный путь на портале, с ~ почему то перестал работать
2024-06-07 19:31:52 +03:00
Mit4el
d2a55af97e Merge pull request #33 from IoTManagerProject/ver4dev
Ver4dev
2024-05-15 22:41:54 +03:00
Mit4el
94bfc4ec61 Fix ошибок и под esp8266 2024-05-15 22:25:23 +03:00
Mit4el
0a9a1b9387 Impulse - два режима работы 2024-05-15 22:22:55 +03:00
IoT Manager
4c7c57cc66 Merge pull request #389 from IoTManagerProject/ver4dev
Ver4dev
2024-05-14 22:53:46 +02:00
Mit4el
794d51187e Merge branch 'ver4dev' of https://github.com/IoTManagerProject/IoTManager into ver4dev 2024-05-14 23:36:22 +03:00
Mit4el
ae455446ca В модулях теперь группы плат 2024-05-14 23:36:14 +03:00
IoT Manager
6d3df085bd Merge pull request #388 from IoTManagerProject/ver4dev
ws patch path
2024-05-14 22:36:01 +02:00
IoT Manager
26bd69a224 ws patch path 2024-05-14 22:35:13 +02:00
IoT Manager
de6e9c922f Merge pull request #387 from IoTManagerProject/ver4dev
update compiler with new modules
2024-05-14 22:04:09 +02:00
IoT Manager
eff916a7b5 update compiler with new modules 2024-05-14 22:01:07 +02:00
IoT Manager
9ed3bc24e3 Merge pull request #386 from IoTManagerProject/ver4dev
fix bug
2024-05-14 21:55:31 +02:00
IoT Manager
a8ff7a4350 fix bug 2024-05-14 21:54:50 +02:00
IoT Manager
6032719d60 Merge pull request #385 from IoTManagerProject/ver4dev
Ver4dev
2024-05-14 21:23:02 +02:00
IoT Manager
1ba4126e03 Merge branch 'ver4dev' of https://github.com/IoTManagerProject/IoTManager into ver4dev 2024-05-14 21:14:07 +02:00
IoT Manager
27788b611a версия 457 2024-05-14 21:14:02 +02:00
IoT Manager
81beaa2e9e Merge pull request #384 from IoTManagerProject/ver4dev
Ver4dev
2024-05-14 21:12:57 +02:00
IoT Manager
a439fdffae Merge branch 'ver4stable' into ver4dev 2024-05-14 21:12:48 +02:00
IoT Manager
04ffe7fc5d Merge pull request #383 from Mit4el/ver4dev
update telegram_v2 and Nextion upload
2024-05-14 21:07:45 +02:00
Mit4el
8927557e06 reboot in Telegram 2024-05-09 21:41:02 +03:00
Mit4el
3e4345e06c upd Nextion upload 2024-05-09 18:58:11 +03:00
2696ffbb67 Merge pull request #382 from Mit4el/ver4dev
Telegram and bl0937
2024-05-09 18:09:57 +03:00
Mit4el
2eec5d2982 прошивка в Telegram 2024-05-09 14:39:59 +03:00
Mit4el
ac20905220 прошивка через telegram 2024-05-08 00:37:21 +03:00
6605108052 Уточняем период работы функции nowInTimePeriod
Добавляем <vector> в IoTItem.h
2024-05-01 10:06:10 +03:00
Mit4el
fcfcc27863 fix bl0937 2024-04-24 23:31:18 +03:00
Mit4el
cf50538dba исправил библиотеки 2024-04-24 23:27:40 +03:00
be18ef6875 Merge pull request #381 from Mit4el/ver4dev
Новые модули:
SmartBoiler, Benchmark, BrokerMqtt, Ping, SIM800
Исправления
Исправлена проблема в NTP.cpp високосного года при отображении графиков
Исправления в классе IoTUart

Внимание!
Для модуля src/classes/IoTUart.cpp изменилось поведение функции сценария print(...) - оно теперь не делает пеервод строки в конце - используйте println(...)
2024-04-24 11:00:30 +03:00
Mit4el
4fe14beb6d upddate BL0937 2024-04-20 21:48:39 +03:00
Mit4el
9c3ad06c6f fix Общее потребление 2024-04-16 23:36:10 +03:00
Mit4el
d95907a839 new BL0937 2024-04-16 23:31:23 +03:00
Mit4el
7a1fad9855 модуль EnergyMonitor 2024-04-03 09:59:48 +03:00
Mit4el
604cb96776 patch time-out WebSocket esp32 2024-03-29 10:05:06 +03:00
Mit4el
b25398bff4 драйвер Telegramm - tlgrmItem 2024-03-29 10:02:04 +03:00
Mit4el
9776f821d3 BrokerMqtt v2, SIM800 upd 2024-03-21 22:22:54 +03:00
Mit4el
8c98a387a2 sim800 update 2024-03-19 21:29:18 +03:00
Mit4el
bc62abded0 fix IoTUart 2024-03-17 21:28:09 +03:00
Mit4el
403535b8d6 module SIM800 2024-03-17 21:27:51 +03:00
Mit4el
cf099b0db6 убрал лишнее 2024-03-16 19:47:18 +03:00
Mit4el
b228603158 fix NTP 2902 и мелкие правки 2024-03-12 00:16:09 +03:00
Mit4el
d00eabbe0a BrokerMqtt: add lib PicoMqtt 2024-03-12 00:13:09 +03:00
Mit4el
d2865118f4 модуль Ping 2024-03-12 00:11:45 +03:00
Mit4el
ab0d5f40e2 Модуль Пинг 2024-03-01 22:00:38 +03:00
Mit4el
8aecb4b001 Merge pull request #32 from IoTManagerProject/ver4dev
Ver4dev
2024-02-27 18:29:08 +03:00
Mit4el
a63ca6e5c2 boiler 2024-02-27 00:02:44 +03:00
Mit4el
bf7725566b upd smartBoiler 2024-02-26 23:47:09 +03:00
Mit4el
b348629b0b default profile 2024-02-26 23:37:41 +03:00
Mit4el
8e7d2d6a14 модуль SmartBoiler v2 2024-02-26 23:31:12 +03:00
Mit4el
0baf03fccf модуль БрокерMqtt (picoMqtt) 2024-02-26 23:30:42 +03:00
Mit4el
43887e7408 Benchmark 2024-02-26 23:30:04 +03:00
Mit4el
b4919bddd6 Модуль Benchmark 2024-02-26 23:29:02 +03:00
Mit4el
15de2955fb smartBoiler 2024-02-12 20:49:36 +03:00
94239e51cc Merge pull request #377 from biveraxe/ver4dev
Исправления багов в сборщике и при получении IP в сценариях
2024-01-31 22:12:05 +03:00
8bb3348f39 Отказались от distutils.dir_util, т.к. убрали его в свежих билдах 2024-01-31 22:09:30 +03:00
3900062fb2 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2024-01-26 09:32:43 +03:00
02d1ddc7b4 Исправление ошибки с получением IP в сценарии 2024-01-26 09:25:56 +03:00
a228c3456f Merge pull request #376 from Mit4el/ver4dev
bugfix Ina226
2024-01-24 14:50:17 +03:00
Mit4el
d05137b4d4 bugfix Ina226.cpp 2024-01-22 09:51:20 +03:00
Mit4el
64099655ec Merge pull request #31 from IoTManagerProject/ver4dev
Ver4dev
2024-01-22 09:49:53 +03:00
IoT Manager
d3f15dac37 Merge pull request #375 from IoTManagerProject/revert-374-ver4dev
Revert "Ver4dev"
2024-01-21 21:31:21 +01:00
IoT Manager
cae0a7a19c Revert "Ver4dev" 2024-01-21 21:31:01 +01:00
IoT Manager
ccca92e276 Merge pull request #374 from IoTManagerProject/ver4dev
Ver4dev
2024-01-21 21:23:32 +01:00
915fd9eb3d Merge pull request #373 from biveraxe/ver4dev
Обновляем modinfo
2024-01-21 06:14:06 +03:00
e259c5d203 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2024-01-21 06:12:59 +03:00
709316e53e Унифицируем шаблоны подключения библиотек в модулях 2024-01-21 06:09:01 +03:00
IoT Manager
896af8bbe8 Merge pull request #372 from IoTManagerProject/ver4dev
Ver4dev
2024-01-20 22:34:38 +01:00
IoT Manager
eff1c77864 456 2024-01-20 22:32:31 +01:00
d5e8639a67 Merge pull request #371 from biveraxe/ver4dev
Отключаем первый пзем
2024-01-10 18:41:35 +03:00
398ce07d57 Отключаем первый пзем 2024-01-10 20:40:21 +05:00
c706ea0f68 Merge pull request #370 from biveraxe/ver4dev
Добавляем универсальные профили для сборки библиотек для модуля
2024-01-07 19:58:52 +05:00
e904ac1741 Исправляем ошибку в модуле сервы для ESP32 2024-01-07 19:57:28 +05:00
047c0fc5cc Исправление бага в PrepareProject с добавлением элемента в спискок 2024-01-06 23:40:04 +05:00
e43bfd9080 Добавляем универсальные профили для сборки библиотек для модуля 2024-01-06 20:30:39 +05:00
9c394f77ab Merge pull request #369 from biveraxe/ver4dev
AnalogBtn, функцию вхождения текущего времени в период
2024-01-06 20:28:54 +05:00
223a6add12 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2024-01-06 20:24:18 +05:00
02cf1547a8 Добавляем требуемы библиотеки в конфиг для TM16XX 2024-01-06 18:01:51 +05:00
e0ec19c5f7 Добавляем в математику функцию вхождения текущего времени в период
В папке с модулем есть пример таймера с использованием новой функции
2024-01-06 17:30:23 +05:00
9da0260a94 Загружаем сохраненные значения элементов после сохранения настроек
Теперь при сохранении конфигурации не сбрасываются предустановленные значения элементов
Но необходимо следить за состоянием файла values.json, он не очищается
Чтоб забыть все сохраненные значения в том числе и мусор, необходимо удалить values.json
2024-01-06 11:24:49 +05:00
d442588ac4 Новый модуль AnalogBtn для распознавания аналоговых кнопок
по уровню аналогового сигнала
2024-01-05 22:00:28 +05:00
cbbd2dc12f Merge pull request #368 from biveraxe/ver4dev
Добавляем пример для TM16XX
2023-12-27 11:59:41 +03:00
e7e900eb4c Добавляем пример для TM16XX 2023-12-27 11:58:50 +03:00
6a8ad1ea09 Merge pull request #367 from biveraxe/ver4dev
Добавили поддержку кнопок и ледов для tm1638
2023-12-27 11:57:35 +03:00
145d53acfb Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2023-12-27 11:56:38 +03:00
79fe2d29d2 Добавили поддержку кнопок и ледов для tm1638 2023-12-27 11:55:47 +03:00
111529375c Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-12-25 09:55:57 +03:00
959d8a8503 Merge pull request #366 from Mit4el/ver4dev
Telegram Button and ld2410
2023-12-25 09:54:45 +03:00
Mit4el
ae8fb2c4c1 bugfix ld2410 2023-12-24 21:13:34 +03:00
Mit4el
2f70055e4e Telegram Button 2023-12-24 21:13:19 +03:00
a751d36ddf добавляем "global": 0, 2023-12-23 19:13:54 +03:00
67118f5c8f Исправляем ошибку инициализации при чтении 2023-12-23 09:32:07 +03:00
IoT Manager
f2fc5f1885 Merge pull request #365 from IoTManagerProject/ver4dev
Синхронизация веток
2023-12-20 22:47:58 +01:00
32f82880eb Merge pull request #363 from DmitriyTychina/ver4dev_orig
bugfix pulse() & mqtt settings save
2023-12-16 09:24:48 +03:00
DmitriyTychina
0e9d8b905b bugfix web settings mqtt 2023-12-08 12:11:58 +03:00
DmitriyTychina
94c591d9d8 bugfix pulse() in ButtonOut (+пресет Blink) 2023-12-08 10:56:29 +03:00
7ec6319dcd Merge pull request #362 from Mit4el/iotUart
Pzem_uart and Weather
2023-12-05 13:40:26 +03:00
4b268bbcf2 Merge pull request #361 from biveraxe/ver4dev
Большие изменения при работе с Uart
2023-12-05 13:27:03 +03:00
0112326f02 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-12-05 13:25:09 +03:00
99af99cfcc Merge pull request #360 from CHE77/ver4dev
добавил модуль для газовых анализаторов серии MQ
2023-12-05 13:23:58 +03:00
906b828dcc Merge pull request #359 from Mit4el/v4-dev
исправлены баги
2023-12-05 13:21:44 +03:00
Al
7fe92efbe7 Update mq135withBME280.json 2023-11-28 02:08:04 +01:00
Al
f2d49a31de Update mq135alone.json 2023-11-28 02:07:10 +01:00
Al
2c53e28b9a Add files via upload 2023-11-28 02:00:26 +01:00
Mit4el
794497ed47 timer send to pzem 1s 2023-11-25 17:17:06 +03:00
Mit4el
6c865eabd3 Revert "timer send uard 1s"
This reverts commit 6dda19ae9c.
2023-11-25 17:15:25 +03:00
Mit4el
6dda19ae9c timer send uard 1s 2023-11-25 17:14:25 +03:00
Mit4el
d98ded42da fix flash espCam 2023-11-25 16:36:38 +03:00
Mit4el
620a29a41a upd owmWeather 2023-11-25 16:34:39 +03:00
Mit4el
348d305e42 bugfix ld2410 2023-11-25 14:41:55 +03:00
Mit4el
70a536a399 Merge pull request #27 from IoTManagerProject/ver4dev
Ver4dev
2023-11-25 14:33:59 +03:00
Al
d947a8be97 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-11-24 21:16:12 +01:00
Al
ee72108f73 Added MQgas 2023-11-24 21:14:46 +01:00
Mit4el
c061143273 upd owmWeather 2023-11-23 23:48:29 +03:00
Dmitry Borisenko
ef5a2aca9b Merge pull request #357 from IoTManagerProject/ver4dev
исправление бага времени гейта mysensors
2023-11-23 19:00:54 +01:00
IoT Manager
2235d5aa38 исправление бага времени гейта mysensors 2023-11-23 18:34:05 +01:00
Dmitry Borisenko
1d5ea5361a Merge pull request #356 from IoTManagerProject/ver4dev
Ver4dev
2023-11-23 00:49:20 +01:00
4987648895 Merge pull request #13 from Mit4el/ver4dev
esp32-cam, A02Distance
2023-11-19 18:56:21 +03:00
Mit4el
5079235c82 A02Distance with IotUart 2023-11-18 22:57:22 +03:00
Mit4el
ee9f2457ab bugfix esp32cam 2023-11-18 22:35:52 +03:00
04b2608000 Merge pull request #12 from Mit4el/ver4dev
new modules with IoTUart
2023-11-18 09:19:58 +03:00
Mit4el
f553279c8b Merge pull request #26 from biveraxe/ver4dev
merge IoTUart
2023-11-17 23:10:31 +03:00
Mit4el
3758070575 Merge branch 'ver4dev' of https://github.com/Mit4el/IoTManager into ver4dev 2023-11-17 23:08:42 +03:00
Mit4el
76ac0ed540 new Pzem004t_v2 with IoTUart 2023-11-17 23:04:42 +03:00
Mit4el
b9e5c4378d add lib EspSoftwareSerial for ESP32 2023-11-17 23:02:51 +03:00
Mit4el
4f7eaff3b5 new Nextion 2023-11-17 23:00:52 +03:00
0dd3c7e07f Обновляем бинарники для теста 2023-11-17 11:02:33 +03:00
f2738c6e3d Пробуем Stream для Esp32 2023-11-17 00:18:23 +03:00
96b982082a Обновляем бинарники для тестирования 2023-11-16 22:54:10 +03:00
3d2efea1c9 Возвращаем возможность глобально использовать модуль Uart 2023-11-16 22:49:54 +03:00
4e11b01c78 Обособляем работу с экранами Dwin в отдельный модуль 2023-11-16 22:37:02 +03:00
561245a5e5 Переделываем модуль Uart на использование базового класса IoTUart
Функции остались те же, но убран режим работы с экранами Dwin
2023-11-16 22:36:07 +03:00
d53b197a53 Добавляем базовый класс для работы с Serial 2023-11-16 22:28:17 +03:00
9dec0ab11d Merge pull request #355 from Mit4el/ver4dev
upd Ble, new Nextion
2023-11-15 22:50:51 +03:00
Mit4el
5ac04807e8 Merge pull request #25 from IoTManagerProject/ver4dev
Ver4dev
2023-11-15 22:11:39 +03:00
Mit4el
cffc6dbab5 upd profile file 2023-11-15 22:06:13 +03:00
Mit4el
1448fa4750 upd NextionUpload 2023-11-15 21:55:05 +03:00
Mit4el
e5781dc424 new Ble ver, 2 parts 2023-11-15 21:54:02 +03:00
Mit4el
5f1a9b23e5 new NextionUpload + Telegram_v2 2023-11-13 23:55:05 +03:00
Mit4el
8ae5c07302 bugfix Ble 2023-11-13 23:36:40 +03:00
Dmitry Borisenko
88964eb198 Merge pull request #354 from IoTManagerProject/ver4dev
Ver4dev
2023-11-11 23:34:02 +01:00
IoT Manager
aa464365e5 небольшие исправления графиков 2023-11-11 23:32:10 +01:00
IoT Manager
f068d8c10b Merge branch 'ver4dev' of https://github.com/IoTManagerProject/IoTManager into ver4dev 2023-11-11 23:19:31 +01:00
IoT Manager
40122a2b21 увеличиваем процент свободной памяти при хранении графиков 2023-11-11 23:19:27 +01:00
Mit4el
8cd131bda2 bugfix Ble 2023-10-31 22:03:33 +03:00
Mit4el
b2e12bc36d fix Ble 2023-10-30 22:52:45 +03:00
06bf5aa39f Merge pull request #353 from Mit4el/ver4dev
upd Ble
2023-10-29 10:48:16 +07:00
Mit4el
b3662a7aa8 lib ble new version 2023-10-28 22:24:14 +03:00
Mit4el
125684f63b time recv Ble 2023-10-28 22:12:15 +03:00
cc4496d2d1 Merge pull request #351 from Mit4el/ver4dev
update BLE module v3.0
2023-10-29 01:24:43 +07:00
77c9a9d7df Merge pull request #352 from biveraxe/ver4dev
модуль Math и работа с RTC из сценариев
2023-10-29 01:23:06 +07:00
546606b341 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-10-29 01:21:32 +07:00
4fb6698de6 Добавляем в RTC установку и чтение времени из сценария в числах 2023-10-28 21:19:46 +03:00
38be938f36 Добавляем функцию расчета времени в формате unixtime 2023-10-28 21:16:35 +03:00
Mit4el
eeffa8b309 Merge branch 'ver4dev' of https://github.com/Mit4el/IoTManager into ver4dev 2023-10-28 20:05:56 +03:00
Mit4el
8b4c95998b ble 2023-10-28 20:05:19 +03:00
Mit4el
0cb564e3d5 Merge pull request #24 from IoTManagerProject/ver4dev
Ver4dev
2023-10-28 20:03:29 +03:00
Mit4el
a6a5bc3ea1 upd BLE v3 2023-10-28 19:58:45 +03:00
Dmitry Borisenko
f965e7bc9f Merge pull request #350 from IoTManagerProject/ver4dev
расширяем ограничение на запись файлов при ota
2023-10-25 00:49:17 +02:00
IoT Manager
abbb023b6a расширяем ограничение на запись файлов при ota 2023-10-25 00:47:46 +02:00
d1c6e0e04f Новый модуль Math для хранения математических функция для сценариев 2023-10-24 21:24:33 +07:00
4474d98d59 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-10-24 21:21:02 +07:00
Dmitry Borisenko
9a790276ad Merge pull request #349 from IoTManagerProject/ver4dev
Исправление RTC
2023-10-23 01:11:21 +02:00
IoT Manager
70973cae19 Исправление ошибки компиляции 2023-10-23 01:09:18 +02:00
4a8a05a065 Уточняем параметры инициализации сервы 2023-10-22 21:34:13 +07:00
a0806034bb Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2023-10-22 20:50:54 +07:00
IoT Manager
a5636d3461 удаление бесполезного модуля из прошивки 2023-10-22 01:04:32 +02:00
6ca8764efd Merge pull request #348 from Mit4el/ver4dev
new boards, astroTimer
2023-10-20 22:19:55 +03:00
Mit4el
ffc4ac1ac1 AstroTimer in owmWeather, upd boards 2023-10-20 21:56:41 +03:00
Mit4el
aaf91922d0 upd AstraTimer owmWeather 2023-10-19 21:27:59 +03:00
Mit4el
f2528eb72a fix boards 2023-10-19 21:18:17 +03:00
Mit4el
4ec079ea80 Merge branch 'ver4dev' of https://github.com/Mit4el/IoTManager into ver4dev 2023-10-17 22:24:19 +03:00
Mit4el
2ced506404 Merge pull request #23 from IoTManagerProject/ver4dev
Ver4dev
2023-10-17 22:23:17 +03:00
Mit4el
218e53a813 boards esp32s3_16mb, esp32c3m_4mb 2023-10-17 22:21:13 +03:00
Mit4el
35b184c2a3 AstroTimer owmWeather 2023-10-17 21:44:09 +03:00
Dmitry Borisenko
eedba5d4b8 Merge pull request #347 from IoTManagerProject/ver4dev
Ver4dev
2023-10-16 19:41:59 +02:00
IoT Manager
51ff037098 455 версия прошивки 2023-10-16 19:41:05 +02:00
49cd22a5dd Добавляем тюнинг сервы и замещаем внутренний аналог на trackingID 2023-10-15 19:55:45 +03:00
Dmitry Borisenko
400d29bcf8 Merge pull request #337 from Mit4el/ver4dev
new board esp32_4mb3f, bugfix modules
2023-10-12 01:20:05 +02:00
Mit4el
59d7821040 Merge pull request #22 from IoTManagerProject/ver4dev
Ver4dev
2023-10-11 23:34:59 +03:00
Mit4el
0afb996af0 Оптимизация Weather и owmWeather 2023-10-11 22:01:56 +03:00
Dmitry Borisenko
8ac6866e82 Merge pull request #346 from IoTManagerProject/ver4dev
мелкий фикс
2023-10-11 02:31:22 +02:00
IoT Manager
7a0710e946 мелкий фикс 2023-10-11 02:30:49 +02:00
Dmitry Borisenko
61608edd32 Merge pull request #345 from IoTManagerProject/ver4dev
версия 454 - исправлены баги, добавлена обратная связь на ota
2023-10-11 01:48:39 +02:00
IoT Manager
1a574e37cd версия 454 - исправлены баги, добавлена обратная связь на ota 2023-10-11 01:46:12 +02:00
Dmitry Borisenko
dc69633454 Merge pull request #344 from IoTManagerProject/ver4dev
исправление бага запуска компиляции
2023-10-10 17:13:46 +02:00
IoT Manager
876ca9b378 исправление бага запуска компиляции 2023-10-10 17:13:09 +02:00
Dmitry Borisenko
e79263b9a5 Merge pull request #343 from IoTManagerProject/ver4dev
453
2023-10-10 16:18:26 +02:00
IoT Manager
8f457c6aa1 ... 2023-10-10 16:13:48 +02:00
IoT Manager
eebb736018 версия 453 2023-10-10 16:13:04 +02:00
IoT Manager
cc4989761b поправляем профиль flash 2023-10-10 11:57:34 +02:00
IoT Manager
2141c83283 возвращаем python 2023-10-10 11:54:25 +02:00
Dmitry Borisenko
324df4169c Merge pull request #342 from IoTManagerProject/ver4dev
иправление бага online flasher и ota
2023-10-10 00:58:43 +02:00
IoT Manager
d4413fbe31 иправление бага online flasher и ota 2023-10-10 00:56:59 +02:00
Dmitry Borisenko
ae8ca2b00a Merge pull request #341 from IoTManagerProject/ver4dev
исправляем ошибку запуска компилятора с устройства
2023-10-10 00:21:08 +02:00
IoT Manager
7ce6839c10 исправляем ошибку запуска компилятора с устройства 2023-10-10 00:17:30 +02:00
Dmitry Borisenko
6b4ff97be2 Merge pull request #340 from IoTManagerProject/ver4dev
многие изменения
2023-10-09 23:06:27 +02:00
IoT Manager
abc9ebf27e ... 2023-10-09 21:10:53 +02:00
IoT Manager
9fc42652bf ... 2023-10-09 21:10:26 +02:00
IoT Manager
144d80f945 json keys 2023-10-09 21:09:14 +02:00
IoT Manager
928b5a7d5c add Oled64 module 2023-10-09 20:38:48 +02:00
IoT Manager
0d3e6ee829 фикс обратной совместимости версий 451 - 452 2023-10-08 23:02:04 +02:00
IoT Manager
8efd1a1578 исправление бага модуля http get 2023-10-08 19:01:51 +02:00
Mit4el
a3ec0681da upd Pcf8574 2023-10-08 19:33:40 +03:00
Mit4el
15776fc6a7 Merge branch 'ver4dev' of https://github.com/Mit4el/IoTManager into ver4dev 2023-10-08 18:22:57 +03:00
Mit4el
c89c084c80 Merge pull request #21 from IoTManagerProject/ver4dev
Ver4dev
2023-10-08 18:22:53 +03:00
Mit4el
164f3be998 new board esp32 3m flash, bugfix modules 2023-10-08 18:19:08 +03:00
e82df3f575 Merge pull request #336 from biveraxe/ver4dev
Удаляем мусор myProfile из папки data_svelte
2023-10-07 23:34:03 +03:00
6b875d2cda Удаляем мусор myProfile из папки data_svelte 2023-10-07 23:33:20 +03:00
3990bc6e11 Merge pull request #335 from biveraxe/ver4dev
Возвращаем папку build ;)
2023-10-07 23:29:15 +03:00
9c1f41ce3b Возвращаем папку build ;) 2023-10-07 23:28:13 +03:00
0e2825d069 Merge pull request #334 from biveraxe/ver4dev
Убираем лишнюю папку buld
2023-10-07 23:16:37 +03:00
7b4bf9d4f7 Убираем лишнюю папку buld 2023-10-07 23:15:45 +03:00
be57ad295f Merge pull request #333 from biveraxe/ver4dev
Корректируем структуру проекта для компиляции
2023-10-07 22:54:51 +03:00
ac7ccde2e3 Генерируем укороченный myProfile для записи на flash 2023-10-07 22:50:39 +03:00
9ece70ffed Адаптируем работу патча patch8266_16m.py для работы в Linux 2023-10-07 22:24:17 +03:00
9b1fed1b22 Включаем в Oled модуле возможность сканировать шину 2023-10-07 22:23:22 +03:00
888803b7bd Обновляем индексы и создаем compilerProfile.json 2023-10-07 21:16:33 +03:00
ad87416eeb Меняем алгоритм подготовки папки с файлами для прошивки 2023-10-07 20:35:30 +03:00
8428fe15b2 Merge pull request #332 from Mit4el/ver4dev
esp32cam, new modules
2023-10-07 17:08:49 +03:00
Mit4el
0b3289a0ea Merge pull request #20 from IoTManagerProject/ver4dev
452 исправлен баг пропадания виджетов в приложении
2023-10-07 09:44:07 +03:00
Mit4el
e35225e7be upd telegram_v2 2023-10-07 09:40:45 +03:00
IoT Manager
9eb6122fe1 452 исправлен баг пропадания виджетов в приложении 2023-10-07 02:01:15 +02:00
Mit4el
2e3506d67c Merge branch 'esp-cam+tlgrm_v2' into ver4dev 2023-10-06 20:59:27 +03:00
Mit4el
e7dade0b8f Merge pull request #19 from IoTManagerProject/ver4dev
Ver4dev v451
2023-10-06 20:58:33 +03:00
Mit4el
3607fc911f custom partition 2023-10-06 20:54:39 +03:00
Mit4el
71972b6177 bugfix weather 2023-10-06 20:51:30 +03:00
Mit4el
173981fca7 иконки 2023-10-06 20:06:14 +03:00
IoT Manager
8209fb98f6 Merge pull request #331 from IoTManagerProject/ver4dev
еще одно исправление
2023-10-06 13:23:58 +02:00
IoT Manager
57ac9738dd еще одно исправление 2023-10-06 13:23:22 +02:00
IoT Manager
5757c35b83 Merge pull request #330 from IoTManagerProject/ver4dev
Ver4dev
2023-10-06 12:18:02 +02:00
IoT Manager
1910667876 для обновления кеша 2023-10-06 12:17:38 +02:00
IoT Manager
4d1699fd7d исправление бага входа 2023-10-06 12:16:44 +02:00
IoT Manager
e0b7dcb46b Merge pull request #329 from IoTManagerProject/ver4dev
исправление запроса компиляции
2023-10-06 11:40:03 +02:00
IoT Manager
27974a1ffd исправление запроса компиляции 2023-10-06 11:39:37 +02:00
IoT Manager
1036802114 Merge pull request #328 from IoTManagerProject/ver4dev
451 бета
2023-10-06 02:16:07 +02:00
IoT Manager
ef42b03bb8 исправление бага 2023-10-06 02:13:27 +02:00
IoT Manager
d4333ca807 версия 451 бета 2023-10-06 01:34:16 +02:00
IoT Manager
eac446aa48 глобальное изменение системы обновления прошивки 2023-10-06 01:26:16 +02:00
Mit4el
621a4d2f01 bugfix Thermostat, ExternalMqtt; add widget liter 2023-10-06 00:24:06 +03:00
Mit4el
dec76ed367 модуль Погоды owm 2023-10-06 00:21:14 +03:00
Mit4el
428b8f166b Merge pull request #18 from IoTManagerProject/ver4dev
Ver4dev
2023-10-05 22:16:48 +03:00
IoT Manager
d518f31582 Merge pull request #327 from IoTManagerProject/ver4dev
wifi
2023-10-05 15:07:59 +02:00
IoT Manager
c3a1f46b3a wifi 2023-10-05 15:06:42 +02:00
IoT Manager
649bceaca6 Merge pull request #326 from IoTManagerProject/ver4dev
добавляем ответ вебу о модулях на устройстве
2023-10-05 14:55:05 +02:00
IoT Manager
6f863663b2 добавляем ответ вебу о модулях на устройстве 2023-10-05 14:54:22 +02:00
IoT Manager
34b8227bec Merge pull request #325 from IoTManagerProject/ver4dev
последние изменения
2023-10-04 11:54:51 +02:00
26e8104510 Merge pull request #324 from biveraxe/ver4dev
Создаем возможность каждому элементу реагировать на изменение другого
2023-10-03 23:35:39 +03:00
Mit4el
660591dc60 Merge pull request #17 from Mit4el/ver4dev
обновление с основы
2023-10-03 22:56:25 +03:00
Mit4el
eb171b2128 Merge pull request #16 from IoTManagerProject/ver4dev
Ver4dev
2023-10-03 22:53:05 +03:00
Mit4el
264c1c3c71 download проверил на 32 2023-10-03 22:47:11 +03:00
8d053204bb Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-10-03 22:45:48 +03:00
34eb56588c Merge pull request #323 from Mit4el/ver4dev
bugfix ExternalMqtt
2023-10-03 22:44:06 +03:00
c02687aa05 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-10-03 22:27:12 +03:00
680a342a64 Merge pull request #313 from DmitriyTychina/FixLog
Fix Log over AP
2023-10-03 22:27:00 +03:00
7a00131813 Merge branch 'ver4dev' into FixLog 2023-10-03 22:26:05 +03:00
09e4b4e877 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-10-03 22:14:31 +03:00
a0751f20f7 Merge pull request #297 from DmitriyTychina/v4dev
pulse() в ButtonOut, +прочие корректировки
2023-10-03 22:14:19 +03:00
6db1ef5bfd Merge branch 'ver4dev' into v4dev 2023-10-03 22:04:54 +03:00
160321ced0 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-10-03 21:31:03 +03:00
Mit4el
eae29bd680 вспышка 2023-10-03 20:57:12 +03:00
Mit4el
137a5a43b8 bugfix ExternalMqtt 2023-10-02 23:16:29 +03:00
Mit4el
e47eb4969a Merge branch 'ver4dev' into tlgrm_fast 2023-10-02 21:46:25 +03:00
Mit4el
0e679f132d Telegram V2 & espCAM 2023-10-02 21:29:02 +03:00
IoT Manager
aec78a4d03 Merge pull request #322 from IoTManagerProject/ver4dev
wifi по старому пока
2023-10-02 15:28:28 +02:00
IoT Manager
d391bbbd63 wifi по старому пока 2023-10-02 15:27:56 +02:00
IoT Manager
8c8a070fbb Merge pull request #321 from IoTManagerProject/ver4dev
применяем изменения
2023-10-02 15:06:44 +02:00
IoT Manager
37cd897257 применяем изменения 2023-10-02 15:05:09 +02:00
IoT Manager
cafe008f7d Merge pull request #320 from IoTManagerProject/ver4dev
Ver4dev
2023-10-02 14:48:44 +02:00
IoT Manager
07c0bb166b Merge pull request #310 from Mit4el/ver4dev
Add board 16m, Add wifi multi point
2023-10-02 14:45:55 +02:00
IoT Manager
2edb067369 Merge pull request #319 from IoTManagerProject/ver4dev
исправление бага кеширования
2023-10-02 14:01:08 +02:00
IoT Manager
1a239f1f02 исправление бага кеширования 2023-10-02 13:59:37 +02:00
IoT Manager
c76306faf5 Merge pull request #318 from IoTManagerProject/ver4dev
кеширование
2023-10-02 12:36:07 +02:00
IoT Manager
082496997c исправляем баг кеширования - теперь веб грузится очень быстро 2023-10-02 12:32:49 +02:00
Mit4el
34c6213100 подписка на внешние mqtt 2023-10-01 22:05:07 +03:00
mit4el
9bb40e3846 wifi array с обратной совместимостью 2023-10-01 19:55:09 +03:00
IoT Manager
fc3dfc389f SSD1306_128x64 2023-10-01 18:27:58 +02:00
IoT Manager
d9bfacba3c Merge pull request #317 from IoTManagerProject/ver4dev
Ver4dev
2023-10-01 16:03:30 +02:00
IoT Manager
0b83a72dc4 синхронизация 2023-10-01 16:02:58 +02:00
IoT Manager
44fab264eb исправление имени 2023-10-01 16:02:07 +02:00
IoT Manager
ed50bd8c44 Merge pull request #316 from IoTManagerProject/ver4dev
Ver4dev
2023-10-01 15:56:04 +02:00
IoT Manager
7c0ffe7af5 применение нового модуля 2023-10-01 15:55:47 +02:00
IoT Manager
0eb6494772 отключаем по умолчанию 2023-10-01 15:52:10 +02:00
IoT Manager
97288a1f21 экран oled 2023-10-01 15:48:23 +02:00
IoT Manager
4e9ef86393 Merge pull request #315 from IoTManagerProject/ver4dev
градусы
2023-10-01 15:15:57 +02:00
IoT Manager
11c7e50f83 градусы 2023-10-01 15:15:31 +02:00
IoT Manager
022829f494 Merge pull request #314 from IoTManagerProject/ver4dev
исправление виджета для серво
2023-10-01 15:06:10 +02:00
IoT Manager
6cd40fceee исправление виджета для серво 2023-10-01 12:47:57 +02:00
Mit4el
8eb719ea6c tlgrm_v2 alfa ver 2023-09-27 23:00:44 +03:00
Mit4el
668bbbff87 fix wifi esp32 2023-09-24 21:35:50 +03:00
Mit4el
307786f087 wifi multipoint v2 array 2023-09-24 20:58:51 +03:00
Mit4el
e48d13faae pre Betta WIFI array 2023-09-24 07:49:48 +00:00
Mit4el
98a5f5f5a3 first commit 2023-09-23 00:36:17 +03:00
Mit4el
48ccdd7e86 fix wifi esp32 2023-09-22 21:54:51 +03:00
Mit4el
32d61805fa wifi multi point 2023-09-22 20:57:50 +03:00
Mit4el
2a275cc1a5 fix ld2410 instance function 2023-09-22 20:52:30 +03:00
Mit4el
b3a426bdc4 add partition esp32_16 in myProfile 2023-09-22 13:11:59 +03:00
DmitriyTychina
fe9789fc52 исправление вывода лога в режиме AP 2023-09-20 13:02:27 +03:00
IoT Manager
014f450761 Merge pull request #312 from IoTManagerProject/ver4dev
Стабилизация сокетов
2023-09-18 16:57:13 +02:00
IoT Manager
d4bdcc13ff 8266 2023-09-15 01:02:14 +02:00
IoT Manager
63be5b5aac Merge branch 'ver4dev' of https://github.com/IoTManagerProject/IoTManager into ver4dev 2023-09-15 00:59:33 +02:00
IoT Manager
848bbaab96 migration 2023-09-15 00:59:30 +02:00
Mit4el
319dc8d6ce Merge pull request #15 from IoTManagerProject/ver4dev
Ver4dev
2023-09-12 19:54:57 +03:00
dab8d5323c Merge pull request #311 from DmitriyTychina/ver4dev-x
Небольшие, но важные изменения.
2023-09-10 20:16:21 +03:00
DmitriyTychina
6892beeb38 в "Update device data: " давал непечатаемый сивол 2023-09-10 18:32:49 +03:00
DmitriyTychina
1019143d0d не шлем данные Ws-клиентам если их нет 2023-09-10 18:24:55 +03:00
Mit4el
5195e71eb1 default project 2023-09-09 13:44:38 +03:00
Mit4el
cd62326845 fix lib TM16XX 2023-09-09 13:43:49 +03:00
Mit4el
7ec9b6e2a6 size patrition esp8266_16m 2023-09-09 13:40:35 +03:00
Mit4el
d774612fbb Merge branch 'pr/Mit4el/14' into ver4dev 2023-09-09 13:20:12 +03:00
Mit4el
123412285d Add esp32_16m & esp8266_16m 2023-09-09 12:19:22 +03:00
IoT Manager
81099f3727 Merge pull request #309 from IoTManagerProject/ver4dev
добавляем bootloader files for esp32
2023-09-09 02:31:20 +02:00
IoT Manager
6c7c81f2c2 добавляем bootloader files for esp32 2023-09-09 02:30:01 +02:00
IoT Manager
6d2dc1a454 Merge pull request #308 from IoTManagerProject/ver4dev
адреса
2023-09-07 13:33:08 +02:00
IoT Manager
16d935964b адреса 2023-09-07 13:32:47 +02:00
IoT Manager
a7a4a34737 Merge pull request #307 from IoTManagerProject/ver4dev
синхронизация
2023-09-07 13:24:20 +02:00
IoT Manager
e6b19233b7 синхронизация 2023-09-07 13:24:01 +02:00
IoT Manager
5003f9a684 Merge pull request #306 from IoTManagerProject/ver4dev
добавление новых профилей в конфигуратор
2023-09-07 13:11:57 +02:00
IoT Manager
bd902c51e1 добавление новых профилей в конфигуратор 2023-09-07 13:10:21 +02:00
IoT Manager
4bcc00b1e5 Merge pull request #305 from IoTManagerProject/ver4dev
добавляем адреса для каждой прошивки!
2023-09-07 01:47:34 +02:00
IoT Manager
016fedfe25 добавляем адреса для каждой прошивки! 2023-09-07 01:42:54 +02:00
IoT Manager
b9fc5e3f04 Merge pull request #304 from IoTManagerProject/ver4dev
Ver4dev
2023-09-06 16:58:11 +02:00
IoT Manager
70f51b9a70 синхронизация профилей 2023-09-06 16:57:15 +02:00
IoT Manager
4731dca6a9 исправляем проблему компиляции esp32 servo 2023-09-06 16:52:00 +02:00
IoT Manager
e7843fe16d Merge pull request #303 from IoTManagerProject/ver4dev
исправление описаний
2023-09-06 14:59:18 +02:00
IoT Manager
bd721965ca исправление описаний 2023-09-06 14:58:08 +02:00
IoT Manager
5d38442eba Merge pull request #302 from IoTManagerProject/ver4dev
Изменения для компиляора
2023-09-05 20:27:36 +02:00
IoT Manager
a4dae52b1c фиксируем версию c++ для esp32 2023-09-05 18:23:17 +02:00
IoT Manager
7178745482 перевод 2023-09-05 17:32:58 +02:00
IoT Manager
de74bc8d7f тотальное переименование на англ язык 2023-09-05 17:28:02 +02:00
DmitriyTychina
2def3f2825 поправил change() в ButtonOut с учетом "inv" 2023-09-05 00:43:18 +03:00
DmitriyTychina
fbe7b1cf02 pulse() в ButtonOut, +прочие корректировки 2023-09-05 00:20:03 +03:00
DmitriyTychina
93dfa8ee83 используем везде isNetworkActive() 2023-09-03 19:33:40 +03:00
IoT Manager
5715da0baa Merge pull request #294 from IoTManagerProject/ver4dev
последние обновления из ветки Ильи
2023-09-03 15:36:31 +02:00
a1d053c37d Добавляем в ядро реакцию одного элемента от другого
Необходимо просто добавить в конфигурацию элемента поле trackingID с указанием ИД отслеживаемого элемента
важное требование - такие следящие элементы должны располагаться ниже отслеживаемых
2023-09-03 11:42:21 +03:00
646128b999 Merge pull request #286 from Mit4el/ver4dev
добавил шаблон модуля
2023-09-03 09:04:51 +03:00
67a432d7ad Merge pull request #284 from DmitriyTychina/ver4dev
Ver4dev
2023-09-03 09:04:07 +03:00
IoT Manager
357dd39a11 Merge pull request #293 from IoTManagerProject/ver4dev
Перевод ключей на английский язык для компилятора
2023-09-03 02:07:28 +02:00
IoTManagerProject
34010801ef меняем во всем коде 2023-09-03 02:05:55 +02:00
IoTManagerProject
3212fc914c Меняем названия групп устройств на правильные 2023-09-03 02:04:38 +02:00
IoT Manager
0513326776 Merge pull request #292 from IoTManagerProject/ver4dev
def profile
2023-09-02 21:59:20 +02:00
IoTManagerProject
c1ec63d155 def profile 2023-09-02 21:58:42 +02:00
IoT Manager
fab1e15168 Merge pull request #291 from IoTManagerProject/ver4dev
добавление профилей прошивки для компилятора
2023-09-02 21:53:09 +02:00
IoTManagerProject
85ee98d312 добавление профилей прошивки для компилятора 2023-09-02 21:52:21 +02:00
IoT Manager
6a23c635a1 Merge pull request #290 from IoTManagerProject/ver4dev
Updating of stable branch
2023-09-02 20:28:33 +02:00
IoT Manager
adda80feb1 Merge pull request #289 from IoTManagerProject/ver4stable
some updates
2023-09-02 20:27:11 +02:00
IoTManagerProject
3bd8d34b97 инициализация 2023-08-30 21:50:31 +02:00
Mit4el
4ed4f240a6 Проект по умолчанию 2023-08-24 21:52:10 +03:00
Mit4el
5bc4471424 Update BuildTime script 2023-08-24 21:31:07 +03:00
Dmitry Borisenko
8f95eec4b0 Update README.md 2023-08-15 12:17:48 +02:00
Dmitry Borisenko
840cd56c1d Update README.md 2023-08-14 16:47:03 +02:00
Dmitry Borisenko
6fe5e97ea0 Update README.md 2023-08-14 15:47:49 +02:00
Mit4el
89e8c1fdcc Add Ina226, Update Ina219 2023-08-09 23:36:49 +03:00
Mit4el
768669a635 Убрал ошибку при одновременной сборки с ФС 2023-08-09 23:33:34 +03:00
Mit4el
af0f7a219b Обновление GoogleSheet 2023-07-08 00:15:40 +03:00
Mit4el
cb969e75b9 Добавил пример модуля 2023-07-06 21:47:13 +03:00
Mit4el
0cb0bbf39c Merge pull request #12 from biveraxe/ver4dev
Слил с основой
2023-07-06 21:39:51 +03:00
DmitriyTychina
a502c0fac8 Merge branch 'ver4dev' of https://github.com/DmitriyTychina/IoTManager into ver4dev 2023-07-04 21:27:10 +03:00
DmitriyTychina
dde2bc1be6 небольшая экономия flash 2023-07-04 21:25:17 +03:00
DmitriyTychina
447471c6d0 небольшие корректировки в modinfo.json 2023-07-04 21:25:16 +03:00
DmitriyTychina
d669cb4143 удаление задвоения 2023-07-04 21:25:16 +03:00
521ee0a4bd Merge pull request #285 from biveraxe/ver4dev
Новый модуль tm16 и обновленный LCD
2023-06-30 22:34:32 +03:00
c276be820b Меняем заголовочные файлы в ядре для новых функций 2023-06-30 22:32:01 +03:00
88d61e7efa Добавляем в ядро поддержку модификатора numDigits
Заставляет добавлять незначащие нули в строковом представлении целой части числа
2023-06-30 22:30:18 +03:00
aef7613fdf Добавляем модуль поддержки 7 сегментного экрана серии TM16XX 2023-06-30 22:29:25 +03:00
44891aa2e8 Добавляем функции разбора строки через разделитель
с использованием векторов для быстрого доступа
2023-06-30 22:27:20 +03:00
45c575b755 Изменение модели отрисовки значений на LCD экране
Отрисовка по событию, а не таймеру
Возможность использовать экран как переменную с синхронным отображением в вебе
ВНИМАНИЕ! Убрали descr как часть выводимой строки
Добавили prefix и postfix для формирования строки вывода
2023-06-30 10:01:11 +03:00
965b340e5c Корректируем обратно время из RTC когда приходит запрос из ядра 2023-06-29 20:44:12 +03:00
fe0c49b5a2 Замена ulong на unsigned long 2023-06-29 19:23:14 +03:00
68585ad4b6 Учитываем часовой пояс при сохранении системного времени во внешнюю RTC 2023-06-29 19:18:08 +03:00
DmitriyTychina
9ab5933460 небольшая экономия flash 2023-06-27 00:01:48 +03:00
DmitriyTychina
aaee76b969 небольшие корректировки в modinfo.json 2023-06-26 23:00:28 +03:00
DmitriyTychina
35ba1fe376 удаление задвоения 2023-06-26 22:51:20 +03:00
Dmitry Borisenko
b09fea39e7 комментирование 2023-06-25 23:38:51 +02:00
Dmitry Borisenko
62991f8d8e увеличение буфера json, уменьшение буфера сокетов 2023-06-25 23:34:05 +02:00
Dmitry Borisenko
52c3a88f3c восстанавливаем дефолтное 8266 2023-06-25 19:43:48 +02:00
Dmitry Borisenko
1971e32b5f очищение модуля 2023-06-25 19:21:27 +02:00
Dmitry Borisenko
1b42083f43 исправление модуля Smi2_m 2023-06-25 19:14:45 +02:00
Dmitry Borisenko
415fe9c5b3 ... 2023-06-25 18:41:46 +02:00
Dmitry Borisenko
5d9deb8e95 ... 2023-06-25 18:41:09 +02:00
32d124e9fe Merge pull request #280 from avaksru/ver4dev
Радарный датчик присутствия человека Hi-Link HLK-LD2410
2023-06-25 19:08:52 +03:00
2745648638 Merge pull request #282 from biveraxe/ver4dev
Правки от Mit4el
2023-06-25 19:06:40 +03:00
1ffc02c6f8 Merge pull request #10 from Mit4el/ver4dev
Модуль ftp
2023-06-25 19:05:27 +03:00
11a4a53132 MySensors 2023-06-25 18:57:59 +03:00
Mit4el
c9e8692b68 fix Ina219 2023-06-24 21:11:32 +03:00
Mit4el
0e31e9ac9a Принудительно BuildTime 2023-06-22 22:44:52 +03:00
Mit4el
d4b601d206 new version Ina219 2023-06-21 23:58:18 +03:00
Mit4el
7c2631800a update GoogleSheet 2023-06-20 23:22:58 +03:00
Dmitry Borisenko
3ebc144747 .. 2023-06-20 21:47:55 +02:00
Dmitry Borisenko
b9196f2241 некоторые изменения 2023-06-20 21:47:29 +02:00
Mit4el
ea51c7ae68 Update modinfo.json 2023-06-20 08:11:33 +03:00
Mit4el
ed6d0a253a Модуль FTP 2023-06-20 00:51:56 +03:00
Mit4el
309d974b73 Merge branch 'ver4dev' of https://github.com/Mit4el/IoTManager into ver4dev 2023-06-19 22:57:53 +03:00
Mit4el
ada197331d Merge pull request #11 from biveraxe/ver4dev
слито с основы, обновление веб
2023-06-19 22:55:23 +03:00
8260bef3d4 Merge pull request #281 from biveraxe/ver4dev
Правки от Митчела
2023-06-19 20:13:36 +03:00
9c418a0646 Приведение файлов к esp8266_4mb 2023-06-19 20:12:30 +03:00
081ec36045 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-06-19 20:09:22 +03:00
Dmitry Borisenko
bb1359adab большое обновление веба и прошивки 2023-06-19 18:04:00 +02:00
avaksru
107cb85a98 Радарный датчик присутствия человека Hi-Link HLK-LD2410 2023-06-19 16:48:22 +03:00
16f20fcee5 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-06-17 19:43:55 +03:00
42c8941848 Merge pull request #9 from Mit4el/ver4dev
Добавил NTC, исправил косяк с Гуглом
2023-06-17 19:43:33 +03:00
Mit4el
d0c2952bb2 Конфигурация по умолчанию 2023-06-17 19:29:27 +03:00
Mit4el
8fdc9822aa Добавил NTC 2023-06-17 19:05:57 +03:00
Mit4el
ee3e19d68f GoogleSheet только esp32 2023-06-17 19:04:44 +03:00
4ffa3958fb Merge pull request #8 from Mit4el/ver4dev
esp32s2 и новые модули
2023-06-17 18:54:04 +03:00
37e9f98ce2 Merge pull request #279 from biveraxe/ver4dev
Уточняем описание Cron
2023-06-17 18:47:16 +03:00
427782958c Уточняем описание Cron 2023-06-17 18:45:40 +03:00
Mit4el
a94a4c3f23 Mhz19 для esp32s2 2023-06-17 18:29:36 +03:00
Mit4el
392b7ba894 GoogleSheet только для esp32 2023-06-17 18:28:54 +03:00
Mit4el
3e3388284c Добавил Scd40 2023-06-17 18:25:11 +03:00
Mit4el
e680ed6bc9 Добавил ds2423 2023-06-17 18:24:42 +03:00
Mit4el
e6d05fd578 Merge pull request #10 from Mit4el/dev_s2
Dev s2
2023-06-17 16:12:39 +03:00
Mit4el
8751d188c8 Merge branch 'ver4dev' into dev_s2 2023-06-17 16:12:27 +03:00
Mit4el
af6c975704 Merge pull request #9 from biveraxe/ver4dev
merge_biveraxe
2023-06-17 16:02:39 +03:00
Dmitry Borisenko
57a5bb6df2 список устройств исправление 2023-06-11 17:07:04 +02:00
Dmitry Borisenko
9e49ece90f добавлено сохранение списка устройств, новый веб интерфейс 2023-06-09 01:11:15 +02:00
IoT Manager
cf66b2a482 Merge pull request #278 from IoTManagerProject/ver4dev
Ver4dev
2023-06-02 22:30:05 +02:00
Mit4el
b3705b6924 Добавил модули для esp32s2 2023-05-27 02:29:47 +03:00
Mit4el
3b1eb07d74 Сделал сборку для esp32s2 (Wemos S2 mini) 2023-05-27 02:02:33 +03:00
Mit4el
f8de34fb97 Модуль GoogleSheet, Уточнил платформу для esp_2mb 2023-05-22 20:28:16 +03:00
Mit4el
dab33bc71c Merge pull request #4 from biveraxe/ver4dev
pr update
2023-05-22 20:15:18 +03:00
589502a273 Merge pull request #277 from biveraxe/ver4dev
Добавляем Buzzer
2023-05-16 15:26:08 +03:00
c078c81636 Добавляем моуль Buzzer и синхронизируем def профиль 2023-05-16 15:24:30 +03:00
6fb06e2314 Используем строчные буквы для папки classes
исправляем ошибку в модуле S8
2023-05-16 13:14:24 +03:00
1792d2e3f7 Merge pull request #276 from biveraxe/ver4dev
Теперь при сборке сохраняем текущий профиль на контроллер
2023-05-16 12:25:58 +03:00
b146c75389 Теперь при сборке сохраняем текущий профиль на контроллер для
будущего использования и понимания как была собрана прошивка
2023-05-16 12:22:48 +03:00
7b9a742264 Merge pull request #275 from biveraxe/ver4dev
Модули S8, Encoder, поддержка 8285. Пробуем реанимировать ESP32Cam - пока промежуточный результат.
2023-05-11 15:57:44 +03:00
45c0f6a39a Выравниваем сборку на профиль esp8266_4mb 2023-05-11 15:54:05 +03:00
b7a3bebd36 Добавляем модуль Enconder 2023-05-11 15:52:16 +03:00
bdff41a4b0 Добавляем модуль S8 2023-05-11 15:51:41 +03:00
8825a2996e На будущее добавляем полноценный инструмент для работы с UTF
Грубый и более легкий алгоритм конвертирования строк уже используется при
работе с Dwin, но сохранил этот набор на случай возникновения проблем.
2023-05-09 08:50:00 +03:00
1dff39eecf Добавляем возможность использовать Uart в 8285 2023-05-09 08:45:37 +03:00
3e49a24d07 A02Distance пока не поддерживает esp32 2023-05-07 20:56:02 +03:00
ac25014552 Пробуем добавить SD карту в ESP32cam 2023-05-01 19:49:20 +03:00
1d04aae9e9 Переделываем esp32cam
Теперь больше предварительных настроек для разных плат
WROVER_KIT // Has PSRAM
ESP_EYE // Has PSRAM
ESP32S3_EYE // Has PSRAM
M5STACK_PSRAM // Has PSRAM
M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
M5STACK_WIDE // Has PSRAM
M5STACK_ESP32CAM // No PSRAM
M5STACK_UNITCAM // No PSRAM
TTGO_T_JOURNAL // No PSRAM
XIAO_ESP32S3 // Has PSRAM
ESP32_CAM_BOARD
ESP32S2_CAM_BOARD
ESP32S3_CAM_LCD
2023-04-30 21:30:37 +03:00
0dbcba4409 Убираем из EspCam и SDcard старый формат IoTValue для экспериментов 2023-04-30 16:23:11 +03:00
be9b1f7910 Merge pull request #274 from biveraxe/ver4dev
Исправляем баг с работой IoTGpio
2023-04-30 11:59:46 +03:00
80b40373dd Исправляем баг с работой IoTGpio на индексах 3 и 4 2023-04-30 11:57:01 +03:00
58bba94f01 обновляем сборку по умолчанию 2023-04-30 10:35:46 +03:00
Mit4el
b71af2fce1 Merge pull request #3 from IoTManagerProject/ver4dev
Ver4dev
2023-04-29 10:12:08 +03:00
d2c9810cb2 Merge pull request #273 from biveraxe/ver4dev
Повышение версии до 435
2023-04-28 19:47:13 +03:00
62ae53739e Повышении версии до 435 2023-04-28 19:46:15 +03:00
b02137dfa6 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2023-04-28 19:45:07 +03:00
1534647cce Merge pull request #272 from biveraxe/ver4dev
A02Distance, FSBrowser, мелкие исправления
2023-04-28 19:43:53 +03:00
b1675fff3a Merge pull request #6 from Mit4el/ver4dev
A02Distance, FSBrowser, мелкие исправления
2023-04-28 19:43:14 +03:00
0e0ccf6625 Merge pull request #270 from avaksru/ver4dev
Аналоговый счетчик импульсов. Multitouch V2
2023-04-28 19:35:47 +03:00
6b44f83098 Merge pull request #271 from biveraxe/ver4dev
Новый Acs712
2023-04-28 19:35:15 +03:00
cc27d8a170 Выносим переназначение i2c ранее начала конфигурирования модулей 2023-04-28 08:30:16 +03:00
avaksru
0b6d7ac112 Добавил "multiply" 2023-04-27 12:01:50 +03:00
avaksru
311a379e1a Аналоговый счетчик импульсов. Multitouch V2 2023-04-27 11:46:16 +03:00
Mit4el
4342269e44 Новый браузер /edit. Основное: легче, папки, вид 2023-04-27 01:29:23 +03:00
Mit4el
80f8a917cd config.json теперь не ломается если большой (large->[]) 2023-04-25 22:43:15 +03:00
Mit4el
eeff84201d Добавил модуль A02Distance 2023-04-25 22:41:25 +03:00
Mit4el
4a93fd09dc Исправил ошибку lib_deps для esp8266_2mb_ota 2023-04-25 22:39:21 +03:00
46ce8a7b5e Merge pull request #5 from Mit4el/ver4dev
новый Acs712
2023-04-09 22:36:50 +03:00
Mit4el
6610e67825 Merge pull request #2 from IoTManagerProject/ver4dev
Ver4dev
2023-04-09 20:03:28 +03:00
Mit4el
57cf6e1063 Новый Acs712, Изменил описание переделанного Pzem 2023-04-08 23:07:14 +03:00
219d6e3f6b Merge pull request #269 from biveraxe/ver4dev
Много мелких правок март 2023
2023-04-07 20:56:48 +03:00
293f0369f9 Приводим репу к 8266_4mb 2023-04-07 20:54:50 +03:00
ce856e4f12 Merge pull request #4 from Mit4el/ver4dev
Оптимизация Pzem, плата 8266_2mb, исправили графики
2023-04-07 20:51:56 +03:00
Mit4el
c82197c71d Используем ntp из settings.json
Теперь ntp из settings.json используется
2023-04-07 14:26:03 +03:00
Mit4el
471a9d94bf Оптимизиуем Pzem, нет ошибки при удалении UART 2023-04-03 21:44:07 +03:00
Mit4el
ac77b8fb4a Добавляем контроллер esp8266_2mb 2023-04-03 20:40:19 +03:00
Mit4el
c64a2e7793 Исправляем дневные графики и вывод ошибок 2023-04-03 20:34:07 +03:00
Mit4el
50228f3ea7 Merge pull request #1 from biveraxe/ver4dev
merge from [biveraxe]
2023-04-03 11:27:42 +03:00
45748cd67f возвращаем версию EspSoftwareSerial до последней
откатывались временно из-за ошибки в библе
2023-03-28 09:15:43 +03:00
a68b143e54 Переименовываем class UART в IoTmUART, т.к. имя забронировано 2023-03-28 09:14:03 +03:00
30a0754823 Исправляем ошибку обработки неравенства для строк в сценарии 2023-03-28 08:59:15 +03:00
0e6a83089d Выносим вызов хука onRegEvent в общую очередь разборки событий
Находился ранее в прямом вызове во время регистрации события, что
не верно с точки зрения распределения нагрузки и не захватывало события
из других источников, например, MQTT.
2023-03-26 21:27:40 +03:00
35829ede3b Добавляем поддержку дробных для отправки на экран Dwin
Для этого необходимо добавить в конец ИД маркер f
т.е. var1_5000f
Аналогично добавляем поддержку типов строк - s и целых - i
По умолчанию, без указания типа данные будут отправляться в соответсвии
с внутренней интерпретацией, но всегда или целое или строка.
2023-03-26 20:34:33 +03:00
057a95a434 Корректируем определение ulong на unsigned long
валидатору кода в VS не нравилось короткое название
2023-03-26 13:26:57 +03:00
edf966f66b Добавляем прием событий с экранов dwin в третий режим UART
только прием данный целых чисел int16
2023-03-26 13:24:30 +03:00
ff84a18fd0 Добавляем поиск элемента по части ИД 2023-03-26 13:23:46 +03:00
4f7923e7aa Добавляем в Pzem004t поддержку генерации ошибки как события 2023-03-23 23:51:02 +03:00
946979bafe Уточняем описание модуля HttpGet 2023-03-18 15:06:43 +03:00
50a4759063 Merge pull request #268 from avaksru/ver4dev
HttpGet
2023-03-16 22:32:26 +03:00
avaksru
b7430f87e8 HttpGet 2023-03-13 16:13:16 +03:00
d6b3d2dc68 Merge pull request #267 from biveraxe/ver4dev
Новые модули и оптимизация кода
2023-03-08 15:26:21 +03:00
b19b51d2bf Ограничиваем применение мониторинга за производительностью для 8266 2023-03-08 15:23:16 +03:00
f4071e42dc Выравниваем настройки проекта для esp8266 2023-03-08 15:21:25 +03:00
5f884e16af Добавляем поддержку экрана с кириллицей для Lcd2004 2023-03-08 15:19:21 +03:00
e0df67ccee Добавляем Bh1750 и Dwini 2023-03-07 16:03:52 +03:00
2c89974a6a Фиксируем версию plerup/EspSoftwareSerial@^7.0.0 2023-03-07 15:59:09 +03:00
37fc18cdfd Ручной откат изменений коммита про uint8tToString
2b71aad6f4
К сожалению, оказалось, что нужный конструктор отсутствует в Arduino для 8266
2023-02-28 21:58:14 +03:00
2b71aad6f4 Оптимизируем uint8tToString до нуля...
Спасибо Юре
2023-02-26 16:52:01 +03:00
6e14411cc4 Убираем повторяющиеся операции при обработки получаемых устройств
смотреть в комментах //upd:
2023-02-26 16:38:41 +03:00
907c6046b1 Избавляемся от постоянной ошибки Udp packet invalid
Возникала по причине получения пакета из другой группы
Плюс добавилась проверка формата Json и наличия поля wg
2023-02-26 16:27:04 +03:00
edbb563c53 Logging: остатки лишнего параметра и опечатка типа уведомления 2023-02-26 14:24:15 +03:00
0f25b97ba1 Добавляем в main подсчет времени выполнения блоков кода 2023-02-25 18:31:18 +03:00
e774eec72f GY21: Уточняем признак получения не верных показаний 2023-02-25 15:08:38 +03:00
827f2c1230 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2023-02-24 16:29:25 +03:00
1cbe0394ef Добавляем в приемник 433 интервал игнорирования повторов
Типа защиты от виртуального дребезга контактов
2023-02-24 16:28:04 +03:00
a0b8f4067d Добавляем модуль сканера меток DS2401 2023-02-24 16:08:39 +03:00
113a7c7388 Merge pull request #266 from biveraxe/ver4dev
Корректировка конфигурации
2023-02-19 23:11:12 +03:00
a184216908 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2023-02-19 23:10:14 +03:00
6374e8506d Поправляем деф профиль и остальные выйлы после сборки 2023-02-19 23:09:22 +03:00
65049852d6 Merge pull request #265 from biveraxe/ver4dev
Добавляем модуль RTC
2023-02-19 19:30:25 +03:00
d45fc0ed1e Исключаем partitions.bin из обязательных при подготовке сервера. 2023-02-19 19:13:05 +03:00
f53a7341d8 Добавляем инверсию в кнопку подключенную к пину. 2023-02-19 19:11:15 +03:00
bd4244bef3 Исправляем ошибку с подтяжкой, теперь работает 2023-02-19 11:35:41 +03:00
7709116734 Добавляем в BME расчет точки росы 2023-02-18 13:42:30 +03:00
e10bfaa4b5 Ускоряем реакцию на неправильный пароль или ошибку подключения. 2023-02-17 22:48:41 +03:00
a27b937c9c Убираем лишнюю инициализацию MQTT 2023-02-17 22:47:16 +03:00
aae0331415 Переносим инициализацию i2c пораньше до сценария 2023-02-17 22:27:37 +03:00
0f9a185163 Ускоряем начало выполнения сценариев и добавляем событие onInit
Которое появляется и выполняется до инициализации сети
2023-02-17 22:21:10 +03:00
a3b99a9e8d Добавляем очистку драйверов GPIO перед сбросом конфигурации
Для предотвращения исключения при обращении по не существующим ссылкам
2023-02-17 20:28:02 +03:00
1189b7c289 Добавляем модуль RTC и его поддержку в систему 2023-02-17 20:26:29 +03:00
e0b8613c99 Merge pull request #263 from DmitryZagorodnev/ver4stable
Fix: Ds18b20 не корректно обрабатывались отрицательные значения темпе…
2023-02-16 14:42:26 +03:00
41bb91ff1d Merge pull request #264 from biveraxe/ver4dev
Добавляем скрипт PrepareServer.py
2023-02-16 14:37:04 +03:00
d242268bb2 Оптимизируем код, добавляем partitions.bin и заставляем pio не удалять 2023-02-16 14:35:07 +03:00
399060b5d4 Исправляем код универсальной версии для обновления 2023-02-15 09:40:57 +03:00
44cc52bb50 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2023-02-15 00:32:28 +03:00
08116d84c7 Добавляем скрипт PrepareServer.py для подготовки обновления "по воздуху"
Компилируется прошивка и файловая система. Рекомендуется предварительно подготовить проект с помощью PrepareProject.py
Автоматически создается папка iotm с бинарными файлами и структурой достаточной для обновления "по воздуху".
Временно предлагается воспользоваться версий 999, но после прошивки будет установлена та, которой соответствует сборка.
Для запуска веб-сервера можно использовать расширение vscode: Live Server.
2023-02-15 00:20:08 +03:00
aad28b04bc Добавляем поддержку формата {"status":"0"} в MQTT control
для возможности получать статус и значение в одном формате, это нужно для корректной работы панели управления, например, Алисы
2023-02-14 22:27:32 +03:00
Dmitry Zagorodnev
e89b4d98d1 Fix: Ds18b20 не корректно обрабатывались отрицательные значения температуры 2023-02-08 19:29:15 +03:00
dc0a21e1cf Merge pull request #262 from biveraxe/ver4dev
Исправление ошибки контроля сетевых элементов
2023-02-08 12:02:10 +03:00
c362c5e0bc Скрываем не используемый код 2023-02-08 11:40:38 +03:00
21a8e00449 Убираем лишний вывод отладочной информации 2023-02-08 11:29:24 +03:00
762ea280b0 Выводим периодически информацию о количестве элементов в памяти,
включая сетевые временные.
Если значение постоянно увеличивается, значит сбой в системе контроля за сетевыми сообщениями или ошибками.
2023-02-08 11:24:18 +03:00
6bc3355cbe Исправляем ошибку удаления сетевых элементов с истекшим сроком жизни
включая сообщения об ошибках
2023-02-08 11:20:58 +03:00
e10dd9a569 Уточняем описание параметров таймера 2023-02-08 09:41:30 +03:00
ebb8b9747d Добавляем возможность любому элементу задавать миллисекунды
путем установки отрицательного значения INT параметра
2023-02-08 09:39:24 +03:00
7f73f464ea Расширяем вывод информации об ошибке при чтении json 2023-02-08 09:37:20 +03:00
e8064e5b1a Добавляем поддержку экранов Dwin в модуль Uart (режим 3)
format=3 - формат событий для экранов Dwin. Отправляться будут события тех элементов, которые имеют суффикс в ИД с указанием адреса VP для записи значения, например ID_5000. Пока поддерживается только вывод целых чисел, значения кнопки и текст.
2023-01-30 21:53:02 +03:00
6aae5ec88c Добавляем поддержку экранов Dwin в модуль Uart (режим 3) 2023-01-30 21:47:05 +03:00
5bb0e61088 Добавляем возможность измерять аналоговый сигнал чаще секунды 2023-01-30 21:44:44 +03:00
a036c87897 Merge pull request #260 from IoTManagerProject/ver4stable
Синхронизация
2023-01-30 14:31:42 +03:00
d7560cb788 Merge pull request #259 from IoTManagerProject/ver4dev
Ver4dev
2023-01-30 14:30:16 +03:00
1f3e490d10 Merge pull request #258 from avaksru/ver4stable
Добавлены модули Термостат и NextionUpload
2023-01-30 14:22:07 +03:00
avaksru
a77a093a79 Добавлены модули Термостат и NextionUpload 2023-01-30 11:33:41 +03:00
479b0fcfdd Merge pull request #257 from biveraxe/ver4dev
Учитываем для операций со строками в сценарии работу с числами из
2023-01-04 11:20:55 +03:00
5f886baa2c Учитываем для операций со строками в сценарии работу с числами из
модулей не учитывающих округление.
небольшой костыль пока не переделаем работу со значениями, планируется добавить long, работу со временем, перенести округление и модификаторы в IoTValue
пока для сохранения округления в IoTItem применяется хитрость с сохранением внешнего вида числа в строку valS,
но некоторые модули и системные не делают этого, поэтому отлавливаем эту ситуацию тут и учитываем.
2023-01-04 11:15:36 +03:00
ce4fbbc1db Merge pull request #256 from biveraxe/ver4dev
Теперь отправляем события в сеть только по признаку global у элемента, прибираемся в ПЗЕМ и MySensors
2023-01-04 09:57:54 +03:00
b4b8e6b89b Merge pull request #254 from avaksru/ver4dev
Модуль Погода (Weather) и ExternalMQTT и VariableColor
2022-12-29 10:15:34 +03:00
avaksru
3e24bf61e0 Модуль ExternalMQTT 2022-12-27 17:54:56 +03:00
avaksru
987461ed28 change to value.valS 2022-12-26 15:45:12 +03:00
avaksru
ee27987085 Модуль Цветной текст (VariableColor) 2022-12-26 13:04:52 +03:00
avaksru
821aeb5ad2 Модуль Погода (Weather) 2022-12-26 13:01:08 +03:00
51909624af Локализуем все упоминания о MySensors в модуль 2022-12-24 13:07:09 +03:00
33bc338449 Локализуем PZEMSensor в модуль для исключения компиляции 2022-12-23 20:36:16 +03:00
b2d4d211c7 Уточняем, что в таймере при вызове int используются миллисы 2022-12-23 20:35:07 +03:00
5a9ee8ac6e Теперь отправляем события в сеть только по признаку global у элемента
mqttin только для ограничения приема.
2022-12-22 22:13:35 +03:00
7c050b0492 Merge pull request #253 from biveraxe/ver4dev
Исправления ошибок в сценарии при работе с округлением и строками в бинарных операциях
2022-12-22 15:08:26 +03:00
9871963cbb Исправляем ошибку выполнения бинарных опираций в сценарии
когда один из операндов не число или не строка
Дополнительно добавляем функцию вырезания подстроки из строки с использованием оператора - (минус)
2022-12-22 15:00:25 +03:00
8d6ab1ee8a Добавляем вывод IP адреса в консоль при сообщении статуса WIFI 2022-12-22 11:01:44 +03:00
5db3a4281c Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2022-12-22 08:57:21 +03:00
IoT Manager
e51312dd56 Merge pull request #252 from IoTManagerProject/ver4dev
Ver4dev
2022-12-17 21:41:16 +01:00
Dmitry Borisenko
ef0477c99a исправление серьезного бага графиков дневного расхода 2022-12-14 03:29:03 +01:00
Dmitry Borisenko
e9cd61d246 исправление бага веба 2022-12-14 01:39:19 +01:00
Dmitry Borisenko
e2719b8b4e добавляем в дневной график установку начального значения 2022-12-14 01:06:46 +01:00
Dmitry Borisenko
2db14ed21a добавление кнопок в элемент 2022-12-14 00:56:25 +01:00
Dmitry Borisenko
d2a615c9e5 исправление ошибок 2022-12-11 23:27:08 +01:00
Dmitry Borisenko
cdcebc4736 добавление сброса и установки адресов pzem из прошивки 2022-12-11 23:17:41 +01:00
Dmitry Borisenko
dbee4f48f0 правка сообщения в телеграм 2022-12-10 03:09:10 +01:00
Dmitry Borisenko
4894b578c4 Удаляем русские символы из кода!!!! 2022-12-10 02:34:12 +01:00
Dmitry Borisenko
66729fa1dc добавляем функцию отправки сообщений в телеграм для дневного графика 2022-12-10 02:13:23 +01:00
Dmitry Borisenko
fc6d159f5d добавление pretty времени в gate mysensors 2022-12-09 03:14:52 +01:00
Dmitry Borisenko
00780b998b pzem строка установки адресов 2022-12-09 01:59:02 +01:00
Dmitry Borisenko
062771871c esp32 2022-12-08 15:37:43 +01:00
Dmitry Borisenko
2013b2822d исправление гейта 2022-12-08 15:28:14 +01:00
Dmitry Borisenko
11fdd5ee00 поправляем ошибки 2022-12-07 22:30:38 +01:00
Dmitry Borisenko
7d9129d3fd добавление аналога в 1 mb 2022-12-07 18:20:41 +01:00
Dmitry Borisenko
61721b36b1 добавление sht в 1 mb 2022-12-07 18:17:18 +01:00
Dmitry Borisenko
cdbf97cf42 исправление косяка 2022-12-07 18:14:52 +01:00
Dmitry Borisenko
8cde47b8ce правки гейта добавление bme bmp в 1 mb версию 2022-12-07 18:10:47 +01:00
Dmitry Borisenko
e53bbcc7d8 добавление лимитов на цвет ноды 2022-12-06 16:22:31 +01:00
Dmitry Borisenko
afb7ce9951 добавляем возможность использования node mysensors в сценариях 2022-12-06 13:16:49 +01:00
Dmitry Borisenko
33a9861a8f удаление не нужной библиотеки string command и ее компиляции 2022-12-06 01:05:31 +01:00
Dmitry Borisenko
89b95a75eb добавил смену даты во всех графиках при смене даты 2022-12-04 21:13:59 +01:00
Dmitry Borisenko
11bc2dc2f8 автоустановка даты в графиках при смене суток 2022-12-04 16:29:16 +01:00
Dmitry Borisenko
f146db165e переименования и прочее 2022-12-04 14:50:16 +01:00
Dmitry Borisenko
6d5297456b поправляем баг цветов нод 2022-12-04 13:19:33 +01:00
Dmitry Borisenko
a705cbf54d переименовываем метод правильно 2022-12-04 12:53:08 +01:00
Dmitry Borisenko
08ffc74e8d добавление возможности управления виджетами из модулей 2022-12-04 01:37:27 +01:00
Dmitry Borisenko
3285a70a88 Выводим данные mysensors на dashboard!!! 2022-12-03 00:58:42 +01:00
4d1ef99939 Округляем значения элемента используемые в сценарии 2022-12-02 13:56:31 +03:00
Dmitry Borisenko
1ca0b20179 лишний принт 2022-12-01 17:07:48 +01:00
Dmitry Borisenko
8afb6fdb12 добавляем парсер данных mysensors 2022-12-01 17:01:22 +01:00
Dmitry Borisenko
35f8424d56 gate 2022-12-01 15:40:19 +01:00
Dmitry Borisenko
84b70e5617 гейт 2022-12-01 15:35:22 +01:00
Dmitry Borisenko
cb50965c3b gatewayTransportSend 2022-12-01 02:10:06 +01:00
Dmitry Borisenko
2c61580157 удаляем библиотеку 2022-12-01 01:27:54 +01:00
Dmitry Borisenko
9436af94df добавление mysensors в процессе не рабочая версия 2022-11-30 23:31:27 +01:00
d4c2eeb752 Добавляем поддержку Mcp23008 2022-11-28 07:46:15 +03:00
IoT Manager
68efbbd060 Merge pull request #251 from IoTManagerProject/ver4dev
мелкое исправление версии ota
2022-11-27 23:52:24 +01:00
Dmitry Borisenko
3e95049ce9 мелкое исправление версии ota 2022-11-27 23:51:25 +01:00
IoT Manager
1d11cc10cc Merge pull request #250 from IoTManagerProject/ver4dev
Ver4dev
2022-11-27 21:45:44 +01:00
a5f27717fb Merge pull request #249 from biveraxe/ver4dev
Добавляем поддержку esp8285
2022-11-27 12:08:42 +03:00
69fb1ed969 Добавляем поддержку esp8285 2022-11-27 12:07:37 +03:00
IoT Manager
83d4f305e4 Merge pull request #248 from IoTManagerProject/ver4dev
Ver4dev
2022-11-26 21:01:34 +01:00
Dmitry Borisenko
c47225809c релиз 2022-11-26 21:00:20 +01:00
Dmitry Borisenko
eb5352fcc2 отключаем режим разработчика web 2022-11-26 17:43:48 +01:00
Dmitry Borisenko
d6ef9c4b65 433 2022-11-26 16:27:17 +01:00
Dmitry Borisenko
985bb97d93 Вывод значения 2022-11-26 16:25:20 +01:00
Dmitry Borisenko
374073267c Обновленный веб 4.4.3 2022-11-26 16:19:54 +01:00
02752be0b2 Merge pull request #247 from biveraxe/ver4dev
Упрощаем работу с хуком получения MQTT
2022-11-25 22:02:08 +03:00
3d504b01dd Упрощаем работу с хуком получения MQTT 2022-11-25 22:00:33 +03:00
aac0086c23 Merge pull request #246 from biveraxe/ver4dev
Добавляем хук для возможности реагирования на сообщения из Mqtt +
2022-11-25 13:47:23 +03:00
ae389b770e Добавляем хук для возможности реагирования на сообщения из Mqtt
из любого модуля.
2022-11-25 13:45:50 +03:00
5dce817580 Оптимизируем некоторую работу со строками 2022-11-25 13:29:48 +03:00
1f8bb4aa6e Добавляем в палитру элемент вывода значения 2022-11-25 12:32:20 +03:00
1a575e0f61 Уменьшаем число отвлечений при выполнении сценария для
увеличения скорости обработки
2022-11-25 12:31:40 +03:00
0a25a06eb2 Merge pull request #245 from biveraxe/ver4dev
Добавляем в сценарии функцию прерыватель для отвлечения
2022-11-23 21:58:41 +03:00
Dmitry Borisenko
0d2fe420f5 баг первого старта 2022-11-23 19:52:00 +01:00
8d5d284e02 Добавляем в сценарии функцию прерыватель для отвлечения
на системные нужды
2022-11-23 21:51:13 +03:00
Dmitry Borisenko
863103b3f9 возврат сервера 2022-11-23 19:41:49 +01:00
Dmitry Borisenko
c9d0d0360f переход на асинхронный ws 2022-11-23 15:10:58 +01:00
IoT Manager
636bd8773f Merge pull request #244 from IoTManagerProject/ver4dev
Ver4dev
2022-11-23 14:26:02 +01:00
8507aaf1e6 Merge pull request #243 from biveraxe/ver4dev
Устраняем ложное срабатывание крона при запуске МК
2022-11-22 22:33:21 +03:00
41311e4e0c Устраняем ложное срабатывание крона при запуске МК
по причине преждевременной инициализации переменных до получения доверенного времени
2022-11-22 22:31:21 +03:00
be7c8c54f1 Merge pull request #242 from biveraxe/ver4dev
Добавляем модули давления, веса и качества воздуха
2022-11-22 18:36:32 +03:00
2dd9cf8720 Добавляем сенсор качества воздуха Sgp30 2022-11-22 18:35:00 +03:00
IoT Manager
6da7171f88 Merge pull request #241 from IoTManagerProject/ver4dev
ошибки
2022-11-22 16:12:44 +01:00
Dmitry Borisenko
96d623f53b ошибки 2022-11-22 16:04:50 +01:00
IoT Manager
452805f2fe Merge pull request #240 from IoTManagerProject/ver4dev
Ver4dev
2022-11-22 15:23:25 +01:00
Dmitry Borisenko
b49c4ecb1a обновленный веб 2022-11-22 15:17:40 +01:00
Dmitry Borisenko
6339db7a69 версия 432 пре релиз 2022-11-22 15:07:29 +01:00
f539435216 Добавляем датчик давления Hx710 2022-11-21 21:40:20 +03:00
267408fc77 Выключаем весы по дефолту. 2022-11-21 21:39:38 +03:00
4dba35d08e Добавляем весы 2022-11-21 21:14:52 +03:00
3e7780a4e0 Merge pull request #239 from biveraxe/ver4dev
Вафля через get и ошибки в Uart
2022-11-15 23:06:28 +03:00
3668874154 Добавляем возможность установить SSID и пароль WiFi через get
http://192.168.4.1/set?routerssid=&routerpass=
2022-11-15 23:04:26 +03:00
a619bab167 Исправляем ошибки обработки ИД_ в Uart 2022-11-15 20:01:59 +03:00
24f23955b8 Добавляем информацию о подделках ds18b20 2022-11-15 20:01:33 +03:00
34716d2e9e Merge pull request #238 from biveraxe/ver4dev
Вносим мелкие правки перед релизом
2022-11-14 20:23:16 +03:00
45dea185c5 Добавляем логировнаие по событию 2022-11-14 20:21:50 +03:00
02b2ef77a0 Корректируем название и описание параметра test для логов 2022-11-14 19:37:37 +03:00
4606f49df0 Корректируем kWh 2022-11-14 19:33:50 +03:00
9ad3ea9a35 Добавляем виджеты для модуля ina219 2022-11-14 19:31:55 +03:00
4c7b14bcc8 Добавляем в формат общения с Nextion дробные значения 2022-11-14 19:28:14 +03:00
5f8be4295c Merge pull request #237 from biveraxe/ver4dev
Добавляем модуль Multitouch  и Ina219
2022-11-14 11:54:24 +05:00
d6460f43a2 Корректируем конфигурационные файлы для сборки 2022-11-14 11:52:20 +05:00
4db49060de Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2022-11-14 11:49:55 +05:00
0237cc20a3 Merge pull request #3 from avaksru/ver4dev
Multitouch
2022-11-14 11:47:12 +05:00
avaksru
e7e415c489 Multitouch 2022-11-13 19:44:50 +03:00
466fad0525 Добавляем новый модуль Ina219 2022-11-13 21:32:30 +05:00
dda99a53bb Merge pull request #236 from biveraxe/ver4dev
Корректировка комментариев и улучшаем Uart для Nextion
2022-11-13 21:02:17 +05:00
8d269d50b0 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2022-11-13 20:59:47 +05:00
4170c7d3e4 Добавляем поддержку любых суффиксов при отправке событий
на экран. В кавычках отправляем только .txt
2022-11-13 20:45:10 +05:00
267ceb619d Добавляем описание поддерживаемых контроллеров 2022-11-13 20:44:31 +05:00
16c5342ace Merge pull request #235 from biveraxe/ver4dev
Добавляем модификаторы для числового ввода и правим баг в кнопке
2022-11-10 16:02:30 +03:00
8b4d5eddbc Исправляем ошибку при восстановлении состояния ButtonOut при
использовании инверсного значения
2022-11-10 18:01:05 +05:00
497c402597 Добавляем модификаторы для числового ввода 2022-11-10 17:37:59 +05:00
270c15c10f Merge pull request #234 from biveraxe/ver4dev
Исправляем баг с выбором железного UART для ESP32
2022-11-09 22:40:22 +03:00
32a04e48f3 Исправляем баг с выбором железного UART для ESP32 2022-11-10 00:39:18 +05:00
c4ca01484b Merge pull request #233 from biveraxe/ver4dev
Исправляем работу UART с глобальной переменной для ESP32
2022-11-08 20:00:49 +03:00
5bd898aa6b Исправляем работу UART с глобальной переменной для ESP32 2022-11-08 19:59:17 +03:00
667d0952ba Merge pull request #232 from biveraxe/ver4dev
Добавляем в UART в режиме обмена с экранами Nextion доп контроль
2022-11-07 17:48:38 +03:00
2fc5340e97 Добавляем в UART в режиме обмена с экранами Nextion
ограничение отправки только по признакам _val и _txt
Добавляем дополнительные функции в сценарий для ручной отправки сообщений
2022-11-07 17:29:45 +03:00
2925b13bd1 Добавляем геттер для _global параметра в IoTItem 2022-11-07 17:26:24 +03:00
4534214f48 Merge pull request #231 from biveraxe/ver4dev
Делаем округление для всех кнопок равной 0
2022-11-07 13:24:55 +03:00
2899f53d4b Делаем округление для всех кнопок равной 0 2022-11-07 13:24:01 +03:00
ca0d9a4a5d Merge pull request #230 from biveraxe/ver4dev
Дорабатываем режим 2 для экрана Nextion
2022-11-07 12:05:16 +03:00
875cc933b3 Добавляем возможность приема неформатных сообщений в режиме 2
с экрана Nextion
2022-11-07 12:03:46 +03:00
c276f4e5e8 Применяем округление значений при отправке данных в режиме 2 2022-11-07 11:45:57 +03:00
2bf726b617 Merge pull request #229 from biveraxe/ver4dev
Мелкие баги исправляем в модулях
2022-11-06 13:10:04 +03:00
c02e50452a Меняем разрешение для ШИМ на 10бит 2022-11-06 13:08:21 +03:00
b07436742b Исправляем опечатку для ESP32 2022-11-06 13:07:52 +03:00
0b2c0df326 Merge pull request #228 from biveraxe/ver4dev
Корректируем алгоритм приема сообщений по UART
2022-11-04 18:59:46 +03:00
8523a278db Корректируем алгоритм приема сообщений с Nextion 2022-11-04 18:58:13 +03:00
3564c43512 Отключаем отладочную информацию о составе списка Items 2022-11-04 17:17:46 +03:00
cc69fde50d Правильно вызываем ордер при приходе соощений из Nexion 2022-11-04 17:15:59 +03:00
83c472117c Merge pull request #227 from biveraxe/ver4dev
Расширяем модуль UART для обмена сообщениями с другими МК
2022-11-04 17:04:01 +03:00
04bbcc983a Делаем int параметр не обязательным при инициализации Item 2022-11-04 17:01:52 +03:00
15da6dd973 Расширяем модуль UART для обмена сообщениями с другими МК 2022-11-04 17:01:12 +03:00
67e9c160ea Делаем доступной ChartoHex глобально 2022-11-04 16:48:52 +03:00
a7f49cdd5b Оптимизируем работу со строками через параметры функции 2022-11-04 16:47:46 +03:00
72c8321695 Корректируем алгоритм обработки приходящих событий
выделяя его в отдельную функцию analyzeMsgFromNet
2022-11-04 16:46:49 +03:00
5c5c36e25d Корректируем время жизни временного ошибочного элемента 2022-11-04 16:45:17 +03:00
67c9340f0f Меняем unsigned long на long для _interval, для использования
отрицательных значений.
2022-11-04 16:42:30 +03:00
706b3a1b5c Merge pull request #226 from biveraxe/ver4dev
Отключаем информационные тики без генерации событий
2022-11-01 13:28:31 +03:00
0a787df79f Отключаем информационные тики без генерации событий 2022-11-01 13:27:03 +03:00
3850402d47 Merge pull request #225 from biveraxe/ver4dev
Пересматриваем модель формирования сетевых событий и их
2022-11-01 12:35:15 +03:00
fcf83c3f0d Пересматриваем модель формирования сетевых событий и их
контроль.
2022-11-01 12:33:39 +03:00
4cf666402c Merge pull request #224 from biveraxe/ver4dev
Добавляем планировщик по типу Cron
2022-10-31 19:33:42 +03:00
868c7bf4f2 Добавляем планировщик по типу Cron 2022-10-31 19:33:01 +03:00
b8f403f1f1 Merge pull request #223 from biveraxe/ver4dev
Исправляем работу редактора конфигурации edit на esp32
2022-10-31 10:57:58 +03:00
fc07462b64 Merge pull request #2 from avaksru/ver4dev
Модуль BLE ( bluetooth) сканер
2022-10-31 10:56:39 +03:00
avaksru
bd48be3786 Модуль BLE ( bluetooth) Сканер 2022-10-31 10:45:00 +03:00
ce23ab180f Исправляем работу редактора конфигурации edit на esp32 2022-10-30 21:40:11 +03:00
3cef0bb1d3 Merge pull request #222 from biveraxe/ver4dev
Исправляем ошибку с выполнением периодичных секундных операций
2022-10-30 20:51:26 +03:00
32f09cd8e4 Добавляем прием данных с третей версии 2022-10-30 20:50:05 +03:00
898af53970 Исправляем ошибку с выполнением периодичных секундных операций 2022-10-30 20:20:57 +03:00
fb427751f2 Merge pull request #221 from biveraxe/ver4dev
Обновляем сетевые сценарии
2022-10-30 12:14:36 +03:00
d91ffc4e25 Корректируем работу сетевых сценариев
отключаем скрытое создание элементов при приеме событий
Входящие события будут регистрироваться только при наличии
одноименного элемента в списке
2022-10-30 12:12:15 +03:00
96c99ef5ac Прячем генерацию событий в одну функцию 2022-10-30 12:09:23 +03:00
27416945a2 Merge pull request #220 from biveraxe/ver4dev
Основном оптимизация
2022-10-29 20:25:53 +03:00
94c156f123 Добавляем в таймер обновление статуса для интерфейса
в случае выключенного тика
2022-10-29 20:23:35 +03:00
d9788f96bd Разделяем понятия регистрации и генерации события
регистрация подразумевает фиксацию изменений и уведомление
WS и MQTT интерфейса
генерация подразумевает добавление факта события в очередь сценария
и отправку на другие устройства
2022-10-29 20:04:02 +03:00
4ddbd97999 Оптимизируем работу с функциями чтения JSON 2022-10-29 19:57:09 +03:00
7dc21ee914 Оптимизируем работу с передачей строк через парамтеры функций 2022-10-28 22:19:18 +03:00
a292f17285 Оптимизируем работу со строками в файлах SerialPrint и StringUtils 2022-10-28 17:16:53 +03:00
dfd24dc1f6 Корректируем сообщение об ошибке в модулях датчиков
для возможности генерации события об ошибке
2022-10-28 16:26:13 +03:00
305a5f5ccb Отключаем Buffers модуль 2022-10-28 16:22:18 +03:00
593bebd0de Отключаем лишние строки в консоли 2022-10-28 16:21:49 +03:00
8a4ca7a6ae Убираем глобальную переменную из модуля Ads1115 2022-10-28 16:21:14 +03:00
2f375f1ddc Merge pull request #219 from biveraxe/ver4dev
Добавляем в сценарии бесшумное присвоение :=
2022-10-27 10:51:14 +03:00
b347c5c0fb Добавляем в сценарии бесшумное присвоение := 2022-10-27 10:50:09 +03:00
f528952137 Merge pull request #218 from biveraxe/ver4dev
Добавляем параметр global во все модули
2022-10-23 11:39:57 +03:00
a8642ac915 Добавляем параметр global во все модули 2022-10-23 11:20:23 +03:00
08db9bd9e3 Добавляем параметр global во все модули 2022-10-23 11:19:41 +03:00
31beaa9c90 Merge pull request #217 from biveraxe/ver4dev
Добавляем подсистему реакции на ошибки в сценарии
2022-10-22 23:25:52 +03:00
cf041494c4 Добавляем доп информацию для регистрации события для
отмены отправки ложных данных на другую ЕСП при сбое модуля
2022-10-22 23:10:09 +03:00
01d6b0904a Отключаем остатки дебагинга 2022-10-22 22:55:50 +03:00
dca907dbaa Добавляем заголовки для новых функций 2022-10-22 22:54:50 +03:00
e5a6a7a0c4 Добавляем сообщение о ненайденных ИД и исправляем баги 2022-10-22 22:53:49 +03:00
480e20a62e Добавляем генерацию события на ошибку внутри функции печати сообщений 2022-10-22 22:50:40 +03:00
728fcb385e Добавляем функцию для очистки строки от любых символов кроме
алфавита и цифр
2022-10-22 22:49:18 +03:00
d2485228eb Разрешаем отправку событий в сеть только для элементов с
параметром global = 1
2022-10-22 14:13:23 +03:00
1501b5660e Отключаем ошибку при несуществующем subType, т.к.
при отправке по сети он отсутствует
2022-10-22 11:35:21 +03:00
c403755dd5 Добавляем функцию получения RSSI в сценарии 2022-10-22 11:34:52 +03:00
97fd2565ec Merge pull request #216 from biveraxe/ver4dev
Включаем сетевые сценарии на базе MQTT
2022-10-22 08:02:31 +03:00
b89610ae0a Добавляем возможность отправки чисел в mqttPub 2022-10-22 08:01:33 +03:00
538257208d Включаем сетевые сценарии на базе MQTT 2022-10-22 08:00:48 +03:00
55c0cfd718 Корректируем алгоритм работы с наследными setValue в модулях 2022-10-22 07:59:26 +03:00
2078ecd17b Merge pull request #215 from biveraxe/ver4dev
Добавляем модуль управления адресными светодиодами
2022-10-21 08:06:08 +03:00
b143b5a66b Merge pull request #1 from avaksru/ver4dev
Добавил событие об успешной отправке сообщения в Телеграм Лайт
2022-10-21 08:04:54 +03:00
ccfb04d4a7 Добавляем модуль управления адресными светодиодами 2022-10-21 08:03:06 +03:00
dafe486784 Убираем отладку в алгоритме сохранения состояния 2022-10-21 08:01:20 +03:00
6f5caec540 Очищаем хранилище состояний при реконфигурации 2022-10-20 11:47:29 +03:00
7f5ebb768d Корректируем алгоритм работы ButtonOut с учетом сохранения 2022-10-20 10:54:04 +03:00
avaksru
cc92500008 Добавил событие об успешной отправке 2022-10-20 10:09:16 +03:00
f480295d0c Merge pull request #214 from biveraxe/ver4dev
Исправляем ошибку с перегрузкой setValue у дочерних классов
2022-10-20 09:30:11 +03:00
2a27b1d9bf Исправляем ошибку с перегрузкой setValue у дочерних классов 2022-10-20 09:28:35 +03:00
cce9f2197a Merge pull request #213 from biveraxe/ver4dev
Добавляем сохранение состояния элементов
2022-10-20 00:20:09 +03:00
b8e76e19b8 Добавляем функцию сохранения состояния элементов на flash 2022-10-20 00:18:41 +03:00
c89127c067 Добавляем в базовые модули поддержку сохранения состояния 2022-10-20 00:16:02 +03:00
6c0a456fd0 Корректируем работу таймера с учетом возможности сохранения
состояния
2022-10-20 00:15:08 +03:00
Dmitry Borisenko
f3389c4721 удаление повтора ключей 2022-10-18 14:25:46 +02:00
82112e876f Merge pull request #212 from biveraxe/ver4dev
Убираем зависимость от размерности ЧатИД в TelegramLT
2022-10-18 10:04:51 +03:00
f763e27b1c Убираем зависимость от размерности ЧатИД в TelegramLT 2022-10-18 10:03:43 +03:00
0ec28b8545 Merge pull request #211 from biveraxe/ver4dev
Добавляем esp01
2022-10-14 18:01:54 +03:00
01ec7de9d2 Merge branch 'ver4dev' into ver4dev 2022-10-14 18:01:46 +03:00
9326cc0aff Вернул Settigs_ 2022-10-14 17:59:10 +03:00
Dmitry Borisenko
0080854a53 8266 2022-10-13 21:07:52 +02:00
Dmitry Borisenko
051550ad47 добавление пинг 2022-10-13 20:55:01 +02:00
0e44ba1a3e Корректируем новую схему с новыми устройствами esp01 2022-10-12 15:48:05 +03:00
Dmitry Borisenko
85bf00ac01 последний веб 2022-10-12 03:18:15 +02:00
Dmitry Borisenko
6912d5f68d устранение багов 2022-10-12 03:14:55 +02:00
Dmitry Borisenko
2c7adf468b исправление бага сохранения настроек 2022-10-11 23:37:58 +02:00
Dmitry Borisenko
b61cfca3ed исправление бага графиков с датой 2022-10-11 22:33:42 +02:00
3af9b457de Добавляем профили плат esp01 с и без OTA 2022-10-11 21:57:10 +03:00
eb1cf42807 Добавление поддержки esp8266_1m для RCswitch 2022-10-11 21:54:20 +03:00
1726dafb18 Merge pull request #210 from biveraxe/ver4dev
Делаем поиск адреса I2C устройств более удобным
2022-10-10 22:55:57 +03:00
cc28b45851 Делаем поиск адреса I2C более удобным 2022-10-10 22:54:44 +03:00
0553503e1c Выводим информацию о сканировании I2C в консоль веба 2022-10-10 22:54:10 +03:00
f9ddffba71 Дополняем базу конвертации 2022-10-10 22:53:37 +03:00
3581d133d4 Добавляем возможность менять базу конвертации Uint в String 2022-10-10 22:52:18 +03:00
Dmitry Borisenko
c1283bc5b2 новый веб 2022-10-10 00:21:22 +02:00
Dmitry Borisenko
1668ab8aa8 рабочая версия 2022-10-10 00:16:58 +02:00
Dmitry Borisenko
caff040a91 восстановление графиков 2022-10-09 21:38:01 +02:00
Dmitry Borisenko
db69c96ea0 продолжение переписи проекта! 2022-10-09 20:17:02 +02:00
Dmitry Borisenko
fe30d7c27d продолжение переписи api 2022-10-09 17:04:05 +02:00
Dmitry Borisenko
8287bb9ebb изменение api веб интерфейса 2022-10-09 14:30:42 +02:00
Dmitry Borisenko
00665e7f2b страница конфигураций в процессе 2022-10-09 10:55:37 +02:00
Dmitry Borisenko
645e90379c исправляем библиотеку сокетов для работы с фреймами 2022-10-08 00:28:45 +02:00
Dmitry Borisenko
6e0392ac03 Merge branch 'ver4dev' of https://github.com/IoTManagerProject/IoTManager into ver4dev 2022-10-07 22:29:16 +02:00
Dmitry Borisenko
5812d98ff9 тест 2022-10-07 22:29:12 +02:00
76b5565773 Merge pull request #209 from biveraxe/ver4dev
Исправляем ошибку получения значения для экрана
2022-10-07 22:26:32 +03:00
9e4ebd2a5e Исправляем ошибку получения значения IoTItem при прямом обращении
приводило к искажению значения
2022-10-07 22:18:05 +03:00
111486c7c3 Чуть оптимизируем работу LCD16XX 2022-10-07 22:17:23 +03:00
Dmitry Borisenko
b44e7c3ae0 наделяем библиотеку сокетов возможностью посылать фреймы 2022-10-07 18:53:10 +02:00
Dmitry Borisenko
dfa060895e перенос библиотеки сокетов в тело проекта 2022-10-07 18:30:51 +02:00
IoT Manager
5e9ae3f9dc Merge pull request #208 from IoTManagerProject/ver4dev
430 с последними изменениями
2022-10-07 17:45:15 +02:00
7c4f983e51 Merge pull request #207 from biveraxe/ver4dev
Обновляем модули
2022-10-07 14:04:12 +03:00
8af8f40335 Обновляем Pzem 2022-10-07 14:03:05 +03:00
2fc6b0b59a Добавляем FreqMeter 2022-10-07 14:02:45 +03:00
bc26f77e5c Merge pull request #206 from biveraxe/ver4dev
Вносим косметические изменения в описательные файлы проекта
2022-10-06 13:31:06 +03:00
c860898231 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2022-10-06 13:29:43 +03:00
10103cbe0a Обновляем профиль для применения новых модулей и путей 2022-10-06 13:29:07 +03:00
a9fc941c9b Расширяем параметр usedRam 2022-10-06 13:27:47 +03:00
8a1e36f4ff Merge pull request #205 from biveraxe/ver4dev
Корректируем модули датчиков
2022-10-05 21:09:16 +03:00
e3ec40dec2 Корректируем настройки прошивки под последние изменения 2022-10-05 21:07:49 +03:00
f32b05dd5b Корректируем название файлов для Linux 2022-10-05 20:53:27 +03:00
c9a386c01b Удаляем Aht20 т.к. появился новый универсальный 2022-10-05 20:44:32 +03:00
6ef9d2fe99 Добавляем единые слэши в путях для совместимости с Linux 2022-10-05 20:42:34 +03:00
c41bf277ec Выносим определение функции scanI2C в глобальные 2022-10-05 20:41:07 +03:00
9e204da127 Чистим Pcf8574 2022-10-05 20:40:27 +03:00
4cc46a777a Добавляем AHTxx 2022-10-05 20:39:46 +03:00
1a605e1135 Добавляем поиск адреса на шине I2C 2022-10-05 20:38:53 +03:00
d3fb354a1e Меняем алгоритм чтения Ds18b20 для ускорения и стабилизации работы
Изменяем способ вывода адреса датчика.
Не указан адрес, значит определяем по index и выводим при старте в консоль
2022-10-05 20:31:26 +03:00
b8b5dc9114 Merge pull request #204 from biveraxe/ver4dev
Исправляем ошибку Adafruit_PCF8574 при инициализации
2022-10-03 12:08:55 +03:00
34753586eb Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2022-10-03 12:08:17 +03:00
5e45b29c2f Исправляем ошибку Adafruit_PCF8574 при инициализации 2022-10-03 12:06:17 +03:00
079dd7af1e Merge pull request #203 from biveraxe/ver4dev
Добавляем новые параметры для I2C в профиль настроек
2022-10-03 09:00:06 +03:00
7659b3a700 Добавляем новые параметры для I2C в профиль настроек 2022-10-03 08:58:18 +03:00
084a0473fa Merge pull request #202 from biveraxe/ver4dev
Добавляем модуль PCF8574
2022-10-03 01:03:41 +03:00
6b47aac021 Добавляем модуль PCF8574 2022-10-03 01:02:12 +03:00
d78458d85a Merge pull request #201 from biveraxe/ver4dev
Добавляем возможность перенастройки шины i2c
2022-10-03 00:35:27 +03:00
615c645aaf Добавляем возможность перенастройки шины i2c 2022-10-03 00:33:47 +03:00
Dmitry Borisenko
a4b54ccff7 . 2022-10-02 01:18:24 +02:00
Dmitry Borisenko
31b83e8380 Исправлен баг графиков, работает расширитель 2022-10-02 01:06:25 +02:00
ebc9c10bcd Merge pull request #200 from biveraxe/ver4dev
Исправляем Mcp23017
2022-10-01 23:01:08 +03:00
7def6d0543 Переписываем взаимодействие c драйверами IoTGpio 2022-10-01 22:58:27 +03:00
98812e7470 Обновляем библиотеки Mcp23017 2022-10-01 22:57:42 +03:00
8aad1ba87d Добавляем в таймер установку начального значения через сценарий 2022-10-01 10:11:02 +03:00
Dmitry Borisenko
51dff491a9 429 2022-09-30 23:57:05 +02:00
cb35653d36 Merge pull request #199 from biveraxe/ver4dev
Делаем точку с запятой не значащим знаком
2022-09-30 08:37:58 +03:00
7c4f1a2851 Делаем точку с запятой не значащим знаком 2022-09-30 08:36:35 +03:00
Dmitry Borisenko
8f708b9c13 версия 428 исправлены все баги 2022-09-29 22:48:33 +02:00
Dmitry Borisenko
27e30ab0ff избавление от двух файлов 2022-09-29 19:43:37 +02:00
IoT Manager
1ef029ddd5 Merge pull request #198 from IoTManagerProject/ver4dev
новый веб с импортом и экспортом
2022-09-29 15:24:43 +02:00
Dmitry Borisenko
cacfae9435 новый веб с импортом и экспортом 2022-09-29 15:20:20 +02:00
IoT Manager
a6fb2bd619 Merge pull request #197 from IoTManagerProject/ver4dev
427
2022-09-28 21:15:16 +02:00
Dmitry Borisenko
1625455594 добавление графиков дневного расхода 2022-09-28 17:55:35 +02:00
Dmitry Borisenko
7ac2e96c7b ток 2022-09-28 10:47:33 +02:00
Dmitry Borisenko
73ea994ffe . 2022-09-28 10:45:33 +02:00
Dmitry Borisenko
085b79a2fd Acs712 2022-09-28 10:39:17 +02:00
Dmitry Borisenko
af2b015dea добавлен mhz19 и sds011 2022-09-28 10:28:52 +02:00
Dmitry Borisenko
adfeb9ef55 тесты 2022-09-28 01:31:35 +02:00
Dmitry Borisenko
ffbb30de41 Полностью добавлен модуль PZEM 004 t 2022-09-28 00:14:24 +02:00
Dmitry Borisenko
06bd15c246 Merge branch 'ver4dev' of https://github.com/IoTManagerProject/IoTManager into ver4dev 2022-09-27 21:12:06 +02:00
Dmitry Borisenko
06819441e5 добавление ошибки если modbus отвалился 2022-09-27 21:12:02 +02:00
4053a22a03 Merge pull request #196 from biveraxe/ver4dev
Исправляем ошибку тире вместо числа в телеге
2022-09-27 22:00:08 +03:00
a518051558 Исправляем ошибку тире вместо числа в телеге 2022-09-27 21:58:37 +03:00
Dmitry Borisenko
62ff324139 проверка на отсутствие 2022-09-27 20:55:16 +02:00
Dmitry Borisenko
f92291c545 описание для сайта 2022-09-27 19:08:56 +02:00
Dmitry Borisenko
dc573e35af . 2022-09-27 18:58:10 +02:00
Dmitry Borisenko
bbe9737974 pzem чтение всех параметров 2022-09-27 18:30:18 +02:00
Dmitry Borisenko
a3c4edfc67 исправление ошибки pzem 2022-09-27 18:09:12 +02:00
Dmitry Borisenko
6de053a84c корректировка описания 2022-09-27 01:54:28 +02:00
Dmitry Borisenko
1dd1958abc Новый веб! 2022-09-27 01:24:22 +02:00
Dmitry Borisenko
e809c92c64 . 2022-09-27 01:07:50 +02:00
Dmitry Borisenko
d426746733 . 2022-09-27 00:57:28 +02:00
Dmitry Borisenko
e688c95c59 pzem - чтение напряжения 2022-09-27 00:52:53 +02:00
Dmitry Borisenko
c091f1b4cc uart 2022-09-26 21:56:54 +02:00
Dmitry Borisenko
c75d6dd66d . 2022-09-26 20:42:34 +02:00
Dmitry Borisenko
a3e76ebfb1 .. 2022-09-26 20:40:03 +02:00
Dmitry Borisenko
bdf8b6a1e7 Переименование сенсоров 2022-09-26 20:37:45 +02:00
Dmitry Borisenko
909e28c36a переименование модулей 2022-09-26 20:26:04 +02:00
Dmitry Borisenko
b5b56fe00e удаление iarduino 2022-09-26 18:23:01 +02:00
Dmitry Borisenko
e7e174de10 рабочие графики 2022-09-26 16:19:44 +02:00
Dmitry Borisenko
c7477872a8 не совсем полностью но рабочая версия 2022-09-26 01:33:52 +02:00
Dmitry Borisenko
100477444c не рабочая версия! 2022-09-23 02:24:50 +02:00
Dmitry Borisenko
b1fe6af04d более стандартные имена методов 2022-09-22 22:55:04 +02:00
Dmitry Borisenko
8a3d061bd7 .. 2022-09-20 22:07:28 +02:00
Dmitry Borisenko
02843daca1 правильный интервал графика 2022-09-19 14:16:58 +02:00
Dmitry Borisenko
45a3caf67e 424 исправлен веб 2022-09-19 13:56:23 +02:00
Dmitry Borisenko
0a165026eb 8266 2022-09-19 02:12:43 +02:00
Dmitry Borisenko
f7e459cab4 исправление ошики с округлением логирования 2022-09-19 01:41:15 +02:00
Dmitry Borisenko
3eb2d40596 архивация веба для быстроты работы 2022-09-19 00:21:28 +02:00
Dmitry Borisenko
e1b4ffa574 убераем лишние serial print 2022-09-18 22:48:27 +02:00
Dmitry Borisenko
2f2e2d9755 исправление веба. стабильная версия 2022-09-18 19:29:46 +02:00
1bcf206dcc Merge pull request #195 from biveraxe/ver4dev
Добавляем новые параметры в moduleinfo
2022-09-18 18:04:36 +03:00
f07e938d67 Добавляем в описание модулей параметр "usedRam"
для указания степени влияния на оперативную память
2022-09-18 18:03:09 +03:00
2a89b8cb42 Добавляем в описание модуля параметр "subTypes":["", ""]
для привязки подтипов элементов к модулю для использования
на сайте
2022-09-18 17:47:27 +03:00
504b77139a Merge pull request #194 from biveraxe/ver4dev
Описание модулей и функций сценариев и getUptime
2022-09-17 22:06:46 +03:00
1449a13e4c Добавляем краткое описание сценариев и используемых
системных функций
2022-09-17 22:04:50 +03:00
c8dbb6e13f Добавляем функцию getUptime() в сценарии 2022-09-17 22:04:06 +03:00
cd72802542 Добавляем описание сценарных функций из модулей 2022-09-17 20:45:06 +03:00
fd219e3191 Добавляем описание Title к модулям 2022-09-17 20:04:08 +03:00
2c7dcf6928 Добавляем Title в описание модулей 2022-09-17 20:03:20 +03:00
Dmitry Borisenko
75b36b67ae новый веб 2022-09-16 02:15:21 +02:00
Dmitry Borisenko
c24dde3098 рабочая версия для 8266 и для 32 на последнем ядре 2022-09-16 01:59:45 +02:00
Dmitry Borisenko
d4539169ea esp32 рабочая версия с little fs файловой системой 2022-09-16 01:52:04 +02:00
Dmitry Borisenko
aae21f4a78 запуск little fs на esp32 2022-09-15 14:02:24 +02:00
d78e03176f Merge pull request #193 from biveraxe/ver4dev
Исправляем ошибки компиляции при переходе на новое ядро
2022-09-14 21:31:08 +03:00
1fee3ca538 Исправляем ошибки компиляции при переходе на новое ядро 2022-09-14 21:29:26 +03:00
1761a3e353 Merge pull request #192 from biveraxe/ver4dev
Исправляем ошибки компиляции при переходе на новое ядро
2022-09-14 20:37:22 +03:00
818824c378 Исправляем ошибки компиляции при переходе на новое ядро 2022-09-14 20:36:38 +03:00
Dmitry Borisenko
8ce79687bc 4.0.1 ядро для 8266 2022-09-14 18:53:02 +02:00
Dmitry Borisenko
49dde6031a не рабочая версия 2022-09-14 18:06:40 +02:00
5532ef7dfb Merge pull request #191 from biveraxe/ver4dev
Делаем кнопку без фиксации по умолчанию
2022-09-13 22:57:22 +03:00
e84375418f Делаем кнопку без фиксации по умолчанию 2022-09-13 22:56:34 +03:00
8737528d83 Merge pull request #190 from biveraxe/ver4dev
Исправление кнопки и даты
2022-09-13 22:54:25 +03:00
b5b1e2c5cf Читаем состояние кнопки при старте 2022-09-13 22:53:08 +03:00
5ef81840eb Начинаем отличать дату от числа 2022-09-13 22:05:24 +03:00
f8649e3a7e Возвращаем распознавание отрицательных чисел. 2022-09-13 21:46:58 +03:00
Dmitry Borisenko
0a1d606149 версия 420 2022-09-13 16:39:55 +02:00
Dmitry Borisenko
cd2cebaeb8 . 2022-09-13 01:02:04 +02:00
Dmitry Borisenko
5036fbc2fe исправление всех багов графиков, добавление перехода на новые сутки 2022-09-13 00:56:34 +02:00
Dmitry Borisenko
e8731b413e графики с датой, рабочая версия 2022-09-11 15:41:50 +02:00
Dmitry Borisenko
d121414e65 убираем баги окна ввода даты 2022-09-11 14:13:58 +02:00
Dmitry Borisenko
9c5624eddf печатаем id 2022-09-11 10:39:51 +02:00
Dmitry Borisenko
039a36a59d графики с выбором даты 2022-09-11 01:30:22 +02:00
Dmitry Borisenko
8340ae2a0f не рабочая версия - ввод даты в процессе 2022-09-10 02:58:42 +02:00
Dmitry Borisenko
fff7c976a9 исправление всех багов графиков 2022-09-08 23:35:19 +02:00
Dmitry Borisenko
5e8120086b .. 2022-09-08 19:30:53 +02:00
Dmitry Borisenko
89ddd0fbe3 добавляем keepdays 2022-09-08 19:21:28 +02:00
Dmitry Borisenko
f769b74c7f исправление бага графиков на esp32 2022-09-08 19:02:38 +02:00
Dmitry Borisenko
a89c91c708 Merge branch 'ver4dev' of https://github.com/IoTManagerProject/IoTManager into ver4dev 2022-09-08 18:48:30 +02:00
Dmitry Borisenko
5da6b61b36 доработки логирования 2022-09-08 18:48:27 +02:00
6ee4927ea8 Merge pull request #189 from biveraxe/ver4dev
Дополняем шаблон описания модуля
2022-09-08 12:15:53 +03:00
3e00ca3920 Дополняем шаблон описания модуля 2022-09-08 12:15:09 +03:00
Dmitry Borisenko
12ef79c558 переписаны графики 2022-09-08 00:27:38 +02:00
5acd080fe0 Merge pull request #188 from biveraxe/ver4dev
Прерываем работу сценария пока не будут исправлены все
2022-09-05 23:29:08 +03:00
a535a66ca7 Прерываем работу сценария пока не будут исправлены все
грубые синтаксические ошибки. Это позволяет избежать бесконтрольного
создания узлов бинарного дерева и утечки памяти.
2022-09-05 23:24:57 +03:00
e8cc488119 Merge pull request #187 from biveraxe/ver4dev
Переносим глобальные переменные в класс для обеспечения
2022-09-05 17:08:14 +03:00
9355953bae Переносим глобальные переменные в класс для обеспечения
возможности работы нескольких экземпляров Телеги
2022-09-05 17:06:37 +03:00
2e07c5b031 Merge pull request #186 from biveraxe/ver4dev
Добавляем Легкую Телегу
2022-09-05 16:32:27 +03:00
62ab3dc2de Добавляем модуль TelegramLite 2022-09-05 16:30:59 +03:00
dd5efcdc48 Объявляем новую общую функцию 2022-09-05 16:30:09 +03:00
52c184f439 Смещаем этап преобразования числа из сценария 2022-09-05 16:28:30 +03:00
90e8d4eaf4 Делаем доступным исходное значение числа
в виде строки для лучшей визуализаци
2022-09-05 16:26:27 +03:00
e391bee0ca Изымаем частную реализацию общей функции 2022-09-05 16:24:30 +03:00
5ec718e68b Добавляем общую функцию в базу инструментов 2022-09-05 16:23:47 +03:00
2757c12a40 Merge pull request #185 from biveraxe/ver4dev
Сценарии(вложенные ифы, режимы) и мелкие правки
2022-09-04 23:39:26 +03:00
03bc656084 Понимаем теперь табы в сценариях и пропускаем 2022-09-04 23:37:29 +03:00
0d7304e297 Добавляем режим чтения сценария из String 2022-09-04 19:16:08 +03:00
ed2eb6cfb7 Исправляем ошибку перебора корневых ИФов и готовим многорежимность 2022-09-04 11:20:33 +03:00
9403a150ff Возвращаем ; в сценарии как незначащий символ 2022-09-04 09:01:47 +03:00
a010859c06 Исправляем ошибки в синтаксисе и добавляем вложенные ИФ 2022-09-03 21:32:39 +03:00
80607c593b Расширяем информацию о таймере 2022-09-03 21:31:52 +03:00
63c84c12b8 Merge pull request #184 from biveraxe/ver4dev
Дублируем вывод значения айтема с учетом округдения
2022-09-02 19:01:40 +03:00
26e39aa6a9 Дублируем вывод значения айтема с учетом округдения 2022-09-02 19:00:16 +03:00
25843260c7 Merge pull request #183 from biveraxe/ver4dev
Исправляем ошибку применения модификаторов к значению
2022-09-02 18:23:09 +03:00
0c23cd78dd Исправляем ошибку применения модификаторов к значению 2022-09-02 18:22:04 +03:00
Dmitry Borisenko
258d7b764b изменил описание 2022-09-02 01:01:21 +02:00
Dmitry Borisenko
b153b51bba Merge branch 'ver4dev' of https://github.com/IoTManagerProject/IoTManager into ver4dev 2022-09-01 19:36:54 +02:00
Dmitry Borisenko
e8526f0e1a исправил проблему обновления по воздуху 2022-09-01 19:36:51 +02:00
8665c1f64a Merge pull request #181 from biveraxe/ver4dev
Обновляем инфо о модуле
2022-09-01 15:28:08 +03:00
401de56631 Обновляем инфо о модуле 2022-09-01 15:27:21 +03:00
850ef2440d Merge pull request #180 from biveraxe/ver4dev
Добавляем доп инфо о модуле
2022-09-01 15:24:56 +03:00
9f6f521c8d Добавляем доп инфо о модуле 2022-09-01 15:24:19 +03:00
Dmitry Borisenko
9ac0ab0b5a исправил баг удаления данных после отключения устройства 2022-09-01 12:54:03 +02:00
Dmitry Borisenko
00118c026d исправление бага веб интерфейса. возможность выводить графики с разных esp на один экран! 2022-09-01 02:00:36 +02:00
Dmitry Borisenko
1b873555ad Новый веб с графиками 2022-09-01 00:08:50 +02:00
7402d7915b Merge pull request #179 from biveraxe/ver4dev
теперь можно менять пины UART через веб
2022-08-31 21:35:14 +03:00
71b94318eb теперь можно менять пины UART через веб 2022-08-31 21:33:12 +03:00
Dmitry Borisenko
a2d5a6f5e1 некоторые изменения 2022-08-31 17:32:40 +02:00
df95f8bae2 Merge pull request #178 from biveraxe/ver4dev
Добавляем поддержку отрицательных чисел в сценарии
2022-08-31 08:53:34 +03:00
0dac2b0528 Добавляем поддержку отрицательных чисел в сценарии 2022-08-31 08:52:43 +03:00
Dmitry Borisenko
51f6ceba1e обновленный веб 2022-08-31 02:22:49 +02:00
Dmitry Borisenko
0889425943 графики в веб интерфейсе 2022-08-31 02:14:51 +02:00
Dmitry Borisenko
d947e9da71 отправка данных графиков в веб интерфейс 2022-08-31 00:13:45 +02:00
1c5de5b92e Merge pull request #177 from biveraxe/ver4dev
Исправляем баг с фигурными скобками
2022-08-30 23:32:22 +03:00
bea3ff3300 Исправляем баг с фигурными скобками 2022-08-30 23:31:38 +03:00
ae5eec49e9 Merge pull request #176 from biveraxe/ver4dev
Обновляем сценарии: блоки, чтение из файла, ошибки
2022-08-30 14:01:29 +03:00
52f6877ef7 Читаем сценарий из файла 2022-08-30 14:00:22 +03:00
03fdd6cc8b Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-08-30 13:43:06 +03:00
Dmitry Borisenko
1200861b1d доработка автоудаления 2022-08-30 01:12:30 +02:00
Dmitry Borisenko
03000298a4 исправление ошибки 2022-08-30 00:46:48 +02:00
Dmitry Borisenko
4b4816a264 . 2022-08-30 00:42:33 +02:00
Dmitry Borisenko
88d5ac513e добавил механизм удаления старых файлов 2022-08-30 00:41:27 +02:00
Dmitry Borisenko
199c6ac46b esp32 рабочая версия 2022-08-30 00:23:06 +02:00
e17260628e strFromFile 2022-08-29 16:01:25 +03:00
Dmitry Borisenko
e823207627 стабильная версия 2022-08-29 00:22:17 +02:00
0f869ebf39 Добавляем поблочную загрузку сценариев 2022-08-29 00:45:55 +03:00
Dmitry Borisenko
c610f006be исправление бага ребута при сохранении 2022-08-28 21:12:27 +02:00
138f246139 Merge pull request #175 from biveraxe/ver4dev
Исправляем баг с загрузкой сценариев и конфига
2022-08-28 21:57:57 +03:00
79a44b165e Исправляем баг с загрузкой сценариев и конфига 2022-08-28 21:56:47 +03:00
d31e5de95a Merge pull request #174 from IoTManagerProject/revert-171-ver4dev
Revert "Вложенные ифы"
2022-08-28 20:35:45 +03:00
a2a10909f6 Revert "Вложенные ифы" 2022-08-28 20:35:36 +03:00
801ac643c3 Merge pull request #173 from IoTManagerProject/revert-172-ver4dev
Revert "Исправляем ошибку обхода по строке сценария"
2022-08-28 20:33:52 +03:00
12d1ed2dee Revert "Исправляем ошибку обхода по строке сценария" 2022-08-28 20:33:43 +03:00
63226d4795 Merge pull request #172 from biveraxe/ver4dev
Исправляем ошибку обхода по строке сценария
2022-08-28 20:08:17 +03:00
16680ff513 Исправляем ошибку обхода по строке сценария 2022-08-28 20:07:28 +03:00
Dmitry Borisenko
fe54a14ef3 сервер обновлений изменен 2022-08-28 00:59:47 +02:00
fc521d9875 Merge pull request #171 from biveraxe/ver4dev
Вложенные ифы
2022-08-27 22:01:32 +03:00
af6289693c Подробнее описываем таймер 2022-08-27 20:38:44 +03:00
cc1938b165 Добавляем вложенные ифы 2022-08-27 20:21:43 +03:00
Dmitry Borisenko
064e1b10ff функции списка файлов от Сереги Третьякова 2022-08-27 02:45:02 +02:00
Dmitry Borisenko
5febce0e5c исправление бага с графиками 2022-08-27 02:29:50 +02:00
Dmitry Borisenko
318ddc67da . 2022-08-27 01:32:31 +02:00
Dmitry Borisenko
d4f11f2d08 . 2022-08-27 01:24:59 +02:00
Dmitry Borisenko
a4ea3e9280 . 2022-08-27 01:12:07 +02:00
Dmitry Borisenko
162f4de45e изменение алгоритма логгирования 2022-08-27 00:57:19 +02:00
Dmitry Borisenko
e3fc7a7416 дата 2022-08-26 00:12:04 +02:00
Dmitry Borisenko
f65e16f674 стабильное логгирование 2022-08-26 00:01:01 +02:00
Dmitry Borisenko
4bce800e1d рабочая версия графиков 2022-08-25 23:16:49 +02:00
Dmitry Borisenko
28d3f4fc63 . 2022-08-25 20:33:25 +02:00
Dmitry Borisenko
31f2fec13b график финальная версия без даты 2022-08-25 20:23:53 +02:00
Dmitry Borisenko
68774cec5f версия с solid выгрузкой точек 2022-08-25 19:24:56 +02:00
Dmitry Borisenko
a4b7eb00d7 добавление наработок 2022-08-25 17:33:07 +02:00
Dmitry Borisenko
6822bdf532 исправление ошибки 2022-08-25 16:38:10 +02:00
Dmitry Borisenko
78760f6507 оформление функционала в класс логирования 2022-08-25 15:46:19 +02:00
Dmitry Borisenko
71c4fb5651 . 2022-08-25 15:23:34 +02:00
Dmitry Borisenko
f90176879f логирование в процессе 2022-08-25 15:15:06 +02:00
Dmitry Borisenko
bc545cc958 автоматическое удаление данных несуществующих графиков 2022-08-25 02:18:21 +02:00
Dmitry Borisenko
3ec0071527 исправил баг с исчезновением 2022-08-25 01:52:58 +02:00
Dmitry Borisenko
b63d163432 добавление логирования 2022-08-25 00:45:17 +02:00
Dmitry Borisenko
1dc7e4f9ea . 2022-08-24 01:05:25 +02:00
Dmitry Borisenko
9784b455e7 .. 2022-08-24 01:01:27 +02:00
Dmitry Borisenko
bfaf586981 запись в файл данных для графика 2022-08-24 00:59:44 +02:00
Dmitry Borisenko
5deb974b4e запись лога в файл 2022-08-24 00:21:20 +02:00
875b7616ab Merge pull request #170 from biveraxe/ver4dev
Добавляем свойство глобальности для айтема
2022-08-23 23:19:01 +03:00
06472912e8 Добавляем свойство глобальности для айтема 2022-08-23 23:17:59 +03:00
Dmitry Borisenko
d3cb26af30 ver412 исправленна куча багов в вебе 2022-08-23 15:45:12 +02:00
Dmitry Borisenko
92dbc1c786 убрал двойную загрузку сценариев 2022-08-23 15:05:18 +02:00
9d841b1f57 Merge pull request #169 from biveraxe/ver4dev
Теперь читаем сценарии из JSON
2022-08-23 15:17:49 +03:00
c0f9a0890b Теперь читаем сценарии из JSON 2022-08-23 15:17:06 +03:00
d22741d9f6 Merge pull request #168 from biveraxe/ver4dev
Убираем лишнюю секунду при повторе таймера
2022-08-23 14:28:26 +03:00
2f22ac31f8 Убираем лишнюю секунду при повторе таймера 2022-08-23 14:24:57 +03:00
Dmitry Borisenko
c3f37fcf11 fbs 2022-08-23 13:15:11 +02:00
Dmitry Borisenko
99e2fcfcb8 не рабочая версия 2022-08-23 13:06:01 +02:00
f7849894e5 Merge pull request #167 from biveraxe/ver4dev
Добавляем защиту от отсутствия синхронизации времени
2022-08-23 10:07:53 +03:00
aa3ba13859 Добавляем защиту от отсутствия синхронизации времени 2022-08-23 10:06:45 +03:00
Dmitry Borisenko
004476b049 исправляем баг окна ввода сценариев 2022-08-23 02:00:27 +02:00
Dmitry Borisenko
d779c4bd80 411 2022-08-22 21:57:21 +02:00
Dmitry Borisenko
cf8e7206f4 ставим нормальную скорость загрузки 2022-08-22 21:53:02 +02:00
6c8ac6a2c8 Merge pull request #166 from biveraxe/ver4dev
Делаем системные вызовы в сценариях
2022-08-22 21:28:20 +03:00
62d6cc586a Выключаем SysExt 2022-08-22 21:25:12 +03:00
4ed7996309 Добавляем получение форматированного времени 2022-08-22 21:23:26 +03:00
5aef309154 Добавляем системную функцию отправки в MQTT 2022-08-22 21:03:20 +03:00
2bf63798e5 Добавляем вывод сообщения о завершении работы сборщика 2022-08-22 15:21:44 +03:00
8809bad02d Переносим функционал модуля sysext в ядро. 2022-08-21 20:53:49 +03:00
3fb10eeef4 Отключаем модуль sysext 2022-08-21 20:52:32 +03:00
Dmitry Borisenko
65b4302270 добавил в веб ввод час пояса 2022-08-18 19:06:07 +02:00
Dmitry Borisenko
5249c794d1 добавлен ввод час пояса 2022-08-18 19:04:13 +02:00
Dmitry Borisenko
cb463a0dd1 форматирование времени 2022-08-18 15:19:07 +02:00
Dmitry Borisenko
e11fc59af9 запись времени в переменную 2022-08-18 15:07:39 +02:00
Dmitry Borisenko
6b1265d6b8 оптимизация ntp 2022-08-18 14:57:58 +02:00
Dmitry Borisenko
b458758a54 добавил получение времени NTP 2022-08-18 14:49:11 +02:00
Dmitry Borisenko
ff5b9e8a9b в веб добавлен виджет range, изменено окно сценариев 2022-08-16 23:56:01 +02:00
Dmitry Borisenko
6ea71ec43e вместо цифры число) 2022-08-16 20:54:30 +02:00
Dmitry Borisenko
85f8deb12a запустил кнопки в веб интерфейсе 2022-08-16 00:56:23 +02:00
Dmitry Borisenko
dfd85d88cb прием пакета команды 2022-08-15 01:31:22 +02:00
ef94ea9037 Merge pull request #165 from biveraxe/ver4dev
Заставляем все кнопки отправлять только целые значения по статусу
2022-08-14 21:57:42 +03:00
9ea209669f Заставляем все кнопки отправлять только целые значения по статусу 2022-08-14 21:55:56 +03:00
2dc80bb4b8 Merge pull request #164 from biveraxe/ver4dev
Заставляем вирт кнопку отправлять целые значения
2022-08-14 19:07:01 +03:00
1fcec9ba80 Заставляем вирт кнопку отправлять целые значения 2022-08-14 19:06:05 +03:00
Dmitry Borisenko
22433ef65d написал прием события кнопки из веб 2022-08-14 17:13:25 +02:00
Dmitry Borisenko
1f9f746149 модуль логгирования, начало 2022-08-13 12:18:58 +02:00
Dmitry Borisenko
72b54eb5bb установка значений по умолчанию 2022-08-12 22:33:36 +02:00
Dmitry Borisenko
d22580aac9 удаление часов реального времени 2022-08-12 22:13:50 +02:00
Dmitry Borisenko
ca95a4528d исправление виртуальной кнопки 2022-08-12 18:09:32 +02:00
Dmitry Borisenko
027dc16ba1 исправлена конфигурация виртуальных элементов 2022-08-12 17:53:08 +02:00
Dmitry Borisenko
8011609092 исправление окон ввода даты цифры и времени 2022-08-12 16:05:44 +02:00
Dmitry Borisenko
68d0dd4aad обновление конфигурации 2022-08-12 15:21:20 +02:00
ff3ee66b0d Merge pull request #163 from biveraxe/ver4dev
Исправляем работу всех видов кнопок
2022-08-12 08:05:33 +03:00
0a8f43c7d2 Исправляем работу всех видов кнопок 2022-08-12 08:04:36 +03:00
47ee98352c Merge pull request #162 from biveraxe/ver4dev
Выделяем виртуальную кнопку в отдельный модуль
2022-08-12 01:13:15 +03:00
e1341a532f Выделяем виртуальную кнопку в отдельный модуль 2022-08-12 01:08:24 +03:00
ca3cc0e840 Merge pull request #161 from biveraxe/ver4dev
Делаем обратный порядок секций в items
2022-08-11 23:21:23 +03:00
3be301ca89 Делаем обратный порядок секций в items 2022-08-11 23:20:16 +03:00
699531bada Merge pull request #160 from biveraxe/ver4dev
Убираем нумерацию папок модулей
2022-08-11 21:55:25 +03:00
34c33692f5 Убираем нумерацию папок модулей 2022-08-11 21:54:31 +03:00
Dmitry Borisenko
67004284c4 1 2022-08-11 18:32:56 +02:00
Dmitry Borisenko
35da88080d переименование 2022-08-11 18:25:04 +02:00
c78b45159d Merge pull request #159 from biveraxe/ver4dev
Ver4dev
2022-08-11 17:54:12 +03:00
6e4d8777d4 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-08-11 17:53:35 +03:00
2a757dfb4d Добавляем виртуальные элементы на базе переменной 2022-08-11 17:52:59 +03:00
610cc8f862 Merge pull request #158 from biveraxe/ver4dev
Структурируем модули как надо
2022-08-11 17:42:37 +03:00
799aff3383 Структурируем модули как надо 2022-08-11 17:40:42 +03:00
Dmitry Borisenko
1ddc3aab9c исправил 2022-08-11 15:58:18 +02:00
Dmitry Borisenko
542cf86941 перестановка 2 2022-08-11 15:56:57 +02:00
Dmitry Borisenko
97ac17c466 нормализация расположения методов 2022-08-11 15:21:12 +02:00
Dmitry Borisenko
125eaa78ec 123 2022-08-11 15:07:02 +02:00
Dmitry Borisenko
ee38878961 правельный wifi 2022-08-11 15:04:58 +02:00
Dmitry Borisenko
ace3d14261 закомментировал сетевой обмен 2022-08-11 14:53:14 +02:00
Dmitry Borisenko
6d4b899fc0 начальные изменения 2022-08-11 14:50:37 +02:00
0dc05a14d4 Merge pull request #157 from biveraxe/ver4dev
Ver4dev
2022-08-11 10:11:39 +03:00
5e66391520 Добавляем модуль Pwm32 2022-08-11 09:01:13 +03:00
986c061caf Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-08-10 23:04:16 +03:00
2028564c63 Добавляем модуль Pwm8266 2022-08-10 23:02:39 +03:00
39ff16512e Исправляем пояснение, что при int=0 опроса нет 2022-08-10 23:01:37 +03:00
6b582cb2bd Добавляем sht30 2022-08-09 21:48:48 +03:00
4acad424a6 Merge pull request #153 from biveraxe/ver4dev
Последние изменения перед возвращением
2022-08-09 17:35:56 +03:00
41286083b7 Убираем лишнее после смены алгоритма сборки 2022-08-09 13:13:08 +03:00
755625cc35 Добавляем модуль приема и передачи по радио 433Mhz 2022-08-09 13:11:13 +03:00
31b0e0d786 Задел на разработку команд для перевода в режим отключения радио 2022-08-09 13:08:15 +03:00
d26ec6b6e5 Добавляем функцию глубокого сна 2022-08-06 09:14:29 +03:00
3622847995 Отключаем модули редкого оборудования или требовательного к памяти 2022-08-04 00:17:13 +03:00
0e31f7c112 Описываем модули сенсоров по новому формату 2022-08-04 00:12:38 +03:00
029d505806 Серьезно меняем скрипт обновления конфигурации проекта 2022-08-02 23:32:11 +03:00
efcda0218a Добавляем протокол wiegand, версия для будущего 2022-07-30 21:54:06 +03:00
504c9dfbbb Добавляем analogRead 2022-06-26 13:46:53 +03:00
844ea052d7 Добавляем запуск поиска адреса адреса на шине, если не задан параметр addr 2022-06-24 16:33:55 +03:00
a8d4e0a303 Добавляем в ядро функцию сканирования шины I2C 2022-06-24 16:32:42 +03:00
aaf7702f55 чистим 2022-06-06 14:41:22 +03:00
5020816b89 чистка 2022-06-06 14:33:29 +03:00
52a96f1542 Подбираем оптимальный размер буфера и качества картинки, иначе памяти не хвататет. 2022-06-03 11:50:35 +03:00
107dcf4c74 Отключаем подробные уведомления о работе сценария 2022-06-03 10:17:33 +03:00
74decadee5 Исправляем логическую ошибку при которой события приходящие из вне генерировали дубликаты Item 2022-06-02 23:22:11 +03:00
72c36a25a7 Добавляем расширенные данные к IoTValue и отключение doByInterval при Int = 0 чтоб пользователь не создавал частые генерации событий 2022-06-02 23:17:52 +03:00
1e947eb48d Добавляем модуль камеры 2022-06-02 23:15:53 +03:00
671765d32e Корректируем начальные настройки servo, чтоб работал 2022-06-02 23:15:05 +03:00
4ca8115154 Добавляем SD карту, пока встроенную в ESP32 2022-06-02 23:14:26 +03:00
4ce71dfcfd Добавялем операцию сложения строк в сценарии 2022-05-31 22:35:51 +03:00
0938e57583 Добавляем аналоговому датчику усреднение считываемых значений 2022-05-31 16:33:02 +03:00
6b9b5ec9dc Увеличиваем у сервы люфт считываемго значения с аналога 2022-05-31 12:26:00 +03:00
b9e3461c72 Добавляем сервопривод 2022-05-30 23:18:42 +03:00
a0e2973bda Чистим модуль переменных от мусора 2022-05-23 23:09:21 +03:00
e3072ce887 Добавляем сенсор для мониторинга напряжения и ток с использованием аналового входа 2022-05-20 08:52:15 +03:00
cbd9a4de8d Заменяем устаревший параметр src_filter на build_src_filter 2022-05-19 09:56:48 +03:00
67148de250 Включаем поддержку esp32 для редактора ручных натсроек 2022-05-19 09:48:28 +03:00
29a2762788 Исправляем ошибку пропуска модулей при сборке 2022-05-19 08:20:45 +03:00
85289144bc Включаем технический редактор файлов 2022-05-19 00:14:53 +03:00
f4a1ff70ca Исправляем регистр файла в модуле для сборки в линуксе 2022-05-18 15:44:59 +03:00
0aab5dcbed Меняем способ исключения модулей из компиляции. Exclude = true в platformio.ini папки модуля см. пример модуля Mp3 2022-05-18 15:12:20 +03:00
8f0b50a6f3 Чистка кода сонара 2022-05-17 21:19:27 +03:00
fe64723ecd Добавляем сенсор сонар hc-sr04 2022-05-17 21:18:39 +03:00
879a67de6f Исключаем модули с двумя минусами в имени из сборки 2022-05-16 21:30:20 +03:00
1d782fd0d7 Исправляем ошибку определения ИД в условиях сценария и Добавляем шаблон игнорирования символа при сравнении строк * 2022-05-06 11:59:47 +03:00
7846279379 Дублируем функции получения дробнного времени в системном модуле 2022-05-06 07:48:48 +03:00
5e5890b961 Исправляем опечатку присваивания корректирующего коэффициента в IoTItem 2022-05-05 10:05:37 +03:00
65d898ae82 Добавялем в RTC команды получения числовых значений времнени по частям 2022-05-04 13:44:29 +03:00
4cc9077327 Добавляем еще команды управления в mp3 плеер 2022-05-04 13:17:15 +03:00
a3c5a803ca Добавляем символ подчеркивания в разрешенные для наименования переменных и функций 2022-05-03 19:58:19 +03:00
e45aed2da8 Добавлем в телеграм обработку произвольных команд в сценарии и отправку сообщений 2022-05-02 00:22:28 +03:00
8bbea0c2cb Правильно иницилизируем подключение Mp3 плеера 2022-05-01 23:02:13 +03:00
bdaf6c1832 Добавляем Телеграм-бота. Умеет отвечать на сообщения из чата и настраиваться. 2022-05-01 00:38:30 +03:00
83c5d74d7a Меняем формат штампа времени в логах 2022-04-30 09:28:49 +03:00
790c289183 Увеличиваем интервал переподключения к сети до 30 сек для возможности настроить параметры соединения 2022-04-30 08:41:29 +03:00
26a1aca9dd Отключаем ожидание получения времени из сети и продолжаем грузиться. 2022-04-30 08:15:16 +03:00
e9d5eef5e3 Добавляем вызов вариативной установки значения элемента IoTItem при обработки строки 2022-04-29 23:49:25 +03:00
db3fddb622 Переименовываем событие onConfig to onStart 2022-04-28 16:03:33 +03:00
b09086b4b3 Добавляем стартовое событие onConfig для настройки после запуска 2022-04-28 16:00:14 +03:00
691b1187e7 Добавляем перестройку сценаряи сразу после пересоздания конфигурации 2022-04-28 12:53:35 +03:00
8eb3fd5ae6 Расставляем маркеры для понимания процесса очистки конфигурации 2022-04-28 10:05:28 +03:00
26fd968782 Включаем сохранение конфигурации без перезагрузки 2022-04-28 00:13:26 +03:00
17982a9e70 Исправляем глюк с таймером при корректировке стартовых занчений 2022-04-27 23:43:06 +03:00
336a4c7e52 Уменьшаем дебаг информацию из сценариев 2022-04-27 23:42:22 +03:00
dc8b472c0d Исправляем логику таймера, не учитывались многие комбинации параметров 2022-04-27 22:30:29 +03:00
8914e06cd2 Разрешаем таймеру добраться до нуля или ниже чтоб учесть ситуации не целых шагов 2022-04-27 15:56:34 +03:00
628ac413f9 Добавляем переключатель раоты дисплея 2022-04-27 14:32:02 +03:00
cd8ce5ff0b Открываем возмодность изменять Interval для основного цикла элемента настройки 2022-04-27 14:18:44 +03:00
7d71c78170 Расширяем систему команд по управлению таймером 2022-04-27 14:17:49 +03:00
2b67fb9588 Убираем надстройку получения времени по шаблону для переменной 2022-04-27 13:13:51 +03:00
4c315fdb12 Включаем параметр inv в кнопке 2022-04-27 12:01:00 +03:00
0f685a5f49 Исправляем ошибку вызова gettime 2022-04-27 10:55:56 +03:00
c658343e7f Исправляем валидацию базового параметра округления 2022-04-26 23:03:00 +03:00
900ff95429 Добавляем часам способность тикать каждые N секунд и создавать событие 2022-04-26 21:52:32 +03:00
878e71bb36 Позволяем не подключать RTC модуль при добавленномой записи настройки для возможности получения доступа к системному времени 2022-04-26 13:28:52 +03:00
f140bbc8cc Добавляем MP3 плееру дополнительные команды управления 2022-04-26 12:17:07 +03:00
115d22b914 Добавляем модуль MP3 плеера MP3-TF-16P 2022-04-26 12:09:56 +03:00
094bb44ed6 Добавляем переменным возможность хранить время по шаблону 2022-04-25 23:30:56 +03:00
934173f8cc Позволяем читать объект RTC как переменную с датой и временем по формату из настройки 2022-04-25 23:11:10 +03:00
ba824456d4 Удаляем старый класс сценариев 2022-04-25 11:08:11 +03:00
3434f8bd82 Добавляем в ядро setValue(String valStr); для универсального присваивания значения элементу конфигурации 2022-04-25 10:48:44 +03:00
8c8ea24ea3 Добавляем ручную настройку времени из сценария 2022-04-24 23:46:30 +03:00
df9b507102 Исправляем ошибку конвертации года 2022-04-24 23:32:44 +03:00
65eb81ed81 Собираем драйер RTC при формировании списка модулей 2022-04-24 23:32:06 +03:00
af4543b3b5 Добавляем модуль-драйвер для RTC часов 2022-04-24 23:31:25 +03:00
fd60bd6eb3 Добавляем в ядро возможность передачи драйверов RTC 2022-04-24 23:29:54 +03:00
2f9569c3e6 Добавляем в сценарии получение времени в виде строки SysExt.getTime("d-m-Y, H:i:s, M"); 2022-04-24 12:54:07 +03:00
0d596da39f Добавляем поддержку IoTRTC в основной цикл 2022-04-24 11:59:52 +03:00
f563a773e1 Добавляем класс IoTRTC для организации взаимодействия с библиотекой iarduino_RTC 2022-04-24 11:57:38 +03:00
39c83aa328 Добавляем библиотеку iarduino_RTC в качестве основного хранителя времени 2022-04-24 11:56:12 +03:00
2a8eb84836 Устраняем пересечение с системным классом UDP 2022-03-30 14:07:40 +03:00
8ae2983ba7 Исправлям ошибку перезагрузки при добавлении датчиков, не верно рассчитан размер буфера 2022-03-29 09:05:24 +03:00
0451aca0d5 Добавляем насроку для таймера для включения режима сохранения значения счетчика 2022-03-27 10:47:21 +03:00
fe7b1f6a39 добавляем поддержку сохранения значений IoTItems 2022-03-27 09:11:24 +03:00
613d60256a Добавляем параметр повторения для таймера 2022-03-26 21:35:51 +03:00
cf6fd585c3 Добавляем таймер 2022-03-26 20:58:15 +03:00
Dmitry Borisenko
185a949a80 MAX6675 @Serghei63 2022-03-15 15:59:26 +01:00
Dmitry Borisenko
617ce425f4 перенос библиотек 2022-03-15 14:03:08 +01:00
Dmitry Borisenko
c2bb0e17f4 исправления, компиляция для 32 2022-03-15 12:56:05 +01:00
IoT Manager
cbe3ee7886 Merge pull request #152 from biveraxe/ver4dev
Добавляем кнопку физическую
2022-03-10 17:02:49 +01:00
4000cc1144 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-03-08 13:12:53 +03:00
8499424138 Добавляем кнопку физическую 2022-03-08 13:12:08 +03:00
fb04592f8b Исправляем ошибку чтения bool из Json 2022-03-08 13:11:28 +03:00
2fa40c4eff Добавляем возможность создавать свои loop() в модулях 2022-03-08 13:10:34 +03:00
IoT Manager
ebe2e9cbdd Merge pull request #151 from biveraxe/ver4dev
Меняем структуру FS для хранения модулей и добавляем скрипт сборки
2022-03-07 20:44:34 +01:00
93b6014c55 Автоматизация процесса интеграции функций вызова модулей 2022-03-07 21:56:15 +03:00
75a96508b2 Уточняем ИД модуля для GY21 2022-03-07 21:53:13 +03:00
c453a98685 Меняем структуру FS для хранения модулей и добавляем скрипт сборки модулей для интеграции в меню и библиотеки 2022-03-07 11:56:09 +03:00
d9e111470a Добавляем MHZ19 и Sds011 2022-03-07 11:54:25 +03:00
IoT Manager
f1b8b07584 Merge pull request #149 from biveraxe/ver4dev
Новые функции в сценарии и исправление LCD
2022-03-03 23:33:30 +01:00
4f57e965cb Настраиваем единый формат вывода значения Item 2022-03-04 01:01:13 +03:00
2bca458f0c Исправляем ошибку чтения значения Item в Lcd2004 2022-03-04 00:11:13 +03:00
9880e9d169 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2022-03-03 23:32:54 +03:00
0ae8fd1e38 Добавляем в сценарии digitalWrite(pin), digitalRead(pin), digitalInvert(pin) 2022-03-03 23:28:27 +03:00
42c1cd3e57 Добавляем контроль закрывающей фигкрной скобки 2022-03-03 23:15:11 +03:00
1ac32e6711 Добавляем возможность использования вложенных IF 2022-03-03 22:58:39 +03:00
Dmitry Borisenko
3f0b1b3d6a заккоментировал уборку нулей 2022-03-03 18:25:27 +01:00
3704988d9b Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2022-03-02 22:06:25 +03:00
Dmitry Borisenko
9d956113b5 новый веб 4.1.2 2022-03-02 00:43:43 +01:00
Dmitry Borisenko
c3529d1a10 Merge pull request #148 from biveraxe/ver4dev
Ошибки синхронизации
2022-03-01 22:09:35 +01:00
afeb741dfe Добавляем проверку на отсутствие параметров дял модификаторов 2022-03-01 21:07:17 +03:00
cf188070d5 Делаем округление по указанному количеству символов после запятой 2022-03-01 20:56:58 +03:00
0975a4eb7d Исправляем ошибку рассинхронизации базы и регистрируемых значений 2022-03-01 20:16:12 +03:00
Dmitry Borisenko
69ea305324 веб 4.1.1 2022-03-01 01:49:20 +01:00
Dmitry Borisenko
080de83be7 небольшие изменения 2022-03-01 01:43:30 +01:00
Dmitry Borisenko
7ec426114f Merge pull request #147 from biveraxe/ver4dev
Добавляем системную команду exit("причина") в сценарии для прерывания дальнейшего выполнения
2022-02-28 01:15:58 +01:00
Dmitry Borisenko
28add9cb25 добавил отправку прием сетевых событий 2022-02-28 01:10:14 +01:00
39c5e98ca6 Упрощаем получение переменной из базы getItemValue(String name); 2022-02-28 00:55:43 +03:00
520d27f8d8 Добавляем системную команду exit("причина") в сценарии для прерывания дальнейшего выполнения 2022-02-28 00:49:57 +03:00
Dmitry Borisenko
c50e0606e4 Merge pull request #146 from biveraxe/ver4dev
Добавляем переменные в систему как специальный Item
2022-02-27 01:22:26 +01:00
e6824dde8b Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-02-27 00:36:24 +03:00
c51afa80af Добавляем переменные в систему как специальный Item 2022-02-27 00:34:59 +03:00
Dmitry Borisenko
40e43dee0a Merge pull request #145 from biveraxe/ver4dev
Добавляем функцию получения JSON всех значений Items
2022-02-26 22:33:24 +01:00
3ce94f044b Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-02-26 22:43:26 +03:00
5d0d3274c5 Добавляем функцию получения JSON всех значений Items 2022-02-26 22:42:57 +03:00
Dmitry Borisenko
11e56dbe1d Merge pull request #144 from biveraxe/ver4dev
Добавляем &(и) и |(или) в сценарии. Проверяем тип переменных перед выполением.
2022-02-26 12:11:08 +01:00
d047ebf453 exec 2022-02-26 10:50:40 +03:00
f5de7299ec Добавляем признак локальности перменной 2022-02-25 22:44:04 +03:00
c024ef6673 Добавляем &(и) и |(или) в сценарии 2022-02-25 21:51:20 +03:00
Dmitry Borisenko
6a3f8542c5 Merge pull request #143 from biveraxe/ver4dev
Добавляем externalVariable для приема и фиксации на время значения события для использования в сценариях
2022-02-25 13:59:41 +01:00
5da9a141a9 Добавляем механизм очистки суецидных внешних переменных 2022-02-25 15:38:32 +03:00
6d7c734f46 Добавляем деструктор к классам модулей (исправляем ошибку) 2022-02-25 15:24:03 +03:00
9ca63882af Меняем тип переменной с элементами на list для ускорения операций удаления эдементов спсика 2022-02-25 14:03:30 +03:00
fc7eb8acc9 Добавляем externalVariable для приема и фиксации на время значения события для использования в сценариях 2022-02-25 13:20:03 +03:00
Dmitry Borisenko
9639b3eb88 Merge pull request #142 from biveraxe/ver4dev
Оптимизируем пропуск условий при отсутствии ИД события
2022-02-24 21:31:04 +01:00
798897962e Оптимизируем пропуск условий при отсутствии ИД события 2022-02-24 17:18:03 +03:00
24a66b0ca4 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2022-02-24 13:33:32 +03:00
08dd59fe16 Добавляем генерацию событий при смене значения пина 2022-02-24 11:40:16 +03:00
Dmitry Borisenko
cc20801daa исправил много багов в веб интерфейсе 2022-02-24 01:02:17 +01:00
Dmitry Borisenko
dad46c8c9c Merge pull request #141 from biveraxe/ver4dev
Добавляем в сценарии предварительную проверку необходимости проверять условия при определенном ИД в событиях
2022-02-23 22:58:31 +01:00
bb33fccb47 Добавляем в сценарии предварительную проверку необходимости проверять условия при определенном ИД в событиях 2022-02-24 00:54:56 +03:00
2507c76b10 Исправляем ошибки в путях модулей 2022-02-23 21:09:44 +03:00
Dmitry Borisenko
a384acebcc исправил баг веба! 2022-02-23 19:07:00 +01:00
Dmitry Borisenko
1e482da574 Merge pull request #140 from biveraxe/ver4dev
Возвращаем настройку сценария на использование только Items для поиск…
2022-02-23 18:21:50 +01:00
8c8ac1d800 Возвращаем настройку сценария на использование только Items для поиска переменных 2022-02-23 20:14:29 +03:00
Dmitry Borisenko
1dfab33e4c небольшие изменения 2022-02-23 17:54:18 +01:00
Dmitry Borisenko
c565767260 Merge pull request #139 from biveraxe/ver4dev
Добавляем поддержку сетевого хранилища с переменными
2022-02-23 09:33:33 +01:00
a2bb357a75 Добавляем запись значений в глобальное хранилище, если отсутвует представитель в итемсах 2022-02-23 11:03:09 +03:00
be662dd497 Добавляем чтение отсутвующих локально переменных из общего глобального хранилища. 2022-02-23 10:43:53 +03:00
Dmitry Borisenko
23ae779b48 сценарии в вебе 2022-02-23 01:39:05 +01:00
Dmitry Borisenko
56a1c3fb0e Merge pull request #138 from biveraxe/ver4dev
Связываем Сенсор - Сценарий - Реле
2022-02-22 22:46:19 +01:00
f8356a9e29 Связываем события и сценарии 2022-02-23 00:37:37 +03:00
b938cbdcf0 Связываем очередь прямых команд с элементами конфигурации. Пока только по установке значения. 2022-02-22 23:58:35 +03:00
Dmitry Borisenko
7acb6e0bc6 Merge pull request #137 from biveraxe/ver4dev
Добавляем кнопку
2022-02-22 21:30:15 +01:00
729c126405 Исправляем ошибки в нащвании элемента ButtonOut в вебе 2022-02-22 23:01:01 +03:00
a69e048da9 Стандартизируем изменение значения элемента при вызове операции присваивания из сценария 2022-02-22 22:48:35 +03:00
3a9775df5d Добавляем ButtonOut 2022-02-22 22:47:21 +03:00
14ea31c705 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-02-22 22:42:30 +03:00
Dmitry Borisenko
1ee6991590 web 4.0.8 2022-02-22 20:28:56 +01:00
Dmitry Borisenko
69d46815cd добавил два главных буфера, передаю эстафету Илье!!! 2022-02-22 20:16:33 +01:00
df6d328cc4 Устраняем неточности в описании 2022-02-22 21:35:50 +03:00
bd4753f2c9 Merge branch 'ver4dev' 2022-02-22 21:21:48 +03:00
Dmitry Borisenko
a4648fd075 408 2022-02-22 17:13:24 +01:00
Dmitry Borisenko
993b2b25fd убрали лишние ошибки json 2022-02-22 16:40:46 +01:00
Dmitry Borisenko
f4f93a32db Merge pull request #136 from biveraxe/ver4dev
Добавляем ADS1115, Добавляем расширитель портов MCP23017
2022-02-22 11:39:40 +01:00
5a96d39012 Добавляем расширитель портов MCP23017 2022-02-21 20:00:18 +03:00
9fe7adb151 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-02-20 22:57:55 +03:00
905d137341 Добавляем ADS1115 2022-02-20 22:43:16 +03:00
Dmitry Borisenko
cce5726390 407 добавил лог в веб интерфейс! 2022-02-19 23:42:24 +01:00
Dmitry Borisenko
27dfc24d4c Merge pull request #135 from biveraxe/ver4dev
Добавляем пример написания модуля для расширения функций сценария и системы в целом.
2022-02-19 15:41:21 +01:00
7c48ca6c5a Добавляем пример написания модуля для расширения функций сценария и системы вцелом. 2022-02-19 10:47:15 +03:00
16a778269c Корректируем в последних датчиках проверку на ошибку чтения данных 2022-02-19 10:10:48 +03:00
Dmitry Borisenko
6f2c9d76ca 405 2022-02-18 23:04:27 +01:00
Dmitry Borisenko
3926c67601 баги ota исправленны 2022-02-18 22:26:12 +01:00
Dmitry Borisenko
fd128f71f2 исправил баг обновления по воздуху 2022-02-18 22:16:38 +01:00
Dmitry Borisenko
2366e027b9 добавлено OTA и взаимодействие с сервером 2022-02-18 20:06:25 +01:00
Dmitry Borisenko
bd30cbdde2 Merge pull request #134 from biveraxe/ver4dev
Добавляем еще горсть датчиков
2022-02-17 17:10:55 +01:00
c728d7b90c Скопом добавляем несколько сенсоров 2022-02-17 18:25:50 +03:00
52db75b8d5 Merge branch 'ver4dev' of https://github.com/biveraxe/IoTManager into ver4dev 2022-02-17 16:23:07 +03:00
0e25a78c23 Добавляем напоминание об необходимости изменить алгоритм округления 2022-02-17 16:22:47 +03:00
Dmitry Borisenko
5110c609c3 версия 404, много исправлений 2022-02-16 00:53:52 +01:00
Dmitry Borisenko
218a0408a5 размер переменных 2022-02-15 20:43:54 +01:00
Dmitry Borisenko
fa2d8bd15f исправлены баги веб интерфейса! 2022-02-15 15:22:26 +01:00
Dmitry Borisenko
c04efee622 file renaming 2022-02-15 11:42:33 +01:00
Dmitry Borisenko
dca800e424 file renaming 2022-02-15 11:42:02 +01:00
Dmitry Borisenko
afe64d4c4a исправили имена файлов под linux 2022-02-15 11:37:31 +01:00
IoT Manager
7ff73236a7 Merge pull request #133 from biveraxe/ver4dev
Исправляем ошибку компиляции для esp32 при отсутствии analogWrite для…
2022-02-15 10:11:58 +01:00
1e612e3910 Исправляем ошибку компиляции для esp32 при отсутствии analogWrite для esp32 2022-02-15 08:14:55 +03:00
Dmitry Borisenko
f5afc00c32 исправление бага списка, добавил кнопку перезагрузить все устройства 2022-02-15 00:03:28 +01:00
IoT Manager
709c4fb961 Merge pull request #132 from biveraxe/ver4dev
Добавляем прослойку для расширения GPIO
2022-02-14 20:24:39 +01:00
cafac8b76e Добавляем релоад конфигурации при нажатии соответсвующей кнопки в интерфейсе 2022-02-14 22:20:35 +03:00
c144a3ae1e Шлифуем клаас прослойку доступа к gpio 2022-02-14 21:23:40 +03:00
5c8221f86f Добавляем системный класс прослойку для доступа к GPIO при помощи плат расширения портов 2022-02-14 18:33:52 +03:00
da845b7ecb Заставляем датчики теперь сохранять свои показания в структурной переменной для доступа к данным из сценариев в любое время 2022-02-14 17:23:39 +03:00
Dmitry Borisenko
fbec3827e2 исправил баг данных в вебе 2022-02-14 14:54:37 +01:00
IoT Manager
2ecfe839f8 Merge pull request #131 from biveraxe/ver4dev
Добавляем сценарии https://github.com/biveraxe/IoTScenario
2022-02-14 10:54:21 +01:00
0b4f771c48 Добавляем сценарии https://github.com/biveraxe/IoTScenario 2022-02-14 12:48:59 +03:00
Dmitry Borisenko
5cdcb0f0e6 версия для esp32 2022-02-14 10:48:14 +01:00
Dmitry Borisenko
15c55c2df6 поправлены баги списка устройств 2022-02-14 00:12:58 +01:00
Dmitry Borisenko
caa2102eff запустил общение устройств по udp 2022-02-13 16:13:51 +01:00
Dmitry Borisenko
ed78401762 парсинг данных страниц в вебе и отправка виджетов в приложение 2022-02-13 00:40:15 +01:00
Dmitry Borisenko
09bbd96a63 исправвил баги mqtt 2022-02-12 14:34:17 +01:00
Dmitry Borisenko
38acd7f569 mqtt подключение 2022-02-12 03:09:57 +01:00
Dmitry Borisenko
8d86bb222a mqtt 2022-02-11 00:22:59 +01:00
Dmitry Borisenko
02a087ccdd Управление ошибками 2022-02-09 21:55:17 +01:00
Dmitry Borisenko
a3c3e4055a баг в вебе 2022-02-09 16:55:52 +01:00
Dmitry Borisenko
c728d34f03 управление ошибками 2022-02-09 16:44:44 +01:00
Dmitry Borisenko
01428f4531 системная информация в вебе 2022-02-08 21:47:20 +01:00
Dmitry Borisenko
429e1fbfb3 исправил баг сообщений 2022-02-08 17:07:58 +01:00
Dmitry Borisenko
45c5681dc6 добавлена кнопка перезагрузки 2022-02-08 16:47:17 +01:00
Dmitry Borisenko
57bd78ad90 обновление веба, нормальный бандл 2022-02-08 00:38:54 +01:00
Dmitry Borisenko
a423b81b07 начал писать обновление параметров 2022-02-08 00:20:49 +01:00
Dmitry Borisenko
9b5a87bbcf обновленный веб 2022-02-07 23:49:29 +01:00
Dmitry Borisenko
d9ab7ed1b7 список устройств 2022-02-07 16:36:29 +01:00
Dmitry Borisenko
fafbae3f07 многие изменения 2022-02-07 02:08:10 +01:00
Dmitry Borisenko
dc90df8a2d баг wifi 2022-02-06 17:54:02 +01:00
IoT Manager
11cd4744b5 Merge pull request #130 from biveraxe/ver4dev
Портируем Bme280 и меняем базовый класс на IoTItem
2022-02-06 16:10:10 +01:00
ce7d461b77 Добавляем метод execute() для базового класса для реализации выполнения функций модулем по запросу ядра. 2022-02-06 09:32:28 +03:00
ca0fb25a30 Переименовываем файлы базовогго класса 2022-02-06 09:24:59 +03:00
8b83e1649c Переходим на единый базовый класс IoTItem для всех модулей 2022-02-06 09:11:07 +03:00
73bff64a54 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-02-05 07:48:48 +03:00
Dmitry Borisenko
f2f94ba071 выпадающий список сетей wifi 2022-02-05 02:13:56 +01:00
71fdf081a2 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-02-04 12:33:48 +03:00
Dmitry Borisenko
6966a66ef0 Обновление веб интерфейса 2022-02-04 00:03:29 +01:00
Dmitry Borisenko
c51286ffc0 запустил dashboard 2022-02-03 21:37:32 +01:00
34252302a9 Портируем Bme280 2022-02-03 18:32:31 +03:00
Dmitry Borisenko
0540ea5b04 добавил меню подключение 2022-02-02 23:39:41 +01:00
Dmitry Borisenko
bd1d25d79a добавил посылку событий в сокеты 2022-02-02 21:40:45 +01:00
Dmitry Borisenko
a2f5927172 очистка и реорганизация файлов 2022-02-02 21:17:50 +01:00
Dmitry Borisenko
e376693028 удаление мусора 2022-02-02 16:13:08 +01:00
Dmitry Borisenko
692099a814 добавил удаление элементов в веб 2022-02-02 15:41:29 +01:00
IoT Manager
a01dbc3d0a Merge pull request #126 from biveraxe/ver4dev
Портируем сенсор Bmp280
2022-02-02 13:02:53 +01:00
6bdc3d11f0 Исправляем ошибку округления значений в IoTSensor и убираем лишние нули в дробях 2022-02-02 11:08:40 +03:00
dca2a51843 Портируем сенсор Bmp280 2022-02-02 11:07:27 +03:00
b2e20f6760 Оптимизируем Dht1122 2022-02-02 11:05:59 +03:00
Dmitry Borisenko
ad9679314c добавил меню выбора элементов 2022-02-02 00:20:05 +01:00
IoT Manager
d0e291a9cb Merge pull request #125 from biveraxe/ver4dev
Портируем сенсоры и добавляем возможность обработки показаний перед регистрацией события
2022-02-01 23:23:17 +01:00
5f076d50e8 Исправляем ошибку с определением не верных показателей сенсора Sht20h 2022-02-01 23:22:53 +03:00
a745d61e03 Регистрируем показатели сенсора AnalogAdc в формате float 2022-02-01 23:07:39 +03:00
3898234c6d Добавляем в базовый класс поддержку математических модификаторов для всех регистрируемых событий float типа 2022-02-01 23:04:06 +03:00
6373f36eb5 Регистрируем показатели сразу в float для возможного применения математических модификаторов 2022-02-01 23:01:44 +03:00
e06be18432 Запрещаем регистрировать событие, если ошибка чтения в Sht20 2022-02-01 23:00:36 +03:00
d19ebe8bfc Портируем сенсоры Dht11 и Dht22 одним модулем 2022-02-01 22:50:36 +03:00
5b8c579396 Запрещаем регистрировать событие если ошибка чтения данных в Ds18b20 2022-02-01 22:49:18 +03:00
3b743a768d Добавляем чтение данных из SHT20 в любом случае, не взирая на повторный вызов. 2022-02-01 21:44:57 +03:00
fabe47bed4 Добавляем чтение Json в unsigned long 2022-02-01 20:39:51 +03:00
ac0d82f74e Добавляем функцию чтения из Json в Float 2022-02-01 20:28:17 +03:00
d5909c1c72 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-02-01 14:56:08 +03:00
66d1fffefa Портируем датчик SHT20 2022-02-01 14:48:52 +03:00
IoT Manager
757c9d4e1d Merge pull request #124 from biveraxe/ver4dev
Пушим конфиг глубже в базовый класс IoTSensors и адаптируем текущие модули
2022-02-01 12:11:04 +01:00
3bcdf8d8b5 Делаем Ds18b20 с большой буквы 2022-02-01 13:26:34 +03:00
0128a8966a Добавляем ds18b20 в конфиг для тестирования и адаптируем к новой инициализации базового класса 2022-02-01 13:03:19 +03:00
9ca620ada4 Адаптируем модуль AnalogAdc к новой инициализации базового класса 2022-02-01 12:52:19 +03:00
4eae1055e7 Пушим настроки единым блоком глубже в базовый класс IoTSensor для дальнейшего развития и добавления модификаторов результата через параметры без изменения кода модулей. Плюс упрощается модуль. 2022-02-01 12:51:34 +03:00
71dcd0626b Переходим с имени key на subtype для IoTSensor 2022-02-01 12:30:13 +03:00
Dmitry Borisenko
9ec724ccff начал писать систему формирования виджетов 2022-02-01 00:42:31 +01:00
Dmitry Borisenko
c2b2997952 убрал лишнее из config json 2022-01-30 21:52:30 +01:00
Dmitry Borisenko
0eab9ec7d8 авто ip 2022-01-30 21:47:16 +01:00
Dmitry Borisenko
b9d8443724 версия с решенными вопросами api взаимодействия веба 2022-01-30 17:44:45 +01:00
Dmitry Borisenko
5c6b50f40a 1 2022-01-29 00:35:54 +01:00
Dmitry Borisenko
01690b1b3e улучшения 2022-01-29 00:23:53 +01:00
Dmitry Borisenko
c85824f67f модифицированна функция записи файла 2022-01-28 23:39:03 +01:00
Dmitry Borisenko
5ec1e59957 небольшие доработки 2022-01-28 00:47:13 +01:00
Dmitry Borisenko
70edd92238 начал добавление виджетов 2022-01-26 00:03:43 +01:00
Dmitry Borisenko
ec93e1de04 финальная рабочая версия 2022-01-25 22:21:38 +01:00
Dmitry Borisenko
553bc4e00d избавился от string в приеме веб сокетов 2022-01-25 22:17:55 +01:00
Dmitry Borisenko
3353194e2f рабочая версия с файлообменом 2022-01-25 20:59:37 +01:00
Dmitry Borisenko
719929445a 123 2022-01-25 01:41:14 +01:00
Dmitry Borisenko
1b4380dd2f функция посылки в сокеты 2022-01-25 00:14:23 +01:00
Dmitry Borisenko
9d56087973 реорганизация файлов, перенос лишнего, рабочая версия 2022-01-24 22:28:33 +01:00
Dmitry Borisenko
eca80d7dba в процессе 2022-01-24 00:57:22 +01:00
Dmitry Borisenko
9f05eccb26 общение через веб сокет 2022-01-22 00:15:49 +01:00
Dmitry Borisenko
6318fb4af0 новая система отправки файла в сокеты 2022-01-21 17:34:11 +01:00
Dmitry Borisenko
90c35e3a36 избавились от падлы что жрала оперативку 2022-01-20 13:54:09 +01:00
Dmitry Borisenko
f893a3623d проверка 2022-01-20 13:36:00 +01:00
Dmitry Borisenko
c4a3dec67c откат изменений из-за потери оперативной памяти 2022-01-20 13:07:37 +01:00
Dmitry Borisenko
8229e0b116 web 2022-01-19 23:11:00 +01:00
Dmitry Borisenko
221ad5f5d4 добавил очередь отправки файлов в сокеты 2022-01-19 22:54:33 +01:00
Dmitry Borisenko
003c130eef Добавил три типа очередей: очередь сущностей, очередь структур, и очередь char 2022-01-19 21:05:32 +01:00
Dmitry Borisenko
5bdecdda04 добавил очередь из сущностей 2022-01-19 18:03:57 +01:00
Dmitry Borisenko
629d7b798f добавил класс очереди microsoft 2022-01-19 16:32:54 +01:00
Dmitry Borisenko
a4fa6ad389 добавил буффер char 2022-01-19 00:18:06 +01:00
Dmitry Borisenko
3abad88fc3 поменял немного общий список виджетов 2022-01-17 22:19:08 +01:00
IoT Manager
b43bfd378b Merge pull request #120 from biveraxe/ver4dev
Портируем ds18b20
2022-01-17 21:52:53 +01:00
694bac8c77 Портируем ds18b20 2022-01-17 13:42:48 +03:00
Dmitry Borisenko
ce7cd1a680 обновил веб интерфейс 2022-01-17 00:12:03 +01:00
Dmitry Borisenko
775d7a11ad Добавил массив виджетов и реализовал их отправку 2022-01-17 00:06:50 +01:00
Dmitry Borisenko
ee322ce185 откат изменения 2022-01-16 14:11:24 +01:00
IoT Manager
cc5b6d9907 Merge pull request #119 from IoTManagerProject/revert-118-ver4dev
Revert "Портируем DS18B20"
2022-01-16 13:32:23 +01:00
IoT Manager
5e70aa90cf Revert "Портируем DS18B20" 2022-01-16 13:31:05 +01:00
IoT Manager
46be36aa69 Merge pull request #118 from biveraxe/ver4dev
Портируем DS18B20
2022-01-16 13:10:36 +01:00
c8bd073cf8 Добавляем возможность получения первичной настройки из модуля 2022-01-16 12:03:02 +03:00
db36e79058 Merge branch 'IoTManagerProject:ver4dev' into ver4dev 2022-01-16 13:15:46 +05:00
b79233d6fb Подключаем DS18B20 2022-01-16 13:13:01 +05:00
02436d53d5 Портируем DS18B20 2022-01-16 13:11:04 +05:00
Dmitry Borisenko
1637b76739 Merge pull request #117 from biveraxe/ver4dev
Правки кода по работе с модулями
2022-01-16 08:34:54 +01:00
6e1f34136f Правки кода по работе с модулями 2022-01-16 12:17:53 +05:00
Dmitry Borisenko
f01fea9bac начал писать систему формирования виджетов 2022-01-15 23:29:52 +01:00
Dmitry Borisenko
7f5b78b695 ввел в работу mqtt 2022-01-15 19:11:01 +01:00
Dmitry Borisenko
a9c07e8865 комментарии 2022-01-15 17:41:12 +01:00
Dmitry Borisenko
ccead93da4 комментарии 2022-01-15 17:34:56 +01:00
Dmitry Borisenko
cb97fc7477 комментирование сенсора, инструкция по интеграции 2022-01-15 17:29:38 +01:00
Dmitry Borisenko
dd775eb454 избавился от h файла сенсора для удобства интеграции новых сенсоров пользователями 2022-01-15 17:10:14 +01:00
Dmitry Borisenko
a4a8c75206 упростил код сенсора 2022-01-15 16:41:25 +01:00
Dmitry Borisenko
ea68905f4e рабочая версия с аналоговым сенсором 2022-01-15 16:30:34 +01:00
Dmitry Borisenko
b6c714bec8 запустил первый сенсор в прошивке 4 той версии 2022-01-15 02:01:22 +01:00
Dmitry Borisenko
2f4a280dcf затрахало 2022-01-15 00:14:36 +01:00
Dmitry Borisenko
063e818c87 добавил класс сенсора и наследующий класс аналогового сенсора 2022-01-14 22:51:28 +01:00
Dmitry Borisenko
e6e3497c40 добавил сценарии и класс сенсора 2022-01-14 21:48:43 +01:00
Dmitry Borisenko
a18552c4f4 добавил возможные ошибки в файле конфигурации 2022-01-14 20:47:24 +01:00
Dmitry Borisenko
d4f9069f6f добавил функцию конфигуратора esp 2022-01-14 20:42:11 +01:00
Dmitry Borisenko
6f8d88d155 ... 2022-01-14 20:23:22 +01:00
Dmitry Borisenko
1fda00d5ca ... 2022-01-14 20:22:52 +01:00
Dmitry Borisenko
efd461b8e6 ... 2022-01-14 15:46:43 +01:00
Dmitry Borisenko
6336cb5248 ... 2022-01-14 15:46:08 +01:00
Dmitry Borisenko
18bb63ec8c синхронизация Main с большой буквы 2022-01-14 15:45:02 +01:00
Dmitry Borisenko
0d21f693c3 комментарий 2022-01-14 15:41:39 +01:00
Dmitry Borisenko
3e558175f9 добавил MQTT, не рабочая версия 2022-01-10 23:37:21 +01:00
Dmitry Borisenko
b2ad5102d1 убрал русские символы 2022-01-10 16:49:01 +01:00
Dmitry Borisenko
a353e65ed9 обновление веб интерфейса 2021-12-31 00:01:09 +01:00
Dmitry Borisenko
9397bac72e сокеты 2021-12-30 23:58:56 +01:00
Dmitry Borisenko
be35992c84 добавил наследника для класса отправки в сокеты 2021-12-28 00:01:01 +01:00
Dmitry Borisenko
4a7b130b26 обновил веб интерфейс 2021-12-27 22:47:43 +01:00
Dmitry Borisenko
2bf86e7092 последняя файловая ситема 2021-12-26 00:36:05 +01:00
Dmitry Borisenko
bec09df96f добавил основные типы и сущности 2021-12-25 23:12:48 +01:00
Dmitry Borisenko
7bd8a4bac7 изменил слегка веб интерфейс 2021-12-25 02:40:36 +01:00
Dmitry Borisenko
954192e5f9 обмен данными меджу флешь esp и веб страничкой 2021-12-25 01:52:25 +01:00
Dmitry Borisenko
11120a873f json обмен между вебом и esp 2021-12-25 00:19:58 +01:00
Dmitry Borisenko
875f5009c2 добавил новые json утилиты 2021-12-24 22:49:06 +01:00
Dmitry Borisenko
dbe11162e5 рабочая для 8266 версия 2021-12-24 01:26:50 +01:00
Dmitry Borisenko
756363397b добавил класс стрима массива в сокеты 2021-12-24 00:44:11 +01:00
Dmitry Borisenko
d73657d39a небольшие исправления 2021-12-24 00:06:37 +01:00
Dmitry Borisenko
a19a12c7d4 Добавил библиотечные веб сокеты, проверенная версия. 2021-12-23 23:47:13 +01:00
Dmitry Borisenko
401aaa727e финальная версия с двумя серверами esp8266 и esp32 2021-12-23 22:56:45 +01:00
Dmitry Borisenko
9d0841df99 теперь можно выбирать из двух: стандартный или асинхронный веб сервер 2021-12-23 22:42:19 +01:00
Dmitry Borisenko
940a5a7ee9 добавил возможность отключать веб сервер 2021-12-23 18:18:32 +01:00
Dmitry Borisenko
667b30dcf9 мелкие исправления 2021-12-23 17:55:46 +01:00
Dmitry Borisenko
44ccbe7ed7 прошивка работает и для esp32 2021-12-23 17:48:01 +01:00
Dmitry Borisenko
7147e041b4 добавил асинхронный веб сервер и веб сокеты, проверенный код 2021-12-23 00:33:45 +01:00
Dmitry Borisenko
f20486517b запустил wifi, версия проверенная на устройстве 2021-12-22 23:47:35 +01:00
Dmitry Borisenko
0262fa985b добавил wifi версия которая компилируется 2021-12-22 23:33:47 +01:00
Dmitry Borisenko
5f605a8e7c комментарии и очищение от лишнего 2021-12-22 21:18:27 +01:00
Dmitry Borisenko
d18463bfe1 добавил централизованную функцию serial print и утилиты времени 2021-12-22 21:13:24 +01:00
Dmitry Borisenko
7a76ddcc93 Pretty функционал будет в утилитах 2021-12-22 14:52:45 +01:00
Dmitry Borisenko
d208bbd426 Организация файлов, компилируемая версия 2021-12-22 14:49:25 +01:00
Dmitry Borisenko
24a9d55ea0 first 2021-12-22 14:09:50 +01:00
Dmitry Borisenko
5e9b15e7de delete 2021-12-22 14:06:24 +01:00
Dmitry Borisenko
1ed5c81eb7 Merge branch 'ver4' of https://github.com/IoTManagerProject/IoTManager into ver4 2021-12-21 22:10:44 +01:00
Dmitry Borisenko
70add780bd first 2021-12-21 22:10:35 +01:00
Dmitry Borisenko
02a2e42ece Merge pull request #108 from DmitryBorisenko33/ver4
Ver4
2021-12-21 22:01:59 +01:00
Dmitry Borisenko
01b0a7d53e ver4 2021-12-21 21:58:56 +01:00
Dmitry Borisenko
b0b8203fec много изменений 2021-12-21 19:01:43 +01:00
Dmitry Borisenko
a5d2650507 last 2021-12-21 00:47:55 +01:00
Dmitry Borisenko
16cecfb353 кольцевой буфер 2021-12-21 00:30:05 +01:00
Dmitry Borisenko
329d1cd382 рабочая версия выгрузки длинного пассива в веб 2021-12-20 20:46:16 +01:00
Dmitry Borisenko
d3046a921f websocket try to send array 2021-12-20 02:19:54 +01:00
Dmitry Borisenko
6868e94971 немного изменил 2021-12-20 00:17:55 +01:00
Dmitry Borisenko
cc72c766ea Merge pull request #102 from DmitryBorisenko33/ver4
ws
2021-12-19 21:26:13 +01:00
Dmitry Borisenko
d6e396bd7c ws 2021-12-19 21:18:50 +01:00
Dmitry Borisenko
e7f503da8f Merge pull request #100 from DmitryBorisenko33/ver4
Ver4
2021-12-17 17:54:16 +01:00
Dmitry Borisenko
cecf83357a delet dalay (use it for test) 2021-12-17 14:12:46 +01:00
Dmitry Borisenko
15b55a1c83 122 2021-12-16 21:41:00 +01:00
Dmitry Borisenko
959332b65d выгрузка длинного конфига 2021-12-16 01:56:14 +01:00
Dmitry Borisenko
618b2b5275 test 2021-12-16 01:35:46 +01:00
Dmitry Borisenko
f7a97c2d36 отправка конфига в сокеты 2021-12-16 00:19:08 +01:00
Dmitry Borisenko
715d20c21f добавил ответ конфигом на запрос 2021-12-13 02:36:55 +01:00
Dmitry Borisenko
b8a8290928 compiling 2021-12-13 00:58:42 +01:00
Dmitry Borisenko
7486ba7438 compiling version 2021-12-13 00:58:16 +01:00
Dmitry Borisenko
2a79a5880f progress 2021-12-07 22:20:00 +01:00
Dmitry Borisenko
1af7687064 some 2021-12-06 01:27:33 +01:00
Dmitry Borisenko
f8307dcb5e final 2021-12-05 00:50:52 +01:00
Dmitry Borisenko
2573e73b3a ws started 2021-12-04 22:19:03 +01:00
Dmitry Borisenko
eae59e3947 change wifi name 2021-12-03 00:05:18 +01:00
Dmitry Borisenko
413eabd87e swelte web update 2021-10-16 21:59:42 +08:00
Dmitry Borisenko
eec67b8bc2 svelte web correction 2021-10-10 23:31:59 +08:00
Dmitry Borisenko
2e04a980cc test completed - working 2021-10-09 19:49:43 +00:00
Dmitry Borisenko
752e09a71d test json 6 2021-10-09 19:44:09 +00:00
Dmitry Borisenko
bd6fa0fc37 json utils updated 2021-10-09 18:48:02 +00:00
Dmitry Borisenko
7218411e34 ready for programming 2021-10-09 18:16:43 +00:00
Dmitry Borisenko
e3c8ca57a2 400 2021-10-09 18:06:30 +00:00
Dmitry Borisenko
5029ea62ce test 2021-10-09 18:03:54 +00:00
Dmitry Borisenko
c6d3b8b91f stable 2021-10-09 05:12:49 +08:00
Dmitry Borisenko
060d44eb74 303 arduino json 6 2021-10-09 04:33:54 +08:00
Dmitry Borisenko
cceb43e8ad FINAL 2021-10-08 20:19:25 +08:00
Dmitry Borisenko
08d3ab8754 json 6 version 2021-10-08 20:12:01 +08:00
Dmitry Borisenko
2fce26ff29 arduino json 6 2021-10-08 18:33:35 +08:00
Dmitry Borisenko
2d974dc9b9 first 2021-10-08 18:07:23 +08:00
Dmitry Borisenko
b6c5f50123 302 2021-10-06 05:56:01 +08:00
Dmitry Borisenko
b077d31e83 test 2021-10-05 20:52:13 +00:00
Dmitry Borisenko
5ff0e8a5c1 302 2021-10-05 19:42:17 +08:00
Dmitry Borisenko
3f5d7e8b6e fixed versions 2021-10-05 19:26:09 +08:00
Dmitry Borisenko
421f3fcb9a recovery 2021-10-05 19:21:52 +08:00
Dmitry Borisenko
74c31e30ea delete 2021-10-05 19:19:14 +08:00
IoTManagerProject
60a292a2f5 Merge pull request #78 from IoTManagerProject/beta
Beta
2021-01-07 01:21:39 +01:00
Dmitry Borisenko
cbf0d372c9 278 Исправлена ошибка логгирования на esp01 и esp32 2021-01-06 04:42:23 +01:00
Dmitry Borisenko
e1b96cd287 277 исправил баг с уз дальномером 2021-01-06 03:26:55 +01:00
IoTManagerProject
0b5d7236aa Merge pull request #77 from IoTManagerProject/beta
Исправил баг с обновлением по воздуху
2021-01-05 17:07:21 +01:00
Dmitry Borisenko
bce8723ecf Исправил баг с обновлением по воздуху 2021-01-05 16:53:22 +01:00
Dmitry Borisenko
b7fcedb6c3 Merge pull request #76 from IoTManagerProject/beta
Beta
2021-01-05 15:11:51 +01:00
Dmitry Borisenko
54cb92d2bb esp32 adc bug 2021-01-05 14:57:01 +01:00
Dmitry Borisenko
6902d57be2 Исправил Uptime и ccs811 2021-01-05 12:17:48 +01:00
Dmitry Borisenko
57c12e43f1 Merge pull request #75 from IoTManagerProject/beta
ccs811 полная интеграция
2021-01-05 03:54:48 +01:00
Dmitry Borisenko
c72af8650b ccs811 полная интеграция 2021-01-05 03:48:52 +01:00
Dmitry Borisenko
a68dfb37fc Merge pull request #74 from IoTManagerProject/beta
Beta
2021-01-04 16:57:58 +01:00
Dmitry Borisenko
3cdd8fc2b9 Отремантировал uptime 2021-01-04 16:56:20 +01:00
Dmitry Borisenko
a4ae02736c Добавил сенсор ccs811 2021-01-04 01:49:57 +01:00
Dmitry Borisenko
e822414187 Uptime 2021-01-04 01:17:11 +01:00
Dmitry Borisenko
4e630fd0b0 275 2021-01-04 01:02:54 +01:00
Dmitry Borisenko
988fb94c52 Merge pull request #73 from IoTManagerProject/beta
Beta
2021-01-04 00:51:56 +01:00
Dmitry Borisenko
9906fade9a cleaning 2021-01-04 00:51:25 +01:00
Dmitry Borisenko
4cf68f417f readme 2021-01-04 00:49:35 +01:00
Dmitry Borisenko
05f726e378 doc 2021-01-04 00:48:44 +01:00
Dmitry Borisenko
75a7d4e16a Merge pull request #72 from IoTManagerProject/LastStableVersion
pr
2021-01-04 00:44:25 +01:00
Dmitry Borisenko
691126a2d0 Merge pull request #71 from IoTManagerProject/beta
Beta
2021-01-04 00:40:53 +01:00
Dmitry Borisenko
5eb3c6d3a3 first 2021-01-04 00:39:35 +01:00
Dmitry Borisenko
bf9855aa60 remoove all 2021-01-04 00:33:32 +01:00
Dmitry Borisenko
50c616c61b Merge branch 'LastStableVersion' of https://github.com/IoTManagerProject/IoTManager into LastStableVersion 2021-01-04 00:31:42 +01:00
Dmitry Borisenko
2d2148d2c4 Поддержка нескольких DHT 2021-01-03 19:44:09 +01:00
Dmitry Borisenko
6ae001232d telegram 2021-01-03 02:14:12 +01:00
Dmitry Borisenko
965b09cc78 Доп 2021-01-03 01:20:38 +01:00
Dmitry Borisenko
a8534c4a73 Партии выгрузки в логгировании 2021-01-03 00:33:04 +01:00
Dmitry Borisenko
401564a778 Проверка дробей и отрицательных чисел 2021-01-02 13:07:45 +01:00
Dmitry Borisenko
673bfe6b6b переписано логгирование 2021-01-02 04:27:19 +01:00
Dmitry Borisenko
f8d574d15a change 2021-01-02 03:28:43 +01:00
Dmitry Borisenko
e39806e0ac попытка использовать альтнрнативный метод поиска 2021-01-02 03:26:16 +01:00
Dmitry Borisenko
0fa7876b80 исправлена опечатка 2020-12-30 17:02:11 +01:00
Dmitry Borisenko
7eac8dde3b Возможность быстрого переключения прошивок 2020-12-30 16:56:26 +01:00
Dmitry Borisenko
746ecc9c7a некоторые изменения 2020-12-30 14:04:42 +01:00
Dmitry Borisenko
dad08c1686 Версия для esp32 2020-12-30 13:48:29 +01:00
Dmitry Borisenko
e0bb6d58e8 исправлена проблема с дробными числами 2020-12-27 01:26:19 +01:00
Dmitry Borisenko
a30dc04055 274 2020-12-26 23:24:37 +01:00
Dmitry Borisenko
454922b8b4 get mqtt remote 2020-12-26 23:10:07 +01:00
Dmitry Borisenko
02c363f1d6 dht preset 2020-12-26 16:31:10 +01:00
Dmitry Borisenko
d20f30d5e9 fix dht 2020-12-26 16:28:58 +01:00
Dmitry Borisenko
ddc3a92c15 переписан полностью датчик bme и bmp 2020-12-26 01:22:43 +01:00
Dmitry Borisenko
e33ec57a1e fixed dht22 bug 2020-12-25 22:07:27 +01:00
Dmitry Borisenko
7e4f852bf1 cleaning 2020-12-24 02:01:58 +01:00
Dmitry Borisenko
1a097ff2b7 change table 2020-12-24 01:58:14 +01:00
Dmitry Borisenko
99134cb6fd dht working 2020-12-24 01:41:15 +01:00
Dmitry Borisenko
5955743426 dht пока без коробки 2020-12-24 01:05:54 +01:00
Dmitry Borisenko
5c664594af in progress not working version!!! 2020-12-22 12:38:05 +01:00
Dmitry Borisenko
0df63ba642 последние изменения 2020-12-21 20:51:59 +01:00
Dmitry Borisenko
d9672d17b0 переписан dht 2020-12-21 01:46:11 +01:00
Dmitry Borisenko
c5772f8451 баг аналогового сенсора исправлен 2020-12-20 17:44:40 +01:00
Dmitry Borisenko
1df87f8986 устранен баг телеграма, баг сценариев.... 2020-12-20 17:08:16 +01:00
Dmitry Borisenko
3417d0c915 1мб 4мб переключение версий 2020-12-20 14:11:59 +01:00
Dmitry Borisenko
f4e917afba Merge pull request #69 from IoTManagerProject/alpha
mqtt reserve #2
2020-12-20 13:04:06 +01:00
Yuri Trikoz
2aa3b56e85 #SPIFFS 2020-12-20 01:24:08 +03:00
Yuri Trikoz
e60d5eb62f mqtt reserve #2 2020-12-19 20:12:31 +03:00
Dmitry Borisenko
6573b2c145 удалил little fs для esp32 из lib 2020-12-19 15:27:45 +01:00
Dmitry Borisenko
017c6f6234 размер страницы и размер блока 2020-12-19 14:18:22 +01:00
Dmitry Borisenko
305b3f32d6 1мб версия для теста с пресетами и с edit 2020-12-19 14:06:58 +01:00
Dmitry Borisenko
5280a8914f some 2020-12-19 13:51:53 +01:00
Dmitry Borisenko
cab8aff562 fixed var type 2020-12-19 13:39:04 +01:00
Dmitry Borisenko
4711af6589 fixed 2020-12-19 13:31:38 +01:00
Dmitry Borisenko
fe029a624c some 2020-12-19 00:10:45 +01:00
Dmitry Borisenko
17162a2d85 memory remain 2020-12-18 23:52:35 +01:00
Dmitry Borisenko
433d28a785 wrong pin error warning added 2020-12-18 23:20:42 +01:00
Dmitry Borisenko
19f728e209 prime and sec broker 2020-12-18 21:48:06 +01:00
Dmitry Borisenko
07b75afb94 Merge pull request #68 from ytrikoz/beta
FS info
2020-12-18 20:26:33 +01:00
Dmitry Borisenko
916116bbc4 Merge branch 'beta' into beta 2020-12-18 20:26:23 +01:00
Dmitry Borisenko
9ac72f14e0 telegram 2020-12-18 14:28:31 +01:00
Yuri Trikoz
eddb2eb289 Mqtt Reserve 2020-12-18 13:43:13 +03:00
Yuri Trikoz
5f9d9ec48e Use system defined led 2020-12-18 04:44:23 +03:00
Yuri Trikoz
0d6d1a7f6c FSInfo 2020-12-18 04:39:44 +03:00
Dmitry Borisenko
a467117df9 change to 4mb 2020-12-18 00:53:39 +01:00
Dmitry Borisenko
0bb028229a ziped data 2020-12-17 22:59:44 +01:00
Dmitry Borisenko
ce383fe7fe global change 1 mb working version 2020-12-17 22:48:20 +01:00
Dmitry Borisenko
2e240def88 working version 2020-12-17 02:01:12 +01:00
Dmitry Borisenko
245475ae99 full change of constuction 2020-12-17 01:29:30 +01:00
Yuri Trikoz
c4df80e904 Merge pull request #1 from IoTManagerProject/beta
Beta
2020-12-16 21:37:52 +03:00
Dmitry Borisenko
d5826b7038 1mb 2020-12-16 19:30:39 +01:00
Dmitry Borisenko
8f08459a5a 1mb 2020-12-16 19:28:44 +01:00
Dmitry Borisenko
2fc82c3311 Merge pull request #67 from ytrikoz/beta
pemz
2020-12-16 18:52:36 +01:00
Dmitry Borisenko
078c4389b5 1 mb compiling version 2020-12-16 13:59:01 +01:00
Dmitry Borisenko
9934690d0a some 2020-12-15 22:10:40 +01:00
Yuri Trikoz
b8a9f9b6b3 pemz 2020-12-13 02:23:04 +03:00
Dmitry Borisenko
9fd88ffae1 4mb build version 2020-12-13 01:06:08 +03:00
Dmitry Borisenko
9a7f6c5b05 4 mb version 2020-12-13 00:59:56 +03:00
Dmitry Borisenko
ef01d08053 Merge pull request #65 from ytrikoz/LastStableVersion
Remote build changes 1/x
2020-12-13 00:54:21 +03:00
Dmitry Borisenko
9a8061a84d Merge pull request #66 from saloid/patch-1
Fix typo in readme
2020-12-13 00:53:40 +03:00
Dmitry Borisenko
e9820efff9 1_mb_final 2020-12-12 01:14:31 +03:00
Dmitry Borisenko
b2385bbc4c 1 мб version 2020-12-12 00:43:36 +03:00
Dmitry Borisenko
3e5d9770a1 272 2020-12-11 17:37:29 +03:00
Dmitry Borisenko
71468599fe stability of san 2020-12-11 03:21:50 +03:00
Dmitry Borisenko
71c8fec27b bug fixed 2020-12-10 20:19:21 +03:00
Dmitry Borisenko
f487a691fb uart working version 2020-12-10 19:12:15 +03:00
Dmitry Borisenko
d17112b3ff uart 2020-12-10 05:13:09 +03:00
Dmitry Borisenko
81866043bc bug with virtual button fixed 2020-12-10 02:11:47 +03:00
Dmitry Borisenko
253a9a5ae5 Some more 2020-12-09 04:35:39 +03:00
Dmitry Borisenko
5c774c29bd some 2020-12-09 04:12:46 +03:00
Dmitry Borisenko
6205f6959c Gisteresis termostat 2020-12-09 04:08:36 +03:00
Dmitry Borisenko
6e44f76385 UART working condition 2020-12-06 02:08:37 +03:00
Dmitry Borisenko
8dd4d8491c UART in Progress 2020-12-06 00:59:47 +03:00
Dmitry Borisenko
4436991205 esp32 uart 2020-12-06 00:40:48 +03:00
Dmitry Borisenko
d15cf619f1 Fixed Ultrasonic, Start uart 2020-12-06 00:34:30 +03:00
Dmytro
9a2bdb54d1 Fix typo in readme 2020-12-02 22:30:21 +02:00
Dmitry Borisenko
7043855e3d randomSeed 2020-12-02 05:05:16 +03:00
Dmitry Borisenko
49f11841be Telegram 2020-12-02 04:50:29 +03:00
Dmitry Borisenko
e88718ada0 268 Single Scenario changed to MQTT source 2020-12-02 04:12:10 +03:00
Yuri Trikoz
0fc7cccda7 #remote build 2020-12-01 21:40:33 +03:00
Dmitry Borisenko
38924e4ed3 Single network space for scenario added 2020-11-21 06:03:02 +03:00
Dmitry Borisenko
70c34d3d8d Cleaning and optimization 2020-11-19 04:14:52 +03:00
Dmitry Borisenko
4f9763334b fix some more bugs 2020-11-18 13:29:53 +03:00
Dmitry Borisenko
b2e9d90686 timer bug fully fixed 2020-11-18 13:18:08 +03:00
Dmitry Borisenko
ceb516ddbe add count down timer 2020-11-18 03:25:05 +03:00
Dmitry Borisenko
06df1f17b6 Progress of renew of class 2020-11-17 01:01:42 +03:00
Dmitry Borisenko
a20c2b8564 Save date to flash added 2020-11-16 18:47:09 +03:00
Dmitry Borisenko
3c3a4a33ca RSSI to web interface added 2020-11-16 13:58:26 +03:00
Dmitry Borisenko
28c24562bc pic 2020-11-16 00:51:03 +03:00
Dmitry Borisenko
d0ef8ec82e new 2020-11-15 22:57:21 +03:00
Dmitry Borisenko
452110225d new 2020-11-15 22:55:21 +03:00
Dmitry Borisenko
bdc9cd9b31 123 2020-11-15 22:49:27 +03:00
Dmitry Borisenko
6cd60c9eef h 2020-11-15 22:48:17 +03:00
Dmitry Borisenko
3e9da81b8c p 2020-11-15 22:40:46 +03:00
Dmitry Borisenko
2e73eac2f1 13 2020-11-15 22:39:38 +03:00
Dmitry Borisenko
6f45148d75 cleaning 2020-11-15 03:09:21 +03:00
Dmitry Borisenko
3766a744f4 bug fixed with scenario init 2020-11-15 02:52:24 +03:00
Dmitry Borisenko
94d93d3be6 Working version 2020-11-15 02:46:27 +03:00
Dmitry Borisenko
d6aab0cf94 Big changes. Compiling version 2020-11-15 01:44:25 +03:00
Dmitry Borisenko
6135f3322e some 2020-11-14 23:00:09 +03:00
Dmitry Borisenko
b53e7d15a4 pic 2020-11-14 04:21:24 +03:00
Dmitry Borisenko
7daa49083b pic 2020-11-14 04:06:59 +03:00
Dmitry Borisenko
68dc9c7bb3 pic 2020-11-14 04:00:02 +03:00
Dmitry Borisenko
b5cf1fd347 pic 2020-11-14 03:57:39 +03:00
Dmitry Borisenko
22f44afa1e pic 2020-11-14 03:49:44 +03:00
Dmitry Borisenko
964abc9f0c pic 2020-11-14 03:45:38 +03:00
Dmitry Borisenko
dfae6ebf09 Add files via upload 2020-11-14 03:39:48 +03:00
Dmitry Borisenko
50ad50efb2 ButtonOut changed (not working version) 2020-11-13 17:13:50 +03:00
Dmitry Borisenko
96f160fc88 editor changed 2020-11-13 02:58:45 +03:00
Dmitry Borisenko
8bfba7ab4a some change 2020-11-08 18:36:36 +03:00
Dmitry Borisenko
6d52a181f0 udp changed for Vadim 2020-11-08 18:27:01 +03:00
Dmitry Borisenko
044dd6294e Update README.md 2020-11-08 03:09:48 +03:00
Dmitry Borisenko
c2baece068 Update README.md 2020-11-08 03:09:17 +03:00
Dmitry Borisenko
9d6ec18bb2 add one more preset 2020-11-07 02:51:44 +03:00
Dmitry Borisenko
50a5d51281 Merge pull request #63 from IoTManagerProject/beta
Beta
2020-11-07 01:40:13 +03:00
Dmitry Borisenko
709a1fe1f7 267 Scenario bug fully fixed Stable 2020-11-07 01:11:32 +03:00
Dmitry Borisenko
1f46226a46 fixed scenario bug 2020-11-06 20:17:49 +03:00
Dmitry Borisenko
8cd84a09e2 Merge pull request #62 from IoTManagerProject/beta
Beta
2020-11-06 00:18:48 +03:00
Dmitry Borisenko
e52437b828 266 (fix scenario bug) 2020-11-05 17:27:18 +03:00
Dmitry Borisenko
1f69019bb3 265 Telegram support added 2020-11-05 02:23:08 +03:00
Dmitry Borisenko
2cad740fc6 telegram bot added (working version) 2020-11-04 23:48:21 +03:00
Dmitry Borisenko
aec1d50732 264 2020-11-03 22:49:57 +03:00
Dmitry Borisenko
8817c532f4 esp32 compiling version 2020-11-03 22:45:43 +03:00
Dmitry Borisenko
3d42b96676 Merge pull request #61 from IoTManagerProject/beta
Beta
2020-11-03 19:10:53 +03:00
Dmitry Borisenko
9845f010fd some 2020-11-03 19:07:59 +03:00
Dmitry Borisenko
c02abefb43 264 stable. Dallas bug fixed! 2020-11-03 19:07:22 +03:00
Dmitry Borisenko
aba00d9a70 compiling version 2020-11-03 01:22:00 +03:00
Dmitry Borisenko
0efae6949d presets added 2020-11-03 00:04:07 +03:00
Dmitry Borisenko
777a04b901 impuls bug fixed 2020-11-02 15:20:04 +03:00
Dmitry Borisenko
50590bc90e fixed some bugs 2020-11-02 04:09:15 +03:00
Dmitry Borisenko
0bfc876c65 263 Impuls added 2020-11-02 01:21:51 +03:00
Dmitry Borisenko
518a0e0404 Impuls generator in progress 2020-11-01 16:50:44 +03:00
IoTManagerProject
245db32e0b Merge pull request #60 from IoTManagerProject/beta
262
2020-11-01 05:03:47 +03:00
Dmitry Borisenko
24de398a32 262 2020-11-01 05:02:59 +03:00
IoTManagerProject
b2163c7626 Merge pull request #59 from IoTManagerProject/beta
Beta
2020-11-01 04:50:26 +03:00
Dmitry Borisenko
d96aea8eef 262 Logging added, working version 2020-11-01 04:48:35 +03:00
Dmitry Borisenko
1126575822 logging and udp 2020-11-01 02:52:57 +03:00
Dmitry Borisenko
8445dd3b0c Logging in progress 2020-11-01 00:03:08 +03:00
Dmitry Borisenko
b7a98e19d2 vector final working version 2020-10-31 21:12:55 +03:00
Dmitry Borisenko
ff12345b12 logging class working vector 2020-10-31 21:07:49 +03:00
Dmitry Borisenko
0385beccdd add logging class (not working version) 2020-10-27 02:13:45 +03:00
IoTManagerProject
f3a6add753 Merge pull request #58 from IoTManagerProject/beta
261
2020-10-21 22:52:30 +03:00
Dmitry Borisenko
e984768a8d some 2020-10-21 01:51:13 +03:00
Dmitry Borisenko
fb218fea76 open long names 2020-10-21 01:46:47 +03:00
Dmitry Borisenko
600e66c345 261 2020-10-21 01:08:24 +03:00
Dmitry Borisenko
29e5a55ad3 Optimization 2020-10-20 23:58:23 +03:00
Dmitry Borisenko
a5171f1178 Optimization 2020-10-20 22:55:45 +03:00
IoTManagerProject
a18f95d4e5 Create README.md 2020-10-20 17:54:33 +03:00
Dmitry Borisenko
6064b9eac9 260 add uptime to iot manager 2020-10-20 17:22:26 +03:00
Dmitry Borisenko
c389792081 259 2020-10-20 01:40:40 +03:00
Dmitry Borisenko
7f0993f33b update 2020-10-19 02:23:26 +03:00
Dmitry Borisenko
56e98e27f6 some changes 2020-10-19 02:01:43 +03:00
Dmitry Borisenko
bea7afd057 fix ota update for esp32 2020-10-19 01:44:06 +03:00
Dmitry Borisenko
cfd9d5baa0 esp32 version 2020-10-19 01:21:20 +03:00
Dmitry Borisenko
b43fd9e389 update little fs lib to last version 2020-10-19 00:46:38 +03:00
Dmitry Borisenko
92371f01da esp32 compiling version 2020-10-19 00:20:49 +03:00
Dmitry Borisenko
5b72a9b37f 258 test version 2020-10-18 22:23:19 +03:00
Dmitry Borisenko
d2855270cf Merge pull request #54 from ytrikoz/beta
ESP32 target build
2020-10-18 21:18:38 +02:00
Yuri Trikoz
8778de1ffd -40b 2020-10-18 10:17:24 +03:00
Yuri Trikoz
281f338f97 Typos with Asinc and \ in path 2020-10-18 09:52:17 +03:00
Yuri Trikoz
d3ad04eae6 https://en.cppreference.com/w/c/comment 2020-10-18 09:39:37 +03:00
Yuri Trikoz
74b526e2f1 new platformio lib_deps format 2020-10-18 09:38:24 +03:00
Yuri Trikoz
6426959060 ESP32 SSDP 2020-10-18 02:27:08 +03:00
Yuri Trikoz
cd9a6c98fa SSDP_EN 2020-10-18 01:47:02 +03:00
Yuri Trikoz
3bafbb88df ESP32 target 2020-10-18 00:07:57 +03:00
Yuri Trikoz
eaef10aee2 Merge pull request #1 from IoTManagerProject/beta
Beta
2020-10-17 22:58:00 +03:00
Dmitry Borisenko
d9556f5b31 257 Median filter added to ultasonic 2020-10-12 01:30:24 +03:00
Dmitry Borisenko
a1eb94c4b3 256 stable 2020-10-10 12:38:29 +03:00
Dmitry Borisenko
5b6128ca21 254 fixed bug of items list 2020-10-10 12:04:40 +03:00
Dmitry Borisenko
65456398ac 253 2020-10-10 02:40:04 +03:00
Dmitry Borisenko
23fc8ec469 time working 2020-10-10 02:36:23 +03:00
Dmitry Borisenko
3607c26ae0 251 2020-10-10 02:03:05 +03:00
Dmitry Borisenko
54841d59cf 252 added delete function in items list 2020-10-10 01:44:11 +03:00
Dmitry Borisenko
8bf136373c 251 fixed ultrasonic bug 2020-10-07 11:39:08 +03:00
Dmitry Borisenko
716aa697dc 250 fixed list bug 2020-10-05 01:09:00 +03:00
Dmitry Borisenko
12cdefd531 249 button bug fixed 2020-10-05 00:03:53 +03:00
Dmitry Borisenko
19bc027083 249 2020-10-04 23:54:41 +03:00
Dmitry Borisenko
1e4206f31d 248 2020-10-04 02:45:26 +03:00
Dmitry Borisenko
d6cb8b8d9a 247 2020-10-02 01:37:40 +03:00
Dmitry Borisenko
7472863b05 wifi reconnection bug fixed 2020-10-02 01:14:45 +03:00
Dmitry Borisenko
8a80d509c7 245 2020-10-01 21:06:45 +03:00
Dmitry Borisenko
a77784abc7 changes 2020-10-01 20:38:46 +03:00
Dmitry Borisenko
52b8d971d8 Some changes 2020-09-30 23:21:46 +03:00
Dmitry Borisenko
65175e3663 modbus rtu final 2020-09-18 03:44:03 +03:00
Dmitry Borisenko
9619a17abf Modbus rtu reading 2020-09-18 02:32:37 +03:00
Dmitry Borisenko
3d1f1ec524 modbus support 2020-09-18 02:26:34 +03:00
Dmitry Borisenko
734f3e1b36 Bus scanner added 2020-09-18 00:24:07 +03:00
Dmitry Borisenko
b66b4ab947 cleaning 2020-09-18 00:02:20 +03:00
Dmitry Borisenko
0598a20beb add bmp sensor 2020-09-17 23:45:10 +03:00
Dmitry Borisenko
16b2498d6a bme 280 support 2020-09-17 22:49:55 +03:00
Dmitry Borisenko
716dfd095d changes 2020-09-17 21:51:56 +03:00
Dmitry Borisenko
e23481eef2 ota added 2020-09-17 21:33:54 +03:00
Dmitry Borisenko
d6f5506812 last version 2020-09-17 18:32:39 +03:00
Dmitry Borisenko
8568e945a4 modules 2020-09-17 18:04:06 +03:00
Dmitry Borisenko
0a212e0933 Debug changed 2020-09-17 17:27:44 +03:00
Dmitry Borisenko
fc91a60bab udp support 2020-09-17 00:21:14 +03:00
Dmitry Borisenko
e0a83189d9 telemetry final version 2020-09-16 15:16:01 +03:00
Dmitry Borisenko
fe35633d23 Worktime 2020-09-15 23:50:08 +03:00
Dmitry Borisenko
251f7ee83f changes 2020-09-09 16:44:19 +03:00
Dmitry Borisenko
c960e5c5e5 cleaning 2020-09-08 01:26:18 +03:00
Dmitry Borisenko
807a6855e4 Stable 2020-09-07 17:00:22 +03:00
Dmitry Borisenko
bac9396e9a last working version 2020-09-07 02:22:13 +03:00
Dmitry Borisenko
dcbc928896 Working version 2020-09-07 01:32:09 +03:00
Dmitry Borisenko
d8dfe7f60c working version 2020-09-07 00:36:03 +03:00
Dmitry Borisenko
e505eb9b6e changes 2020-09-06 23:00:33 +03:00
Dmitry Borisenko
799118d763 Changes 2020-09-04 18:58:03 +03:00
Dmitry Borisenko
a258c8c1b6 Add DHT sensor 2020-09-04 15:35:35 +03:00
Dmitry Borisenko
26b5c173a2 sensor dht support 2020-09-04 13:44:49 +03:00
Dmitry Borisenko
551b35ff4f working version 2020-09-04 00:35:38 +03:00
Dmitry Borisenko
eea82a7edb Var changes 2020-09-03 23:29:34 +03:00
Dmitry Borisenko
26b211dc07 ssdp on 2020-09-03 02:08:11 +03:00
Dmitry Borisenko
ab65cda820 working version with optimization 2020-09-03 02:07:12 +03:00
Dmitry Borisenko
89fed305c8 compiling version 2020-09-03 01:24:16 +03:00
Dmitry Borisenko
93c6b05238 not working version 2020-09-03 01:12:43 +03:00
Dmitry Borisenko
8a07b7cbd7 devide into files 2020-09-02 23:37:11 +03:00
Dmitry Borisenko
4a57cf69d1 working version 2020-09-02 23:05:30 +03:00
Dmitry Borisenko
2e8ea582d2 reverting version 2020-09-02 22:34:49 +03:00
Dmitry Borisenko
70096c71c8 revert 2020-09-02 22:33:03 +03:00
Dmitry Borisenko
26383c0a19 123 2020-09-02 22:31:08 +03:00
Dmitry Borisenko
a8e7799011 change 2020-09-02 22:08:39 +03:00
Dmitry Borisenko
a9fc6f73f5 test 2020-08-31 02:13:02 +03:00
Dmitry Borisenko
e66b49ddc3 test 2020-08-31 01:55:03 +03:00
Dmitry Borisenko
3816711f04 optimization 2020-08-31 01:45:43 +03:00
Dmitry Borisenko
0005760774 comments 2020-08-30 13:55:51 +03:00
Dmitry Borisenko
86ee523182 esp32 compiling version 2020-08-30 00:12:11 +03:00
Dmitry Borisenko
01248f41da esp32 2020-08-29 23:33:45 +03:00
Dmitry Borisenko
786468e0b9 optimization scenario 2020-08-29 23:30:04 +03:00
Dmitry Borisenko
490a2f1f5b optimization of scenario 2020-08-29 23:02:19 +03:00
Dmitry Borisenko
61f1ad64a1 Scenario class in working condition 2020-08-29 22:14:35 +03:00
Dmitry Borisenko
25d58d3471 Scenario class 2020-08-29 20:17:39 +03:00
Dmitry Borisenko
b1ca2ad511 ssdp 2020-08-29 15:25:28 +03:00
Dmitry Borisenko
8219cf3271 ssdp fixed 2020-08-29 15:15:38 +03:00
Dmitry Borisenko
21e7297035 SSDP added 2020-08-28 23:18:18 +03:00
Dmitry Borisenko
3ab75bcea6 progress 2020-08-28 04:58:38 +03:00
Dmitry Borisenko
eb6c06c8e9 not working version 2020-08-28 03:58:54 +03:00
Dmitry Borisenko
0c1a1940d2 progress of sensors 2020-08-28 03:25:13 +03:00
Dmitry Borisenko
c473f616b6 add analog sensor 2020-08-28 02:49:26 +03:00
Dmitry Borisenko
74a7c8f528 some changes 2020-08-27 00:58:41 +03:00
Dmitry Borisenko
f16d336575 changes 2020-08-26 20:07:08 +03:00
Dmitry Borisenko
ffc5e6c894 output text module added 2020-08-26 16:39:42 +03:00
Dmitry Borisenko
90e6822d3b working wersion with elements 2020-08-26 15:44:19 +03:00
Dmitry Borisenko
e3f3ae7664 add iputs for time and value 2020-08-26 01:47:16 +03:00
Dmitry Borisenko
abbfcec92c Working version with NotAsinc class 2020-08-26 01:03:45 +03:00
Dmitry Borisenko
7f7bad305c great changes 2020-08-25 19:25:54 +03:00
Dmitry Borisenko
532925756f process to asinc 2020-08-25 18:36:05 +03:00
Dmitry Borisenko
b1318de1dc call back test class 2020-08-25 15:45:06 +03:00
Dmitry Borisenko
c11983003b working example of callback with date passing inside and outside for using 2020-08-25 01:55:43 +03:00
Dmitry Borisenko
ce7c550410 working example of callback with date passing inside and outside 2020-08-24 15:09:43 +03:00
Dmitry Borisenko
e44d2dc793 callback 2020-08-24 13:56:12 +03:00
Dmitry Borisenko
82b1fb6846 changes 2020-08-22 13:31:25 +03:00
Dmitry Borisenko
0485feeabe web interface constructor 2020-08-21 02:34:38 +03:00
Dmitry Borisenko
e0d0e30e93 Continue making web interface 2020-08-20 03:12:04 +03:00
Dmitry Borisenko
0ebe372848 pic 2020-08-19 02:46:36 +03:00
Dmitry Borisenko
e32097f563 pic 2020-08-19 02:46:18 +03:00
Dmitry Borisenko
10975cc8df pic 2020-08-19 02:10:01 +03:00
Dmitry Borisenko
1fa2add718 pic 2020-08-19 02:07:28 +03:00
Dmitry Borisenko
6c8be73d3a pictures 2020-08-19 01:56:13 +03:00
Dmitry Borisenko
b2c8437c05 pic 2020-08-19 01:53:59 +03:00
Dmitry Borisenko
ef6930350e Class renaming 2020-08-19 01:28:10 +03:00
Dmitry Borisenko
7ec3c05e6c Merge branch 'stable' into beta 2020-08-19 01:22:42 +03:00
Dmitry Borisenko
b95a56d3a5 Merge pull request #52 from ytrikoz/stable
FSEditor
2020-08-18 18:12:50 +03:00
Yuri Trikoz
b512c0258d FSEditor 2020-08-08 02:00:20 +03:00
Yuri Trikoz
33ebb36aec FSEditor 2020-08-06 02:10:08 +03:00
Dmitry Borisenko
8d31bcb5dd Start to make constructor 2020-08-04 02:21:20 +02:00
Dmitry Borisenko
78fb96d50d input time and input digit done 2020-08-03 01:09:11 +02:00
Dmitry Borisenko
6c969a2455 input completed 2020-08-02 15:58:10 +02:00
Dmitry Borisenko
8df3ab8946 Button added and input 2020-08-02 01:54:26 +02:00
IoTManagerProject
b2496bbc9f Merge pull request #51 from IoTManagerProject/stable
bme
2020-08-01 20:08:28 +02:00
Dmitry Borisenko
614b456b24 Merge branch 'stable' of https://github.com/IoTManagerProject/IoTManager into stable 2020-08-01 20:06:40 +02:00
Dmitry Borisenko
feab9e9afd Fix bug with bme pressure 2020-08-01 20:06:15 +02:00
Dmitry Borisenko
924b6a1e84 switch in progress 2020-07-31 01:52:57 +02:00
Dmitry Borisenko
f4a5bc0218 pwm add 2020-07-31 01:29:16 +02:00
Dmitry Borisenko
217cdfc080 Buttons done 2020-07-31 00:56:10 +02:00
Dmitry Borisenko
b0fe94ddd4 Change name 2020-07-30 21:39:50 +02:00
Dmitry Borisenko
6831c49a13 working with class 2020-07-30 21:18:04 +02:00
Dmitry Borisenko
715ae0584a Merge branch 'beta' of https://github.com/IoTManagerProject/IoTManager into beta 2020-07-30 21:15:39 +02:00
IoTManagerProject
3dab9e484f Merge pull request #50 from IoTManagerProject/stable
bugs
2020-07-30 21:15:19 +02:00
Dmitry Borisenko
1eac8a2f0e ESP8266httpUpdate renaming 2020-07-30 21:08:48 +02:00
Dmitry Borisenko
2434602d78 fixed bug with missing dallas lib dep 2020-07-30 21:04:25 +02:00
Dmitry Borisenko
854d5f42e5 наследование 2020-07-30 11:27:12 +02:00
Dmitry Borisenko
7806aa1ae8 changge 2020-07-29 21:53:32 +02:00
Dmitry Borisenko
98d59615a3 changed 2020-07-29 21:44:49 +02:00
Dmitry Borisenko
7134c07f60 Class 2020-07-29 21:41:12 +02:00
Dmitry Borisenko
9fa3ec05c2 class 2020-07-29 21:38:39 +02:00
Dmitry Borisenko
832e6a36f1 Add class item for all items in systed 2020-07-29 00:58:59 +02:00
Dmitry Borisenko
5aa6f9482f button with name 2020-07-28 22:22:14 +02:00
Dmitry Borisenko
bcbec5a9d8 change name 2020-07-28 19:45:03 +02:00
Dmitry Borisenko
2e66c93814 add button with name (wo number) 2020-07-28 00:52:49 +02:00
IoTManagerProject
e04bb7bb78 Merge pull request #49 from IoTManagerProject/beta
Удаление сканера one wire
2020-07-27 22:25:58 +02:00
Dmitry Borisenko
110fc167a1 Удаление сканера one wire 2020-07-27 21:10:11 +02:00
IoTManagerProject
be60311f35 Merge pull request #48 from IoTManagerProject/beta
Fixed bug with little fs system in platformio ini
2020-07-27 20:21:02 +02:00
Dmitry Borisenko
bdd9f1d3bd Fixed bug with little fs system in platformio ini 2020-07-27 00:59:41 +02:00
IoTManagerProject
291373fe6f Merge pull request #47 from IoTManagerProject/beta
Beta
2020-07-27 00:58:27 +02:00
Dmitry Borisenko
b653ce1e87 start version 2020-07-26 23:48:19 +02:00
Dmitry Borisenko
4aa0dc39b9 dell all 2020-07-26 23:47:00 +02:00
Dmitry Borisenko
f7f4e176b2 Merge pull request #39 from IoTManagerProject/dev
Dev
2020-06-27 11:20:14 +02:00
Dmitry Borisenko
62d0355a1e Merge pull request #38 from DmitryBorisenko33/dev
Изменил версию
2020-06-27 11:19:24 +02:00
Dmitry Borisenko
9b94aef8ca Изменил версию на 2.3.5 2020-06-27 11:17:38 +02:00
Dmitry Borisenko
3dc49f66a8 Merge pull request #37 from IoTManagerProject/dev
Dev
2020-06-27 11:13:10 +02:00
Dmitry Borisenko
d96ba8cb2c Merge pull request #36 from ytrikoz/dev
Dev
2020-06-27 11:12:18 +02:00
Dmitry Borisenko
2dfca14478 Merge pull request #25 from ytrikoz/dev
Dev
2020-06-27 11:06:31 +02:00
Yuri Trikoz
b6eedca37e extract isScenarioEnabled() 2020-06-27 05:22:24 +03:00
Yuri Trikoz
d7e6e0e9b8 skip time 2020-06-27 04:37:11 +03:00
Dmitry Borisenko
9e291bfc9c Merge pull request #24 from ytrikoz/dev
clock fix
2020-06-27 03:23:22 +02:00
Yuri Trikoz
7ac0691347 clock fix 2020-06-27 04:20:48 +03:00
Dmitry Borisenko
eb2881ee0a Merge pull request #23 from ytrikoz/dev
clock timezone
2020-06-27 03:19:18 +02:00
Yuri Trikoz
39a3cb04ed clock timezone 2020-06-27 02:37:30 +03:00
Dmitry Borisenko
e561f82b02 Merge pull request #22 from ytrikoz/dev
Dev
2020-06-27 00:35:48 +02:00
Yuri Trikoz
00fd9f9bb9 clock 2020-06-27 01:21:58 +03:00
Yuri Trikoz
b51ec4d0e2 Merge pull request #2 from DmitryBorisenko33/dev
Проверил модуль serial работают все функции
2020-06-26 22:13:23 +03:00
Dmitry Borisenko
e60269ed1e Merge pull request #35 from DmitryBorisenko33/dev
Some changes
2020-06-26 16:43:36 +02:00
Dmitry Borisenko
0f0d2ea209 Merge pull request #34 from DmitryBorisenko33/dev
Some changes
2020-06-26 16:43:14 +02:00
Dmitry Borisenko
5faa708c83 Some changes 2020-06-26 16:41:39 +02:00
Dmitry Borisenko
3ece57fc18 Merge pull request #33 from DmitryBorisenko33/dev
Проверил полностью модуль serial
2020-06-26 15:23:56 +02:00
Dmitry Borisenko
f75f0b5a50 Merge pull request #32 from DmitryBorisenko33/dev
Проверил полностью модуль serial
2020-06-26 15:23:33 +02:00
Dmitry Borisenko
9add7c9e8e Проверил полностью модуль serial 2020-06-26 15:20:56 +02:00
Dmitry Borisenko
5de838beb8 Merge pull request #31 from DmitryBorisenko33/dev
12
2020-06-26 01:09:05 +02:00
Dmitry Borisenko
b7899aa059 Merge pull request #30 from DmitryBorisenko33/dev
123
2020-06-26 01:08:10 +02:00
Dmitry Borisenko
c0b7cdddf8 Merge pull request #29 from ytrikoz/dev
Dev
2020-06-26 01:06:23 +02:00
Dmitry Borisenko
d802758b6f Merge pull request #21 from ytrikoz/dev
time works
2020-06-26 01:04:43 +02:00
Yuri Trikoz
a13dda46ca time works 2020-06-26 01:38:29 +03:00
Dmitry Borisenko
a73747c3dc Merge pull request #20 from ytrikoz/dev
Dev
2020-06-25 20:08:33 +02:00
Yuri Trikoz
e9a8e44a7a time 2020-06-25 20:13:20 +03:00
Dmitry Borisenko
cd6008435e Обновление брокера mqtt 2020-06-25 19:11:43 +02:00
Yuri Trikoz
6277d2a9db Merge branch 'dev' of https://github.com/ytrikoz/IoTManager into dev 2020-06-25 17:57:30 +03:00
Yuri Trikoz
d0c6d34f4a BusScanner 2020-06-25 17:57:17 +03:00
Yuri Trikoz
428efff8d5 BusScanner 2020-06-25 17:55:22 +03:00
IoTManagerProject
7330849262 Merge pull request #28 from IoTManagerProject/dev
First stable version
2020-06-25 15:59:53 +02:00
Dmitry Borisenko
3dfee0eabe Merge pull request #27 from ytrikoz/dev
Dev
2020-06-25 15:58:18 +02:00
Dmitry Borisenko
b6d346f779 Merge pull request #19 from ytrikoz/dev
typos fix
2020-06-25 15:57:34 +02:00
Yuri Trikoz
a1bd008867 typos fix 2020-06-25 14:20:22 +03:00
Dmitry Borisenko
1264f12314 Merge pull request #18 from ytrikoz/dev
Dev
2020-06-25 11:38:10 +02:00
Yuri Trikoz
7c61ff2810 getData 2020-06-25 09:21:42 +03:00
Yuri Trikoz
5ed1c23c62 widgets 2020-06-25 07:08:09 +03:00
Yuri Trikoz
b50e1c9791 renaming 2020-06-25 05:09:11 +03:00
Dmitry Borisenko
baba0b77b2 Merge pull request #17 from ytrikoz/dev
renaming
2020-06-24 23:16:36 +02:00
Yuri Trikoz
3daa517c7e renaming 2020-06-25 00:15:10 +03:00
Dmitry Borisenko
6618e6fa7e Merge pull request #26 from DmitryBorisenko33/dev
изменения
2020-06-24 23:10:02 +02:00
Dmitry Borisenko
688a769798 Merge pull request #16 from ytrikoz/dev
Merge pull request #1 from DmitryBorisenko33/dev
2020-06-24 23:09:01 +02:00
Yuri Trikoz
a25288ef79 Merge pull request #1 from DmitryBorisenko33/dev
Data
2020-06-24 22:12:44 +03:00
Dmitry Borisenko
5643804d77 Переименовал файлы присетов! Добавил присет для модуля uart 2020-06-24 15:54:15 +02:00
Dmitry Borisenko
90a342bc27 Порядок 2020-06-24 14:40:47 +02:00
Dmitry Borisenko
c4dfdee7e5 Changed preset order to correct one 2020-06-24 14:28:13 +02:00
Dmitry Borisenko
a422c72565 No need replace 2020-06-24 14:26:52 +02:00
Dmitry Borisenko
2c3efd6309 Merge pull request #15 from ytrikoz/platformio
12
2020-06-24 01:51:50 +02:00
Yuri Trikoz
e400de1e1c Serial active on create 2020-06-24 02:49:44 +03:00
Yuri Trikoz
cc3c17dfb2 Serial 2020-06-24 02:11:08 +03:00
Yuri Trikoz
f9933ea55e Serial 2020-06-24 01:46:05 +03:00
Dmitry Borisenko
59f65abda8 Merge pull request #14 from ytrikoz/platformio
Serial
2020-06-24 00:44:04 +02:00
Yuri Trikoz
7dd13b7fcf Serial 2020-06-24 01:42:56 +03:00
Dmitry Borisenko
f54cac95bb Merge pull request #13 from ytrikoz/platformio
Serial
2020-06-24 00:41:48 +02:00
Yuri Trikoz
cb9c0efac6 Serial 2020-06-24 01:40:35 +03:00
Dmitry Borisenko
06bbecd0bb Merge pull request #12 from ytrikoz/platformio
изменения
2020-06-24 00:34:35 +02:00
Yuri Trikoz
dfeb25a8fa Serial 2020-06-24 01:33:42 +03:00
Dmitry Borisenko
ecd124dacc Merge pull request #11 from IoTManagerProject/dev
Merge pull request #25 from DmitryBorisenko33/dev
2020-06-24 00:25:15 +02:00
Dmitry Borisenko
6e97ec5845 Merge pull request #25 from DmitryBorisenko33/dev
123
2020-06-24 00:24:51 +02:00
Yuri Trikoz
e375cca3dc Terminal 2020-06-24 01:16:00 +03:00
Dmitry Borisenko
8f76cbac74 Merge pull request #10 from IoTManagerProject/platformio
Изменения
2020-06-22 22:32:18 +02:00
Yuri Trikoz
b50911ddcf mqtt publish state fix 2020-06-22 18:09:39 +03:00
Yuri Trikoz
8f395ccc8a SoftwareSerial 2020-06-22 17:40:29 +03:00
Dmitry Borisenko
fea662aed2 Merge pull request #9 from IoTManagerProject/platformio
Изменения
2020-06-22 13:58:08 +02:00
Yuri Trikoz
f7e3515c82 Merge pull request #24 from ytrikoz/platformio
some updates
2020-06-22 14:06:42 +03:00
Yuri Trikoz
1bfe58766d Merge branch 'platformio' of https://github.com/ytrikoz/esp32-esp8266_iot-manager_modules_firmware into platformio 2020-06-22 14:01:54 +03:00
Yuri Trikoz
274678f17a Updates 2020-06-22 14:01:12 +03:00
Dmitry Borisenko
059b08fb8b Merge pull request #8 from IoTManagerProject/platformio
Изменения 4
2020-06-22 02:22:33 +02:00
Yuri Trikoz
f638de4139 Merge pull request #23 from ytrikoz/platformio
32 broken
2020-06-22 03:20:40 +03:00
Yuri Trikoz
8cdc271c48 Merge branch 'platformio' into platformio 2020-06-22 03:18:19 +03:00
Yuri Trikoz
092bec7dde 32 broken 2020-06-22 03:11:02 +03:00
Dmitry Borisenko
4967f66238 Merge pull request #22 from DmitryBorisenko33/platformio
Исправлен баг с bmp280
2020-06-21 18:10:56 +02:00
Dmitry Borisenko
3a3d27492b Исправлен баг с bmp280 2020-06-21 18:10:14 +02:00
Dmitry Borisenko
4013a21262 Merge pull request #21 from DmitryBorisenko33/platformio
Исправил кнопку правильно!
2020-06-21 17:53:01 +02:00
Dmitry Borisenko
eba3b80076 Merge branch 'platformio' of https://github.com/DmitryBorisenko33/IoTManager into platformio 2020-06-21 17:51:32 +02:00
Dmitry Borisenko
c9c8fc0a31 Исправил кнопку правильно!!!! 2020-06-21 17:50:10 +02:00
Dmitry Borisenko
cba45d7893 Merge pull request #7 from IoTManagerProject/platformio
Merge pull request #20 from DmitryBorisenko33/platformio
2020-06-21 16:58:23 +02:00
Dmitry Borisenko
2769a8883f Merge pull request #20 from DmitryBorisenko33/platformio
Merge pull request #6 from IoTManagerProject/platformio
2020-06-21 16:56:19 +02:00
Dmitry Borisenko
e2e6256aa0 Merge pull request #6 from IoTManagerProject/platformio
Изменения
2020-06-21 16:55:34 +02:00
Dmitry Borisenko
b9f0564f28 Merge pull request #19 from DmitryBorisenko33/platformio
Исправил баг физической кнопки (проверил  работает)
2020-06-21 16:52:57 +02:00
Dmitry Borisenko
b53660d4bf Исправил баг физической кнопки (проверил работает) 2020-06-21 16:47:50 +02:00
Dmitry Borisenko
2333006b76 Merge pull request #18 from DmitryBorisenko33/platformio
Некоторые подправления
2020-06-21 16:31:44 +02:00
Dmitry Borisenko
f2aabd0349 change 2020-06-21 16:29:30 +02:00
Dmitry Borisenko
63e34bf2e2 change dallas 2020-06-21 16:27:02 +02:00
Dmitry Borisenko
9a5172e4a6 Поменял команду на правильную 2020-06-21 16:22:13 +02:00
Dmitry Borisenko
c670d0cb58 Изменил линию на даллас 2020-06-21 15:58:54 +02:00
Dmitry Borisenko
4e478c9d2a Merge pull request #5 from IoTManagerProject/platformio
bug fix
2020-06-21 14:23:16 +02:00
Yuri Trikoz
40688130fd bug fix 2020-06-21 15:20:40 +03:00
Dmitry Borisenko
62e11ff7fc Merge pull request #4 from IoTManagerProject/platformio
Юрины изменения 3
2020-06-21 14:14:18 +02:00
Yuri Trikoz
179ab2c3bf ESP32 LittleFS System Image 2020-06-21 12:23:00 +03:00
Yuri Trikoz
91359fa9c4 Merge pull request #4 from IoTManagerProject/platformio
Merge pull request #17 from ytrikoz/platformio
2020-06-21 03:51:40 +03:00
Yuri Trikoz
de0696b81a Merge pull request #17 from ytrikoz/platformio
ESP32 ESP8266 LittleFs
2020-06-21 03:50:04 +03:00
Yuri Trikoz
aeedbdef92 Merge branch 'platformio' into platformio 2020-06-21 03:49:09 +03:00
Yuri Trikoz
bba7487374 platformio esp8266, esp32 2020-06-21 03:43:15 +03:00
Dmitry Borisenko
f7d4b9abc9 Merge pull request #16 from DmitryBorisenko33/platformio
Добавлена ссылка на гитхаб для скачивания платформы
2020-06-20 23:00:03 +02:00
Dmitry Borisenko
45e96da169 Link to git added 2020-06-20 22:56:12 +02:00
Yuri Trikoz
ac6f51af7b Merge pull request #3 from IoTManagerProject/platformio
Merge pull request #15 from ytrikoz/platformio
2020-06-20 23:10:22 +03:00
Dmitry Borisenko
72989f3dfb Merge pull request #3 from IoTManagerProject/platformio
Trasfering to little FS
2020-06-20 22:09:09 +02:00
Yuri Trikoz
c7b87508a1 Merge pull request #15 from ytrikoz/platformio
LittleFS
2020-06-20 23:03:19 +03:00
Yuri Trikoz
704afcdcd2 Merge branch 'platformio' into platformio 2020-06-20 23:03:05 +03:00
Yuri Trikoz
6fbd555474 LittleFS, and some mprovements 2020-06-20 22:51:14 +03:00
Dmitry Borisenko
91fffe83d1 Merge pull request #14 from DmitryBorisenko33/platformio
Fix error
2020-06-20 21:31:19 +02:00
Dmitry Borisenko
cffd80d125 Fix error 2020-06-20 21:28:56 +02:00
Dmitry Borisenko
93fd7f6e16 Merge pull request #2 from IoTManagerProject/platformio
Юрины изменения 2
2020-06-20 21:16:54 +02:00
Dmitry Borisenko
fb62ae7a4b Merge pull request #13 from DmitryBorisenko33/platformio
Long files deleted
2020-06-20 21:14:18 +02:00
Dmitry Borisenko
c4feb99e8d Long files deleted 2020-06-20 21:12:57 +02:00
Yuri Trikoz
db5b8d7258 Merge pull request #2 from IoTManagerProject/platformio
sync to base
2020-06-20 17:17:56 +03:00
Yuri Trikoz
52599fe02c Merge pull request #12 from ytrikoz/platformio
FileUtils, some typos fixes
2020-06-20 17:16:16 +03:00
Yuri Trikoz
de5a9c01d0 FileUtils, some typos fixes 2020-06-20 17:12:59 +03:00
Dmitry Borisenko
df9d70ce77 Merge pull request #11 from DmitryBorisenko33/platformio
Changed order of lines
2020-06-20 16:09:22 +02:00
Dmitry Borisenko
652eaa99d0 Change order of lines for more good vision. Only order Youra! 2020-06-20 16:06:51 +02:00
Dmitry Borisenko
93d128b9b4 Merge pull request #1 from IoTManagerProject/platformio
Изменения от Юры
2020-06-20 13:45:01 +02:00
IoTManagerProject
98db017502 Merge pull request #10 from ytrikoz/platformio
Чистка и выделение
2020-06-20 13:35:16 +02:00
Yuri Trikoz
6f310e5e07 global cleaning, restructure 2020-06-20 14:27:58 +03:00
Yuri Trikoz
ece010976e Merge pull request #1 from IoTManagerProject/platformio
sync with base
2020-06-20 09:48:33 +03:00
Dmitry Borisenko
cbb821167b Merge pull request #9 from DmitryBorisenko33/platformio
Problems with unused vars fixed
2020-06-20 02:03:37 +02:00
Dmitry Borisenko
465c393db4 Problems with unused vars fixed 2020-06-20 02:00:56 +02:00
Dmitry Borisenko
7f2981d4e9 Merge pull request #8 from DmitryBorisenko33/platformio
Test of pull request
2020-06-20 01:09:12 +02:00
Dmitry Borisenko
66d3754cc4 Some Changes test 2020-06-20 01:06:39 +02:00
Dmitry Borisenko
734edf522d version changed 2020-06-20 00:56:50 +02:00
Dmitry Borisenko
8ec105d0b2 Change Version 2020-06-20 00:46:25 +02:00
Yuri Trikoz
b044497c8e fix 2020-06-19 23:34:30 +03:00
Dmitry Borisenko
817a3e5898 Global change 2020-06-19 22:14:50 +02:00
Dmitry Borisenko
446809355b changed 2020-06-19 15:22:22 +02:00
Dmitry Borisenko
48ba3c99dd changed json var names to more visible 2020-06-19 14:50:34 +02:00
Dmitry Borisenko
e6637dcd69 deleted some files, will be changed to new ones soon 2020-06-19 13:48:25 +02:00
Dmitry Borisenko
2a45769caf Com port speed settings added 2020-06-19 13:30:44 +02:00
Dmitry Borisenko
2edba7baba Partitions for ESP32 2020-06-19 12:59:35 +02:00
Yuri Trikoz
02855b5ab9 remove dupe strings 2020-06-19 07:48:31 +03:00
Yuri Trikoz
15aa8c8539 Utils 2020-06-19 07:27:06 +03:00
Yuri Trikoz
aa1ad777c9 105.5% 2020-06-19 03:49:56 +03:00
Dmitry Borisenko
5494f61267 full size test 2020-06-19 02:31:56 +02:00
Yuri Trikoz
5bec53e6c2 global vars 2020-06-19 01:50:19 +03:00
Dmitry Borisenko
86e18f1e99 First working platformio version 2020-06-18 23:43:06 +02:00
Dmitry Borisenko
c16b61c82b Merge pull request #7 from ytrikoz/platformio
Platformio
2020-06-17 23:46:38 +02:00
Yuri Trikoz
509ee7da0b example 2020-06-17 23:36:58 +03:00
Yuri Trikoz
3e5eed24c6 broken - need repair 2020-06-17 23:30:48 +03:00
Dmitry Borisenko
03f0d563ee Update README.md 2020-05-28 15:54:48 +02:00
Dmitry Borisenko
2bc3c44b64 Update eng 2020-05-28 10:32:40 +02:00
Dmitry Borisenko
44dec6aece Readme update 2020-05-28 10:30:36 +02:00
Dmitry Borisenko
61b0c4b6b8 Merge pull request #3 from DmitryBorisenko33/development
Development
2020-05-26 22:07:46 +02:00
Dmitry Borisenko
a154f3cd15 Update mqtt.ino 2020-05-26 22:01:57 +02:00
Dmitry Borisenko
cf182b2fe7 some changes 2020-05-26 18:19:04 +02:00
Dmitry Borisenko
996af08d6e bme pressure bug fixed 2020-05-26 18:18:51 +02:00
Dmitry Borisenko
130a7fef0b manage parts of firmware 2020-05-26 18:12:05 +02:00
Dmitry Borisenko
99a17e4a0c some 2020-05-26 18:08:55 +02:00
Dmitry Borisenko
0e074e68ca Update set.h 2020-05-26 18:06:19 +02:00
Dmitry Borisenko
df5525bc7a Merge pull request #2 from DmitryBorisenko33/development
some changes
2020-05-26 18:05:20 +02:00
Dmitry Borisenko
70cb7164ce Merge branch 'master' into development 2020-05-26 18:04:56 +02:00
Dmitry Borisenko
fc567c2f4a Update set.h 2020-05-26 17:54:18 +02:00
Dmitry Borisenko
ec76321206 some changes 2020-05-26 17:42:50 +02:00
Dmitry Borisenko
bf75e9f4b7 some changes 2020-05-20 02:16:23 +02:00
Dmitry Borisenko
3ea2509b6d some change 2020-05-19 21:13:54 +02:00
Dmitry Borisenko
07f439b900 Merge branch 'master' of https://github.com/DmitryBorisenko33/esp32_iot-manager_modules_firmware 2020-05-13 23:18:26 +02:00
Dmitry Borisenko
ae64d8f8ff esp spiffs uploader update 2020-05-13 23:18:18 +02:00
Dmitry Borisenko
58bbfec87f Create README.md 2020-05-12 22:33:49 +02:00
Dmitry Borisenko
4442b46603 Stable version 2020-05-04 15:57:54 +02:00
Dmitry Borisenko
a31c303c23 Global change 2020-05-02 12:20:30 +02:00
Dmitry Borisenko
ac5b7e5775 servo support added 2020-04-25 16:39:36 +02:00
Dmitry Borisenko
696c51b113 fuking bugs fixed! 2020-04-22 20:35:50 +02:00
Dmitry Borisenko
990bd6fb47 add udp support for esp32
Device can see each other esp32 and esp8266 and send date
2020-04-21 01:20:56 +02:00
1092 changed files with 170256 additions and 5720 deletions

55
.github/workflows/build_iotm.yml vendored Normal file
View File

@@ -0,0 +1,55 @@
env:
BOARDS: '["esp8266_4mb", "esp8266_16mb", "esp32_4mb3f", "esp32c3m_4mb", "esp32s2_4mb", "esp32s3_16mb"]'
name: Build Firmware
on:
workflow_dispatch:
jobs:
generate-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set_matrix.outputs.json }}
steps:
- name: Prepare matrix JSON Object
id: set_matrix
uses: nickofthyme/object-remap@v2.0.0
with:
__case: kebab
board: ${{ env.BOARDS }}
build:
needs: [ generate-matrix ]
runs-on: ubuntu-latest
strategy:
matrix: ${{ fromJSON(needs.generate-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v2
with:
ref: 'ver4dev'
- name: Run PrepareProject.py -b ${{ matrix.board }}
run: python3 ./PrepareProject.py -b ${{ matrix.board }}
- name: Set up Python
uses: actions/setup-python@v4
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install platformio
- name: Run PlatformIO
if: always()
run: platformio run
- name: Build FS
if: always()
run: platformio run -t buildfs --disable-auto-clean
- name: Rearrange Artifacts
run: |
mkdir -p artifacts/${{ matrix.board }}
find .pio/build/${{ matrix.board }} -name "*.bin" -exec mv {} artifacts/${{ matrix.board }} \;
working-directory: ${{ github.workspace }}
- name: Attach artifact
uses: actions/upload-artifact@v4
with:
name: firmware-${{ matrix.board }}-${{ github.run_number }}
path: artifacts/${{ matrix.board }}

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.pio
.vscode

10
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

497
Cmd.ino
View File

@@ -1,497 +0,0 @@
void CMD_init() {
sCmd.addCommand("button", button);
sCmd.addCommand("buttonSet", buttonSet);
sCmd.addCommand("buttonChange", buttonChange);
sCmd.addCommand("pinSet", pinSet);
sCmd.addCommand("pinChange", pinChange);
sCmd.addCommand("pwm", pwm);
sCmd.addCommand("pwmSet", pwmSet);
sCmd.addCommand("switch", switch_);
sCmd.addCommand("analog", analog);
sCmd.addCommand("level", level);
sCmd.addCommand("dallas", dallas);
sCmd.addCommand("dhtT", dhtT);
sCmd.addCommand("dhtH", dhtH);
sCmd.addCommand("dhtPerception", dhtPerception);
sCmd.addCommand("dhtComfort", dhtComfort);
sCmd.addCommand("dhtDewpoint", dhtDewpoint);
sCmd.addCommand("stepper", stepper);
sCmd.addCommand("stepperSet", stepperSet);
sCmd.addCommand("logging", logging);
sCmd.addCommand("inputDigit", inputDigit);
sCmd.addCommand("digitSet", digitSet);
sCmd.addCommand("inputTime", inputTime);
sCmd.addCommand("timeSet", timeSet);
sCmd.addCommand("timerStart", timerStart);
sCmd.addCommand("timerStop", timerStop);
sCmd.addCommand("text", text);
sCmd.addCommand("textSet", textSet);
sCmd.addCommand("mqtt", mqttOrderSend);
sCmd.addCommand("http", httpOrderSend);
sCmd.addCommand("push", pushControl);
handle_time_init();
}
//==========================================================================================================
//==========================================Модуль кнопок===================================================
void button() {
String button_number = sCmd.next();
String button_param = sCmd.next();
String widget_name = sCmd.next();
String page_name = sCmd.next();
String start_state = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(optionJson, "button_param" + button_number, button_param);
jsonWriteStr(configJson, "buttonSet" + button_number, start_state);
if (isDigitStr (button_param)) {
pinMode(button_param.toInt(), OUTPUT);
digitalWrite(button_param.toInt(), start_state.toInt());
}
if (button_param == "scenario") {
jsonWriteStr(configSetup, "scenario", start_state);
Scenario_init();
saveConfig();
}
if (button_param.indexOf("line") != -1) {
String str = button_param;
while (str.length() != 0) {
if (str == "") return;
String tmp = selectToMarker (str, ","); //line1,
String number = deleteBeforeDelimiter(tmp, "e"); //1,
number.replace(",", "");
Serial.println(number);
int number_int = number.toInt();
scenario_line_status[number_int] = start_state.toInt();
str = deleteBeforeDelimiter(str, ",");
}
}
createWidget (widget_name, page_name, page_number, "widgets/widget.toggle.json", "buttonSet" + button_number);
}
void buttonSet() {
String button_number = sCmd.next();
String button_state = sCmd.next();
String button_param = jsonRead(optionJson, "button_param" + button_number);
if (button_param != "na" || button_param != "scenario" || button_param.indexOf("line") != -1) {
digitalWrite(button_param.toInt(), button_state.toInt());
}
if (button_param == "scenario") {
jsonWriteStr(configSetup, "scenario", button_state);
Scenario_init();
saveConfig();
}
if (button_param.indexOf("line") != -1) {
String str = button_param;
while (str.length() != 0) {
if (str == "") return;
String tmp = selectToMarker (str, ","); //line1,
String number = deleteBeforeDelimiter(tmp, "e"); //1,
number.replace(",", "");
Serial.println(number);
int number_int = number.toInt();
scenario_line_status[number_int] = button_state.toInt();
str = deleteBeforeDelimiter(str, ",");
}
}
eventGen ("buttonSet", button_number);
jsonWriteStr(configJson, "buttonSet" + button_number, button_state);
sendSTATUS("buttonSet" + button_number, button_state);
}
void buttonChange() {
String button_number = sCmd.next();
String current_state = jsonRead(configJson, "buttonSet" + button_number);
if (current_state == "1") {
current_state = "0";
} else if (current_state == "0") {
current_state = "1";
}
order_loop += "buttonSet " + button_number + " " + current_state + ",";
jsonWriteStr(configJson, "buttonSet" + button_number, current_state);
sendSTATUS("buttonSet" + button_number, current_state);
}
void pinSet() {
String pin_number = sCmd.next();
String pin_state = sCmd.next();
pinMode(pin_number.toInt(), OUTPUT);
digitalWrite(pin_number.toInt(), pin_state.toInt());
}
void pinChange() {
String pin_number = sCmd.next();
pinMode(pin_number.toInt(), OUTPUT);
digitalWrite(pin_number.toInt(), !digitalRead(pin_number.toInt()));
}
//==================================================================================================================
//==========================================Модуль управления ШИМ===================================================
void pwm() {
static boolean flag = true;
String pwm_number = sCmd.next();
String pwm_pin = sCmd.next();
String widget_name = sCmd.next();
widget_name.replace("#", " ");
String page_name = sCmd.next();
String start_state = sCmd.next();
String page_number = sCmd.next();
uint8_t pwm_pin_int = pwm_pin.toInt();
jsonWriteStr(optionJson, "pwm_pin" + pwm_number, pwm_pin);
pinMode(pwm_pin_int, INPUT);
analogWrite(pwm_pin_int, start_state.toInt());
//analogWriteFreq(32000);
jsonWriteStr(configJson, "pwmSet" + pwm_number, start_state);
createWidget (widget_name, page_name, page_number, "widgets/widget.range.json", "pwmSet" + pwm_number);
}
void pwmSet() {
String pwm_number = sCmd.next();
String pwm_state = sCmd.next();
int pwm_state_int = pwm_state.toInt();
int pin = jsonReadtoInt(optionJson, "pwm_pin" + pwm_number);
analogWrite(pin, pwm_state_int);
eventGen ("pwmSet", pwm_number);
jsonWriteStr(configJson, "pwmSet" + pwm_number, pwm_state);
sendSTATUS("pwmSet" + pwm_number, pwm_state);
}
//==================================================================================================================
//==========================================Модуль физической кнопки================================================
void switch_ () {
String switch_number = sCmd.next();
String switch_pin = sCmd.next();
String switch_delay = sCmd.next();
buttons[switch_number.toInt()].attach(switch_pin.toInt());
buttons[switch_number.toInt()].interval(switch_delay.toInt());
but[switch_number.toInt()] = true;
}
void handleButton() {
static uint8_t switch_number = 1;
if (but[switch_number]) {
buttons[switch_number].update();
if (buttons[switch_number].fell()) {
eventGen ("switchSet", String(switch_number));
jsonWriteStr(configJson, "switchSet" + String(switch_number), "1");
}
if (buttons[switch_number].rose()) {
eventGen ("switchSet", String(switch_number));
jsonWriteStr(configJson, "switchSet" + String(switch_number), "0");
}
}
switch_number++;
if (switch_number == NUM_BUTTONS) switch_number = 0;
}
//=====================================================================================================================================
//=========================================Добавление окна ввода цифры=================================================================
void inputDigit() {
String value_name = sCmd.next();
String number = value_name.substring(5);
String widget_name = sCmd.next();
widget_name.replace("#", " ");
String page_name = sCmd.next();
page_name.replace("#", " ");
String start_state = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(configJson, "digitSet" + number, start_state);
createWidget (widget_name, page_name, page_number, "widgets/widget.inputNum.json", "digitSet" + number);
}
void digitSet() {
String number = sCmd.next();
String value = sCmd.next();
jsonWriteStr(configJson, "digitSet" + number, value);
sendSTATUS("digitSet" + number, value);
}
//=====================================================================================================================================
//=========================================Добавление окна ввода времени===============================================================
void inputTime() {
String value_name = sCmd.next();
String number = value_name.substring(4);
String widget_name = sCmd.next();
widget_name.replace("#", " ");
String page_name = sCmd.next();
page_name.replace("#", " ");
String start_state = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(configJson, "timeSet" + number, start_state);
createWidget (widget_name, page_name, page_number, "widgets/widget.inputTime.json", "timeSet" + number);
}
void timeSet() {
String number = sCmd.next();
String value = sCmd.next();
jsonWriteStr(configJson, "timeSet" + number, value);
sendSTATUS("timeSet" + number, value);
}
void handle_time_init() {
ts.add(TIME, 1000, [&](void*) {
String tmp = GetTime();
tmp.replace(":", "-");
jsonWriteStr(configJson, "timenowSet", tmp);
eventGen ("timenowSet", "");
}, nullptr, true);
}
//=====================================================================================================================================
//=========================================Добавление текстового виджета============================================================
void text() {
String number = sCmd.next();
String widget_name = sCmd.next();
String page_name = sCmd.next();
String page_number = sCmd.next();
createWidget (widget_name, page_name, page_number, "widgets/widget.anyData.json", "textSet" + number);
}
void textSet() {
String number = sCmd.next();
String text = sCmd.next();
text.replace("_", " ");
if (text.indexOf("-time") >= 0) {
text.replace("-time", "");
text.replace("#", " ");
String time = GetTime();
time.replace(":", ".");
text = text + " " + GetDataDigital() + " " + time;
}
jsonWriteStr(configJson, "textSet" + number, text);
sendSTATUS("textSet" + number, text);
}
//=====================================================================================================================================
//=========================================Модуль шагового мотора======================================================================
//stepper 1 12 13
void stepper() {
String stepper_number = sCmd.next();
String pin_step = sCmd.next();
String pin_dir = sCmd.next();
jsonWriteStr(optionJson, "stepper" + stepper_number, pin_step + " " + pin_dir);
pinMode(pin_step.toInt(), OUTPUT);
pinMode(pin_dir.toInt(), OUTPUT);
}
//stepperSet 1 100 5
void stepperSet() {
String stepper_number = sCmd.next();
String steps = sCmd.next();
jsonWriteStr(optionJson, "steps" + stepper_number, steps);
String stepper_speed = sCmd.next();
String pin_step = selectToMarker (jsonRead(optionJson, "stepper" + stepper_number), " ");
String pin_dir = deleteBeforeDelimiter (jsonRead(optionJson, "stepper" + stepper_number), " ");
Serial.println(pin_step);
Serial.println(pin_dir);
if (steps.toInt() > 0) digitalWrite(pin_dir.toInt(), HIGH);
if (steps.toInt() < 0) digitalWrite(pin_dir.toInt(), LOW);
if (stepper_number == "1") {
ts.add(STEPPER1, stepper_speed.toInt(), [&](void*) {
int steps_int = abs(jsonReadtoInt(optionJson, "steps1") * 2);
static int count;
count++;
String pin_step = selectToMarker (jsonRead(optionJson, "stepper1"), " ");
digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt()));
if (count > steps_int) {
digitalWrite(pin_step.toInt(), LOW);
ts.remove(STEPPER1);
count = 0;
}
}, nullptr, true);
}
if (stepper_number == "2") {
ts.add(STEPPER2, stepper_speed.toInt(), [&](void*) {
int steps_int = abs(jsonReadtoInt(optionJson, "steps2") * 2);
static int count;
count++;
String pin_step = selectToMarker (jsonRead(optionJson, "stepper2"), " ");
digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt()));
if (count > steps_int) {
digitalWrite(pin_step.toInt(), LOW);
ts.remove(STEPPER2);
count = 0;
}
}, nullptr, true);
}
}
//====================================================================================================================================================
/*
void inputText() {
String number = sCmd.next();
String widget_name = sCmd.next();
widget_name.replace("#", " ");
String page_name = sCmd.next();
page_name.replace("#", " ");
String start_state = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(configJson, "inputTextSet" + number, start_state);
createWidget (widget_name, page_name, page_number, "widgets/widget.inputText.json", "inputTextSet" + number);
}
void inputTextSet() {
String number = sCmd.next();
String value = sCmd.next();
jsonWriteStr(configJson, "inputTextSet" + number, value);
sendSTATUS("inputTextSet" + number, value);
}
void inputTime() {
String number = sCmd.next();
String widget_name = sCmd.next();
widget_name.replace("#", " ");
String page_name = sCmd.next();
page_name.replace("#", " ");
String start_state = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(configJson, "inputTimeSet" + number, start_state);
createWidget (widget_name, page_name, page_number, "widgets/widget.inputTime.json", "inputTimeSet" + number);
}
void inputTimeSet() {
String number = sCmd.next();
String value = sCmd.next();
value.replace(":", ".");
jsonWriteStr(configJson, "inputTimeSet" + number, value);
value.replace(".", ":");
sendSTATUS("inputTimeSet" + number, value);
}
void inputDate() {
String number = sCmd.next();
String widget_name = sCmd.next();
widget_name.replace("#", " ");
String page_name = sCmd.next();
page_name.replace("#", " ");
String start_state = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(configJson, "inputDateSet" + number, start_state);
createWidget (widget_name, page_name, page_number, "widgets/widget.inputDate.json", "inputDateSet" + number);
}
void inputDateSet() {
String number = sCmd.next();
String value = sCmd.next();
jsonWriteStr(configJson, "inputDateSet" + number, value);
sendSTATUS("inputDateSet" + number, value);
}
*/
//=================================================Глобальные команды удаленного управления===========================================================
void mqttOrderSend() {
String id = sCmd.next();
String order = sCmd.next();
String all_line = jsonRead(configSetup, "mqttPrefix") + "/" + id + "/order";
//Serial.print(all_line);
//Serial.print("->");
//Serial.println(order);
int send_status = client.publish (all_line.c_str(), order.c_str(), false);
}
void httpOrderSend() {
String ip = sCmd.next();
String order = sCmd.next();
order.replace("_", "%20");
String url = "http://" + ip + "/cmd?command=" + order;
getURL(url);
}
//==============================================================================================================================
//============================выполнение команд (в лупе) по очереди из строки order=============================================
void handleCMD_loop() {
if (order_loop != "") {
String tmp = selectToMarker(order_loop, ","); //выделяем из страки order первую команду rel 5 1,
sCmd.readStr(tmp); //выполняем первую команду
Serial.println("[ORDER] => " + order_loop);
order_loop = deleteBeforeDelimiter(order_loop, ","); //осекаем выполненную команду
}
}
//=======================================================================================================================================
//=======================================================================================================================================
void txtExecution(String file) {
String command_all = readFile(file, 2048) + "\r\n";
command_all.replace("\r\n", "\n");
command_all.replace("\r", "\n");
while (command_all.length() != 0) {
String tmp = selectToMarker (command_all, "\n");
sCmd.readStr(tmp);
command_all = deleteBeforeDelimiter(command_all, "\n");
}
command_all = "";
}
void stringExecution(String str) {
str = str + "\r\n";
str.replace("\r\n", "\n");
str.replace("\r", "\n");
while (str.length() != 0) {
String tmp = selectToMarker (str, "\n");
sCmd.readStr(tmp);
str = deleteBeforeDelimiter(str, "\n");
}
}

Binary file not shown.

Binary file not shown.

38
FS.ino
View File

@@ -1,38 +0,0 @@
void File_system_init() {
Serial.begin(115200);
//Serial.setDebugOutput(true);
Serial.println("--------------started----------------");
//--------------------------------------------------------------
SPIFFS.begin();
configSetup = readFile("config.json", 4096);
configSetup.replace(" ", "");
configSetup.replace("\r\n", "");
Serial.println(configSetup);
jsonWriteStr(configJson, "name", jsonRead(configSetup, "name"));
jsonWriteStr(configJson, "lang", jsonRead(configSetup, "lang"));
#ifdef ESP32
uint32_t chipID_u = ESP.getEfuseMac();
chipID = String(chipID_u);
jsonWriteStr(configSetup, "chipID", chipID);
#endif
#ifdef ESP8266
chipID = String( ESP.getChipId() ) + "-" + String(ESP.getFlashChipId());
jsonWriteStr(configSetup, "chipID", chipID);
Serial.setDebugOutput(0);
#endif
jsonWriteStr(configSetup, "firmware_version", firmware_version);
prex = jsonRead(configSetup, "mqttPrefix") + "/" + chipID;
Serial.println(chipID);
}
void get_esp_info() {
}

213
Init.ino
View File

@@ -1,213 +0,0 @@
void All_init() {
server.on("/init", HTTP_GET, [](AsyncWebServerRequest * request) {
String value;
if (request->hasArg("arg")) {
value = request->getParam("arg")->value();
}
if (value == "0") {
jsonWriteStr(configSetup, "scenario", value);
saveConfig();
Scenario_init();
}
if (value == "1") {
jsonWriteStr(configSetup, "scenario", value);
saveConfig();
Scenario_init();
}
if (value == "2") {
Device_init();
}
if (value == "3") {
clean_log_date();
}
if (value == "4") {
Scenario_init();
}
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
});
prsets_init();
Device_init();
Scenario_init();
Timer_countdown_init();
}
void Device_init() {
ts.remove(ANALOG_);
ts.remove(LEVEL);
ts.remove(DALLAS);
ts.remove(DHTT);
ts.remove(DHTH);
ts.remove(DHTC);
ts.remove(DHTP);
ts.remove(DHTD);
ts.remove(STEPPER1);
ts.remove(STEPPER2);
#ifdef layout_in_ram
all_widgets = "";
#else
SPIFFS.remove("/layout.txt");
#endif
txtExecution("firmware.c.txt");
//outcoming_date();
}
//-------------------------------сценарии-----------------------------------------------------
void Scenario_init() {
if (jsonRead(configSetup, "scenario") == "1") {
scenario = readFile("firmware.s.txt", 2048);
}
}
void prsets_init() {
server.on("/preset", HTTP_GET, [](AsyncWebServerRequest * request) {
String value;
if (request->hasArg("arg")) {
value = request->getParam("arg")->value();
}
if (value == "1") {
writeFile("firmware.c.txt", readFile("configs/relay.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/relay.s.txt", 2048));
}
if (value == "2") {
writeFile("firmware.c.txt", readFile("configs/relay_t.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/relay_t.s.txt", 2048));
}
if (value == "3") {
writeFile("firmware.c.txt", readFile("configs/relay_c.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/relay_c.s.txt", 2048));
}
if (value == "4") {
writeFile("firmware.c.txt", readFile("configs/relay_s.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/relay_s.s.txt", 2048));
}
if (value == "5") {
writeFile("firmware.c.txt", readFile("configs/relay_sw.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/relay_sw.s.txt", 2048));
}
if (value == "6") {
writeFile("firmware.c.txt", readFile("configs/relay_br.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/relay_br.s.txt", 2048));
}
if (value == "7") {
writeFile("firmware.c.txt", readFile("configs/relay_sr.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/relay_sr.s.txt", 2048));
}
if (value == "8") {
writeFile("firmware.c.txt", readFile("configs/pwm.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/pwm.s.txt", 2048));
}
if (value == "9") {
writeFile("firmware.c.txt", readFile("configs/dht11.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/dht11.s.txt", 2048));
}
if (value == "10") {
writeFile("firmware.c.txt", readFile("configs/dht22.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/dht22.s.txt", 2048));
}
if (value == "11") {
writeFile("firmware.c.txt", readFile("configs/analog.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/analog.s.txt", 2048));
}
if (value == "12") {
writeFile("firmware.c.txt", readFile("configs/dallas.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/dallas.s.txt", 2048));
}
if (value == "13") {
writeFile("firmware.c.txt", readFile("configs/termostat.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/termostat.s.txt", 2048));
}
if (value == "14") {
writeFile("firmware.c.txt", readFile("configs/level.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/level.s.txt", 2048));
}
if (value == "15") {
writeFile("firmware.c.txt", readFile("configs/moution_r.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/moution_r.s.txt", 2048));
}
if (value == "16") {
writeFile("firmware.c.txt", readFile("configs/moution_s.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/moution_s.s.txt", 2048));
}
if (value == "17") {
writeFile("firmware.c.txt", readFile("configs/stepper.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/stepper.s.txt", 2048));
}
if (value == "18") {
writeFile("firmware.c.txt", readFile("configs/firmware.c.txt", 2048));
writeFile("firmware.s.txt", readFile("configs/firmware.s.txt", 2048));
}
Device_init();
Scenario_init();
request->redirect("/?configuration");
});
}
void up_time() {
uint32_t ss = millis() / 1000;
uint32_t mm = ss / 60;
uint32_t hh = mm / 60;
uint32_t dd = hh / 24;
String out = "";
if (ss != 0) {
out = "[i] uptime = " + String(ss) + " sec";
jsonWriteStr(configJson, "uptime", String(ss) + " sec");
}
if (mm != 0) {
out = "[i] uptime = " + String(mm) + " min";
jsonWriteStr(configJson, "uptime", String(mm) + " min");
}
if (hh != 0) {
out = "[i] uptime = " + String(hh) + " hours";
jsonWriteStr(configJson, "uptime", String(hh) + " hours");
}
if (dd != 0) {
out = "[i] uptime = " + String(dd) + " days";
jsonWriteStr(configJson, "uptime", String(dd) + " days");
}
Serial.println(out + ", mqtt_lost_error: " + String(mqtt_lost_error) + ", wifi_lost_error: " + String(wifi_lost_error));
}
void statistics_init() {
ts.add(STATISTICS, statistics_update, [&](void*) {
statistics();
}, nullptr, true);
}
void statistics() {
if (WiFi.status() == WL_CONNECTED) {
String urls = "http://backup.privet.lv/visitors/?";
//-----------------------------------------------------------------
urls += WiFi.macAddress().c_str();
urls += "&";
//-----------------------------------------------------------------
#ifdef ESP8266
urls += "iot-manager_esp8266";
#endif
#ifdef ESP32
urls += "iot-manager_esp32";
#endif
urls += "&";
//-----------------------------------------------------------------
#ifdef ESP8266
urls += ESP.getResetReason();
#endif
#ifdef ESP32
urls += "Unknown";
#endif
urls += "&";
//-----------------------------------------------------------------
urls += "firm version: " + firmware_version + " " + DATE_COMPILING + " " + TIME_COMPILING;
//-----------------------------------------------------------------
String stat = getURL(urls);
//Serial.println(stat);
}
}

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 Dmitry Borisenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -1,171 +0,0 @@
//===============================================Логирование============================================================
void logging() {
static boolean flag = true;
String sensor_name = sCmd.next();
String period_min = sCmd.next();
String maxCount = sCmd.next();
String optimozation = sCmd.next();
String widget_name = sCmd.next();
widget_name.replace("#", " ");
String page_name = sCmd.next();
String page_number = sCmd.next();
if (optimozation == "fast") chart_data_in_solid_array = true;
if (optimozation == "slow") chart_data_in_solid_array = false;
if (sensor_name == "analog") jsonWriteStr(optionJson, "analog_logging_count", maxCount);
if (sensor_name == "level") jsonWriteStr(optionJson, "level_logging_count", maxCount);
if (sensor_name == "dallas") jsonWriteStr(optionJson, "dallas_logging_count", maxCount);
if (sensor_name == "dhtT") jsonWriteStr(optionJson, "dhtT_logging_count", maxCount);
if (sensor_name == "dhtH") jsonWriteStr(optionJson, "dhtH_logging_count", maxCount);
if (sensor_name == "analog") createChart (widget_name, page_name, page_number, "widgets/widget.chart.json", "loganalog", maxCount);
if (sensor_name == "level") createChart (widget_name, page_name, page_number, "widgets/widget.chart.json", "loglevel", maxCount);
if (sensor_name == "dallas") createChart (widget_name, page_name, page_number, "widgets/widget.chart.json", "logdallas", maxCount);
if (sensor_name == "dhtT") createChart (widget_name, page_name, page_number, "widgets/widget.chart.json", "logdhtT", maxCount);
if (sensor_name == "dhtH") createChart (widget_name, page_name, page_number, "widgets/widget.chart.json", "logdhtH", maxCount);
if (sensor_name == "analog") {
flagLoggingAnalog = true;
ts.remove(ANALOG_LOG);
ts.add(ANALOG_LOG, period_min.toInt() * 1000 * 60, [&](void*) {
deleteOldDate("log.analog.txt", jsonReadtoInt(optionJson, "analog_logging_count"), jsonRead(configJson, "analog"));
}, nullptr, true);
}
if (sensor_name == "level") {
flagLoggingLevel = true;
ts.remove(LEVEL_LOG);
ts.add(LEVEL_LOG, period_min.toInt() * 1000 * 60, [&](void*) {
deleteOldDate("log.level.txt", jsonReadtoInt(optionJson, "level_logging_count"), jsonRead(configJson, "level"));
}, nullptr, true);
}
if (sensor_name == "dallas") {
flagLoggingDallas = true;
ts.remove(DALLAS_LOG);
ts.add(DALLAS_LOG, period_min.toInt() * 1000 * 60, [&](void*) {
deleteOldDate("log.dallas.txt", jsonReadtoInt(optionJson, "dallas_logging_count"), jsonRead(configJson, "dallas"));
}, nullptr, true);
}
if (sensor_name == "dhtT") {
flagLoggingdhtT = true;
ts.remove(dhtT_LOG);
ts.add(dhtT_LOG, period_min.toInt() * 1000 * 60, [&](void*) {
deleteOldDate("log.dhtT.txt", jsonReadtoInt(optionJson, "dhtT_logging_count"), jsonRead(configJson, "dhtT"));
}, nullptr, true);
}
if (sensor_name == "dhtH") {
flagLoggingdhtH = true;
ts.remove(dhtH_LOG);
ts.add(dhtH_LOG, period_min.toInt() * 1000 * 60, [&](void*) {
deleteOldDate("log.dhtH.txt", jsonReadtoInt(optionJson, "dhtH_logging_count"), jsonRead(configJson, "dhtH"));
}, nullptr, true);
}
}
//=========================================Удаление стрых данных и запись новых==================================================================
void deleteOldDate(String file, int seted_number_of_lines, String date_to_add) {
String log_date = readFile(file, 5000);
int current_number_of_lines = count(log_date, "\r\n");
Serial.println("=====> [i] in log file " + file + " " + current_number_of_lines + " lines");
if (current_number_of_lines > seted_number_of_lines + 1) {
SPIFFS.remove("/" + file);
current_number_of_lines = 0;
}
if (current_number_of_lines == 0) {
SPIFFS.remove("/" + file);
current_number_of_lines = 0;
}
if (current_number_of_lines > seted_number_of_lines) {
log_date = deleteBeforeDelimiter(log_date, "\r\n");
if (GetTimeUnix() != "failed") {
log_date += GetTimeUnix() + " " + date_to_add + "\r\n";
writeFile(file, log_date);
}
} else {
if (GetTimeUnix() != "failed") {
addFile(file, GetTimeUnix() + " " + date_to_add);
}
}
log_date = "";
}
//=========================================Выбор какие данные отправлять==================================================================
void choose_log_date_and_send() {
if (flagLoggingAnalog) sendLogData("log.analog.txt", "loganalog", chart_data_in_solid_array);
if (flagLoggingLevel) sendLogData("log.level.txt", "loglevel", chart_data_in_solid_array);
if (flagLoggingDallas) sendLogData("log.dallas.txt", "logdallas", chart_data_in_solid_array);
if (flagLoggingdhtT) sendLogData("log.dhtT.txt", "logdhtT", chart_data_in_solid_array);
if (flagLoggingdhtH) sendLogData("log.dhtH.txt", "logdhtH", chart_data_in_solid_array);
}
//=========================================Отправка данных===================================================================================
void sendLogData(String file, String topic, boolean type) {
if (type) {
//----------------------------------------------
String log_date = readFile(file, 5000);
log_date.replace("\r\n", "\n");
log_date.replace("\r", "\n");
String buf = "{}";
String json_array;
String unix_time;
String value;
while (log_date.length() != 0) {
String tmp = selectToMarker (log_date, "\n");
log_date = deleteBeforeDelimiter(log_date, "\n");
unix_time = selectToMarker (tmp, " ");
jsonWriteInt(buf, "x", unix_time.toInt());
value = deleteBeforeDelimiter(tmp, " ");
jsonWriteFloat(buf, "y1", value.toFloat());
if (log_date.length() < 3) {
json_array += buf;
} else {
json_array += buf + ",";
}
buf = "{}";
}
unix_time = "";
value = "";
log_date = "";
json_array = "{\"status\":[" + json_array + "]}";
Serial.println(json_array);
sendCHART(topic, json_array);
json_array = "";
getMemoryLoad("[i] after send log date");
//----------------------------------------------
} else {
//----------------------------------------------
File configFile = SPIFFS.open("/" + file, "r");
if (!configFile) {
return;
}
configFile.seek(0, SeekSet); //поставим курсор в начало файла
while (configFile.position() != configFile.size()) {
String tmp = configFile.readStringUntil('\r\n');
String unix_time = selectToMarker (tmp, " ");
String value = deleteBeforeDelimiter(tmp, " ");
String final_line = "{\"status\":{\"x\":" + unix_time + ",\"y1\":" + value + "}}";
//Serial.println(final_line);
sendCHART(topic, final_line);
}
getMemoryLoad("[i] after send log date");
}
//----------------------------------------------
}
//=========================================Очистка данных===================================================================================
void clean_log_date() {
SPIFFS.remove("/log.analog.txt");
SPIFFS.remove("/log.level.txt");
SPIFFS.remove("/log.dallas.txt");
SPIFFS.remove("/log.dhtT.txt");
SPIFFS.remove("/log.dhtH.txt");
}

293
PrepareProject.py Normal file
View File

@@ -0,0 +1,293 @@
# PrepareProject.py - инструмент для подготовки проекта к компиляции.
# Необходимо вызвать при изменении персональных настроек или состава модулей.
#
# При отсутствии файла с персональными настройками, myProfile.json будет создан автоматически
# python PrepareProject.py
#
# Если myProfile.json уже существует, можно запустить PrepareProject.py с параметром -u или --update для обновления списка модулей.
# Данная функция будет полезна для разработчиков при добавлении модуля в папку src/modules
# python PrepareProject.py --update
# python PrepareProject.py -u
#
# Возможно использовать несколько вариантов персональных настроек и уточнять имя файла при запуске с использованием параметра -p или -profile
# python PrepareProject.py --profile <ИмяФайла>
# python PrepareProject.py -p <ИмяФайла>
#
# Используя параметры -b или --board <board_name> можно уточнить для какой платы нужно подготовить проект
#
# поддерживаемые контроллеры (профили):
# esp8266_4mb
# esp8266_16mb
# esp32_4mb
# esp32cam_4mb
# esp32_16mb
# esp32s2_4mb
# esp8266_1mb
# esp8266_1mb_ota
# esp8285_1mb
# esp8285_1mb_ota
# esp8266_2mb
# esp8266_2mb_ota
import configparser
import os, json, sys, getopt
from pathlib import Path
import shutil
config = configparser.ConfigParser() # создаём объекта парсера INI
def printHelp():
print('''Usage:
PrepareProject.py
-p --profile <file.json_in_root_folder>
-u --update
-h --help
-b --board <board_name>''')
with open('myProfile.json', "r", encoding='utf-8') as read_file:
profJson = json.load(read_file)
print ('')
print ('Choose a board from the list:')
# print(profJson['projectProp']['platformio']['comments_default_envs'])
print (' ', end='')
cnt = 0
for envs in profJson['projectProp']['platformio']['envs']:
if cnt == 5:
cnt = 0
print('')
print(' ', end='')
print(envs['name'] + ', ', end='')
cnt = cnt + 1
def updateModulesInProfile(profJson):
profJson["modules"] = {}
for root,d_names,f_names in os.walk("src/modules"):
for fname in f_names:
if fname == "modinfo.json":
with open(os.path.join(root, fname), "r", encoding='utf-8') as read_file:
modinfoJson = json.load(read_file)
# проверяем есть ли уже узловой элемент и если нет, то создаем
if not modinfoJson['menuSection'] in profJson["modules"]:
listFromFirstElement = {modinfoJson['menuSection']: []}
listFromFirstElement.update(profJson["modules"])
profJson["modules"] = listFromFirstElement
# добавляем информацию о модуле в узловой элемент
profJson["modules"][modinfoJson['menuSection']].append({
'path': os.path.normpath(root).replace("\\", "/"),
'active': modinfoJson['defActive']
})
update = False # признак необходимости обновить список модулей
profile = 'myProfile.json' # имя профиля. Будет заменено из консоли, если указано при старте
selectDevice = '' # имя платы для которой хотим собрать, если её указали к командной строке -b <board>
argv = sys.argv[1:]
try:
opts, args = getopt.getopt(argv, 'hp:ub:', ['help', 'profile=', 'update', 'board='])
except getopt.GetoptError:
print('Ошибка обработки параметров!')
printHelp()
sys.exit(2)
for opt, arg in opts:
if opt in ("-h", "--help"):
printHelp()
sys.exit()
elif opt in ("-p", "--profile"):
print('Загрузка профиля из файла:' + arg)
profile = arg
elif opt in ("-u", "--update"):
print('Создание новой конфигурации по исходным файлам!')
update = True
elif opt in ("-b", "--board"):
print('Создание профиля для платы:' + arg)
selectDevice = arg
if Path(profile).is_file():
# подтягиваем уже существующий профиль
with open(profile, "r", encoding='utf-8') as read_file:
profJson = json.load(read_file)
# если хотим обновить список модулей в существующем профиле
if update:
updateModulesInProfile(profJson)
# sortedListNames = sorted(profJson["modules"])
# sortedModules = {}
# for sortedModulName in sortedList:
# print(profJson)
with open(profile, "w", encoding='utf-8') as write_file:
json.dump(profJson, write_file, ensure_ascii=False, indent=4, sort_keys=False)
else:
# если файла нет - создаем по образу настроек из проекта
profJson = json.loads('{}')
# копируем параметры IOTM из settings.json в новый профиль
with open("data_svelte/settings.json", "r", encoding='utf-8') as read_file:
profJson['iotmSettings'] = json.load(read_file)
# устанавливаем параметры сборки
profJson['projectProp'] = {
'platformio': {
'default_envs': 'esp8266_4mb'
}
}
# загружаем список модулей для сборки
updateModulesInProfile(profJson)
# сохраняем новый профиль
with open(profile, "w", encoding='utf-8') as write_file:
json.dump(profJson, write_file, ensure_ascii=False, indent=4, sort_keys=False)
deviceName = ''
if selectDevice == '':
# определяем какое устройство используется в профиле
deviceName = profJson['projectProp']['platformio']['default_envs']
else:
for envs in profJson['projectProp']['platformio']['envs']:
if envs['name'] == selectDevice:
deviceName = selectDevice
if deviceName == '':
deviceName = profJson['projectProp']['platformio']['default_envs']
print(f"\x1b[1;31;31m Board ", selectDevice, " not found in ",profile,"!!! Use ",deviceName," \x1b[0m")
# заполняем папку /data файлами прошивки в зависимости от устройства
if deviceName == 'esp8266_1mb_ota' or deviceName == 'esp8285_1mb_ota' or deviceName == 'esp8266_2mb_ota':
shutil.copytree("data_lite", "data_svelte", symlinks=False, ignore=None, ignore_dangling_symlinks=False, dirs_exist_ok=True)
else:
shutil.copytree("data_full", "data_svelte", symlinks=False, ignore=None, ignore_dangling_symlinks=False, dirs_exist_ok=True)
deviceType = 'esp32*'
if not 'esp32' in deviceName:
deviceType = 'esp82*'
if 'bk72' in deviceName:
deviceType = 'bk72*'
# генерируем файлы проекта на основе подготовленного профиля
# заполняем конфигурационный файл прошивки параметрами из профиля
with open("data_svelte/settings.json", "r", encoding='utf-8') as read_file:
iotmJson = json.load(read_file)
for key, value in profJson['iotmSettings'].items():
iotmJson[key] = value
with open("data_svelte/settings.json", "w", encoding='utf-8') as write_file:
json.dump(iotmJson, write_file, ensure_ascii=False, indent=4, sort_keys=False)
# собираем меню прошивки из модулей
# параллельно формируем список имен активных модулей
# параллельно собираем необходимые активным модулям библиотеки для включения в компиляцию для текущего типа устройства (esp8266_4m, esp32_4mb, esp8266_1m, esp8266_1m_ota)
activeModulesName = [] # список имен активных модулей
allLibs = "" # подборка всех библиотек необходимых модулям для дальнейшей записи в конфигурацию platformio
allDefs = "\n" # для каждого модуля создаем глобальный define
itemsCount = 1
includeDirs = "" # подборка путей ко всем модулям для дальнейшей записи в конфигурацию platformio
itemsJson = json.loads('[{"name": "Выберите элемент", "num": 0}]')
for section, modules in profJson['modules'].items():
itemsJson.append({"header": section})
for module in modules:
if module['active']:
with open(module['path'] + "/modinfo.json", "r", encoding='utf-8') as read_file:
moduleJson = json.load(read_file)
if 'moduleDefines' in moduleJson['about']:
allDefs = allDefs + "\n".join("-D" + d for d in moduleJson['about']['moduleDefines'])
if deviceName in moduleJson['usedLibs']: # проверяем поддерживает ли модуль текущее устройство
if not 'exclude' in moduleJson['usedLibs'][deviceName]: # смотрим не нужно ли исключить данный модуль из указанной платы deviceName
activeModulesName.append(moduleJson['about']['moduleName']) # запоминаем имена для использования на след шагах
includeDirs = includeDirs + "\n+<" + module['path'].replace("src/", "") + ">" # запоминаем пути к модулям для компиляции
for libPath in moduleJson['usedLibs'][deviceName]: # запоминаем библиотеки необходимые модулю для текущей платы
allLibs = allLibs + "\n" + libPath
for configItemsJson in moduleJson['configItem']:
configItemsJson['num'] = itemsCount
configItemsJson['name'] = str(itemsCount) + ". " + configItemsJson['name']
itemsCount = itemsCount + 1
configItemsJson['moduleName'] = moduleJson['about']['moduleName']
itemsJson.append(configItemsJson)
else: # В первую очередь ищем по имени deviceName, чтобы для данной платы можно было уточнить либы. Если не нашли плату по имени в usedLibs пробуем найти её по типу deviceType
if deviceType in moduleJson['usedLibs']: # проверяем поддерживает ли модуль текущее устройство
activeModulesName.append(moduleJson['about']['moduleName']) # запоминаем имена для использования на след шагах
includeDirs = includeDirs + "\n+<" + module['path'].replace("src/", "") + ">" # запоминаем пути к модулям для компиляции
for libPath in moduleJson['usedLibs'][deviceType]: # запоминаем библиотеки необходимые модулю для текущей платы
allLibs = allLibs + "\n" + libPath
for configItemsJson in moduleJson['configItem']:
configItemsJson['num'] = itemsCount
configItemsJson['name'] = str(itemsCount) + ". " + configItemsJson['name']
itemsCount = itemsCount + 1
itemsJson.append(configItemsJson)
configItemsJson['moduleName'] = moduleJson['about']['moduleName']
with open("data_svelte/items.json", "w", encoding='utf-8') as write_file:
json.dump(itemsJson, write_file, ensure_ascii=False, indent=4, sort_keys=False)
# учитываем вызовы модулей в API.cpp
allAPI_head = ""
allAPI_exec = ""
for activModuleName in activeModulesName:
allAPI_head = allAPI_head + "\nvoid* getAPI_" + activModuleName + "(String subtype, String params);"
allAPI_exec = allAPI_exec + "\nif ((tmpAPI = getAPI_" + activModuleName + "(subtype, params)) != nullptr) foundAPI = tmpAPI;"
apicpp = '#include "ESPConfiguration.h"\n'
apicpp = apicpp + allAPI_head
apicpp = apicpp + '\n\nvoid* getAPI(String subtype, String params) {\nvoid* tmpAPI; void* foundAPI = nullptr;'
apicpp = apicpp + allAPI_exec
apicpp = apicpp + '\nreturn foundAPI;\n}'
with open('src/modules/API.cpp', 'w') as f:
f.write(apicpp)
# корректируем параметры platformio
# собираем пути всех отключенных модулей для исключения их из процесса компиляции
# excludeDirs = ""
# for root,d_names,f_names in os.walk("src\\modules"):
# for fname in f_names:
# if fname == "modinfo.json":
# with open(root + "\\" + fname, "r", encoding='utf-8') as read_file:
# modinfoJson = json.load(read_file)
# if not modinfoJson['about']['moduleName'] in activeModulesName:
# excludeDirs = excludeDirs + "\n-<" + root.replace("src\\", "") + ">"
# фиксируем изменения в platformio.ini
config.clear()
config.read("platformio.ini")
config["env:" + deviceName + "_fromitems"]["lib_deps"] = allLibs
config["env:" + deviceName + "_fromitems"]["build_src_filter"] = includeDirs
config["env:" + deviceName + "_fromitems"]["build_flags"] = allDefs
config["platformio"]["default_envs"] = deviceName
if "${env:" + deviceName + "_fromitems.build_flags}" not in config["env:" + deviceName]["build_flags"]:
config["env:" + deviceName]["build_flags"] += "\n${env:" + deviceName + "_fromitems.build_flags}"
# config["platformio"]["data_dir"] = profJson['projectProp']['platformio']['data_dir']
with open("platformio.ini", 'w') as configFile:
config.write(configFile)
# сохраняем часть применяемого профиля в папку data_svelte для загрузки на контроллер и дальнейшего переиспользования
print(f"Saving profile {profile} in /data_svelte/flashProfile.json")
shortProfJson = json.loads('{}')
shortProfJson['projectProp'] = {
'platformio': {
'default_envs': deviceName
}
}
shortProfJson['modules'] = profJson['modules']
with open("data_svelte/flashProfile.json", "w", encoding='utf-8') as write_file:
json.dump(shortProfJson, write_file, ensure_ascii=False, indent=4, sort_keys=False)
# import ctypes # An included library with Python install.
# if update:
# ctypes.windll.user32.MessageBoxW(0, "Модули профиля " + profile + " обновлены, а сам профиль применен, можно запускать компиляцию и прошивку.", "Операция завершена.", 0)
# else:
# ctypes.windll.user32.MessageBoxW(0, "Профиль " + profile + " применен, можно запускать компиляцию и прошивку.", "Операция завершена.", 0)
if update:
shutil.copy(profile, "compilerProfile.json")
print(f"\x1b[1;31;42m Profile modules " + profile + " updated, profile applied, you can run compilation and firmware.\x1b[0m")
else:
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")

37
PrepareServer.py Normal file
View File

@@ -0,0 +1,37 @@
# подготавливаем папку для локального сервера обновлений
# для этого компилируем проект и получаем бинарные файлы:
# firmware.bin, littlefs.bin, partitions.bin и ver.json
import shutil
import configparser
import os, json, sys, getopt
from pathlib import Path
def copyFileIfExist(fileName, deviceName):
srcFilePath = ".pio/build/" + deviceName + "/" + fileName
dstFilePath = "iotm/" + deviceName + "/400/" + fileName
if Path(srcFilePath).is_file():
print("Ok...... \"" + srcFilePath + "\" на месте!")
Path(dstFilePath).parent.mkdir(parents=True, exist_ok=True)
shutil.copy(srcFilePath, dstFilePath)
return True
else:
print("Error...... \"" + srcFilePath + "\" НЕ существует!")
return False
config = configparser.ConfigParser() # создаём объекта парсера INI
config.read("platformio.ini")
deviceName = config["platformio"]["default_envs"]
homeDir = os.path.expanduser('~')
os.system(homeDir + "/.platformio/penv/Scripts/pio run")
os.system(homeDir + "/.platformio/penv/Scripts/pio run -t buildfs --disable-auto-clean")
if copyFileIfExist("firmware.bin", deviceName) and copyFileIfExist("littlefs.bin", deviceName):
copyFileIfExist("partitions.bin", deviceName)
versionsJson = json.loads('{"' + deviceName + '": {"0": "400"}}')
with open("iotm/ver.json", "w", encoding='utf-8') as write_file:
json.dump(versionsJson, write_file, ensure_ascii=False, indent=4, sort_keys=False)
print(f"\x1b[1;31;42m Сервер для обновления 'по воздуху' для " + deviceName + " подготовлен. Не забудьте установить расширение Live Server, запустить его и прописать в ESP IP вашего компьютера. Подробнее смотрите в WIKI: https://iotmanager.org/wiki.\x1b[0m")

15
README.md Normal file
View File

@@ -0,0 +1,15 @@
# IoTManager
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.

View File

@@ -1,98 +0,0 @@
void handleScenario() {
if (jsonRead(configSetup, "scenario") == "1") {
if ((jsonRead(optionJson, "scenario_status") != "")) {
int i = 0;
String str = scenario; //читаем переменную с сценариями (то что из файла на странице)
str += "\n";
str.replace("\r\n", "\n");
str.replace("\r", "\n");
while (str.length() != 0) {
//-----------------------------------------------------------------------------------------------------------------------
String tmp = selectToMarker (str, "end"); //выделяем первый сценарий из файла вместе с командами
if (tmp == "") return;
i++;
if (scenario_line_status[i] == 1) {
//Serial.println(i);
String condition = selectToMarker (tmp, "\n"); //выделяем первую строку самого сценария button1 = 1 (условие)
String param_name = selectFromMarkerToMarker(condition, " " , 0);
param_name = add_set(param_name); //из первой страки берем имя параметра button1 и вставляем в него Set и получаем buttonSet1
if (param_name.indexOf("timenow") != -1){
param_name = param_name + "Set";
}
String order = jsonRead(optionJson, "scenario_status"); //читаем весь файл событий
String param = selectToMarker (order, ","); //читаем первое событие из файла событий
if (param_name == param) { //если поступившее событие равно событию заданному buttonSet1 в файле начинаем его обработку
String sign = selectFromMarkerToMarker(condition, " " , 1); //читаем знак (=)
String value = selectFromMarkerToMarker(condition, " " , 2); //читаем значение (1)
if (value.indexOf("digit") != -1) {
value = add_set(value);
value = jsonRead(configJson, value);
}
if (value.indexOf("time") != -1) {
value = add_set(value);
value = jsonRead(configJson, value);
}
boolean flag = false; //если одно из значений совпало то только тогда начинаем выполнять комнады
if (sign == "=") {
if (jsonRead(configJson, param_name) == value) flag = true;
}
if (sign == "!=") {
if (jsonRead(configJson, param_name) != value) flag = true;
}
if (sign == "<") {
if (jsonRead(configJson, param_name).toInt() < value.toInt()) flag = true;
}
if (sign == ">") {
if (jsonRead(configJson, param_name).toInt() > value.toInt()) flag = true;
}
if (sign == ">=") {
if (jsonRead(configJson, param_name).toInt() >= value.toInt()) flag = true;
}
if (sign == "<=") {
if (jsonRead(configJson, param_name).toInt() <= value.toInt()) flag = true;
}
if (flag) {
tmp = deleteBeforeDelimiter(tmp, "\n"); //удаляем строку самого сценария оставляя только команды
stringExecution(tmp); //выполняем все команды
Serial.println("[SCENARIO] '" + condition + "'");
//Serial.println(" " + tmp);
}
}
}
str = deleteBeforeDelimiter(str, "end\n"); //удаляем первый сценарий
//-----------------------------------------------------------------------------------------------------------------------
}
String tmp2 = jsonRead(optionJson, "scenario_status"); //читаем файл событий
tmp2 = deleteBeforeDelimiter(tmp2, ","); //удаляем выполненное событие
jsonWriteStr(optionJson, "scenario_status", tmp2); //записываем обновленный файл событий
i = 0;
}
}
}
void eventGen (String event_name, String number) { //событие выглядит как имя плюс set плюс номер: button+Set+1
if (jsonRead(configSetup, "scenario") == "1") {
String tmp = jsonRead(optionJson, "scenario_status") ; //генерирование события
//Serial.println(event_name);
jsonWriteStr(optionJson, "scenario_status", tmp + event_name + number + ",");
}
}
String add_set(String param_name) {
String num1 = param_name.substring(param_name.length() - 1);
String num2 = param_name.substring(param_name.length() - 2, param_name.length() - 1);
if (isDigitStr(num1) && isDigitStr(num2)) {
param_name = param_name.substring(0, param_name.length() - 2) + "Set" + num2 + num1;
} else {
if (isDigitStr(num1)) {
param_name = param_name.substring(0, param_name.length() - 1) + "Set" + num1;
}
}
return param_name;
}

View File

@@ -1,323 +0,0 @@
//===============================================================================================================================
//=========================================Модуль аналогового сенсора============================================================
void analog() {
String pin = sCmd.next();
String widget_name = sCmd.next();
String page_name = sCmd.next();
String type = sCmd.next();
String analog_start = sCmd.next();
String analog_end = sCmd.next();
String analog_start_out = sCmd.next();
String analog_end_out = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(optionJson, "analog_start", analog_start);
jsonWriteStr(optionJson, "analog_end", analog_end);
jsonWriteStr(optionJson, "analog_start_out", analog_start_out);
jsonWriteStr(optionJson, "analog_end_out", analog_end_out);
choose_widget_and_create(widget_name, page_name, page_number, type, "analog");
ts.add(ANALOG_, analog_update_int, [&](void*) {
static int analog_old;
#ifdef ESP32
//int pin_int = pin.toInt();
int analog_in = analogRead(34);
#endif
#ifdef ESP8266
int analog_in = analogRead(A0);
#endif
jsonWriteInt(configJson, "analog_in", analog_in);
int analog = map(analog_in,
jsonReadtoInt(optionJson, "analog_start") ,
jsonReadtoInt(optionJson, "analog_end"),
jsonReadtoInt(optionJson, "analog_start_out"),
jsonReadtoInt(optionJson, "analog_end_out"));
jsonWriteInt(configJson, "analog", analog);
// if (analog_old != analog) {
eventGen ("analog", "");
sendSTATUS("analog", String(analog));
if (client.connected()) {
Serial.println("[i] sensor 'analog' send date " + String(analog));
}
// }
analog_old = analog;
}, nullptr, true);
}
//===================================================================================================================================
//=========================================Модуль измерения уровня в баке============================================================
void level() {
String widget_name = sCmd.next();
String page_name = sCmd.next();
String type = sCmd.next();
String empty_level = sCmd.next();
String full_level = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(optionJson, "empty_level", empty_level);
jsonWriteStr(optionJson, "full_level", full_level);
pinMode(14, OUTPUT);
pinMode(12, INPUT);
choose_widget_and_create(widget_name, page_name, page_number, type, "level");
ts.add(LEVEL, tank_level_shooting_interval, [&](void*) {
long duration_;
int distance_cm;
int level;
static int level_old; //переменная static сохраняет свое значение между вызовами функции
static int counter;
digitalWrite(14, LOW);
delayMicroseconds(2);
digitalWrite(14, HIGH);
delayMicroseconds(10);
digitalWrite(14, LOW);
duration_ = pulseIn(12, HIGH, 30000); // 3000 µs = 50cm // 30000 µs = 5 m
distance_cm = duration_ / 29 / 2;
distance_cm = medianFilter.filtered(distance_cm);//отсечение промахов медианным фильтром
counter++;
if (counter > tank_level_times_to_send) {
counter = 0;
jsonWriteInt(configJson, "level_in", distance_cm);
level = map(distance_cm,
jsonReadtoInt(optionJson, "empty_level"),
jsonReadtoInt(optionJson, "full_level"), 0, 100);
jsonWriteInt(configJson, "level", level);
//if (level_old != level) {
eventGen ("level", "");
sendSTATUS("level", String(level));
if (client.connected()) {
Serial.println("[i] sensor tank 'level' send date " + String(level));
}
//}
level_old = level;
}
}, nullptr, true);
}
//==========================================================================================================================================
//=========================================Модуль температурного сенсора ds18b20============================================================
void dallas() {
String pin = sCmd.next();
String widget_name = sCmd.next();
String page_name = sCmd.next();
String type = sCmd.next();
String page_number = sCmd.next();
oneWire = new OneWire((uint8_t) pin.toInt());
sensors.setOneWire(oneWire);
sensors.begin();
sensors.setResolution(12);
choose_widget_and_create(widget_name, page_name, page_number, type, "dallas");
ts.add(DALLAS, temp_update_int, [&](void*) {
float temp = 0;
static float temp_old;
sensors.requestTemperatures();
temp = sensors.getTempCByIndex(0);
jsonWriteStr(configJson, "dallas", String(temp));
//if (temp_old != temp) {
eventGen ("dallas", "");
sendSTATUS("dallas", String(temp));
if (client.connected()) {
Serial.println("[i] sensor 'dallas' send date " + String(temp));
}
//}
temp_old = temp;
}, nullptr, true);
}
//======================================================================================================================
//=========================================Модуль сенсоров DHT==========================================================
void dhtT() {
String sensor_type = sCmd.next();
String pin = sCmd.next();
String widget_name = sCmd.next();
String page_name = sCmd.next();
String type = sCmd.next();
String page_number = sCmd.next();
if (sensor_type == "DHT11") {
dht.setup(pin.toInt(), DHTesp::DHT11);
}
if (sensor_type == "DHT22") {
dht.setup(pin.toInt(), DHTesp::DHT22);
}
choose_widget_and_create(widget_name, page_name, page_number, type, "dhtT");
ts.add(DHTT, dhtT_update_int, [&](void*) { //dht.getMinimumSamplingPeriod()
float value = 0;
static float value_old;
static int counter;
if (dht.getStatus() != 0 && counter < 5) {
sendSTATUS("dhtT", String(dht.getStatusString()));
counter++;
} else {
counter = 0;
value = dht.getTemperature();
//if (value_old != value) {
if (String(value) != "nan") {
eventGen ("dhtT", "");
jsonWriteStr(configJson, "dhtT", String(value));
sendSTATUS("dhtT", String(value));
if (client.connected()) {
Serial.println("[i] sensor 'dhtT' send date " + String(value));
}
//}
}
value_old = value;
}
}, nullptr, true);
}
void dhtH() {
String sensor_type = sCmd.next();
String pin = sCmd.next();
String widget_name = sCmd.next();
String page_name = sCmd.next();
String type = sCmd.next();
String page_number = sCmd.next();
if (sensor_type == "DHT11") {
dht.setup(pin.toInt(), DHTesp::DHT11);
}
if (sensor_type == "DHT22") {
dht.setup(pin.toInt(), DHTesp::DHT22);
}
choose_widget_and_create(widget_name, page_name, page_number, type, "dhtH");
ts.add(DHTH, dhtH_update_int , [&](void*) { //dht.getMinimumSamplingPeriod()
int value = 0;
static int value_old;
static int counter;
if (dht.getStatus() != 0 && counter < 5) {
sendSTATUS("dhtH", String(dht.getStatusString()));
counter++;
} else {
counter = 0;
value = dht.getHumidity();
if (String(value) != "nan" || value <= 100 || value >= 0) {
//if (value_old != value) {
eventGen ("dhtH", "");
jsonWriteStr(configJson, "dhtH", String(value));
sendSTATUS("dhtH", String(value));
if (client.connected()) {
Serial.println("[i] sensor 'dhtH' send date " + String(value));
}
//}
}
value_old = value;
}
}, nullptr, true);
}
void dhtPerception() {
String widget_name = sCmd.next();
String page_name = sCmd.next();
String page_number = sCmd.next();
choose_widget_and_create(widget_name, page_name, page_number, "any-data", "dhtPerception");
ts.add(DHTP, dht_calculation_update_int, [&](void*) {
byte value;
if (dht.getStatus() != 0) {
sendSTATUS("dhtPerception", String(dht.getStatusString()));
} else {
value = dht.computePerception(jsonRead(configJson, "dhtT").toFloat(), jsonRead(configJson, "dhtH").toFloat(), false);
String final_line = perception(value);
jsonWriteStr(configJson, "dhtPerception", final_line);
eventGen ("dhtPerception", "");
sendSTATUS("dhtPerception", final_line);
if (client.connected()) {
Serial.println("[i] sensor 'dhtPerception' send date " + final_line);
}
}
}, nullptr, true);
}
String perception(byte value) {
if (value == 0) return "Сухой воздух";
if (value == 1) return "Комфортно";
if (value == 2) return "Уютно";
if (value == 3) return "Хорошо";
if (value == 4) return "Неудобно";
if (value == 5) return "Довольно неудобно";
if (value == 6) return "Очень неудобно";
if (value == 7) return "Сильно неудобно, полный звиздец";
}
void dhtComfort() {
String widget_name = sCmd.next();
String page_name = sCmd.next();
String page_number = sCmd.next();
choose_widget_and_create(widget_name, page_name, page_number, "any-data", "dhtComfort");
ts.add(DHTC, dht_calculation_update_int, [&](void*) {
float value;
ComfortState cf;
if (dht.getStatus() != 0) {
sendSTATUS("dhtComfort", String(dht.getStatusString()));
} else {
value = dht.getComfortRatio(cf, jsonRead(configJson, "dhtT").toFloat(), jsonRead(configJson, "dhtH").toFloat(), false);
String comfortStatus;
switch (cf) {
case Comfort_OK:
comfortStatus = "Отлично";
break;
case Comfort_TooHot:
comfortStatus = "Очень жарко";
break;
case Comfort_TooCold:
comfortStatus = "Очень холодно";
break;
case Comfort_TooDry:
comfortStatus = "Очень сухо";
break;
case Comfort_TooHumid:
comfortStatus = "Очень влажно";
break;
case Comfort_HotAndHumid:
comfortStatus = "Жарко и влажно";
break;
case Comfort_HotAndDry:
comfortStatus = "Жарко и сухо";
break;
case Comfort_ColdAndHumid:
comfortStatus = "Холодно и влажно";
break;
case Comfort_ColdAndDry:
comfortStatus = "Холодно и сухо";
break;
default:
comfortStatus = "Неизвестно";
break;
};
String final_line = comfortStatus;
jsonWriteStr(configJson, "dhtComfort", final_line);
eventGen ("dhtComfort", "");
sendSTATUS("dhtComfort", final_line);
if (client.connected()) {
Serial.println("[i] sensor 'dhtComfort' send date " + final_line);
}
}
}, nullptr, true);
}
void dhtDewpoint() {
String widget_name = sCmd.next();
String page_name = sCmd.next();
String page_number = sCmd.next();
choose_widget_and_create(widget_name, page_name, page_number, "any-data", "dhtDewpoint");
ts.add(DHTD, dht_calculation_update_int, [&](void*) {
float value;
if (dht.getStatus() != 0) {
sendSTATUS("dhtDewpoint", String(dht.getStatusString()));
} else {
value = dht.computeDewPoint(jsonRead(configJson, "dhtT").toFloat(), jsonRead(configJson, "dhtH").toFloat(), false);
jsonWriteInt(configJson, "dhtDewpoint", value);
eventGen ("dhtDewpoint", "");
sendSTATUS("dhtDewpoint", String(value));
if (client.connected()) {
Serial.println("[i] sensor 'dhtDewpoint' send date " + String(value));
}
}
}, nullptr, true);
}
void choose_widget_and_create(String widget_name, String page_name, String page_number, String type, String topik) {
if (type == "any-data") createWidget (widget_name, page_name, page_number, "widgets/widget.anyData.json", topik);
if (type == "progress-line") createWidget (widget_name, page_name, page_number, "widgets/widget.progLine.json", topik);
if (type == "progress-round") createWidget (widget_name, page_name, page_number, "widgets/widget.progRound.json", topik);
if (type == "fill-gauge") createWidget (widget_name, page_name, page_number, "widgets/widget.fillGauge.json", topik);
}

View File

@@ -1,87 +0,0 @@
/*
Ticker.cpp - esp8266 library that calls functions periodically
Copyright (c) 2014 Ivan Grokhotkov. All rights reserved.
This file is part of the esp8266 core for Arduino environment.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stddef.h>
#include <stdint.h>
#include "c_types.h"
#include "eagle_soc.h"
#include "ets_sys.h"
#include "osapi.h"
static const int ONCE = 0;
static const int REPEAT = 1;
#include "Ticker.h"
Ticker::Ticker()
: _timer(nullptr)
{
}
Ticker::~Ticker()
{
detach();
}
void Ticker::_attach_ms(uint32_t milliseconds, bool repeat, callback_with_arg_t callback, uint32_t arg)
{
if (_timer)
{
os_timer_disarm(_timer);
}
else
{
_timer = new ETSTimer;
}
os_timer_setfn(_timer, reinterpret_cast<ETSTimerFunc*>(callback), reinterpret_cast<void*>(arg));
os_timer_arm(_timer, milliseconds, (repeat)?REPEAT:ONCE);
}
void Ticker::detach()
{
if (!_timer)
return;
os_timer_disarm(_timer);
delete _timer;
_timer = nullptr;
_callback_function = nullptr;
}
bool Ticker::active() const
{
return (bool)_timer;
}
void Ticker::_static_callback(void* arg)
{
Ticker* _this = (Ticker*)arg;
if (_this == nullptr)
{
return;
}
if (_this->_callback_function)
{
_this->_callback_function();
}
}

View File

@@ -1,136 +0,0 @@
/*
Ticker.h - esp8266 library that calls functions periodically
Copyright (c) 2014 Ivan Grokhotkov. All rights reserved.
This file is part of the esp8266 core for Arduino environment.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef TICKER_H
#define TICKER_H
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include <functional>
#include <Schedule.h>
extern "C" {
typedef struct _ETSTIMER_ ETSTimer;
}
class Ticker
{
public:
Ticker();
~Ticker();
typedef void (*callback_t)(void);
typedef void (*callback_with_arg_t)(void*);
typedef std::function<void(void)> callback_function_t;
void attach_scheduled(float seconds, callback_function_t callback)
{
attach(seconds,std::bind(schedule_function, callback));
}
void attach(float seconds, callback_function_t callback)
{
_callback_function = callback;
attach(seconds, _static_callback, (void*)this);
}
void attach_ms_scheduled(uint32_t milliseconds, callback_function_t callback)
{
attach_ms(milliseconds, std::bind(schedule_function, callback));
}
void attach_ms(uint32_t milliseconds, callback_function_t callback)
{
_callback_function = callback;
attach_ms(milliseconds, _static_callback, (void*)this);
}
template<typename TArg>
void attach(float seconds, void (*callback)(TArg), TArg arg)
{
static_assert(sizeof(TArg) <= sizeof(uint32_t), "attach() callback argument size must be <= 4 bytes");
// C-cast serves two purposes:
// static_cast for smaller integer types,
// reinterpret_cast + const_cast for pointer types
uint32_t arg32 = (uint32_t)arg;
_attach_ms(seconds * 1000, true, reinterpret_cast<callback_with_arg_t>(callback), arg32);
}
template<typename TArg>
void attach_ms(uint32_t milliseconds, void (*callback)(TArg), TArg arg)
{
static_assert(sizeof(TArg) <= sizeof(uint32_t), "attach_ms() callback argument size must be <= 4 bytes");
uint32_t arg32 = (uint32_t)arg;
_attach_ms(milliseconds, true, reinterpret_cast<callback_with_arg_t>(callback), arg32);
}
void once_scheduled(float seconds, callback_function_t callback)
{
once(seconds, std::bind(schedule_function, callback));
}
void once(float seconds, callback_function_t callback)
{
_callback_function = callback;
once(seconds, _static_callback, (void*)this);
}
void once_ms_scheduled(uint32_t milliseconds, callback_function_t callback)
{
once_ms(milliseconds, std::bind(schedule_function, callback));
}
void once_ms(uint32_t milliseconds, callback_function_t callback)
{
_callback_function = callback;
once_ms(milliseconds, _static_callback, (void*)this);
}
template<typename TArg>
void once(float seconds, void (*callback)(TArg), TArg arg)
{
static_assert(sizeof(TArg) <= sizeof(uint32_t), "attach() callback argument size must be <= 4 bytes");
uint32_t arg32 = (uint32_t)(arg);
_attach_ms(seconds * 1000, false, reinterpret_cast<callback_with_arg_t>(callback), arg32);
}
template<typename TArg>
void once_ms(uint32_t milliseconds, void (*callback)(TArg), TArg arg)
{
static_assert(sizeof(TArg) <= sizeof(uint32_t), "attach_ms() callback argument size must be <= 4 bytes");
uint32_t arg32 = (uint32_t)(arg);
_attach_ms(milliseconds, false, reinterpret_cast<callback_with_arg_t>(callback), arg32);
}
void detach();
bool active() const;
protected:
void _attach_ms(uint32_t milliseconds, bool repeat, callback_with_arg_t callback, uint32_t arg);
static void _static_callback (void* arg);
protected:
ETSTimer* _timer;
callback_function_t _callback_function = nullptr;
};
#endif//TICKER_H

View File

@@ -1,45 +0,0 @@
/*
Basic Ticker usage
Ticker is an object that will call a given function with a certain period.
Each Ticker calls one function. You can have as many Tickers as you like,
memory being the only limitation.
A function may be attached to a ticker and detached from the ticker.
There are two variants of the attach function: attach and attach_ms.
The first one takes period in seconds, the second one in milliseconds.
The built-in LED will be blinking.
*/
#include <Ticker.h>
Ticker flipper;
int count = 0;
void flip() {
int state = digitalRead(LED_BUILTIN); // get the current state of GPIO1 pin
digitalWrite(LED_BUILTIN, !state); // set pin to the opposite state
++count;
// when the counter reaches a certain value, start blinking like crazy
if (count == 20) {
flipper.attach(0.1, flip);
}
// when the counter reaches yet another value, stop blinking
else if (count == 120) {
flipper.detach();
}
}
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
// flip the pin every 0.3s
flipper.attach(0.3, flip);
}
void loop() {
}

View File

@@ -1,64 +0,0 @@
#include "Arduino.h"
#include "Ticker.h"
#define LED1 2
#define LED2 4
#define LED3 12
#define LED4 14
#define LED5 15
class ExampleClass {
public:
ExampleClass(int pin, int duration) : _pin(pin), _duration(duration) {
pinMode(_pin, OUTPUT);
_myTicker.attach_ms(_duration, std::bind(&ExampleClass::classBlink, this));
}
~ExampleClass() {};
int _pin, _duration;
Ticker _myTicker;
void classBlink() {
digitalWrite(_pin, !digitalRead(_pin));
}
};
void staticBlink() {
digitalWrite(LED2, !digitalRead(LED2));
}
void scheduledBlink() {
digitalWrite(LED3, !digitalRead(LED2));
}
void parameterBlink(int p) {
digitalWrite(p, !digitalRead(p));
}
Ticker staticTicker;
Ticker scheduledTicker;
Ticker parameterTicker;
Ticker lambdaTicker;
ExampleClass example(LED1, 100);
void setup() {
pinMode(LED2, OUTPUT);
staticTicker.attach_ms(100, staticBlink);
pinMode(LED3, OUTPUT);
scheduledTicker.attach_ms_scheduled(100, scheduledBlink);
pinMode(LED4, OUTPUT);
parameterTicker.attach_ms(100, std::bind(parameterBlink, LED4));
pinMode(LED5, OUTPUT);
lambdaTicker.attach_ms(100, []() {
digitalWrite(LED5, !digitalRead(LED5));
});
}
void loop() {
}

View File

@@ -1,35 +0,0 @@
/*
Passing paramters to Ticker callbacks
Apart from void(void) functions, the Ticker library supports
functions taking one argument. This argument's size has to be less or
equal to 4 bytes (so char, short, int, float, void*, char* types will do).
This sample runs two tickers that both call one callback function,
but with different arguments.
The built-in LED will be pulsing.
*/
#include <Ticker.h>
Ticker tickerSetHigh;
Ticker tickerSetLow;
void setPin(int state) {
digitalWrite(LED_BUILTIN, state);
}
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(1, LOW);
// every 25 ms, call setPin(0)
tickerSetLow.attach_ms(25, setPin, 0);
// every 26 ms, call setPin(1)
tickerSetHigh.attach_ms(26, setPin, 1);
}
void loop() {
}

View File

@@ -1,29 +0,0 @@
#######################################
# Syntax Coloring Map For Wire
#######################################
#######################################
# Datatypes (KEYWORD1)
#######################################
#######################################
# Methods and Functions (KEYWORD2)
#######################################
attach KEYWORD2
attach_ms KEYWORD2
once KEYWORD2
once_ms KEYWORD2
detach KEYWORD2
active KEYWORD2
#######################################
# Instances (KEYWORD2)
#######################################
Ticker KEYWORD2
#######################################
# Constants (LITERAL1)
#######################################

View File

@@ -1,10 +0,0 @@
name=Ticker
version=1.0
author=Ivan Grokhtokov <ivan@esp8266.com>
maintainer=Ivan Grokhtokov <ivan@esp8266.com>
sentence=Allows to call functions with a given interval.
paragraph=
category=Timing
url=
architectures=esp8266
dot_a_linkage=true

135
Time.ino
View File

@@ -1,135 +0,0 @@
void Time_Init() {
server.on("/timeZone", HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasArg("timezone")) {
jsonWriteStr(configSetup, "timezone", request->getParam("timezone")->value());
}
saveConfig();
reconfigTime();
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
});
ts.add(TIME_SYNC, 30000, [&](void*) {
if (GetTimeUnix() == "failed") {
Serial.println("[i] Time is not synchronized, start synchronization");
reconfigTime();
}
}, nullptr, true);
}
void reconfigTime() {
if (WiFi.status() == WL_CONNECTED) {
configTime(0, 0, ntpServer);
int i = 0;
Serial.println("[i] Awaiting for time ");
#ifdef ESP32
struct tm timeinfo;
while (!getLocalTime(&timeinfo) && i <= 4) {
Serial.print(".");
i++;
delay(1000);
}
#endif
#ifdef ESP8266
// while (!time(nullptr) && i < 4) {
// Serial.print(".");
// i++;
delay(2000);
// }
#endif
if (GetTimeUnix() != "failed") {
Serial.print("[V] Time synchronized = ");
Serial.print(GetDataDigital());
Serial.print(" ");
Serial.println(GetTime());
} else {
Serial.println("[E] Time server or internet connection error, will try again in 30 sec");
}
} else {
Serial.println("[E] Get time impossible, no wifi connection");
}
}
//Получаем время в формате linux gmt
String GetTimeUnix() {
time_t now = time(nullptr);
if (now < 30000) {
return "failed";
} else {
return String(now);
}
}
// Получение текущего времени
String GetTime() {
time_t now = time(nullptr); // получаем время с помощью библиотеки time.h
int zone = 3600 * jsonRead(configSetup, "timezone").toInt();
now = now + zone;
String Time = ""; // Строка для результатов времени
Time += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017
int i = Time.indexOf(":"); //Ишем позицию первого символа :
Time = Time.substring(i - 2, i + 6); // Выделяем из строки 2 символа перед символом : и 6 символов после
return Time; // Возврашаем полученное время
}
String GetTimeWOsec() {
time_t now = time(nullptr); // получаем время с помощью библиотеки time.h
int zone = 3600 * jsonRead(configSetup, "timezone").toInt();
now = now + zone;
String Time = ""; // Строка для результатов времени
Time += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017
int i = Time.indexOf(":"); //Ишем позицию первого символа :
Time = Time.substring(i - 2, i + 3); // Выделяем из строки 2 символа перед символом : и 6 символов после
return Time; // Возврашаем полученное время
}
// Получение даты
String GetDate() {
time_t now = time(nullptr); // получаем время с помощью библиотеки time.h
int zone = 3600 * jsonRead(configSetup, "timezone").toInt();
now = now + zone;
String Data = ""; // Строка для результатов времени
Data += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017
Data.replace("\n", "");
uint8_t i = Data.lastIndexOf(" "); //Ишем позицию последнего символа пробел
String Time = Data.substring(i - 8, i + 1); // Выделяем время и пробел
Data.replace(Time, ""); // Удаляем из строки 8 символов времени и пробел
return Data; // Возврашаем полученную дату
}
String GetDataDigital() {
String date = GetDate();
date = deleteBeforeDelimiter(date, " ");
date.replace("Jan", "01");
date.replace("Feb", "02");
date.replace("Mar", "03");
date.replace("Apr", "04");
date.replace("May", "05");
date.replace("Jun", "06");
date.replace("Jul", "07");
date.replace("Aug", "08");
date.replace("Sep", "09");
date.replace("Oct", "10");
date.replace("Nov", "11");
date.replace("Dec", "12");
String month = date.substring(0, 2);
String day = date.substring(3, 5);
String year = date.substring(8, 10);
String out = day;
out += ".";
out += month;
out += ".";
out += year;
return out;
}
int timeToMin(String Time) {
//"00:00:00" время в секунды
long min = selectToMarker(Time, ":").toInt() * 60; //общее количество секунд в полных часах
Time = deleteBeforeDelimiter (Time, ":"); // Теперь здесь минуты секунды
min += selectToMarker(Time, ":").toInt(); // Добавим секунды из полных минут
return min;
}

View File

@@ -1,188 +0,0 @@
//================================================================================================================
//=========================================Таймера=================================================================
void Timer_countdown_init() {
ts.add(TIMER_COUNTDOWN, 1000, [&](void*) {
String old_line = jsonRead(optionJson, "timers");
if (old_line != "") {
//Serial.println(old_line);
int i = 0;
do {
String timer = selectFromMarkerToMarker(old_line, "," , i);
// Serial.print("timer no " + String (i) + ": ");
// Serial.println(timer);
if (timer == "not found" || timer == "") return;
int number = selectToMarker (timer, ":").toInt();
int time = readTimer(number);
if (time == 0) {
delTimer (String (number));
jsonWriteStr(configJson, "timerSet" + String(number), "0");
eventGen ("timerSet", String(number));
} else {
time--;
addTimer(String (number), String (time));
}
i++;
} while (i <= 9);
}
}, nullptr, true);
}
void timerStart() {
String number = sCmd.next();
String period_of_time = sCmd.next();
String type = sCmd.next();
if (period_of_time.indexOf("digit") != -1) {
period_of_time = add_set(period_of_time);
period_of_time = jsonRead(configJson, period_of_time);
}
if (type == "sec") period_of_time = period_of_time;
if (type == "min") period_of_time = String(period_of_time.toInt() * 60);
if (type == "hours") period_of_time = String(period_of_time.toInt() * 60 * 60);
addTimer(number, period_of_time);
jsonWriteStr(configJson, "timerSet" + number, "1");
}
void addTimer(String number, String time) {
String tmp = jsonRead(optionJson, "timers"); //1:60,2:120,
String new_timer = number + ":" + time;
int psn1 = tmp.indexOf(number + ":"); //0 ищем позицию таймера который надо заменить
if (psn1 != -1) { //если он есть
int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой
String timer = tmp.substring(psn1, psn2); //1:60 выделяем таймер который надо заменить
///tmp.replace(timer, new_timer); //заменяем таймер на новый (во всей стороке)
tmp.replace(timer + ",", "");
tmp += new_timer + ",";
} else { //если его нет
tmp += new_timer + ",";
}
jsonWriteStr(optionJson, "timers", tmp);
//Serial.println("ura");
}
void timerStop() {
String number = sCmd.next();
delTimer(number);
}
void delTimer (String number) {
String tmp = jsonRead(optionJson, "timers"); //1:60,2:120,
int psn1 = tmp.indexOf(number + ":"); //0 ищем позицию таймера который надо удалить
if (psn1 != -1) { //если он есть
int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой
String timer = tmp.substring(psn1, psn2) + ","; //1:60, выделяем таймер который надо удалить
tmp.replace(timer, ""); //удаляем таймер
jsonWriteStr(optionJson, "timers", tmp);
}
}
int readTimer(int number) {
String tmp = jsonRead(optionJson, "timers"); //1:60,2:120,
int psn1 = tmp.indexOf(String(number) + ":"); //0 ищем позицию таймера который надо прочитать
String timer;
if (psn1 != -1) { //если он есть
int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой
timer = tmp.substring(psn1, psn2); //1:60 выделяем таймер который надо прочитать
timer = deleteBeforeDelimiter(timer, ":");
}
return timer.toInt();
}
/*void timer() {
String seted_time = sCmd.next();
String order = sCmd.next();
order.replace("_", " ");
if (seted_time == current_time) {
order_loop += order + ",";
}
}*/
//------------------------------таймеры------------------------------------------------------
/*
void time() {
String time_number = sCmd.next();
String time = sCmd.next();
String time_to_add = time_number + "-" + time;
String replace_line = jsonRead(optionJson, "times") ;
int psn1 = replace_line.indexOf(time_number + "-") ; //ищем позицию времени которое надо заменить
if (psn1 != -1) { //если оно есть
int psn2 = replace_line.indexOf(",", psn1); //от этой позиции находим позицию запятой
String timer = replace_line.substring(psn1, psn2); //выделяем таймер который надо заменить
///tmp.replace(timer, new_timer); //заменяем таймер на новый (во всей стороке)
replace_line.replace(timer + ",", "");
replace_line += time_to_add + ",";
} else { //если его нет
replace_line += time_to_add + ",";
}
jsonWriteStr(optionJson, "times", replace_line);
jsonWriteStr(configJson, "timeSet" + time_number, "1");
ts.add(TIMERS, 1000, [&](void*) {
current_time = GetTime();
Serial.println(current_time);
String seted_times = jsonRead(optionJson, "times");
while (seted_times.length() != 0) {
String tmp = selectToMarker (seted_times, ",");
String time_number = selectToMarker(tmp, "-");
String seted_time = deleteBeforeDelimiter(tmp, "-");
Serial.println(seted_time);
if (current_time == seted_time) {
jsonWriteStr(configJson, "timeSet" + time_number, "0");
eventGen ("timeSet", time_number);
}
seted_times = deleteBeforeDelimiter(seted_times, ",");
}
}, nullptr, true);
}
*/

View File

@@ -1,273 +0,0 @@
void initUpgrade() {
#ifdef ESP8266
if (WiFi.status() == WL_CONNECTED) last_version = getURL("http://91.204.228.124:1100/update/esp8266/version.txt");
#endif
#ifdef ESP32
if (WiFi.status() == WL_CONNECTED) last_version = getURL("http://91.204.228.124:1100/update/esp32/version.txt");
#endif
jsonWriteStr(configSetup, "last_version", last_version);
Serial.print("[i] Last firmware version: ");
Serial.println(last_version);
server.on("/check", HTTP_GET, [](AsyncWebServerRequest * request) {
upgrade_url = true;
Serial.print("[i] Last firmware version: ");
Serial.println(last_version);
String tmp = "{}";
if (WiFi.status() == WL_CONNECTED) {
if (mb_4_of_memory) {
if (last_version != "") {
if (last_version != "error") {
if (last_version == firmware_version) {
jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Последняя версия прошивки уже установлена.");
jsonWriteStr(tmp, "class", "pop-up");
} else {
jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Имеется новая версия прошивки<a href=\"#\" class=\"btn btn-block btn-danger\" onclick=\"send_request(this, '/upgrade');setTimeout(function(){ location.href='/'; }, 30000);html('my-block','<span class=loader></span>Идет обновление прошивки, после обновления страница перезагрузится автоматически...')\">Установить</a>");
jsonWriteStr(tmp, "class", "pop-up");
}
} else {
jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Ошибка... Cервер не найден. Попробуйте позже...");
jsonWriteStr(tmp, "class", "pop-up");
}
} else {
jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Нажмите на кнопку \"обновить прошивку\" повторно...");
jsonWriteStr(tmp, "class", "pop-up");
}
} else {
jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Обновление по воздуху не поддерживается, модуль имеет меньше 4 мб памяти...");
jsonWriteStr(tmp, "class", "pop-up");
}
} else {
jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Устройство не подключен к роутеру...");
jsonWriteStr(tmp, "class", "pop-up");
}
request->send(200, "text/text", tmp);
});
server.on("/upgrade", HTTP_GET, [](AsyncWebServerRequest * request) {
upgrade = true;
String tmp = "{}";
//jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Есть новая версия <a href=\"#\" onclick=\"setTimeout(function(){ location.href='/'; }, 5000);}\">Установить?</a>");
request->send(200, "text/text", "ok");
});
}
void do_upgrade_url() {
if (upgrade_url) {
upgrade_url = false;
#ifdef ESP32
last_version = getURL("http://91.204.228.124:1100/update/esp32/version.txt");
jsonWriteStr(configSetup, "last_version", last_version);
#endif
#ifdef ESP8266
last_version = getURL("http://91.204.228.124:1100/update/esp8266/version.txt");
jsonWriteStr(configSetup, "last_version", last_version);
#endif
}
}
void upgrade_firmware() {
String scenario_for_update;
String config_for_update;
String configSetup_for_update;
scenario_for_update = readFile("firmware.s.txt", 3072);
config_for_update = readFile("firmware.c.txt", 3072);
configSetup_for_update = configSetup;
Serial.println("Start upgrade SPIFFS, please wait...");
WiFiClient client_for_upgrade;
#ifdef ESP32
httpUpdate.rebootOnUpdate(false);
t_httpUpdate_return ret = httpUpdate.updateSpiffs(client_for_upgrade, "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin");
#endif
#ifdef ESP8266
ESPhttpUpdate.rebootOnUpdate(false);
t_httpUpdate_return ret = ESPhttpUpdate.updateSpiffs(client_for_upgrade, "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin");
#endif
if (ret == HTTP_UPDATE_OK) {
writeFile("firmware.s.txt", scenario_for_update);
writeFile("firmware.c.txt", config_for_update);
writeFile("config.json", configSetup_for_update);
saveConfig();
Serial.println("SPIFFS upgrade done!");
Serial.println("Start upgrade BUILD, please wait...");
#ifdef ESP32
//httpUpdate.rebootOnUpdate(true);
t_httpUpdate_return ret = httpUpdate.update(client_for_upgrade, "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.ino.bin");
#endif
#ifdef ESP8266
//ESPhttpUpdate.rebootOnUpdate(true);
t_httpUpdate_return ret = ESPhttpUpdate.update(client_for_upgrade, "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.ino.bin");
#endif
if (ret == HTTP_UPDATE_OK) {
Serial.println("BUILD upgrade done!");
Serial.println("Restart ESP....");
ESP.restart();
}
}
}
void do_upgrade() {
if (upgrade) {
upgrade = false;
upgrade_firmware();
}
}
/*
void upgrade_status(t_httpUpdate_return set) {
switch (set) {
case HTTP_UPDATE_FAILED:
Serial.printf("UPDATE_FAILED Error (%d): %s", httpUpdate.getLastError(), httpUpdate.getLastErrorString().c_str());
break;
case HTTP_UPDATE_NO_UPDATES:
Serial.println("NO_UPDATES");
break;
case HTTP_UPDATE_OK:
Serial.println("HTTP_UPDATE_OK");
break;
}
}
*/
/*
// ----------------------- Обновление с сайта
void webUpgrade() {
#ifdef ESP8266
String spiffsData = "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin";
String buildData = "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.ino.bin";
#endif
#ifdef ESP32
String spiffsData = "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin";
String buildData = "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.ino.bin";
#endif
if (spiffsData != "") { // Если нужно прошить FS
String scenario_for_update;
String config_for_update;
String configSetup_for_update;
Serial.println(spiffsData);
scenario_for_update = readFile("firmware.s.txt", 2048);
config_for_update = readFile("config.all.txt", 2048);
configSetup_for_update = configSetup;
ESPhttpUpdate.rebootOnUpdate(false); // Отключим перезагрузку после обновления
updateHTTP(spiffsData, true);
writeFile("firmware.s.txt", scenario_for_update);
writeFile("config.all.txt", config_for_update);
writeFile("config.json", configSetup_for_update);
saveConfig();
}
if (buildData != "") { // Если нужно прошить build
Serial.println(buildData);
ESPhttpUpdate.rebootOnUpdate(true); // Включим перезагрузку после обновления
updateHTTP(buildData, false);
}
}
// ------------------ Обновление по url
void updateHTTP(String url, boolean mode) {
if (url == "") return;
ESPhttpUpdate.setLedPin(LED_BUILTIN, LOW);
if (mode) {
Serial.println("Update Spiffs...");
t_httpUpdate_return ret = ESPhttpUpdate.updateSpiffs(url);
UpdateStatus(ret , "Spiffs");
} else {
Serial.println("Update Build...");
t_httpUpdate_return ret = ESPhttpUpdate.update(url);
UpdateStatus(ret , "build");
}
}
void UpdateStatus(t_httpUpdate_return set, String mode) {
switch (set) {
case HTTP_UPDATE_FAILED:
Serial.println(mode + "_FAILED");
var = "{}";
jsonWriteStr(var, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>_FAILED");
jsonWriteStr(var, "class", "pop-up");
//request->send(200, "text/text", var);
break;
case HTTP_UPDATE_NO_UPDATES:
Serial.println(mode + "_NO_UPDATES");
var = "{}";
jsonWriteStr(var, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>_NO_UPDATES");
jsonWriteStr(var, "class", "pop-up");
//request->send(200, "text/text", var);
break;
case HTTP_UPDATE_OK:
Serial.println(mode + "_UPDATE_OK");
var = "{}";
jsonWriteStr(var, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>_UPDATE_OK");
jsonWriteStr(var, "class", "pop-up");
//request->send(200, "text/text", var);
break;
}
}
*/

View File

@@ -1,231 +0,0 @@
void Web_server_init() {
//========================================OTA============================================
#ifdef OTA_enable
//Send OTA events to the browser
ArduinoOTA.onStart([]() {
events.send("Update Start", "ota");
});
ArduinoOTA.onEnd([]() {
events.send("Update End", "ota");
});
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
char p[32];
sprintf(p, "Progress: %u%%\n", (progress / (total / 100)));
events.send(p, "ota");
});
ArduinoOTA.onError([](ota_error_t error) {
if (error == OTA_AUTH_ERROR) events.send("Auth Failed", "ota");
else if (error == OTA_BEGIN_ERROR) events.send("Begin Failed", "ota");
else if (error == OTA_CONNECT_ERROR) events.send("Connect Failed", "ota");
else if (error == OTA_RECEIVE_ERROR) events.send("Recieve Failed", "ota");
else if (error == OTA_END_ERROR) events.send("End Failed", "ota");
});
ArduinoOTA.setHostname(hostName);
ArduinoOTA.begin();
#endif
//========================================MDNS============================================
#ifdef MDNS_enable
MDNS.addService("http", "tcp", 80);
#endif
//SPIFFS.begin();
//========================================WS============================================
#ifdef WS_enable
ws.onEvent(onWsEvent);
server.addHandler(&ws);
events.onConnect([](AsyncEventSourceClient * client) {
//!!!client->send("hello!", NULL, millis(), 1000);
});
server.addHandler(&events);
#endif
//======================================================================================
#ifdef ESP32
server.addHandler(new SPIFFSEditor(SPIFFS, jsonRead(configSetup, "web_login").c_str(), jsonRead(configSetup, "web_pass").c_str()));
#elif defined(ESP8266)
server.addHandler(new SPIFFSEditor(jsonRead(configSetup, "web_login").c_str(), jsonRead(configSetup, "web_pass").c_str()));
#endif
server.on("/heap", HTTP_GET, [](AsyncWebServerRequest * request) {
request->send(200, "text/plain", String(ESP.getFreeHeap()));
});
server.serveStatic("/css/", SPIFFS, "/css/").setCacheControl("max-age=31536000");
server.serveStatic("/js/", SPIFFS, "/js/").setCacheControl("max-age=31536000");
server.serveStatic("/", SPIFFS, "/favicon.ico").setCacheControl("max-age=31536000");
server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm")
.setAuthentication(jsonRead(configSetup, "web_login").c_str(), jsonRead(configSetup, "web_pass").c_str());
server.onNotFound([](AsyncWebServerRequest * request) {
Serial.printf("NOT_FOUND: ");
if (request->method() == HTTP_GET)
Serial.printf("GET");
else if (request->method() == HTTP_POST)
Serial.printf("POST");
else if (request->method() == HTTP_DELETE)
Serial.printf("DELETE");
else if (request->method() == HTTP_PUT)
Serial.printf("PUT");
else if (request->method() == HTTP_PATCH)
Serial.printf("PATCH");
else if (request->method() == HTTP_HEAD)
Serial.printf("HEAD");
else if (request->method() == HTTP_OPTIONS)
Serial.printf("OPTIONS");
else
Serial.printf("UNKNOWN");
Serial.printf(" http://%s%s\n", request->host().c_str(), request->url().c_str());
if (request->contentLength()) {
Serial.printf("_CONTENT_TYPE: %s\n", request->contentType().c_str());
Serial.printf("_CONTENT_LENGTH: %u\n", request->contentLength());
}
int headers = request->headers();
int i;
for (i = 0; i < headers; i++) {
AsyncWebHeader* h = request->getHeader(i);
Serial.printf("_HEADER[%s]: %s\n", h->name().c_str(), h->value().c_str());
}
int params = request->params();
for (i = 0; i < params; i++) {
AsyncWebParameter* p = request->getParam(i);
if (p->isFile()) {
Serial.printf("_FILE[%s]: %s, size: %u\n", p->name().c_str(), p->value().c_str(), p->size());
} else if (p->isPost()) {
Serial.printf("_POST[%s]: %s\n", p->name().c_str(), p->value().c_str());
} else {
Serial.printf("_GET[%s]: %s\n", p->name().c_str(), p->value().c_str());
}
}
request->send(404);
});
server.onFileUpload([](AsyncWebServerRequest * request, const String & filename, size_t index, uint8_t *data, size_t len, bool final) {
if (!index)
Serial.printf("UploadStart: %s\n", filename.c_str());
Serial.printf("%s", (const char*)data);
if (final)
Serial.printf("UploadEnd: %s (%u)\n", filename.c_str(), index + len);
});
server.onRequestBody([](AsyncWebServerRequest * request, uint8_t *data, size_t len, size_t index, size_t total) {
if (!index)
Serial.printf("BodyStart: %u\n", total);
Serial.printf("%s", (const char*)data);
if (index + len == total)
Serial.printf("BodyEnd: %u\n", total);
});
server.begin();
//=============================Устанавливаем реакции на запросы к серверу============================
// --------------------Выдаем данные configJson //config.live.json - динамические данные
server.on("/config.live.json", HTTP_GET, [](AsyncWebServerRequest * request) {
request->send(200, "application/json", configJson);
});
// --------------------Выдаем данные optionJson //config.option.json - данные не являющиеся событиями
server.on("/config.option.json", HTTP_GET, [](AsyncWebServerRequest * request) {
request->send(200, "application/json", optionJson);
});
// -------------------Выдаем данные configSetup //config.setup.json - для хранения постоянных данных
server.on("/config.setup.json", HTTP_GET, [](AsyncWebServerRequest * request) {
request->send(200, "application/json", configSetup);
});
// ------------------Выполнение команды из запроса
server.on("/cmd", HTTP_GET, [](AsyncWebServerRequest * request) { //http://192.168.88.45/cmd?command=rel%201%201
String com = request->getParam("command")->value();
Serial.println(com);
order_loop += com + ",";
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
});
}
//========================================WS=========================================================================================
#ifdef WS_enable
void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len) {
if (type == WS_EVT_CONNECT) {
Serial.printf("ws[%s][%u] connect\n", server->url(), client->id());
client->printf(json.c_str(), client->id());
//client->ping();
} else if (type == WS_EVT_DISCONNECT) {
Serial.printf("ws[%s][%u] disconnect\n", server->url(), client->id());
} else if (type == WS_EVT_ERROR) {
Serial.printf("ws[%s][%u] error(%u): %s\n", server->url(), client->id(), *((uint16_t*)arg), (char*)data);
} else if (type == WS_EVT_PONG) {
Serial.printf("ws[%s][%u] pong[%u]: %s\n", server->url(), client->id(), len, (len) ? (char*)data : "");
} else if (type == WS_EVT_DATA) {
AwsFrameInfo * info = (AwsFrameInfo*)arg;
String msg = "";
if (info->final && info->index == 0 && info->len == len) {
//the whole message is in a single frame and we got all of it's data
Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT) ? "text" : "binary", info->len);
if (info->opcode == WS_TEXT) {
for (size_t i = 0; i < info->len; i++) {
msg += (char) data[i];
}
} else {
char buff[3];
for (size_t i = 0; i < info->len; i++) {
sprintf(buff, "%02x ", (uint8_t) data[i]);
msg += buff ;
}
}
Serial.printf("%s\n", msg.c_str());
if (info->opcode == WS_TEXT)
client->text("{}");
else
client->binary("{}");
} else {
//message is comprised of multiple frames or the frame is split into multiple packets
if (info->index == 0) {
if (info->num == 0)
Serial.printf("ws[%s][%u] %s-message start\n", server->url(), client->id(), (info->message_opcode == WS_TEXT) ? "text" : "binary");
Serial.printf("ws[%s][%u] frame[%u] start[%llu]\n", server->url(), client->id(), info->num, info->len);
}
Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT) ? "text" : "binary", info->index, info->index + len);
if (info->opcode == WS_TEXT) {
for (size_t i = 0; i < len; i++) {
msg += (char) data[i];
}
} else {
char buff[3];
for (size_t i = 0; i < len; i++) {
sprintf(buff, "%02x ", (uint8_t) data[i]);
msg += buff ;
}
}
Serial.printf("%s\n", msg.c_str());
if ((info->index + len) == info->len) {
Serial.printf("ws[%s][%u] frame[%u] end[%llu]\n", server->url(), client->id(), info->num, info->len);
if (info->final) {
Serial.printf("ws[%s][%u] %s-message end\n", server->url(), client->id(), (info->message_opcode == WS_TEXT) ? "text" : "binary");
if (info->message_opcode == WS_TEXT)
client->text("I got your text message");
else
client->binary("I got your binary message");
}
}
}
}
}
#endif

207
WiFi.ino
View File

@@ -1,207 +0,0 @@
void WIFI_init() {
// --------------------Получаем ssid password со страницы
server.on("/ssid", HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasArg("ssid")) {
jsonWriteStr(configSetup, "ssid", request->getParam("ssid")->value());
}
if (request->hasArg("password")) {
jsonWriteStr(configSetup, "password", request->getParam("password")->value());
}
saveConfig(); // Функция сохранения данных во Flash
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
});
// --------------------Получаем ssidAP passwordAP со страницы
server.on("/ssidap", HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasArg("ssidAP")) {
jsonWriteStr(configSetup, "ssidAP", request->getParam("ssidAP")->value());
}
if (request->hasArg("passwordAP")) {
jsonWriteStr(configSetup, "passwordAP", request->getParam("passwordAP")->value());
}
saveConfig(); // Функция сохранения данных во Flash
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
});
// --------------------Получаем логин и пароль для web со страницы
server.on("/web", HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasArg("web_login")) {
jsonWriteStr(configSetup, "web_login", request->getParam("web_login")->value());
}
if (request->hasArg("web_pass")) {
jsonWriteStr(configSetup, "web_pass", request->getParam("web_pass")->value());
}
saveConfig(); // Функция сохранения данных во Flash
//Web_server_init();
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
});
server.on("/restart", HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasArg("device")) {
if (request->getParam("device")->value() == "ok") ESP.restart();
}
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
});
ROUTER_Connecting();
}
void ROUTER_Connecting() {
WiFi.mode(WIFI_STA);
byte tries = 20;
String _ssid = jsonRead(configSetup, "ssid");
String _password = jsonRead(configSetup, "password");
//WiFi.persistent(false);
if (_ssid == "" && _password == "") {
WiFi.begin();
}
else {
WiFi.begin(_ssid.c_str(), _password.c_str());
Serial.print("ssid: ");
Serial.println(_ssid);
}
// Делаем проверку подключения до тех пор пока счетчик tries
// не станет равен нулю или не получим подключение
while (--tries && WiFi.status() != WL_CONNECTED)
{
if (WiFi.status() == WL_CONNECT_FAILED) {
Serial.println("[E] password is not correct");
tries = 1;
jsonWriteInt(optionJson, "pass_status", 1);
}
Serial.print(".");
delay(1000);
}
if (WiFi.status() != WL_CONNECTED)
{
// Если не удалось подключиться запускаем в режиме AP
Serial.println("");
// WiFi.disconnect(true);
StartAPMode();
}
else {
// Иначе удалось подключиться отправляем сообщение
// о подключении и выводим адрес IP
Serial.println("");
Serial.println("[V] WiFi connected");
Serial.print("[V] IP address: http://");
Serial.print(WiFi.localIP());
Serial.println("");
jsonWriteStr(configJson, "ip", WiFi.localIP().toString());
//add_dev_in_list("dev.txt", chipID, WiFi.localIP().toString());
}
}
bool StartAPMode() {
Serial.println("WiFi up AP");
WiFi.disconnect();
WiFi.mode(WIFI_AP);
String _ssidAP = jsonRead(configSetup, "ssidAP");
String _passwordAP = jsonRead(configSetup, "passwordAP");
WiFi.softAP(_ssidAP.c_str(), _passwordAP.c_str());
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
jsonWriteStr(configJson, "ip", myIP.toString());
if (jsonReadtoInt(optionJson, "pass_status") != 1) {
ts.add(ROUTER_SEARCHING, 10 * 1000, [&](void*) {
Serial.println("->try find router");
if (RouterFind(jsonRead(configSetup, "ssid"))) {
ts.remove(ROUTER_SEARCHING);
ROUTER_Connecting();
MQTT_Connecting();
}
}, nullptr, true);
}
return true;
}
boolean RouterFind(String ssid) {
int n = WiFi.scanComplete ();
Serial.println("n = " + String(n));
if (n == -2) { //Сканирование не было запущено, запускаем
Serial.println("[WIFI][i] scanning has not been triggered, starting scanning");
WiFi.scanNetworks (true, false); //async, show_hidden
return false;
}
if (n == -1) { //Сканирование все еще выполняется
Serial.println("[WIFI][i] scanning still in progress");
return false;
}
if (n == 0) { //Сканирование все еще выполняется
Serial.println("[WIFI][i] no any wifi sations, starting scanning");
WiFi.scanNetworks (true, false);
return false;
}
if (n > 0) {
for (int i = 0; i <= n; i++) {
if (WiFi.SSID (i) == ssid) {
WiFi.scanDelete();
return true;
} else {
Serial.print(i);
Serial.print(")");
//Serial.print(ssid);
//Serial.print("<=>");
if (i == n) {
Serial.print(WiFi.SSID(i));
Serial.println("; ");
} else {
Serial.print(WiFi.SSID(i));
Serial.println("; ");
}
}
}
WiFi.scanDelete();
return false;
}
}
/*
String scanWIFI() {
uint8_t n = WiFi.scanNetworks();
DynamicJsonBuffer jsonBuffer;
JsonObject& json = jsonBuffer.createObject();
JsonArray& networks = json.createNestedArray("networks");
for (uint8_t i = 0; i < n; i++) {
JsonObject& data = networks.createNestedObject();
String ssidMy = WiFi.SSID(i);
data["ssid"] = ssidMy;
data["pass"] = (WiFi.encryptionType(i) == ENC_TYPE_NONE) ? "" : "*";
int8_t dbm = WiFi.RSSI(i);
data["dbm"] = dbm;
if (ssidMy == jsonRead(configSetup, "ssid")) {
jsonWriteStr(configJson, "dbm", dbm);
}
}
String root;
json.printTo(root);
return root;
}
*/
/*
{
"type":"wifi",
"title":"{{LangWiFi1}}",
"name":"ssid",
"state":"{{ssid}}",
"pattern":".{1,}"
},
{
"type":"password",
"title":"{{LangPass}}",
"name":"ssidPass",
"state":"{{ssidPass}}",
"pattern":".{8,}"
},
*/

View File

@@ -1,49 +0,0 @@
//======================================================================================================================
//===============================================Создание виджетов=======================================================
void createWidget (String widget_name, String page_name, String page_number, String file, String topic) {
String widget;
widget = readFile(file, 1024);
if (widget == "Failed") return;
if (widget == "Large") return;
widget_name.replace("#", " ");
page_name.replace("#", " ");
jsonWriteStr(widget, "page", page_name);
jsonWriteStr(widget, "order", page_number);
jsonWriteStr(widget, "descr", widget_name);
jsonWriteStr(widget, "topic", prex + "/" + topic);
#ifdef layout_in_ram
all_widgets += widget + "\r\n";
#else
addFile("layout.txt", widget);
#endif
widget = "";
}
void createChart (String widget_name, String page_name, String page_number, String file, String topic, String maxCount) {
String widget;
widget = readFile(file, 1024);
if (widget == "Failed") return;
if (widget == "Large") return;
widget_name.replace("#", " ");
page_name.replace("#", " ");
jsonWriteStr(widget, "page", page_name);
jsonWriteStr(widget, "order", page_number);
//jsonWriteStr(widget, "descr", widget_name);
jsonWriteStr(widget, "series", widget_name);
jsonWriteStr(widget, "maxCount", maxCount);
jsonWriteStr(widget, "topic", prex + "/" + topic);
#ifdef layout_in_ram
all_widgets += widget + "\r\n";
#else
addFile("layout.txt", widget);
#endif
widget = "";
}

Binary file not shown.

Binary file not shown.

View File

@@ -1,72 +0,0 @@
/*
const char* local_root_ca1 = \
"-----BEGIN CERTIFICATE-----\n" \
"MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv\n" \
"MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk\n" \
"ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF\n" \
"eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow\n" \
"gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO\n" \
"BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD\n" \
"VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq\n" \
"hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw\n" \
"AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6\n" \
"2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr\n" \
"ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt\n" \
"4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq\n" \
"m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/\n" \
"vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT\n" \
"8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE\n" \
"IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO\n" \
"KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO\n" \
"GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/\n" \
"s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g\n" \
"JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD\n" \
"AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9\n" \
"MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy\n" \
"bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6\n" \
"Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ\n" \
"zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj\n" \
"Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY\n" \
"Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5\n" \
"B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx\n" \
"PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR\n" \
"pu/xO28QOG8=\n" \
"-----END CERTIFICATE-----\n";
const char* local_root_ca2 = \
"-----BEGIN CERTIFICATE-----\n" \
"MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCB\n" \
"hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G\n" \
"A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV\n" \
"BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMjEy\n" \
"MDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMCR0IxGzAZBgNVBAgT\n" \
"EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR\n" \
"Q09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZh\n" \
"bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP\n" \
"ADCCAQoCggEBAI7CAhnhoFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28Sh\n" \
"bXcDow+G+eMGnD4LgYqbSRutA776S9uMIO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0\n" \
"Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4TgllfQcBhglo/uLQeTnaG6\n" \
"ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh7lgUq/51\n" \
"UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0n\n" \
"c13cRTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQY\n" \
"MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz\n" \
"30O0Oija5zAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV\n" \
"HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgG\n" \
"BmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNv\n" \
"bS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB\n" \
"AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9E\n" \
"T1JTQUFkZFRydXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v\n" \
"ZG9jYS5jb20wDQYJKoZIhvcNAQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2p\n" \
"mj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/\n" \
"e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsItG8kO3KdY3RYPBps\n" \
"P0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdoltMY\n" \
"dVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc\n" \
"2bXhc3js9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxG\n" \
"V/Iz2tDIY+3GH5QFlkoakdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4\n" \
"HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBmGqW5prU5wfWYQ//u+aen/e7KJD2AFsQX\n" \
"j4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODcQgPmlKidrv0PJFGUzpII\n" \
"0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje3WYkN5Ap\n" \
"lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf\n" \
"+AZxAeKCINT+b72x\n" \
"-----END CERTIFICATE-----\n";
*/

515
compilerProfile.json Normal file
View File

@@ -0,0 +1,515 @@
{
"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 esp32cam_4mb or esp32s2_4mb or esp32_4mb3f or esp32s3_16mb or esp32c3m_4mb or esp8266_1mb or esp8266_1mb_ota or esp8285_1mb or esp8285_1mb_ota",
"envs": [
{
"name": "esp8266_4mb",
"firmware": "0x00000",
"littlefs": "0x300000"
},
{
"name": "esp8266_16mb",
"firmware": "0x00000",
"littlefs": "0x200000"
},
{
"name": "esp32_4mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x290000"
},
{
"name": "esp32_4mb3f",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x310000"
},
{
"name": "esp32cam_4mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x310000"
},
{
"name": "esp32_16mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x910000"
},
{
"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"
},
{
"name": "esp32c3m_4mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x310000"
},
{
"name": "esp32s3_16mb",
"boot_app0": "0xe000",
"bootloader_qio_80m": "0x1000",
"firmware": "0x10000",
"partitions": "0x8000",
"littlefs": "0x910000"
}
]
}
},
"modules": {
"virtual_elments": [
{
"path": "src/modules/virtual/Benchmark",
"active": false
},
{
"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/Math",
"active": true
},
{
"path": "src/modules/virtual/owmWeather",
"active": true
},
{
"path": "src/modules/virtual/Ping",
"active": true
},
{
"path": "src/modules/virtual/Timer",
"active": true
},
{
"path": "src/modules/virtual/Variable",
"active": true
},
{
"path": "src/modules/virtual/VButton",
"active": true
},
{
"path": "src/modules/virtual/Weather",
"active": false
}
],
"sensors": [
{
"path": "src/modules/exec/Pcf8591",
"active": false
},
{
"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/BL0937",
"active": true
},
{
"path": "src/modules/sensors/Ble",
"active": false
},
{
"path": "src/modules/sensors/Ble_part1",
"active": false
},
{
"path": "src/modules/sensors/Ble_part2",
"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/EnergyMon485",
"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/MQgas",
"active": true
},
{
"path": "src/modules/sensors/Ntc",
"active": false
},
{
"path": "src/modules/sensors/Pzem004t",
"active": false
},
{
"path": "src/modules/sensors/Pzem004t_v2",
"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/AnalogBtn",
"active": true
},
{
"path": "src/modules/exec/BrokerMQTT",
"active": false
},
{
"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/SIM800",
"active": false
},
{
"path": "src/modules/exec/SmartBoiler",
"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/Telegram_v2",
"active": false
},
{
"path": "src/modules/exec/Thermostat",
"active": false
},
{
"path": "src/modules/sensors/Ds2423",
"active": false
}
],
"screens": [
{
"path": "src/modules/display/DwinI",
"active": true
},
{
"path": "src/modules/display/Lcd2004",
"active": true
},
{
"path": "src/modules/display/Nextion",
"active": false
},
{
"path": "src/modules/display/NextionUpload",
"active": false
},
{
"path": "src/modules/display/Oled128",
"active": false
},
{
"path": "src/modules/display/Oled64",
"active": true
},
{
"path": "src/modules/display/Smi2_m",
"active": true
},
{
"path": "src/modules/display/TM16XX",
"active": false
},
{
"path": "src/modules/display/Ws2812b",
"active": false
}
]
}
}

View File

@@ -1,18 +0,0 @@
{
"name": "IoTmanager",
"chipID": "",
"ssidAP": "WiFi",
"passwordAP": "",
"ssid": "your_ssid",
"password": "your_password",
"timezone": 3,
"mqttServer": "",
"mqttPort": 0,
"mqttPrefix": "/IoTmanager",
"mqttUser": "",
"mqttPass": "",
"scenario": "1",
"pushingbox_id": "",
"web_login": "admin",
"web_pass": "admin"
}

View File

@@ -1,18 +0,0 @@
{
"name": "IoTmanager",
"chipID": "",
"ssidAP": "WiFi",
"passwordAP": "",
"ssid": "rise",
"password": "hostel3333",
"timezone": 2,
"mqttServer": "mqtt.ioty.ru",
"mqttPort": 1883,
"mqttPrefix": "/rise",
"mqttUser": "test",
"mqttPass": "test",
"scenario": "1",
"pushingbox_id": "",
"web_login": "admin",
"web_pass": "admin"
}

View File

@@ -1,8 +0,0 @@
analog 0 Аналоговый#вход,#% Датчики progress-round 310 620 1 100 1
logging analog 5 100 slow Аналоговый#вход Датчики 2
//если датчик углекислого газа выдает напряжение от 1 вольта до 2 вольт, то значит
//значение чтения аналогового входа будут примерно равным
//при 1 вольте - 310, а при 2 вольтах - 620 (считаем по пропорции)
//данная строка переведет диапазон 310-620 в диапазон 1-100 и отобразит в приложении
//варианты отображения: any-data, progress-round, progress-line, fill-gauge

View File

@@ -1 +0,0 @@

View File

@@ -1,5 +0,0 @@
dallas 2 Водонагреватель,#t°C Датчики any-data 1
logging dallas 1 100 slow Температура Датчики 2
//2 - номер пина датчика
//варианты отображения: any-data, progress-round, progress-line, fill-gauge

View File

@@ -1 +0,0 @@

View File

@@ -1,10 +0,0 @@
dhtT DHT11 2 Температура#DHT,#t°C Датчики any-data 1
dhtH DHT11 2 Влажность#DHT,#% Датчики any-data 2
dhtComfort Степень#комфорта: Датчики 3
dhtPerception Восприятие: Датчики 4
dhtDewpoint Точка#росы: Датчики 5
logging dhtT 5 50 slow Температура Датчики 6
logging dhtH 5 50 slow Влажность Датчики 7
//2 - номер пина датчика
//варианты отображения: any-data, progress-round, progress-line, fill-gauge

View File

@@ -1 +0,0 @@

View File

@@ -1,10 +0,0 @@
dhtT DHT22 2 Температура#DHT,#t°C Датчики any-data 1
dhtH DHT22 2 Влажность#DHT,#% Датчики any-data 2
dhtComfort Степень#комфорта: Датчики 3
dhtPerception Восприятие: Датчики 4
dhtDewpoint Точка#росы: Датчики 5
logging dhtT 5 50 slow Температура Датчики 6
logging dhtH 5 50 slow Влажность Датчики 7
//2 - номер пина датчика
//варианты отображения: any-data, progress-round, progress-line, fill-gauge

View File

@@ -1 +0,0 @@

View File

@@ -1,14 +0,0 @@
button 1 na Включить#все Реле 0 1
button 2 13 Прихожая Реле 0 2
button 3 14 Кухня Реле 0 3
pwm 1 3 Яркость#коредор: Реле 1023 4
pwm 2 4 Яркость#ванная: Реле 510 5
analog 0 Аналоговый#вход Датчики fill-gauge 1 1023 1 1023 6
logging analog 1 100 slow Аналоговый#вход Датчики 7
//Это демо конфигурация. В ней показано как связать кнопки c мощью сценариев
//Кнопка номер 1 связана с кнопкой 2, 3 и с pwm 2
//Так же продемонстрированна система логгирования данных строкой logging
//1 - это интервал между точками в минутах, 100 это количество точек
//slow или fast это два варианта выгрузки графика, slow более экономичный режим
//больше подходит для esp8266

View File

@@ -1,10 +0,0 @@
button1 = 1
buttonSet 2 1
buttonSet 3 1
pwmSet 2 1024
end
button1 = 0
buttonSet 2 0
buttonSet 3 0
pwmSet 2 0
end

View File

@@ -1,11 +0,0 @@
level Вода#в#баке,#% Датчики fill-gauge 125 20 1
inputDigit digit1 При#скольки#выключить? Датчики 95 2
inputDigit digit2 При#скольки#включить? Датчики 10 3
button 1 5 Насос Датчики 0 4
button 2 line1,line2, Автоматический#режим Датчики 1 5
logging level 1 100 slow Вода#в#баке Датчики 6
//125 - это расстояние от датчика до дна бака в сантиметрах
//20 - это расстояние от датчика до поверхности воды когда бак полный в сантиметрах
//вывод данных будет в процентах заполнения бака
//варианты отображения: any-data, progress-round, progress-line, fill-gauge

View File

@@ -1,6 +0,0 @@
level > digit1
buttonSet 1 0
end
level < digit2
buttonSet 1 1
end

View File

@@ -1,11 +0,0 @@
button 1 5 Прихожая Освещение 0 1
inputDigit digit1 Задержка#выключения Освещение 30 2
switch 1 0 10
//0 - номер пина датчика движения
//5 - номер пина реле
//при срабатывании датчика движения включится реле и обратный таймер на 30 сек
//если движение не будет обнаружено повтороно в течении 30 секунд - свет выключится
//если движение повторится в течении 30 секунд то таймер продлится опять на 30 сек
//свет выключится только в том случае если в комнате все замрет на 30 сек
//задержку выключения можно будет настраивать в приложении

View File

@@ -1,7 +0,0 @@
switch1 = 1
timerStart 1 digit1 sec
buttonSet 1 1
end
timer1 = 0
buttonSet 1 0
end

View File

@@ -1,12 +0,0 @@
switch 1 0 20
text 1 Вход: Охрана 1
textSet 1 не#обнаружено-time
button 1 na Сбросить Охрана 0 2
button 2 line3, Включить#push Охрана 1 3
//0 - номер пина датчика
//при срабатывании датчика движения устройство пошлет пуш и в приложении будет
//написано в текстовом поле, что движение было обнаружено
//так же будет зафиксирован момент времени срабатывания датчика
//в приложении можно отключать отправку пуш сообщений на тот случай если дома хозяин
//перевести датчик снова в режим ожидания движения можно нажав кнопку сброса в приложении

View File

@@ -1,10 +0,0 @@
switch1 = 1
textSet 1 обнаружено#движение-time
end
button1 = 1
textSet 1 не#обнаружено-time
buttonSet 1 0
end
switch1 = 1
push Внимание обнаружено#движение!
end

View File

@@ -1,6 +0,0 @@
pwm 1 3 Яркость#коредор: Реле 1023 1
pwm 2 4 Яркость#ванная: Реле 510 2
//в приложении появятся ползунки, соответствующее значение pwm
//будет установленно на пинах 3 и 4
//1023 и 510 это начальные значения после загрузки модуля

View File

@@ -1 +0,0 @@

View File

@@ -1,3 +0,0 @@
button 1 5 Включить#реле Реле 0 1
//это простая кнопка номер 1 управляющая пином 5 имеющая начальное состояние 0

View File

@@ -1 +0,0 @@

View File

@@ -1,6 +0,0 @@
button 1 5 Включить#все Реле 0 1
//что бы использовать эту конфигурацию на другой esp необходимо активировать пресет
//"Вкл. выкл. локального реле", затем в сценарии данного модуля подставить Device ID
//того esp, кнопка на этом девайсе будет выключать другие устройства по воздуху

View File

@@ -1,8 +0,0 @@
button1 = 1
mqtt 3233662-1589485 buttonSet_1_1
mqtt 2233662-1589486 buttonSet_1_1
end
button1 = 0
mqtt 3233662-1589485 buttonSet_1_0
mqtt 2233662-1589486 buttonSet_1_0
end

View File

@@ -1,4 +0,0 @@
button 1 5 Вкл#на#время Таймеры 0 1
inputDigit digit1 Через#сколько#секунд#выключить? Таймеры 5 2
//в сценариях можно поменять на sec, min или hours если нужны другие размерности времени

View File

@@ -1,6 +0,0 @@
button1 = 1
timerStart 1 digit1 sec
end
timer1 = 0
buttonSet 1 0
end

View File

@@ -1,3 +0,0 @@
switch 1 0 10
//физическая кнопка номер 1 подключенная к пину 0, задержка от дребезга 10 мс

View File

@@ -1,3 +0,0 @@
switch1 = 1
mqtt 3233662-1589489 buttonChange_1
end

View File

@@ -1,3 +0,0 @@
button 1 na Включить#все Освещение 0 1
//при нажатии на эту кнопку пины номер 5 и 13 поведут себя как установленно в сценариях

View File

@@ -1,8 +0,0 @@
button1 = 1
pinSet 5 1
pinSet 13 0
end
button1 = 0
pinSet 5 0
pinSet 13 1
end

View File

@@ -1,6 +0,0 @@
switch 1 0 10
//что бы использовать эту конфигурацию на другой esp необходимо активировать пресет
//"Вкл. выкл. локального реле", затем в сценарии данного модуля подставить Device ID
//того esp, к данному модулю нужно подключить кнопку к пину 0 и тогда
//один девайс будет управлять другим по воздуху

View File

@@ -1,4 +0,0 @@
switch1 = 1
mqtt 3233662-1589485 buttonChange_1
mqtt 2233662-1589486 buttonChange_1
end

View File

@@ -1,4 +0,0 @@
button 1 13 Включить#реле Реле 0 1
switch 1 0 10
//можно управлять реле на пине 13 кнопкой на пине 0 или кнопкой в приложении

View File

@@ -1,3 +0,0 @@
switch1 = 1
buttonChange 1
end

View File

@@ -1,6 +0,0 @@
inputTime time1 Во#сколько#включить? Таймеры 20-30-00 1
inputTime time2 Во#сколько#выключить? Таймеры 20-35-00 2
button 1 5 Кнопка#(по#таймеру) Таймеры 0 3
//время в приложение необходимо вводить в строгом формате: ЧЧ-ММ-СС
//можно создавать любое количество таймеров, копируя строку inputTime...

View File

@@ -1,6 +0,0 @@
timenow = time1
buttonSet 1 1
end
timenow = time2
buttonSet 1 0
end

View File

@@ -1,17 +0,0 @@
stepper 1 12 4
stepper 2 13 5
button 1 na Открыть#штору#1 Шторы 0 1
button 2 na Открыть#штору#2 Шторы 0 2
//для подключения необходим драйвер шагового двигателя A4988
//stepper 1 12 4 шаговый двигатель с параметрами: 1 - номер шагового двигателя,
//12 - номер пина количества шагов, 4 - номер пина направления
//stepper 2 13 5 шаговый двигатель с параметрами: 2 - номер шагового двигателя,
//13 - номер пина количества шагов, 5 - номер пина направления
//stepperSet 1 200 5 - прокрутить шаговик номер 1 на 200 шагов по часовой стрелке
//с задержкой между шагами 5 милисекунд (чем меньше задержка тем больше скорость)
//если поставить -200 то будет вращаться против часовой стрелки
//можно подключить не более двух шаговиков

View File

@@ -1,12 +0,0 @@
button1 = 1
stepperSet 1 200 1
end
button1 = 0
stepperSet 1 -200 1
end
button2 = 1
stepperSet 2 200 1
end
button2 = 0
stepperSet 2 -200 1
end

View File

@@ -1,12 +0,0 @@
dallas 2 Водонагреватель,#t°C Термостат any-data 1
logging dallas 5 100 slow Температура Термостат 2
inputDigit digit1 При#скольки#выключить? Термостат 40 3
inputDigit digit2 При#скольки#включить? Термостат 20 4
button 1 5 Нагреватель Термостат 0 5
button 2 line1,line2, Автоматический#режим Термостат 1 6
//2 - номер пина датчика
//5 - номер пина реле
//это термостат который будет держать температуру между двумя
//установленными в приложении значениями, так же можно выключить
//автоматический режим, и тогда нагреватель будет управляться в ручную

View File

@@ -1,6 +0,0 @@
dallas > digit1
buttonSet 1 0
end
dallas < digit2
buttonSet 1 1
end

View File

@@ -1,113 +0,0 @@
{
"configs": [
"/config.live.json",
"/config.setup.json",
"/config.option.json"
],
"class": "col-sm-offset-1 col-sm-10",
"content": [
{
"type": "h5",
"title": "{{name}}",
"class": "alert-warning"
},
{
"type": "h4",
"title": "Device ID: {{chipID}}"
},
{
"type": "h4",
"title": "IP address: {{ip}}"
},
{
"type": "h4",
"title": "Uptime: {{uptime}}"
},
{
"type": "hr"
},
{
"type": "dropdown",
"name": "help-url",
"class": "btn btn-warning btn-lg",
"style": "display:inline",
"title": {
"#": "Выбирите то, во что Вы хотите превратить ESP <span class=\"caret\"></span>",
"/preset?arg=1": "1.Вкл. выкл. локального реле",
"/preset?arg=2": "2.Вкл. выкл. локального реле в определенное время",
"/preset?arg=3": "3.Вкл. выкл. локального реле на определенный период времени",
"/preset?arg=4": "4.Вкл. выкл. нескольких локальных реле кнопкой в приложении",
"/preset?arg=5": "5.Вкл. выкл. локального реле физической кнопкой и кнопкой в приложении параллельно (для выключателя света)",
"/preset?arg=6": "6.Вкл. выкл. нескольких удаленных реле кнопкой в приложении (нужно указать Device ID)",
"/preset?arg=7": "7.Вкл. выкл. нескольких удаленных реле физической кнопкой (нужно указать Device ID)",
"/preset?arg=8": "8.Широтно импульсная модуляция",
"/preset?arg=9": "9.Сенсор DHT11 и логгирование",
"/preset?arg=10": "10.Сенсор DHT22, DHT33, DHT44, AM2302, RHT03 и логгирование",
"/preset?arg=11": "11.Аналоговый сенсор и логгирование",
"/preset?arg=12": "12.Сенсор DS18B20 и логгирование",
"/preset?arg=13": "13.Термостат на DS18B20 с переключением в ручной режим и логгированием",
"/preset?arg=14": "14.Контроль уровня в баке на сенсорах: JSN-SR04T, HC-SR04, HY-SRF05 и логгирование (управление насосом)",
"/preset?arg=15": "15.Датчик движения включающий свет",
"/preset?arg=16": "16.Охранный датчик движения",
"/preset?arg=17": "17.Система управления шаговыми двигателями на основе драйвера A4988 (открытие закрытие штор)",
"/preset?arg=18": "Настройки по умолчанию"
}
},
{
"type": "h2",
"title": "Конфигурация устройства"
},
{
"type": "file",
"state": "firmware.c.txt",
"style": "width:100%;height:400px",
"title": "Сохранить",
"action": "/init?arg=2",
"class": "btn btn-block btn-success"
},
{
"type": "link",
"title": "Подробная инструкция",
"action": "https://github.com/DmitryBorisenko33/esp32-esp8266_iot-manager_modules_firmware/wiki/Instruction",
"class": "btn btn-block btn-primary"
},
{
"type": "h2",
"title": "Сценарии"
},
{
"type": "checkbox",
"name": "scenario",
"title": "Включить сценарии",
"action": "/init?arg=[[scenario]]",
"state": "{{scenario}}"
},
{
"type": "h6",
"title": ""
},
{
"type": "file",
"state": "firmware.s.txt",
"style": "width:100%;height:400px",
"title": "Сохранить",
"action": "/init?arg=4",
"class": "btn btn-block btn-success"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Очистить логи сенсоров",
"action": "/init?arg=3",
"class": "btn btn-block btn-success"
},
{
"type": "link",
"title": "Главная",
"action": "/",
"class": "btn btn-block btn-danger btn-sm"
}
]
}

Binary file not shown.

View File

@@ -1,65 +0,0 @@
{
"configs": [
"/config.live.json",
"/config.setup.json"
],
"title": "Главная",
"class": "col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
"content": [
{
"type": "h5",
"title": "{{name}}",
"class": "alert-warning"
},
{
"type": "h3",
"title": "Список других устройств в сети:"
},
{
"type": "hr"
},
{
"type": "csv",
"title": [
"html",
"html",
"html"
],
"state": "dev.csv",
"style": "width:100%;",
"class": "nan"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Переформировать список устройств",
"action": "udp?arg=2",
"class": "btn btn-block btn-success"
},
{
"type": "link",
"title": "Обновить страницу",
"action": "udp?arg=3",
"class": "btn btn-block btn-success"
},
{
"type": "hr"
},
{
"type": "text",
"class": "alert alert-warning",
"title": "После нажатия на кнопку 'Переформировать список устройств' ждите примерно минуту, а затем обновите страницу и список появится вновь"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Главная",
"action": "/",
"class": "btn btn-block btn-danger"
}
]
}

View File

@@ -1,14 +0,0 @@
button 1 na Включить#все Реле 0 1
button 2 13 Прихожая Реле 0 2
button 3 14 Кухня Реле 0 3
pwm 1 3 Яркость#коредор: Реле 1023 4
pwm 2 4 Яркость#ванная: Реле 510 5
analog 0 Аналоговый#вход Датчики fill-gauge 1 1023 1 1023 6
logging analog 1 100 slow Аналоговый#вход Датчики 7
//Это демо конфигурация. В ней показано как связать кнопки c мощью сценариев
//Кнопка номер 1 связана с кнопкой 2, 3 и с pwm 2
//Так же продемонстрированна система логгирования данных строкой logging
//1 - это интервал между точками в минутах, 100 это количество точек
//slow или fast это два варианта выгрузки графика, slow более экономичный режим
//больше подходит для esp8266

View File

@@ -1,10 +0,0 @@
button1 = 1
buttonSet 2 1
buttonSet 3 1
pwmSet 2 1024
end
button1 = 0
buttonSet 2 0
buttonSet 3 0
pwmSet 2 0
end

Binary file not shown.

View File

@@ -1,102 +0,0 @@
{
"configs": [
"/config.live.json",
"/config.setup.json"
],
"title": "Главная",
"class": "col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
"content": [
{
"type": "h5",
"title": "{{name}}",
"class": "alert-warning"
},
{
"type": "h4",
"title": "Device ID: {{chipID}}"
},
{
"type": "h4",
"title": "IP address: {{ip}}"
},
{
"type": "h4",
"title": "Uptime: {{uptime}}"
},
{
"type": "h4",
"title": "Build version: {{firmware_version}}"
},
{
"type": "h4",
"title": "SPIFFS version: 2.3.2"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Конфигурация устройства",
"action": "/?configuration",
"class": "btn btn-block btn-primary"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Список других устройств в сети",
"action": "/?dev",
"class": "btn btn-block btn-success"
},
{
"type": "link",
"title": "Конфигурация WIFI",
"action": "/?setup",
"class": "btn btn-block btn-success"
},
{
"type": "link",
"title": "Конфигурация MQTT",
"action": "/?mqtt",
"class": "btn btn-block btn-success"
},
{
"type": "link",
"title": "Конфигурация push",
"action": "/?pushingbox",
"class": "btn btn-block btn-success"
},
{
"type": "h3",
"name": "my-block",
"style": "position:fixed;top:50%;left:50%;width:400px;margin-left:-200px;text-align:center;",
"class": "hidden"
},
{
"type": "hr"
},
{
"type": "button",
"title": "Обновить прошивку",
"action": "/check",
"response": "[[my-block]]",
"class": "btn btn-block btn-danger"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Скачать приложение IoT Manager для android",
"action": "https://play.google.com/store/apps/details?id=ru.esp8266.iotmanager",
"class": "btn btn-block btn-warning"
},
{
"type": "link",
"title": "Скачать приложение IoT Manager для iphone",
"action": "https://apps.apple.com/ru/app/iot-manager/id1155934877",
"class": "btn btn-block btn-warning"
}
]
}

Binary file not shown.

Binary file not shown.

View File

@@ -1,106 +0,0 @@
{
"configs": [
"/config.setup.json"
],
"class": "col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
"content": [
{
"type": "h5",
"title": "{{name}}",
"class": "alert-warning"
},
{
"type": "h4",
"title": "Server name:"
},
{
"type": "input",
"title": "",
"name": "1",
"state": "{{mqttServer}}"
},
{
"type": "h4",
"title": "Port:"
},
{
"type": "input",
"title": "",
"name": "2",
"state": "{{mqttPort}}"
},
{
"type": "h4",
"title": "Prefix:"
},
{
"type": "input",
"title": "",
"name": "3",
"state": "{{mqttPrefix}}"
},
{
"type": "h4",
"title": "User name:"
},
{
"type": "input",
"title": "",
"name": "4",
"state": "{{mqttUser}}"
},
{
"type": "h4",
"title": "Password:"
},
{
"type": "input",
"title": "",
"name": "5",
"state": "{{mqttPass}}"
},
{
"type": "h3",
"name": "my-block",
"style": "position:fixed;top:30%;left:50%;width:400px;margin-left:-200px;text-align:center;",
"class": "hidden"
},
{
"type": "text",
"class": "alert alert-warning",
"title": "Прежде чем нажимать на кнопку 'Отправить настройки MQTT' сохрание их, если Вы их меняли. Настройки получат и перезапишут все устройства в локальной сети"
},
{
"type": "button",
"title": "Сохранить",
"action": "mqttSave?mqttServer=[[1]]&mqttPort=[[2]]&mqttPrefix=[[3]]&mqttUser=[[4]]&mqttPass=[[5]]",
"class": "btn btn-block btn-success"
},
{
"type": "button",
"title": "Отправить настройки MQTT с этого устройства на все остальные",
"action": "udp?arg=1",
"class": "btn btn-block btn-success"
},
{
"type": "button",
"title": "Проверить соединение с MQTT",
"action": "mqttCheck",
"response": "[[my-block]]",
"class": "btn btn-block btn-success"
},
{
"type": "link",
"title": "Перезагрузить устройство",
"action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/restart?device=ok');}",
"class": "btn btn-block btn-success"
},
{
"type": "link",
"title": "Главная",
"action": "/",
"class": "btn btn-block btn-danger btn-sm"
}
]
}

View File

@@ -1,46 +0,0 @@
{
"configs": [
"/config.setup.json"
],
"class":"col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
"content": [
{
"type": "h5",
"title": "{{name}}",
"class":"alert-warning"
},
{
"type": "h4",
"title": "Device id:"
},
{
"type": "input",
"title": "",
"name":"1",
"state": "{{pushingbox_id}}"
},
{
"type": "button",
"title":"Сохранить",
"action": "pushingboxDate?pushingbox_id=[[1]]",
"class": "btn btn-block btn-success",
"style": "width:100%;display:inline"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Перезагрузить устройство",
"action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/restart?device=ok');}",
"class": "btn btn-block btn-warning"
},
{
"type": "link",
"title": "Главная",
"action": "/",
"class": "btn btn-block btn-danger btn-sm"
}
]
}

View File

@@ -1,2 +0,0 @@
User-agent: *
Disallow: *

View File

@@ -1,148 +0,0 @@
{
"configs": [
"/config.setup.json"
],
"title": "Конфигурация",
"class":"col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
"content": [
{
"type": "h5",
"title": "{{name}}",
"class":"alert-warning"
},
{
"type": "link",
"title": "Главная",
"action": "/",
"class": "btn btn-block btn-danger"
},
{
"type": "hr"
},
{
"type": "h2",
"title": "Имя устройства"
},
{
"type": "input",
"title": "Имя устройства",
"name":"dev_name",
"state": "{{name}}",
"pattern": "[0-9a-zA-Zа-яА-Я.\\- ]{1,20}"
},
{
"type": "button",
"title": "Сохранить",
"action": "name?arg=[[dev_name]]",
"class": "btn btn-block btn-success"
},
{
"type": "hr"
},
{
"type": "h2",
"title": "Подключение к Wi-Fi роутеру"
},
{
"type": "input",
"title":"Сеть",
"name":"ssid",
"state": "{{ssid}}"
},
{
"type": "password",
"title": "Введите пароль",
"name":"ssidPass",
"state": "{{password}}"
},
{
"type": "button",
"title": "Сохранить",
"class": "btn btn-block btn-success",
"action": "ssid?ssid=[[ssid]]&password=[[ssidPass]]"
},
{
"type": "hr"
},
{
"type": "h2",
"title": "Точка доступа"
},
{
"type": "input",
"title": "Имя WI-FI сети",
"name":"ssidap",
"state": "{{ssidAP}}",
"pattern": ".{1,20}"
},
{
"type": "password",
"title": "Пароль",
"name":"ssidApPass",
"state": "{{passwordAP}}",
"pattern": ".{8,20}"
},
{
"type": "button",
"title": "Сохранить",
"action": "ssidap?ssidAP=[[ssidap]]&passwordAP=[[ssidApPass]]",
"class": "btn btn-block btn-success"
},
{
"type": "hr"
},
{
"type": "h2",
"title": "Логин и пароль web interface"
},
{
"type": "input",
"title": "Логин",
"name":"web-login",
"state": "{{web_login}}",
"pattern": ".{1,20}"
},
{
"type": "password",
"title": "Пароль",
"name":"web-pass",
"state": "{{web_pass}}",
"pattern": ".{1,20}"
},
{
"type": "button",
"title": "Сохранить",
"action": "web?web_login=[[web-login]]&web_pass=[[web-pass]]",
"class": "btn btn-block btn-success"
},
{
"type": "hr"
},
{
"type": "h2",
"title": "Временная зона"
},
{
"type": "input",
"title": "Логин",
"name":"time-zone",
"state": "{{timezone}}",
"pattern": ".{1,20}"
},
{
"type": "button",
"title": "Сохранить",
"action": "timeZone?timezone=[[time-zone]]",
"class": "btn btn-block btn-success"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Перезагрузить устройство",
"action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/restart?device=ok');}",
"class": "btn btn-block btn-warning"
}
]
}

Binary file not shown.

View File

@@ -1,7 +0,0 @@
{
"widget" : "select",
"size" : "small",
"fill" : "outline",
"options" : "["Zero item", "First item", "Second item"]",
"status" : 2
}

View File

@@ -1,5 +0,0 @@
{
"widget" : "anydata",
"after" : "",
"icon" : ""
}

View File

@@ -1,5 +0,0 @@
{
"widget": "chart",
"series": "Temperature, °C",
"dateFormat": "HH:mm"
}

View File

@@ -1,7 +0,0 @@
{
"widget": "fillgauge",
"circleColor": "#00FFFF",
"textColor": "#FFFFFF",
"waveTextColor": "#000000",
"waveColor": "#00FFFF"
}

View File

@@ -1,6 +0,0 @@
{
"widget" : "input",
"size" : "small",
"color" : "orange",
"type" : "date"
}

View File

@@ -1,5 +0,0 @@
{
"widget" : "input",
"color" : "blue",
"type" : "number"
}

View File

@@ -1,6 +0,0 @@
{
"widget" : "input",
"size" : "small",
"color" : "orange",
"type" : "text"
}

View File

@@ -1,5 +0,0 @@
{
"widget" : "input",
"color" : "blue",
"type" : "time"
}

View File

@@ -1,12 +0,0 @@
{
"widget" : "progress-line",
"icon" : "sunny",
"descrColor" : "",
"color" : "",
"max" : "100",
"background" : "",
"stroke" : "10",
"disabled" : "",
"before" : "",
"after" : ""
}

View File

@@ -1,11 +0,0 @@
{
"widget" : "progress-round",
"descrColor" : "",
"max" : "100",
"stroke" : "20",
"color" : "#45ccce",
"background": "#777",
"before" : "",
"semicircle" : "1",
"after" : ""
}

View File

@@ -1,9 +0,0 @@
{
"widget" : "range",
"descrColor": "red",
"after" : "%",
"k" : 0.0977,
"min" : 0,
"max" : 100,
"debounce": 500
}

View File

@@ -1,5 +0,0 @@
{
"widget" : "toggle",
"icon" : "",
"iconOff" : ""
}

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More