Commit Graph
283 Commits
Author SHA1 Message Date
FlorianandFlorian 898b5e6213 [ONB] Fix failsafe mode (#2080)
Erasing the nvs before the start of WM prevent WM from starting, revert a part of #2075
Also remove the erase from setupWiFiManager method

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-10-04 17:02:50 -05:00
FlorianandFlorian 4e090eda3c [SERIAL] Improve communication robustness (#2079)
-Add a semaphore to avoid msg overlap
-Clean partial buffer
-Enable erase and restart of the secondary module from the primary

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-10-03 09:47:22 -05:00
FlorianandFlorian e390aca43b [SYS] Erase secondary module flash when button is pressed on primary module (#2076)
Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-10-01 16:29:03 -05:00
FlorianandFlorian c234afa9c8 [SYS] Fix connection validation on unknown indexes and improve erase method (#2075)
Before this fix, connections with Index 1 and 2 were supposed valid when not present in the configuration, generating attempts to connect with those indexes.
Also improve the erase config by adding an erase when the config file is not present (ESP is connected to WiFi without the config file). This way the ESP will not reconnect to the WiFi AP.

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-10-01 11:48:39 -05:00
FlorianandFlorian 88e09092d6 [SERIAL] Add Serial Heartbeat ack (#2073)
And enable to launch the loop when offline: false and serial communication layer is activated

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-10-01 10:47:55 -05:00
FlorianandFlorian 3187ed6154 [SERIAL] Enable SERIAL to X communication (#2068)
Add Serial as a communication layer so as to transmit data to/from serial
Enable discovery of BT sensors through serial
Add serial heartbeat

Change discovery principle for interval and intervalacts, keep them always discovered and deactivate adaptivescan when changed. Instead of removing their discovery when adaptive scan is activated

Increase JSON_MSG_BUFFER_MAX as we are now using const char* and it requires more memory for Arduino Json Deserialization

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-09-26 06:55:26 -05:00
FlorianandFlorian 0d338cc5c5 [LED] Add LED STRIP macros and a third Addressable pin (#2063)
* [LED] Add LED STRIP macros and a third Addressable pin

---------

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-09-19 20:36:46 -05:00
FlorianandFlorian 4b20976a08 [BLUFI] Add Blufi activation and deactivation at runtime (#2058)
Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-09-17 09:32:20 -05:00
FlorianandFlorian 435b8ca3d9 [LED] Refactor LED handling (#2051)
Refactor LED handling into a library
Use a task instead of relying on the loop for precise timing

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-09-13 09:55:56 -05:00
FlorianandFlorian 5d6f735058 [SYS} Improve queue performance whenb Using Ethernet and low interval between scan (#2052)
Add also a msgrcv (messages received) indicators into SYStoMQTT to measure the performances

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-09-10 16:33:46 -05:00
FlorianandFlorian 2b958ae363 [SYS] Externalize utils function keep cmpToMainTopic (#2048)
And fill generateHash

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-09-04 13:18:41 -05:00
FlorianandFlorian 5e65e807b7 [SYS] Externalize utils functions (#2046)
To declutter main.ino code

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-09-04 10:31:51 -05:00
FlorianandFlorian 220e2fe164 [BLUFI] Add Bluetooth timer, notifications and AP scan list (#2045)
Add a Bluetooth timer to automatically disconnect the Bluetooth client
Add custom data notifications
Add AP Scan list
Change MQTTtoSYS API to accept server or port alone

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-09-04 08:37:17 -05:00
puterboy c5b9bcb4cb [DISPLAY] Removed obsolete pubOled stub and calls (#2039) 2024-08-29 10:40:03 -05:00
FlorianandFlorian 719976b652 [SYS] Remove handleJsonQueue wrapper and use std::string (#2038)
Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-08-29 09:44:05 -05:00
puterboy 1f42075ec8 [SYS] Fixed data corruption associated with jsonQueue enqueueing and dequeuing (#2035)
* Changed jsonQueue to use json String rather than json Object
Added Mutex protection to emptyQueue()
Move Mutex protection to within enqueueJsonObject to shorten lock time
2024-08-29 07:45:56 -05:00
puterboy 830d58f98e [SYS] Add Mutex to potect mqtt->publish() from concurrent… (#2034)
Protecting mqtt->publish() fixed the problem with corruption of MQTT discovery config messages #2012
2024-08-29 07:10:46 -05:00
puterboy 5564ed531c [DISC] Remove restartesp from discovery_prefix 2024-08-29 07:09:16 -05:00
FlorianandFlorian 5492e334dc [SERIAL] Add the capability send info to Serial instead of/added MQTT (#2030)
* [SERIAL] Add the capability send info to Serial instead of/added MQTT

Add the capability to send json data to Serial as a communication layer, added/instead of MQTT

* Use delay rather than vTaskDelay

---------

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-08-27 13:23:42 -05:00
FlorianandFlorian 3d6d9baeaf [SYS} Fix disconnection detection (#2031)
Fix #2029
Introduced by #2020

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-08-27 13:23:04 -05:00
FlorianandFlorian f9a5c6961a [SYS][BREAKING] Add gateway states, Offline mode and refactor sleep (#2020)
Gaterway states to improve LED management
Make the sleep function accessible outside BT
BREAKING remove sleep for ESP8266
BREAKING lowpowermode API changed to powermode and new mode definition

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-08-23 16:55:04 -05:00
puterboyandFlorian 57fbca8f88 [DISC] Add ability to change Discovery Prefix via WebUI or via mosquitto_pub (#2007)
Add discovery_prefix change at runtime

---------

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-08-22 13:22:08 -05:00
FlorianandFlorian a2fa86eef6 [SYS] Fix Ethernet network check on MQTT failure (#2013)
Missing the check

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-08-16 19:56:41 -05:00
FlorianandFlorian f655f4fda0 [LED] Add ON Led status (#2011)
ON per default at start, never OFF unless the board loose power or the program does not start

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2024-08-16 16:49:14 -05:00
Florian 8a28bb2cf8 [SERIAL][BREAKING] RS232 change to SERIAL GATEWAY (#2008)
Make the RS232 more generic by converting it to a Serial Gateway
Add the capability to decode BLE data coming through Serial
2024-08-16 11:23:39 -05:00
Michał Leśniewski 8537b7498d [SYS] Introduce MQTT Broker mode (#1988) 2024-07-27 17:40:47 -05:00
Florian 3c0140f57b [SYS] Clean queue before restart (#1986) 2024-07-03 15:02:32 -05:00
Michał Leśniewski 9257433a50 [SYS] Use PicoMQTT for MQTT communication (#1954)
* Update Arduino core for selected configurations

* Use PicoMQTT for MQTT communication
2024-07-03 11:39:58 -05:00
Florian 77d0d14af3 [SYS] Detect instable MQTT connection with AWS (#1979)
and restart directly if the connection parameters does not work, instead of taking into account other parameters like xtomqtt
2024-06-23 16:07:48 -05:00
Florian b1b4bddcbc [SYS] Improve max buffer (#1981)
* [SYS] Reduce the usage scope of json maximum buffer usage

* Reduce procBLETask stack size
2024-06-23 15:28:52 -05:00
Florian e4e4814c28 [CERTS] Remove certificate display on WiFi manager and enable memory certificate usage for update check (#1967)
* [SYS] Do not display certificates on WiFi Manager

And save them only if the size is more than the minimum

* Enable to use memory cert for update checks
2024-06-12 13:53:24 -05:00
Florian 0a1ee69a72 [SYS] Fix default connection (#1966) 2024-06-12 12:17:12 -05:00
Florian 676a62fecb [OTA] Add Github Digicert cert hash check (#1965)
to avoid loading a deprecated certificate
2024-06-12 12:16:48 -05:00
Florian a74a6ebc06 [SYS] Add serial self test feature (#1964)
Add self testing for Theengs Bridge v1.1 (TBRIDGE02)
This feature enables factory testing
2024-06-12 08:02:34 -05:00
Florian db8e850570 [SYS] Fix wrong connection index record during onboarding (#1961)
and no connection validation if CNT_DEFAULT_INDEX is different than 0
2024-06-10 12:46:24 -05:00
Florian 0db67f75aa [SYS] Add connection fallback capability (#1950)
This feature enable to rotate among the connection parameters index to find a valid one when the current MQTT connection is not working
2024-05-22 05:48:48 -05:00
Florian 819d3c2d91 [SYS] Change log level when publication is canceled (#1949) 2024-05-20 17:03:10 -05:00
Florian f98474bed0 [SYS] Multiple connections management (#1947)
Enable the management of different connections at runtime with a set of certs for each.
Add parameters to the WiFi Manager onboarding, client certificates, and certificate validation
2024-05-20 09:30:49 -05:00
Sami Salonen d721567adb [DISC] Do not deactive autodiscovery on reconnect-repub (#1933)
Specifically, do not deactive autodiscovery in certain cases
when discovery_republish_on_reconnect is enabled

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2024-04-17 08:34:21 -05:00
Florian 2645928dbd [SYS] Remove unnecessaries ESP8266 ESP32 macros (#1931) 2024-04-12 17:13:11 -05:00
Florian 2065d57e11 [BOARDS] Remove Arduino boards (#1929) 2024-04-10 15:48:05 -05:00
h2zeroandh2zero ffe88feddc [SYS] Add Blufi support (#1913)
* First build with IDF, tested with esp32dev-ble only.

* Fix frameworks for non-esp32 boards

* Add blufi support.

* Adds an environment to use esp-idf and Arduino as a component to facilitate incorporating blufi for onboarding and configuration.

---------

Co-authored-by: h2zero <powellperalata@gmail.com>
2024-03-15 07:53:13 -05:00
Florian c70590fb02 [SYS] Avoid AP generation if no WiFi and config already entered (#1888)
For security reason do not generate an Access Point if the configuration has been entered and if the WiFi is not detected at start
2024-02-07 15:35:05 -06:00
Florian ef07a339ab [SYS] Avoid logging sensitive information on serial (#1879)
WiFi Manager log level to Notify
Remove MQTT information to serial
Remove system information to serial when changing with WebUI
2024-01-27 17:32:29 -06:00
Florian a7f43eda87 [SYS] Avoid transmission of MQTT password to the web page (#1878)
This commit avoid transmitting the saved MQTT user password to the web page for security reasons.
Instead we send the init password and check if it has been modified prior saving
2024-01-24 16:05:56 -06:00
Florian c05a759fa9 [SYS] Change OTAPASSWORD for devices using a part of the MAC as the password (#1834)
To keep the same password as previously, if it was not changed
2023-12-14 10:43:29 -06:00
Florian 8b204f2911 [SYS] Fix default adjustable setting when not using discovery and boolean init (#1825) 2023-12-06 10:56:05 -06:00
Florian 5a07020144 [SYS][BREAKING] Optim json size (#1823) 2023-12-05 08:05:19 -06:00
Florian 7f9f042f7c [BT] Add gateway deactivation/activation command (#1821) 2023-12-04 12:20:10 -06:00
Florian 771b792484 [SYS] Fix ESP8266 reboot loop (#1820) 2023-12-01 18:28:52 -06:00