- Add remaining 'device/item_group' - comparison features in 'when' & 'then' EZPI-437
- Implement isGroupItem_group : when-method EZPI-464
- add expression-update feature when using 'hub.scenes.expressions.set'. EZPI-465
- Implement Group_set_Item_value then-method EZPI-456
- Implement Group_set_Device_armed then-method EZPI-457
- Implement Group_toggle_value then-method EZPI-458
- Avoid HTTP Requests if there is no valid HTTP/S URL EZPI-474
- Issues when distinguishing between 'expression' and 'variable'. EZPI-476
- Duplication of Expression/Variable with same name. EZPI-475
- BLE Onboarding, cJSON incorrect cert length EZPI-491
- Scenes with three or more triggers are not created - broadcasts about the successful creation of the scene are not received. EZPI-320
- Bug found when triggering 'hub.device.room.set' EZPI-473
- Fix Timer getting error when there is no device. EZPI-393
- Store and optimize string constants to Flash memory EZPI-396
- Firmware RAM and Flash optimization EZPI-424
- EzloPi WS connection ON and OFF EZPI-439
- RAM optimization for Cloud Constants EZPI-449
- CRLF improper setting for ESP32 and C3 EZPI-451
- BLE Stack Optimization EZPI-452
- EzloPi Heap Shrink debug EZPI-462
- Fix EzloPi Buffer Rlease Fail EZPI-463
- Fix Renaming devices never sticks and they get renamed back to their default names EZPI-468
- Disable captive portal EZPI-469
- Added 'setVariable' - Meshbot then_method EZPI-426
- Added 'setExpression' - Meshbot then_method EZPI-425
- Added 'itemGroup' and 'DeviceGroups' EZPI-427
- Fix issue about device apperaing offline when WiFi network changed with changing device IP EZPI-443
- Fix EzloPi WS connection ON and OFF EZPI-439
- Fix issue of appearing
ezlopi_generic_0
on BLE client devices - Fix timer issue with custom loop implementation within the core
- Development by @lomasSE89 in #147
- Pre release test meshbot with funtion fix by @ezlo-rikenm in #149
- Ezpi 441 complete room integration by @krishna-ezlo in #148
- fixed meshbot-crashing issue on enable-true/false by @krishna-ezlo in #150
- scenes_enable/disable_testing_complete by @lomasSE89 in #151
- Ezpi 443 keep tcp conn on ip change by @lomasSE89 in #154
- Ezpi 44 x ws integration by @krishna-ezlo in #155
- Dev merge ezpi 375 422 425 426 427 by @ezlo-rikenm in #156
- Task Completed : https://jira.mios.com/browse/EZPI-445 by @ezlo-rikenm in #157
- Development revert wss by @lomasSE89 in #159
- Development by @lomasSE89 in #160
Full Changelog: https://github.com/ezloteam/Ezlo_Pi/compare/v4.1.3...v4.1.4
- Enrollment of first-provisioning-api
- Implemented __loop to minimize the heap consumption. Followings has been added to loop: 2.1: ping 2.2: device/item routine call 2.3: removed timer-events 2.4: Cloud registration 2.5: broadcast service 2.6: LED indicator 2.7: meshbot 2.8: ota 2.9: uart
- Fixed touch-switch input
- Cloud syncing for provisioning
- Reset_scene_latches [https://jira.mios.com/browse/EZPI-371]
- Added nvs update when activating : 'hub.scenes.block.status.reset' . [https://jira.mios.com/browse/EZPI-411]
- Added 'hub.scenes.block.enabled.set' method . [https://jira.mios.com/browse/EZPI-413]
- Added 'hub.scenes.house_modes.set' method . [https://jira.mios.com/browse/EZPI-415]
- Added 'hub.scenes.action.block.test' method . [https://jira.mios.com/browse/EZPI-417]
- Added 2-broadcast methods for :- 'hub.scenes.expressions.set' . [https://jira.mios.com/browse/EZPI-419]
- Added broadcast method for :- 'hub.expression.deleted' . [https://jira.mios.com/browse/EZPI-420]
- Update README.md by @lomasSE89 in #140
- Combined ezpi 381 400 401 402 403 404 by @ezlo-rikenm in #139
-
- bug_fixed in 'firmware_info_get' function by @ezlo-rikenm in #142
- Dev merge ezpi 371 411 413 415 417 419 420 by @ezlo-rikenm in #141
- Development by @krishna-ezlo in #143
- Ezpi wifi scanner issue by @NDJ-EZLO in #144
- added device/item to loop in every 1-seconds by @krishna-ezlo in #145
- Pre release ezlopi core 4.x.x by @lomasSE89 in #146
- Added
cmd 99
as an heartbeat on UART - Configurable cloud log and trace EZPI-405
- Fix ping issue with expanding the idle task stack EZPI-392
- EzloPi Distros cleanup EZPI-395
- Fixed broadcast issues when activating hub.scenes.delete
- Found fixed a possible bug case in 'scenes.changed' broadcast method
- fixed an error in
cjext : 'isCJSON_NULL'
--> always returns 'null'. - Replaced
CJSON_GET_VALUE_DOUBLE
withCJSON_GET_VALUE_GPIO
for all gpios - Fixed DHT22 pin issue
- Fixed
ezlopi_factory_info_v3_set_ezlopi_config
- Cleaned multiple occurrence of
\r\n
- Soved the issue of 0 memory usage in status get API by @NDJ-EZLO in #130
- Ezpi 405 cofigurable cloud log and trace by @krishna-ezlo in #131
- Fixed incorrect broadcast problem : https://jira.mios.com/browse/EZPI… by @ezlo-rikenm in #132
- Ezpi 392 ping issue by @lomasSE89 in #133
- Ezpi 405 cofigurable cloud log and trace by @krishna-ezlo in #134
- Ezpi 395 distro clean by @lomasSE89 in #135
- Ezpi 395 distro clean by @lomasSE89 in #137
- Dev old compare string by @ezlo-rikenm in #136
- Development by @lomasSE89 in #138
Full Changelog: https://github.com/ezloteam/Ezlo_Pi/compare/v3.5.8...v3.5.9
- Implementation of 6-function-APIs (for less, for at-least, repeat, follow, pulse, latch): EZPI-351
- Implement EzloPi Device Statuses API EZPI-254
- Change Serial Config, Update NVS and Reboot EzloPi Device if only new config EZPI-365
- Implement hub.device.armed.set API EZPI-379
- EzloPi Distro Design and implementation EZPI-385
- EzloPi - Framework for house-modes EZPI-280
- 'hub.modes.current.get' api integration EZPI-292
- Implementation of then-method 'toggle-value' EZPI-349
- Implementation of isHouseMode_changed_from_method EZPI-366
- Implementation of switchHouseMode_then_method EZPI-366
- Implementation of Log Control from Serial EZPI-388
- Add chip compatibility for config EZPI-389
- Memory leak fixing causing device to go offline EZPI-369
- Add Filter on serial info such that if not provisioned send data 0 EZPI-353
- Implement cloud API controlled logs for cloud and serial on EzloPi EZPI-370
- Cleanup distro merge EZPI-378
- Fix Flash overflow with converting LOG macros into a function based implementaion EZPI-384
- Connect to SNTP if only WiFi connected and reduce delay time EZPI-386
- Meshbots Branch "review" refactoring EZPI-261
- Test and fixing on 'house-modes' EZPI-301
- When several scenes (more than 6) are created, the next created scenes stop coming from the controller EZPI-250
- Fix invalid '_item_ID' in toggle_value method EZPI-390
- Development by @lomasSE89 in #109
- release note. by @lomasSE89 in #110
- added mDNS config disable in K-Config. by @lomasSE89 in #111
- Ezlopi distros by @krishna-ezlo in #112
- Ezpi 308 hub status get ii by @NDJ-EZLO in #113
- Dev function to be merged into 3.5.7 by @lomasSE89 in #114
- Pre release 3.5.7 by @lomasSE89 in #115
- removed unneccessary warnings by @ezlo-rikenm in #116
- Ezpi 370 implement hub log by @NDJ-EZLO in #117
- Device free bug fix pre release 3.5.7 by @ezlo-rikenm in #118
- Pre release 3.5.7 by @lomasSE89 in #119
- Development by @lomasSE89 in #120
- fixed core-processess when disabled by @krishna-ezlo in #121
- Dev adding toggle value and housemode changed from by @ezlo-rikenm in #122
- Ezpi 376 fix memory leak by @krishna-ezlo in #123
- Pre release next by @NDJ-EZLO in #124
- Pre release 3.5.8 by @lomasSE89 in #125
- Fixed : invalid_item_id in 'toggle_value_method' ; https://jira.mio.com/browse/EZPI-390 by @ezlo-rikenm in #126
- Added UART service for log severity by @NDJ-EZLO in #127
- Development by @lomasSE89 in #128
Full Changelog: https://github.com/ezloteam/Ezlo_Pi/compare/v3.4.7...v3.5.8
- Implementation of heap-memory guard when 'scene_create' triggered: EZPI-358
- Implementation of 'toggle-value' method; [testing remained] EZPI-349
- Implementation fake Token based security on local API EZPI-341
- Implementation of WiFi Change API EZPI-302
- Implementation of Battery status on Firmware Core EZPI-332
- Implementation of Status indicator based on LED and BLE for EzloPi EZPI-344
- Implementation of UART (serial) configuration from serial and BLE EZPI-347
- Fix device tree free-issue when initialization: EZPI-333
- Fix 'NOT' scene method parsing failure: EZPI-363
- Fix 'Scene_State' enable/disable not update in NVS: EZPI-364
- mDNS Service type modification: EZPI-356
- Replacenemt of dynamic buffer to static buffer for minimizing heap fragmentation EZPI-352
- WiFi SSID and PSW to be matched len with factory info EZPI-316
- Implemented scene state change by @NDJ-EZLO in #88
- Meshbot edit ezpi 324 by @NDJ-EZLO in #87
- Sensor device init bug fix by @ezlo-rikenm in #89
- Hotfix heap fragmentation by @krishna-ezlo in #90
- Development merge add parent by @ezlo-rikenm in #92
- refactored parent_child_device naming by @ezlo-rikenm in #94
- implementation of https://jira.mios.com/browse/EZPI-341 by @lomasSE89 in #95
- Hotfix heap fragmentation v3 by @krishna-ezlo in #96
- Baud rate config ezpi 347 by @NDJ-EZLO in #97
- implemented https://jira.mios.com/browse/EZPI-356 by @lomasSE89 in #99
- Uart info command issue for new device serial parameters solved by @lomasSE89 in #100
- Ezpi344 ble service addition by @NDJ-EZLO in #98
- ESP32 indicator led dimmable by @NDJ-EZLO in #101
- finalized serial config https://jira.mios.com/browse/EZPI-347 by @lomasSE89 in #102
- added not_method by @ezlo-rikenm in #103
- added fix for setSceneState by @ezlo-rikenm in #104
- Development fix scene get status and run scene.EZPI-358 by @ezlo-rikenm in #105
- Development new scene 30kb guard by @ezlo-rikenm in #106
- Wrap up api for initiative by @lomasSE89 in #107
- Pre release v3.4.7 by @lomasSE89 in #108
Full Changelog: https://github.com/ezloteam/Ezlo_Pi/compare/v3.3.6...v3.4.7
-
- hub.scenes.create
- hub.scenes.get
- hub.scenes.list
- hub.scenes.edit
- hub.scenes.delete
- hub.scenes.block.data.list
- hub.scenes.enabled.set
- hub.scenes.notification.add
- hub.scenes.notification.remove
- hub.scenes.run
- hub.scenes.name.set
- hub.scenes.expressions.set
- hub.scenes.expressions.delete
- hub.scenes.expressions.list
- MPU6050 Accelerometer and Gyroscope
- ADXL345 3-Axis Accelerometer
- GY-271 Magnetometer
- LTR303ALS Luminosity sensor
- RMT SK6812
- BMP680 I2C Sensor
- BMP280 I2C Sensor
- DHT11 Temperature Humidity Sensor
- DHT22 Temperature Humidity Sensor
- Potentiometer
- Internal Hall Effect Sensor
- PIR Sensor
- Parallax 2-Axis Joystick
- MB1013 Sonar
- PWM Generic Load
- Touch Switch TTP223B (Toggle)
- Ultrasonic Sensor HC SR04
- LDR Digital and analog Sensor
- Water Leak Sensor
- GY61 3-Axis Accelerometer
- GXHTC3 - RH and T Sensor
- DS18B20 Temperature Sensor
- JSN SR04T Water Level Sensor
- Soil Moisture Sensor
- Turbidity Sensor
- Proximity Sensor
- Touch switch TPP 223B (Momentary)
- Servo Motor MG996R
- SK6812 RGB LEDs
- TCS230 Sensor
- FC28 Soil Moisture Sensor
- Shunt voltmeter
- UV Intensity Sensor
- TSL2561 Luminosity Sensor
- CS712TELC 05B Current Sensor
- HX711 Load Cell
- MQ4 Methane Gas Sensor
- MQ2 LPG Gas Sensor
- MQ3 Alcohol Sensor
- MQ8 H2 Gas Sensor
- MQ135 NH3 Gas Sensor
- GPS GYGPS6MV2
- YFS201 flowmeter
- Flex Resistor
- Force Sensitive Resistor
- KY026 Flame Sensor
- MQ6 LPG Detector
- Vibration Sensor
- Reed Switch
- MQ7 CO Detector
- MQ9 LPG Detector
- Float Switch
- R307 Fingerprint Module
- HLK-LD2410B Presence Sensor
- ENS160 gas sensor
- ZE08 ch02 gas sensor
- PWM Dimmable
- RGB Dimmable
- Smart Plug / Relay
- Servo Mot0r
- Addressable LEDs
EzloPi can be configured with serial interface as well. Following are common serial interface commands :
This command is for device administrative purpose such as device restart, device factory restart etc
Request
Factory Restore
{
"cmd": 0,
"sub_cmd": 0 // Factory Restore only
}
Just Reboot
{
"cmd": 0,
"sub_cmd": 1 // Reboot only
}
Response :
{
"cmd": 0,
"status": 1 // Status of the command execution, 0 = failed, 1 = success
}
Request
{
"cmd": 1
}
Just Reboot
{
"cmd": 0,
"sub_cmd": 1 // Reboot only
}
Response :
{
"cmd": 1,
"firmware_version": "3.3.6",
"build": 185,
"chip_info": {
"chip_type": "ESP32-S3",
"chip_version": "0.01",
"firmware_SDK_name": "ESP-IDF",
"firmware_SDK_version": "v4.4.6-dirty"
},
"uptime": "0d 0h 30m 7s",
"build_date": 1701862983,
"boot_count": 354,
"boot_reason": "Power ON",
"mac": "2A:4B:6F:8E:1D:3C",
"uuid": "fb3c84b0-534c-11ec-b2d6-8f260f5287fa",
"uuid_prov": "065320-838d-11ee-8889-0f56091e7639",
"serial": 102000529,
"ssid": "ESP",
"device_name": "__NAME",
"ezlopi_device_type": "ezlopi_generic",
"device_total_flash": "8MB",
"brand": "__BRAND",
"manufacture": "__MANU",
"model": "__MODEL",
"net_info": {
"wifi_mode": "STA",
"wifi_connection_status": true,
"ip_sta": "192.168.100.19",
"ip_nmask": "255.255.255.0",
"ip_gw": "192.168.100.2",
"internet_status": "unknown",
"cloud_connection_status": false
}
}
Request
{
"cmd": 2,
"pass": "myWiFiPass",
"ssid": "my wifi ssid"
}
Response :
{
"cmd": 2,
"status_write": 1,
"status_connect": 1
}
Request
{
"cmd": 4
}
Response :
{
"config_id": "_ID_",
"config_time": 1696508363,
"dev_total": 3,
"config_name": "My moisture sensor",
"dev_detail": [
{
"dev_type": 1,
"dev_name": "Dining Room Main Lamp",
"id_room": "",
"id_item": 2,
"val_ip": true,
"val_op": false,
"gpio_in": 21,
"gpio_out": 13,
"is_ip": false,
"ip_inv": true,
"pullup_ip": true,
"pullup_op ": true,
"op_inv": false
},
{
"dev_type": 2,
"dev_name": "Switch",
"id_room": "",
"id_item": 4,
"gpio": 21,
"pull_up": true,
"logic_inv": true
},
{
"dev_type": 8,
"dev_name": "Sensor for my Dog",
"id_room": "",
"id_item": 5,
"gpio_sda": 21,
"gpio_scl": 22,
"pullup_scl": true,
"pullup_sda": true,
"slave_addr": 105
}
]
}
BLE (Bluetooth Low Energy) WiFi on-boarding for EzloPi Devices simplifies the process of connecting EzloPi devices to a WiFi network. Using BLE technology, the device can initiate a secure and user-friendly on-boarding process without the need for direct user input on the device.
BLE provisioning for EzloPi devices enhances user convenience by providing a wireless and user-friendly method for initial setup, eliminating the need for complex manual configurations directly on the device.
BLE Configuration simplifies the process of configuring the GPIOs of a hardware microcontroller employed by EzloPi, enhancing user convenience.
This feature allows for convenient and remote firmware upgrades, ensuring that EzloPi devices can receive the latest software improvements and enhancements without the need for manual intervention or physical access.
The EzloPi can be discovered locally with following services. The hostname would be ezlopi_<last 4 digits of Serial id>
Scenes provide the possibility to make the relations between devices and make some actions with them. A scene consists of "conditions" and "actions" represented by (when blocks and action blocks respectively. All of them, except action groups, have Json Array representation.
In the perfect case when and exceptions ("conditions") block must form Abstract Syntax Tree (AST) from the Json and be executable. Currently, it's represented as a list of possible single-argument function. then and else (action) blocks contain the list of actions. Each functional element actually is the item. As far as you can see there are read only items such as : temperature, pressure, humidity, etc. and there are read-write items : switch, dimmer, light(switch), doorlock, etc...
- TSL256 Lux sensor V3 by @NDJ-EZLO in #37
- Dev v3 device config by @krishna-ezlo in #40
- Feature scenes expression by @krishna-ezlo in #42
- Dev v3 scene merge by @lomasSE89 in #43
- Dev v3 sensor hilink ezpi 268 by @NDJ-EZLO in #44
- Dev v3 dir refactor ezpi 271 by @NDJ-EZLO in #45
- Refactoring sensor-device driver files. by @ezlo-rikenm in #46
- PMS5003 integration to EzloPi(issue: https://jira.mios.com/browse/EZP… by @NDJ-EZLO in #47
- sensor-devices dir_name re-structured by @ezlo-rikenm in #48
- Dev v3 dir refactor ezpi 265 by @lomasSE89 in #49
- Dev v3 dir refactor by @lomasSE89 in #50
- Worked on warning : https://jira.mios.com/browse/EZPI-273 by @lomasSE89 in #51
- Dev v3 by @lomasSE89 in #52
- Removed static variables and worked on warning in sensor drivers by @ezlo-rikenm in #53
- Feature hub scene edit by @krishna-ezlo in #54
- Development ezpi255 by @lomasSE89 in #55
- fixed mac address. by @lomasSE89 in #56
- Development ezpi255 by @lomasSE89 in #57
- Development pr template ezpi 286 by @lomasSE89 in #58
- Implement Factory Restore Feature on Serial Command by @NDJ-EZLO in #62
- Ble heap consumption ezpi 287 by @lomasSE89 in #63
- complete : https://jira.mios.com/browse/EZPI-299 by @lomasSE89 in #66
- Feature house modes by @krishna-ezlo in #64
- Ezpi 300 integrate test new sensors by @NDJ-EZLO in #65
- EZPI issue: https://jira.mios.com/browse/EZPI-303 by @NDJ-EZLO in #67
- Added nvs read and write. by @NDJ-EZLO in #69
- Ezpi 305 implement network scan command by @NDJ-EZLO in #68
- Development fix by @lomasSE89 in #73
- Ezpi312 run scene implementation by @NDJ-EZLO in #72
- added necessary 'item->user_arg' and valueFormatted malloc guards. EZ… by @ezlo-rikenm in #70
- https://jira.mios.com/browse/EZPI-316 by @lomasSE89 in #74
- added runCustomScript .EZPI-313: https://jira.mios.com/browse/EZPI-313 by @ezlo-rikenm in #76
- Mdns implementation by @NDJ-EZLO in #78
- Development gpio not found fix by @ezlo-rikenm in #81
- Mdns ws implementation by @NDJ-EZLO in #82
- ble tested : https://jira.mios.com/browse/EZPI-323 by @lomasSE89 in #83
- Development gpio num fix by @ezlo-rikenm in #84
- modified mdns structure. by @lomasSE89 in #85
- Development by @lomasSE89 in #86
Full Changelog: https://github.com/ezloteam/Ezlo_Pi/compare/v3.0.1...v3.3.6