Commit Graph

396 Commits

Author SHA1 Message Date
Thomas Basler
77779a1ed9 Migrate InverterSettings to TaskScheduler 2023-11-23 22:35:05 +01:00
Thomas Basler
1501411037 Migrate NetworkSettings to TaskScheduler 2023-11-23 22:35:05 +01:00
Thomas Basler
7881d955bd Migrate LedSingle to TaskScheduler 2023-11-23 22:35:05 +01:00
Thomas Basler
524483451f Migrate MqttHandleInverter to TaskScheduler 2023-11-23 22:35:05 +01:00
Thomas Basler
5c501f879f Migrate MqttHandleDtu to TaskScheduler 2023-11-23 22:35:05 +01:00
Thomas Basler
48a27fbfad Migrate MqttHandleHass to TaskScheduler 2023-11-23 22:35:05 +01:00
Thomas Basler
98c30d1042 Migrate MqttHandleInverterTotal to TaskSchedule 2023-11-23 22:35:05 +01:00
Thomas Basler
c045b5df48 Migrate Datastore to TaskScheduler 2023-11-23 22:35:05 +01:00
Thomas Basler
12031ed09e Migrate SunPosition to TaskScheduler 2023-11-23 22:35:05 +01:00
Thomas Basler
a7c9c2df1a Initialize TaskScheduler 2023-11-23 22:35:05 +01:00
Thomas Basler
dff6da9a5f Feature: High resolution Icon and PWA (Progressive Web App) functionality
Fix: #1289
2023-11-23 22:32:01 +01:00
Thomas Basler
1de3b48166 Feature: Implement offset cache for "YieldDay"
Thanks to @broth-itk for the idea!
Fix: #1258 #1397
2023-11-22 20:21:25 +01:00
Thomas Basler
7538b4363c Made resetreason methods static 2023-11-19 17:00:26 +01:00
Thomas Basler
ee4811bbe7 Feature: Allow configuration of LWT QoS 2023-11-19 16:17:10 +01:00
Thomas Basler
b85c53f476 Split config struct into different sub structs 2023-11-19 14:53:26 +01:00
Thomas Basler
d3f95000e2 Optimize Sun data calculation 2023-11-18 22:34:55 +01:00
Thomas Basler
6f685a4ab5 Fix: Day period is only calculated once 2023-11-16 18:03:25 +01:00
Thomas Basler
71d1b3b846 BREAKING CHANGE: Home Assistant Auto Discovery to new naming scheme
Please Upgrade to HASS 2023.8 or greater.
Thanks to @LennartF22 for the first implementation
2023-11-07 19:37:28 +01:00
Thomas Basler
89b4b8ea85 Merge branch 'pr1441' into dev 2023-10-31 19:30:56 +01:00
CommanderRedYT
7c875187a8
Implemented mDNS 2023-10-30 20:53:45 +01:00
Thomas Basler
a068eb2586 Remove duplicated code 2023-10-30 20:42:56 +01:00
Thomas Basler
aba57e687a Set dnsServerStatus first to prevent running 2023-10-30 20:25:39 +01:00
Thomas Basler
11d7b78d80 Apply automatic code formatting 2023-10-11 14:19:20 +02:00
Thomas Basler
97d481fa65 Merge branch 'pr1408' into dev 2023-10-11 14:16:23 +02:00
Thomas Basler
c25e93eb09 Merge branch 'pr1406' into dev 2023-10-11 13:40:05 +02:00
Thomas Basler
f1a8c2ea82 Feature: Added additional event log descriptions and implemented i18n 2023-10-11 13:22:42 +02:00
Stefan Oberhumer
be88da7b26 NFC: Call PinMapping.get() not every iteration. 2023-10-06 11:44:37 +02:00
Stefan Oberhumer
7f99095fca Remove SUNPOS_UPDATE_INTERVAL define and introduce INVERTER_UPDATE_SETTINGS_INTERVAL. 2023-10-06 11:13:09 +02:00
Stefan Oberhumer
943dfc2dbf Compute sunrise and sunset only if necessary.
Sunrise and -set must recomputed if one of the following conditions is met:
* The date changed (based on the selected timezone)
* Location (Lat/Lon) changed
* Sunset type changed

So instead of calculating that every minute just do it on update via web interface or date change.

If a new config is uploaded, the DTU gets restarted. There is no need to initiate a recalculation in this case.
2023-10-06 10:20:36 +02:00
Thomas Basler
f8cba5721e Fix: Deny passwordless access to prometheus API if readonly access is disabled
Fix #1358
2023-09-19 18:59:20 +02:00
Thomas Basler
1cf41426de Replace char array by String buffer 2023-09-16 02:21:25 +02:00
Thomas Basler
a974e217df Fix #1335: Only the first inverter was set to zero at midnight via mqtt 2023-09-13 18:46:23 +02:00
Thomas Basler
555b6c6750 Fix: HASS exp_aft should be based on reachable threshold and poll interval 2023-09-11 19:53:05 +02: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
ec9af886d5 Feature: Added option to set daily yield to zero at midnight 2023-09-05 20:27:52 +02:00
Thomas Basler
1df8285833 Feature: Add configured max irradiation to live data api 2023-09-04 19:53:33 +02:00
Thomas Basler
7d90937d0f Publish mqtt string stats values periodically if they are set to zero if unreachable 2023-09-04 18:20:51 +02:00
Thomas Basler
abf95634db Replace platform dependent variable types by platform independent 2023-09-03 23:27:53 +02:00
Thomas Basler
6127fbe940 Feature: Added option to set runtime values to zero when inverter becames unreachable 2023-09-02 12:22:22 +02:00
Thomas Basler
4f85d5286d Simplify debug output 2023-09-02 02:14:08 +02:00
Thomas Basler
b34b22c658 Fix: Workaround: Don't allow memory intensive web functions in parallel
Somehow the API has to be adjusted to reduce memory consumption. For now lets just prevent both methods to allocate memory at the same time.
2023-09-02 01:41:53 +02:00
Thomas Basler
2c41be106e Feature: Allow setting of the Reachable Threshold per inverter 2023-09-01 19:17:12 +02:00
Thomas Basler
c5f9f460cd Feature: Added config option to change MQTT CleanSession Flag 2023-09-01 18:03:30 +02:00
Thomas Basler
701c490654 Feature: Turn off Display before reboot
Thanks for the idea to @StefanOberhumer
This prevents always on Display if the device profile does not contain Display pins anymore after the reboot
2023-08-25 16:57:24 +02:00
Thomas Basler
c91bd42a77 Feature: Turn off LEDs before reboot
Thanks for the idea to @StefanOberhumer
This prevents always on LEDs if the device profile does not contain LEDs pins anymore after the reboot
2023-08-25 13:15:55 +02:00
Thomas Basler
77a90095d9 Move different restart calls into one method 2023-08-25 12:58:53 +02:00
Thomas Basler
e2594ac843 Fix: Calculate the json buffer for the inverter list based on INV_MAX_COUNT 2023-08-22 17:05:46 +02:00
Thomas Basler
6429d64062 Prometheus Endpoint: Simplify code by looping over fields instead of duplicated code 2023-08-22 13:00:52 +02:00
Thomas Basler
4bf9083b23 Prometheus Endpoint: Publish only relevant amount of digits
Implemented method to return the correctly formatted field value as string
2023-08-22 11:45:14 +02:00
Thomas Basler
9179b672f5 Use lock_guard to simplify code 2023-08-05 01:25:53 +02:00