Thomas Basler
2fb026074a
Feature: Publish YieldTotal, YieldDay and Power of all inverters to Home Assistant
2024-09-24 22:16:17 +02:00
Thomas Basler
01e43777d2
MQTT Hass: Append dtu prefix topic for each single sensor
2024-09-24 22:04:07 +02:00
Thomas Basler
2213ad7bce
MQTT Hass: Move serialization and allocation check into own method
2024-09-24 21:47:56 +02:00
Thomas Basler
9a318d5170
MQTT Hass: Reorder defines
2024-09-24 20:47:43 +02:00
Thomas Basler
c699f1b487
MQTT Hass: Add device_type and category to publishInverterBinarySensor
2024-09-24 20:45:55 +02:00
Thomas Basler
ac5a960581
MQTT Hass: Move yield into the publish method
2024-09-24 20:42:38 +02:00
Thomas Basler
239a77198d
MQTT Hass: Move publishSensor logic into separate method
2024-09-24 20:38:12 +02:00
Thomas Basler
e5ca0ab784
MQTT Hass: Reorder binary sensor methods
2024-09-24 20:06:45 +02:00
Thomas Basler
f46a5017c7
MQTT Hass: Move publishBinarySensor logic into separate method
2024-09-24 20:03:42 +02:00
Thomas Basler
27910042ea
MQTT Hass: Remove no more required checks
2024-09-24 19:47:23 +02:00
Thomas Basler
d899ea7364
MQTT Hass: Harmonise parameter names
2024-09-24 19:44:58 +02:00
Thomas Basler
7aca72b8fd
MQTT Hass: Change parameter order for publishInverterNumber
2024-09-24 19:39:14 +02:00
Thomas Basler
483c10785b
MQTT Hass: Change parameter order for publishInverterButton
2024-09-24 19:30:21 +02:00
Thomas Basler
a7100f238b
MQTT Hass: Change parameter order for publishDtuBinarySensor
2024-09-24 19:23:04 +02:00
Thomas Basler
1c3e7de390
MQTT Hass: Change parameter order for publishDtuSensor
2024-09-24 19:21:06 +02:00
Thomas Basler
96e83f3d37
MQTT Hass: Change parameter order for publishInverterSensor
2024-09-24 19:18:56 +02:00
Thomas Basler
8e68632ed9
MQTT Hass: Rename caption parameter to name
2024-09-24 18:17:42 +02:00
Thomas Basler
bef81eed45
Feature: Publish Radio statistics to home assistant
2024-09-23 23:13:23 +02:00
Thomas Basler
181802a76b
Feature: Allow reset of radio statistics via mqtt
2024-09-23 22:46:23 +02:00
Thomas Basler
93b6e5a885
Optimize MQTT subscription handling
2024-09-23 21:59:43 +02:00
Thomas Basler
d6a5fef4e7
Decrease restart delay to 1 second
...
This prevents a reload of the webapp (during firmware update) before the esp is online again
2024-09-23 18:33:01 +02:00
Thomas Basler
e785904fca
Fix: Restart was triggered before all website data was sent
...
This led to the effect that e.g. the confirmation messages where not shown.
It is somehow related to ESPAsyncWebServer 3.3.0
2024-09-23 18:11:52 +02:00
Thomas Basler
a54b19bf5b
Feature: Inverter radio statistics (rx/tx statistics)
...
The statistics are shown in the WebApp and published via MQTT.
Statistics are reset at midnight.
2024-09-22 18:51:07 +02:00
Thomas Basler
1115418ce1
Publish temperature only if its not NAN
2024-09-22 18:51:07 +02:00
Thomas Basler
84e5c0821c
Fix: Saving DTU config values just returned "Values are missing"
2024-09-22 13:16:34 +02:00
Thomas Basler
0c5e702a28
Fix: Wrong topic in home assistant auto discovery for maxalloc and minfree
2024-09-22 13:01:34 +02:00
Tobias Diedrich
fdcbf9de95
Publish ESP heap and temperature details on MQTT
...
I noticed that some useful ESP stats are missing on the MQTT feed, so this adds:
- ESP temperature
- ESP heap stats (size, free, minFree, maxAlloc)
2024-09-21 22:39:48 +02:00
Thomas Basler
2f41f43d49
Update bblanchon/ArduinoJson from 7.1.0 to 7.2.0
2024-09-21 00:12:15 +02:00
Thomas Basler
3b3e6995c2
Fix: WebApp was not reloaded after firmware update
...
With the upgrade from ESPAsyncWebServer to 3.3.1 it seems that something has changed. Have to trigger the reboot from the main context.
2024-09-21 00:04:27 +02:00
Thomas Basler
b52cd31309
Output WiFi disconnect reason in console
2024-09-02 20:16:03 +02:00
Thomas Basler
cdaf10a92a
Fix: Wifi reconnect issue introduced with #2117 and discussed in #2185 was fixed
2024-08-05 18:31:21 +02:00
Thomas Basler
03137e15dd
Upgrade ESPAsyncWebServer from 2.10.8 to 3.1.2
2024-08-01 18:11:39 +02:00
Thomas Basler
70dacb5ea6
Merge branch 'pr2168' into dev
2024-08-01 17:53:53 +02:00
jstammi
1eab3ae773
Fix: explicitly disconnect prior connecting to wifi
...
to prevent from invalid association packets exchange
#618
(cherry picked from commit b6c320d481eb77b4f4e0407237917d2d897bfd9d)
2024-06-30 20:20:05 +02:00
Thomas Basler
4640ddfba0
Better handling of empty MQTT client id
...
If the configured client id is empty, the default value (auto generated) will be used
2024-06-29 11:05:04 +02:00
Thomas Basler
ba95f99e03
Feature: Allow custom MQTT Client ID
2024-06-29 00:28:21 +02:00
Thomas Basler
b27a476507
Fix: Apply inverter settings only once and not for each channel
2024-05-31 00:56:15 +02:00
Thomas Basler
35aa835891
Merge branch 'pr2022' into dev
2024-05-31 00:52:28 +02:00
Stefan Oberhumer
8e8c463849
NFC: Includes list: Remove unneeded PinMapping.h
2024-05-31 00:30:15 +02:00
Thomas Basler
6e607f7f67
Feature: Add option to clear eventlog at midnight
2024-05-31 00:07:28 +02:00
Thomas Basler
6ce474053e
Feature: Show MCU temperature in system info
2024-05-28 23:24:08 +02:00
Thomas Basler
24983acf17
Merge branch 'pr2015' into dev
2024-05-28 20:13:22 +02:00
Bernhard Kirchen
4972892d9a
Feature: show ESP32 flash memory size in system info
2024-05-27 21:52:49 +02:00
Thomas Basler
918c3449da
Fix #2000 : MQTT subscriptions where not updated if MQTT base was changed
2024-05-20 17:56:59 +02:00
Thomas Basler
7d2fb3490e
Fix #1960 : Prometheus API return wrong information in function addPanelInfo
2024-05-04 22:24:40 +02:00
Thomas Basler
d5a24906fa
Merge branch 'pr1920' into dev
2024-05-02 20:59:26 +02:00
Thomas Basler
f8cc171e4a
Fix: Return 404 (and nothing else) if file not found
2024-04-24 22:15:25 +02:00
Stefan Oberhumer
97800434c4
Prevent compiling the whole project on each commit.
...
Putting the git information into a generated sourcefile prevents
recompiling the whole project after each commit.
2024-04-18 09:02:57 +02:00
Thomas Basler
bf49410f6d
Merge branch 'pr1909' into dev
2024-04-12 17:05:51 +02:00
Bernhard Kirchen
153293e1c7
remove remaining usage of F() macro
2024-04-12 15:28:26 +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
b55ca53d1d
Fix: Setting DTU options was only possible once without reboot
...
Fix #1884
2024-04-03 18:35:27 +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
6f3b8fb8e1
Fix: Change default NTP server
...
Fixes #1877
2024-03-31 12:27:27 +02:00
Thomas Basler
33bf2117c6
Fix: Set all settings to default when deleting an inverters
...
Previously some old settings from previous inverters could have been shown in a new inverter
2024-03-13 18:47:28 +01:00
Thomas Basler
f995287a6e
Feature: Add support for HERF inverters
2024-03-06 21:57:18 +01:00
Thomas Basler
50abcd1061
Fix: Prevent hiding text on display if it's too long
...
Fixes : #1797
2024-03-01 19:30:24 +01:00
Thomas Basler
d26333dd76
Apply automatic code formatting
2024-02-10 23:37:44 +01:00
Thomas Basler
1d2055cc89
Merge branch 'pr1732' into dev
2024-02-10 23:37:09 +01:00
Thomas Basler
1973cb986c
Merge branch 'pr1731' into dev
2024-02-10 23:37:03 +01:00
Thomas Basler
d635a9babd
Merge branch 'pr1729' into dev
2024-02-10 23:36:47 +01:00
Bernhard Kirchen
6036d8efea
implement oscillating screensaver
...
this implementation avoids the display content jumping the full
screensaver offset from right to left when the modulo operator
wraps. this change makes the display content walk from right to
left as it did walk from left to right.
2024-02-10 18:41:47 +01:00
Bernhard Kirchen
5f51c80022
Fix: make text of total production fit displays
...
in case the total production is larger than 1 MWh, i.e., 1000 kWh, the
text on the respective line becomes too large such that it reaches out
of the display when the screensaver is enabled.
this happens on the small and large displays.
this change switches the number format to a float without decimal places
if the total production is larger or equal to 1000 kWh. this saves a dot
and a digit, making the text short enough to fit the display even when
the screensaver moved the display contents as far to the right as it
does.
2024-02-10 17:38:32 +01:00
Bernhard Kirchen
25a66a1722
make efficient use of available display area
...
fix calculation of the text baselines, using getAscent() in favor of
getMaxCharHeight(), which includes ascent and descent. this moves the
first text up and allows to insert margin between the lines until the
display area is fully utilized.
on large displays, if the small diagram is selected, keep the first line
rather low to avoid collision with the diagram y-axis label. in this mode,
there is still more space between the text lines as before, allowing for
improved readability.
2024-02-10 13:33:51 +01:00
Thomas Basler
7e2064e264
Feature: Added support for boards with 16MB flash and PSRAM
2024-02-02 20:33:42 +01:00
Thomas Basler
1b637f0870
BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
...
Yield total and Yield day where moved from the AC section to the INV section
2024-01-30 22:29:25 +01:00
Thomas Basler
e1564780d6
BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
...
Power DC was moved from the AC section to the INV section
2024-01-30 22:29:25 +01:00
Thomas Basler
c27ecc3620
BREAKING CHANGE: Web API Endpoint /api/livedata/status
...
To reduce the heap usage it is necessary to send the inverters one by one instead of a huge response. A simple call to `/api/livedata/status` returns just some very general information. If detailed inverter information are required the inverter serial number has to appended `?inv=<serial number>`.
The websocket also returns only one inverter at a time. It as to be assembled at client side.
2024-01-30 22:29:25 +01:00
Thomas Basler
557c5d645e
Remove all files but the pin_mapping.json from filesystem on factory reset
...
This allows to create more user defined files and get them deleted on factory reset.
2024-01-30 22:29:12 +01:00
Thomas Basler
48a722f826
Merge branch 'pr1642' into dev
2024-01-30 20:47:45 +01:00
Thomas Basler
a848275bb9
Merge branch 'pr1706' into dev
2024-01-30 19:34:19 +01:00
Sabouflage
5d7512e026
fix(mqtt): setting MQTT LWT online message for frontend
2024-01-30 19:03:23 +01:00
Sabouflage
dfed23261a
fix(mqtt): MQTTs LWT QoS config used also for TLS connections
2024-01-30 19:02:57 +01:00
Stefan Oberhumer
e752c433af
Use http header ETag caching for all static content.
...
Using the md5sum as ETag http header value should enable caching on all static http content.
2024-01-30 00:35:23 +01:00
Thomas Basler
2716f4c5df
Removed not required pointer to AsyncServer instance
2024-01-27 01:09:55 +01:00
Thomas Basler
f0061b976d
Merge branch 'pr1676' into dev
2024-01-26 16:48:15 +01:00
Thomas Basler
4e669d8932
Feature: Add support for ST7567 GM12864I-59N Display
2024-01-26 16:05:56 +01:00
Stefan Oberhumer
7aece2e143
Call SunPosition.isDayPeriod() once
2024-01-23 09:42:13 +01:00
Thomas Basler
4f2fbaaf2a
Remove unused function parameter
2024-01-20 23:12:59 +01:00
Thomas Basler
16fbad92ac
simplify calculations in WebApi_ws_Live
2024-01-20 11:38:52 +01:00
Thomas Basler
7bc1a17fac
Move task initialization from init method to constructor
...
This saves flash
2024-01-20 11:24:57 +01:00
Thomas Basler
251d197fb6
Migrate WebApi loop() methods to scheduler tasks
2024-01-20 02:00:22 +01:00
Thomas Basler
e66060e769
Move the conversation from time_t to String into DevInfoParser
2024-01-20 01:09:42 +01:00
Thomas Basler
dcc157261e
Don't perform redundant conversions
2024-01-20 00:32:13 +01:00
Thomas Basler
c20caf8097
Feature: Support HMS/HMT inverters in different countries with different frequency bands
...
Thanks to @Fribur, @homeautomation2022 and @stefan123t
2024-01-14 16:37:34 +01:00
Thomas Basler
2c92750100
webapp: Remove hard coded min/max frequencies for CMT module
2024-01-13 12:51:20 +01:00
Thomas Basler
ee78698e37
Migrate all frequency calculations to Hz
...
Previously the code contains calculations using a mixture of kHz and Hz.
Thanks to @Fribur
2024-01-13 12:51:20 +01:00
Thomas Basler
638f52a8da
Feature: Add current limit to prometheus output
...
Fixes #1617
2024-01-13 11:33:58 +01:00
Thomas Basler
f013698471
Feature: Added fullscreen diagram to display
2024-01-13 11:31:12 +01:00
Thomas Basler
637d4f06a3
Feature: Added option to disable the diagram at the display
2024-01-08 14:19:26 +01:00
Bernhard Kirchen
2608080708
Feature: add heap details to system info and prometheus ( #595 )
...
this change adds the values of ESP.gteMaxAllocHeap() and
ESP.getMinFreeHead() to the prometheus metrics and the system
information object. the web UI uses these values to diplay the size of
the largest free contiguous block, calculate a rough estimate for the
level of fragmentation, and the maximum usage of heap memory since boot
in absolute and relative amounts.
2024-01-06 20:12:35 +01:00
Thomas Basler
3c37b61f44
Use auto keyword and references more often
2024-01-04 15:38:56 +01:00
Thomas Basler
b0b9764a23
Use Utils::checkJsonAlloc in ConfigurationClass
2024-01-04 14:47:21 +01:00
Thomas Basler
ef9f0040e8
Better handling of out of memory situations in live data websocket
2024-01-04 14:47:21 +01:00
Thomas Basler
ca18d2c841
Prevent empty HASS auto discovery topics if memory allocation fails
2024-01-04 14:09:58 +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
c1fc907ecb
Fix: Access Point not working after firmware update
...
Fixes #1613
2024-01-03 22:04:50 +01:00
Thomas Basler
cbbe053cd5
Fix: Optimize network connection handling
...
This should provide a more reliable connection to several AP types. See #576
2024-01-03 01:17:39 +01:00