Commit Graph

505 Commits

Author SHA1 Message Date
Hacks
7f354fb7de corrected buffer usage 2022-08-27 11:43:47 +02:00
Thomas Basler
26268479fb Fix #96 and #95 : Reworked handling of inverter editing 2022-08-24 02:53:34 +02:00
Thomas Basler
1456974616 Fix #76: Null Pointer exception when adding a inverter with unkonwn serial number 2022-08-16 19:47:51 +02:00
Thomas Basler
304afb758a Added additional debug output during the initialization of the hoymiles interface 2022-08-14 13:49:05 +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
991838ae2c Added reactive power output and display 2022-08-10 20:40:26 +02:00
Thomas Basler
e040328d61 Added mqtt publish for hardware version and part number 2022-08-10 20:13:07 +02:00
Thomas Basler
f566a8c522 Implemented parser methods and publish to mqtt 2022-08-10 19:03:02 +02:00
Thomas Basler
35a72acf34 Fix #71: Extend mqtt hostname from 31 characters to 128 characters 2022-08-10 18:59:30 +02:00
Thomas Basler
80f7ba86d7 Fix #70: MQTT Messages where published even if no broker connection was established 2022-08-10 18:42:12 +02:00
helgeerbe
4435fbcdad Add support for MQTT TLS
To support TLS its necessary to use another MQTT library.
The new lib is a drop-in replacement for the async-mqtt-client.
2022-08-06 00:14:44 +02:00
Thomas Basler
3789183ca3 Fix #45: Dont allow spaces in MQTT topics 2022-08-03 21:23:22 +02:00
Thomas Basler
857e4a3671 Remove RequestType and place handling of response in the command class 2022-08-03 18:50:34 +02:00
Thomas Basler
3f8ee18de9 Added api endpoint to get livedata in json format with get request 2022-07-20 20:54:57 +02:00
Thomas Basler
184183e979 Move websocket stuff to liveview class 2022-07-20 19:36:07 +02:00
Thomas Basler
608912e9f3 Show network status (WiFi/Ethernet) in network info view 2022-07-20 19:21:31 +02:00
Thomas Basler
a17e668c8c Don't output unknown network events 2022-07-19 22:12:21 +02:00
Thomas Basler
c022b8696b Implemented serveal global network functions which are independent of the medium (wifi / ethernet) 2022-07-19 21:53:04 +02:00
Thomas Basler
69959db93c Output IP to serial console 2022-07-19 21:27:36 +02:00
Thomas Basler
c7aa22ce6c Renamed WifiSettings to NetworkSettings and implemented first ethernet initialization 2022-07-19 21:27:36 +02:00
Thomas Basler
526137da98 Publish HASS config when deleting, editing or adding a inverter 2022-07-18 23:34:32 +02:00
Thomas Basler
1124a9aaa1 Implemented first version of Home Assistant Auto Discovery 2022-07-18 22:28:03 +02:00
Thomas Basler
db0e0c67ce Simplify MqttPublishing
* Moved all fields to an array
* Moved target topic generation to separate method
2022-07-18 19:13:58 +02:00
Thomas Basler
bb52d24c25 Implemented public getPrefix method to get the mqtt topic prefix 2022-07-18 19:08:38 +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
5bb9acdbc6 Refactored Hoymiles Lib: Move statistics parser into separate class 2022-07-12 18:27:56 +02:00
Thomas Basler
96e66dde47 Changed order of properties in live view 2022-07-11 20:35:14 +02:00
Thomas Basler
c2a7f487f1 Updated structure of eventlog json 2022-07-09 11:34:44 +02:00
Thomas Basler
4f4dcfda0b Moved some strings to flash 2022-07-08 18:57:03 +02:00
Thomas Basler
997c54edb4 Added field to live view which shows amount of eventlog events 2022-07-08 18:54:52 +02:00
Thomas Basler
f7eb54fa41 First version of webapi for event log 2022-07-08 18:22:35 +02:00
Thomas Basler
c28087ec86 Fix #21: Display DC power in Live Data overview 2022-07-07 19:05:50 +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
Axel Hinrichs
48f540dad1 [WebApi_webapp] app.js caching via ETag 2022-07-04 16:50:34 +02:00
Thomas Basler
712be3fc15 Code cleanup 2022-07-01 23:38:51 +02:00
Thomas Basler
cf273c93e7 Fixed 404 error when pressing refresh in webapp 2022-07-01 23:32:11 +02:00
Thomas Basler
b454f0c01f Renamed topic again 2022-07-01 18:38:34 +02:00
Thomas Basler
d5f32d8325 Fixes (#8). Power values on CH0 are published twice
The larger value was DC the smaller one AC. Now the values are published to different topics
2022-07-01 18:36:43 +02:00
Thomas Basler
d17d7f7082 Enhance inverter edit
* Edit procedure was replaced by a modal window
* Allows setting of max power of the 4 strings
2022-06-24 23:08:04 +02:00
Thomas Basler
bce3fc78e8 Renamed field names which are used for mqtt and web ui 2022-06-24 18:03:44 +02:00
Thomas Basler
2de865037c Renamed functions
getValue --> getChannelFieldValue
hasValue --> hasChannelFieldValue
getUnit --> getChannelFieldUnit
getName --> getChannelFieldName
2022-06-24 17:53:37 +02:00
Thomas Basler
183b919ae6 Rename data folder to webapp_dist 2022-06-22 23:16:45 +02:00
Thomas Basler
eec4334fa5 Send inverter max channel power via web api 2022-06-22 21:44:55 +02:00
Thomas Basler
f42696d14c Fix change of inverter serial
Because of the inverter type depends on the serial number it's a must to remove and add the inverter of the serial was changed. setSerial doesn't make sense anymore. Move the serial to the constructor
2022-06-22 21:32:37 +02:00
Thomas Basler
746aa087ac Set MaxChannel Power on startup and in webapi 2022-06-22 21:12:45 +02:00
Thomas Basler
10974ade3e Adjust config
* Allow wifi  passwords length of 64 chars
* Added max channel power
2022-06-22 21:00:44 +02:00
Thomas Basler
3b9d117b4d Show current git hash in web gui 2022-06-20 20:56:50 +02:00
Thomas Basler
670c2d6762 Show detected inverter type in webapp 2022-06-18 01:51:18 +02:00
Thomas Basler
17cc2a475d Rename websocket from ws to livedata
Allows devServer to proxy websockets as well...
2022-06-18 01:14:31 +02:00
Thomas Basler
46d88c6520 Improoved websocket handling 2022-06-17 13:29:21 +02:00
Thomas Basler
1281893314 webapi: publish data age and critical status 2022-06-16 15:32:55 +02:00
Thomas Basler
7e0807bda6 Added cnfig parameter to set mqtt publish interval 2022-06-16 14:57:12 +02:00
Thomas Basler
af00158e14 First version of very simple websocket api 2022-06-16 01:44:42 +02:00
Thomas Basler
1ea2990fe9 Remove not supported field 2022-06-16 01:18:39 +02:00
Thomas Basler
77ffe1385c Fixed serial number source 2022-06-16 00:55:09 +02:00
Thomas Basler
fc80c8d8ff Remove not required include 2022-06-15 23:46:37 +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
bab5beb170 Move strings from RAM to Flash 2022-06-15 22:21:50 +02:00
Thomas Basler
226a57b328 Fix config default values on empty config file 2022-06-15 22:17:16 +02:00
Thomas Basler
c9e603b2de Replace EVERY_N_SECONDS with millis
EVERY_N_SECONDS is not updated without a reboot of the controller
2022-06-15 22:15:02 +02:00
Thomas Basler
b893257696 Format config partition if mount failed 2022-06-15 22:07:30 +02:00
Thomas Basler
e3ded34020 Publish inverter stats only if values are updated 2022-06-15 21:50:49 +02:00
Thomas Basler
0cc80126fa Added first implementation of mqtt publishing 2022-06-15 21:37:25 +02:00
Thomas Basler
98fa8be90e Publish messages with qos = 0 to speed up process 2022-06-15 21:11:08 +02:00
Thomas Basler
b597e907de Fixed issue in webapi that a inverter serial has to be read as hex 2022-05-31 19:26:26 +02:00
Thomas Basler
891b2b2917 Fix encoding header for favicon 2022-05-30 23:20:15 +02:00
Thomas Basler
90fe3df3fb Integrate Hoymiles library into main application 2022-05-30 21:57:21 +02:00
Thomas Basler
774ab91531 Fixed typo 2022-05-27 01:19:09 +02:00
Thomas Basler
e47e5c0197 Extend webapi to change dtu settings 2022-05-27 01:00:18 +02:00
Thomas Basler
e3ef1fa9a0 Added several DTU config settings 2022-05-26 23:17:45 +02:00
Thomas Basler
35d8a76763 Implemented firmware upgrade api 2022-05-23 23:26:19 +02:00
Thomas Basler
da82f1fbbd Fix total sketch size
See https://github.com/espressif/arduino-esp32/issues/3501
2022-05-22 23:18:30 +02:00
Thomas Basler
68c451aa82 Serve webapp from flash instead of LITTLEFS
This allows a web based firmware update by just replacing one bin file
2022-05-22 22:42:06 +02:00
Thomas Basler
ba0aa20211 Added config and webapi to manage inverters 2022-05-04 21:54:38 +02:00
Thomas Basler
2748e2e97d Show uptime in webgui 2022-04-28 21:56:11 +02:00
Thomas Basler
0338b8babc Added lwt stuff to webapi 2022-04-22 20:59:22 +02:00
Thomas Basler
0d48d72691 Replaced hard coded lwt values by dynymic ones 2022-04-21 23:43:44 +02:00
Thomas Basler
8e6a39b3a0 Added connection and retain status to webapi 2022-04-21 23:17:02 +02:00
Thomas Basler
8895fa95e0 First version of mqtt connection handling 2022-04-21 23:15:45 +02:00
Thomas Basler
f84158d419 Implemented saving of mqtt settings 2022-04-21 22:20:45 +02:00
Thomas Basler
a338b2d669 Basic implementation of mqtt webapi 2022-04-18 15:28:25 +02:00
Thomas Basler
50fa7e2abf First basic class structure for mqtt handling 2022-04-18 15:19:26 +02:00
Thomas Basler
5653d0f835 Upgraded to latest Beta build system
This one is using esp32-arduino 2.0.3
2022-04-18 03:38:07 +02:00
Thomas Basler
79b8477317 Added timezone description to webapi 2022-04-18 01:42:45 +02:00
Thomas Basler
000cd8b6dc Implemented additional timezone description 2022-04-18 01:33:46 +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
821b9b16d1 Fixed [E][WiFiUdp.cpp:160] endPacket(): could not send data: 22 error 2022-04-17 22:07:08 +02:00
Thomas Basler
297f229c12 Implemented WebAPI to set wifi credentials 2022-04-17 21:40:47 +02:00
Thomas Basler
d88199cebe Added correct response 2022-04-17 04:03:05 +02:00
Thomas Basler
080471d801 Changed default ip to 192.168.4.1 2022-04-16 19:04:38 +02:00
Thomas Basler
06837320f7 WIP: Extended WebAPI to handle network config 2022-04-15 13:14:43 +02:00
Thomas Basler
4048e737e8 Added additional system information 2022-04-14 12:44:56 +02:00
Thomas Basler
dde6a5c5aa Fixed case of include for littlefs 2022-04-13 23:05:32 +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
6deeec7b97 Use index.html instead of index.htm 2022-04-12 00:19:45 +02:00
Thomas Basler
82c3a914ab First version of WebApi 2022-04-11 19:44:51 +02:00
Thomas Basler
94719be928 Implemented handling of WiFi settings 2022-04-10 17:37:54 +02:00
Thomas Basler
8b7f2a14b6 Added configuration handling 2022-04-10 16:57:24 +02:00
Thomas Basler
893bd0c0d4 Initialize UART and FS 2022-04-09 13:08:51 +02:00
Thomas Basler
641f8813fa Apply default code formatting 2022-04-09 11:05:58 +02:00
Thomas Basler
54dc566473 Initial commit 2022-04-09 11:05:14 +02:00