Commit Graph

45 Commits

Author SHA1 Message Date
Bernhard Kirchen
ebb225f6c0 Fix: avoid deprecated setAuthentication() to fix memory exhaustion
with ESPAsyncWebServer 3.3.0, the setAuthentication() method became
deprecated and a replacement method was provided which acts as a shim
and uses the new middleware-based approach to setup authentication. in
order to eventually apply a changed "read-only access allowed" setting,
the setAuthentication() method was called periodically. the shim
implementation each time allocates a new AuthenticationMiddleware and
adds it to the chain of middlewares, eventually exhausting the memory.

we now use the new middleware-based approach ourselves and only add the
respective AuthenticatonMiddleware instance once to the respective
websocket server instance.

a regression where enabling unauthenticated read-only access is not
applied until reboot is also fixed. all the AuthenticationMiddleware
instances were never removed from the chain of middlewares when calling
setAuthentication("", "").
2024-09-30 15:16:30 +02:00
Thomas Basler
ea28903761 Move parsing of serial from web request to separate method 2024-04-05 19:14:56 +02:00
Thomas Basler
980e847ccb Feature: Check for out of memory situations when sending json responses
Also shows a nice message in the frontend if an internal error occours
2024-04-05 19:14:56 +02:00
Thomas Basler
2e3125fe8d Feature: Migrated ArduinoJson 6 to 7 2024-04-05 19:14:56 +02:00
Thomas Basler
8add226a7c Save flash: Move WebApi json parsing to separate method to prevent a lot of redundant code 2024-04-01 13:52:09 +02:00
Thomas Basler
251d197fb6 Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
Thomas Basler
3c37b61f44 Use auto keyword and references more often 2024-01-04 15:38:56 +01:00
Thomas Basler
4053e31a5e Prevent config corruption by checking whether memory allocation was successfull. 2024-01-04 13:42:39 +01:00
Thomas Basler
e95afbf2cc Use references instead of pointers whenver possible 2023-12-12 13:26:07 +01:00
Thomas Basler
b937532505 Remove not required AsyncEventSource 2023-12-07 15:21:24 +01:00
Thomas Basler
80d534e045 Migrate WebApi to TaskScheduler 2023-11-23 22:35:05 +01:00
Thomas Basler
9ac6dd6e8d Feature: First very basic support to read the grid profile
The parser is still missing and requires community support to collect data.
2023-09-07 22:08:07 +02:00
Thomas Basler
658a42db80 Apply code formatter without functional changes 2023-07-22 18:00:41 +02:00
Thomas Basler
759f8b7208 Log errors if too less memory for webapi is available 2023-02-23 21:10:00 +01:00
Thomas Basler
5f699f4927 Added Device Profiles
Allows the pin assignment during runtime.
Pin settings will be read from a json file called "pin_mapping.json"
2023-01-16 21:09:24 +01:00
Thomas Basler
8f5d394f3a Added websocket for debug output 2022-12-19 21:38:39 +01:00
Thomas Basler
510f0c59f9 Implement readonly security for API endpoints 2022-11-22 23:40:19 +01:00
Thomas Basler
e60619b867 Added device reboot functionality 2022-11-21 23:29:57 +01:00
Dominik Westner
e5bbb7f517 implemented prometheus metrics 2022-11-10 18:00:13 +01:00
Thomas Basler
8d14dbd367 Password protection for security settings API
Also implemented the base functionallity to protect further API endpoints.
2022-11-03 21:00:13 +01:00
Thomas Basler
cf727d4ff9 Added API to change the access point password 2022-10-13 19:44:16 +02:00
Thomas Basler
14bad84031 Added WebAPI to control inverter power 2022-10-04 18:12:55 +02:00
Thomas Basler
e61d47b8a2 Added webapi endpoints to download/upload end delete configuration 2022-09-17 01:46:14 +02:00
Thomas Basler
46367c4fa9 Added webapi to fetch current inverter limit 2022-09-09 18:43:21 +02:00
Thomas Basler
217fddf405 Added small dialog to show inverter info (firmware version etc.) 2022-08-11 16:42:50 +02:00
Thomas Basler
184183e979 Move websocket stuff to liveview class 2022-07-20 19:36:07 +02:00
Thomas Basler
37aac48a19 Change License to GPLv2 as the RF24 lib uses GPL-2.0-only 2022-07-15 18:05:58 +02:00
Thomas Basler
f7eb54fa41 First version of webapi for event log 2022-07-08 18:22:35 +02:00
Thomas Basler
8b939f9418 Rename variables to match code style 2022-07-06 19:25:30 +02:00
Axel Hinrichs
401e6739cd [WebApi] rate limit ws cleanup (1/s) 2022-07-05 23:42:07 +02:00
Thomas Basler
cf273c93e7 Fixed 404 error when pressing refresh in webapp 2022-07-01 23:32:11 +02:00
Thomas Basler
af00158e14 First version of very simple websocket api 2022-06-16 01:44:42 +02:00
Thomas Basler
92abfdfaa6 Separated WebApi into different files 2022-06-15 23:46:22 +02:00
Thomas Basler
cae47a142a Implemented periodic called loop method in webapi 2022-06-15 22:53:05 +02:00
Thomas Basler
e47e5c0197 Extend webapi to change dtu settings 2022-05-27 01:00:18 +02:00
Thomas Basler
35d8a76763 Implemented firmware upgrade api 2022-05-23 23:26:19 +02:00
Thomas Basler
ba0aa20211 Added config and webapi to manage inverters 2022-05-04 21:54:38 +02:00
Thomas Basler
a338b2d669 Basic implementation of mqtt webapi 2022-04-18 15:28:25 +02:00
Thomas Basler
fa791fb7e3 Reorder functions 2022-04-18 15:20:35 +02:00
Thomas Basler
2ce5b5ad9e Added functionality to save ntp settings 2022-04-18 00:19:11 +02:00
Thomas Basler
1f692f241f Implemented first readonly version of ntp settings 2022-04-17 23:13:36 +02:00
Thomas Basler
06837320f7 WIP: Extended WebAPI to handle network config 2022-04-15 13:14:43 +02:00
Thomas Basler
868f0cf3a5 Added second API endpoint which returns system info 2022-04-13 00:01:23 +02:00
Thomas Basler
b58788ded5 Added API endpoint which shows network info 2022-04-12 23:53:58 +02:00
Thomas Basler
82c3a914ab First version of WebApi 2022-04-11 19:44:51 +02:00