Thomas Basler
658a42db80
Apply code formatter without functional changes
2023-07-22 18:00:41 +02:00
Thomas Basler
bf4dc56cb8
Fix: Reboot loop if negative display pins and type where provided
...
Fix #1163
2023-07-21 19:02:18 +02:00
Thomas Basler
9dbeec3a31
Fix: Set WiFi setScanMethod and setSortMethod also on first connect
2023-07-20 23:44:09 +02:00
Thomas Basler
b8c75b02a0
Merge branch 'pr1003' into dev
2023-07-10 19:11:54 +02:00
Stephan
1871a9a692
use FSPI for esp32-c3 and revise device profiles
2023-07-10 19:04:13 +02:00
Thomas Basler
fe3d6588bc
Feature: Turn off LED 1 if no inverters are enabled for polling
...
This means that e.g. at night, when polling at night is disabled, LED 1 will be turned off now.
2023-07-10 18:31:04 +02:00
Thomas Basler
93057fc3dc
Feature: Added touch icon for iOS and Android
...
Implements #1060
2023-06-21 22:44:18 +02:00
Thomas Basler
e8fee49dc8
Allow the non-existence of the HOYMILES_PIN_ defines
2023-06-21 19:59:35 +02:00
Thomas Basler
30fbd98274
Fix: Reboot loop occoured when no rf module was configured
2023-06-21 19:56:14 +02:00
Dominic Michel
3562e85b5e
Change metric type back to gauge
2023-06-13 20:59:24 +02:00
Thomas Basler
08f47c2f4c
Fix: Prometheus syntax error with wifi_bssid
...
Fixes #1021
2023-06-11 20:04:23 +02:00
Thomas Basler
88cb59d177
Feature: Publish BSSID via prometheus
2023-06-08 19:57:07 +02:00
Thomas Basler
b3e41c957b
Feature: Publish BSSID via MQTT
2023-06-08 19:56:44 +02:00
Thomas Basler
91d3cd1da2
Feature: Show BSSID in the web interface
2023-06-08 19:56:22 +02:00
Thomas Basler
721f82a17c
Added additional exception handler to also show unknown exceptions in live data api endpoint
2023-06-08 19:39:56 +02:00
Thomas Basler
3b6c529efb
Fix: Do not publish leading blanks in MQTT payload
...
Fixes #1011
2023-06-07 17:58:31 +02:00
Thomas Basler
7f267ff2fb
Fix: Lint Error: Almost always, snprintf is better than strcpy
2023-06-01 23:30:13 +02:00
Thomas Basler
5a37948ca9
Fix: If no sunset/sunrise calculation is possible a wrong value is shown
...
This is catched now and a proper message is shown in the web UI. Also the mode is set to day.
2023-06-01 18:39:50 +02:00
Thomas Basler
24f063dd7b
Fix: Prevent partly calculated total data in web ui and display
...
Leads to zeros where no zeros should be.
2023-05-30 22:10:27 +02:00
Thomas Basler
1c8bd8091b
Feature: Allow reordering of the inverters in the live view
...
Reordering can be done in the inverter settings via drag&drop.
2023-05-29 20:17:07 +02:00
Thomas Basler
e7198073af
Feature: Allow configuration of sunset type
2023-05-24 19:21:44 +02:00
Thomas Basler
752362d2df
Feature: Added localization setting to display
...
Its possible to change the language of the display
2023-05-23 18:25:12 +02:00
Thomas Basler
40820c07f2
Use the new data store in the graphic display class.
...
With this patch, the display turns off if no inverter is reachable anymore. Previously it turned off if the production was zero.
This fixes #933
2023-05-21 22:40:32 +02:00
Thomas Basler
cd98941c5d
Implement global data store to handle all invert total values
...
Use the new values in the LED, MQTT and Web interface.
2023-05-21 22:37:33 +02:00
Thomas Basler
efcbd81927
Feature: Add used PIO environment to the system info page
2023-05-08 21:43:50 +02:00
Thomas Basler
65b728eebb
Fix: No OpenDTU startup of CDC (like Pico or ESP32-S3) devices if no usb host is connected
...
Should also fix #826
2023-05-03 21:16:27 +02:00
Markus Krause
a56d5adb77
fix SPI assignment across generations
2023-04-28 21:26:22 +02:00
Thomas Basler
3504884836
Fix: xSemaphoreTake was useless
...
There was no check of the return value implemented therefore xSemaphoreTake was just executed and not locked
2023-04-28 21:02:10 +02:00
Thomas Basler
5996fb0edf
Fix: MQTT topics ac/yieldday and ac/yieldtotal are swapped
...
Fix #843
2023-04-25 18:43:56 +02:00
Thomas Basler
98da2b64e2
Rename FLD_PRA to FLD_Q
2023-04-24 22:29:59 +02:00
Thomas Basler
26cbc496a7
Feature: Implemented MQTT publishing of total values
...
If one or more inverter is not reachable the flag is_valid changes to zero. Disabled inverters are ignored.
2023-04-24 18:51:30 +02:00
Thomas Basler
04f62e03b8
BREAKING CHANGE: Web API Endpoint /api/eventlog/status no nested serial object
...
It's not required as the eventlog just contains events from requested inverter
2023-04-20 22:41:55 +02:00
Thomas Basler
5d2656550c
Optimize detection if RF module is configured
...
Use PinMapping method instead of dedicated method in Hoymiles lib --> Same result but reduces variables
2023-04-17 23:19:53 +02:00
Thomas Basler
59f43a82a8
BREAKING CHANGE: Web API Endpoint /api/devinfo/status requires GET parameter inv=
...
Only the requested inverter is sent to the client. This reduces the size of the json response --> Less memory.
It should also fix #814 .
2023-04-17 21:48:16 +02:00
Thomas Basler
af3a277e30
Introduced HoymilesRadio property to determine if a configuration attempt was done
2023-04-17 18:59:56 +02:00
Thomas Basler
15156b4b87
Set CMT frequency only if a valid pin config was found
2023-04-15 10:55:48 +02:00
Thomas Basler
c3368450f6
Initialize spiClass only if valid pin config was found
2023-04-15 10:55:48 +02:00
Thomas Basler
50ce7f014d
Expose min and max frequency in HoymilesRadio_CMT
2023-04-15 10:55:48 +02:00
Thomas Basler
371e405eed
Added configuration of CMT modules frequency to webapp
2023-04-15 10:55:48 +02:00
Thomas Basler
996404ceed
Introduce gpio2 for the CMT2300A module
...
This implements the sending interrupt instead of polling. On the other hand, gpio3 is made optional.
2023-04-15 10:55:48 +02:00
Thomas Basler
854fcdaeae
Allow configuration of the TX PA Level of the CMT2300A module
2023-04-15 10:55:48 +02:00
Thomas Basler
3e1b778565
Change max power limit from 1500W to 2250W to support HMS/HMT inverters
2023-04-15 10:55:47 +02:00
Thomas Basler
0ec90e0000
webapp: Adjusted radio problem hint in home view to detect problems of nrf and cmt radios
2023-04-15 10:55:47 +02:00
Thomas Basler
c19d2007bd
webapp: Added cmt radio status to system overview
2023-04-15 10:55:47 +02:00
Thomas Basler
de2b7ab2d2
Check that all RF modules as in idle mode before sending mqtt packages
2023-04-15 10:55:47 +02:00
Thomas Basler
b7fb294368
Set DTU serial for CMT modules
2023-04-15 10:55:47 +02:00
Thomas Basler
ef614751b1
webapp: Show CMT pins in device manager
2023-04-15 10:55:47 +02:00
Thomas Basler
45882543b6
Allow dynamic pin mapping for CMT module
2023-04-15 10:55:47 +02:00
Thomas Basler
8404dd57a7
Add a HoymilesRadio base class
...
This enables to have multiple radio implementations while the inverter classes just refere to the base class
2023-04-15 10:55:47 +02:00
Thomas Basler
a7e9aaa862
Move reference to the radio instance into the inverter instance
...
This is required to support different radios for different inverters
2023-04-15 10:55:47 +02:00
Martin Dummer
bea0a738c1
include/Configuration.h: rename MQTT_MAX_ROOT_CA_CERT_STRLEN
...
rename const MQTT_MAX_ROOT_CA_CERT_STRLEN to more generic name MQTT_MAX_CERT_STRLEN
Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-04-12 11:58:27 +02:00
Martin Dummer
d920726a76
src/WebApi_mqtt.cpp: rename function getRootCaCertInfo
...
rename function WebApiMqttClass::getRootCaCertInfo to more generic
name WebApiMqttClass::getTlsCertInfo
Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-04-12 08:47:24 +02:00
Martin Dummer
0db4b5f226
Fix: src/WebApi_mqtt.cpp: typos in error messages
...
Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-04-12 08:37:49 +02:00
Martin Dummer
971ae6d1be
Feature: MQTT add TLS authentication
...
User asked for TLS client certificate based login from DTU to MQTT
server. This PR implements storage and use of x509 client certificate
and private key.
Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-04-12 08:33:10 +02:00
Thomas Basler
ae323cd26f
Status LED's: Implemented
...
They can be activated using device profiles.
2023-04-04 18:53:23 +02:00
Thomas Basler
d6028cbd50
Remove not required F() macro. Frees ~20kb flash.
2023-04-04 18:51:18 +02:00
Thomas Basler
acf413b616
webapp: Show inverter status in grey if polling is disabled (e.g. at night)
2023-04-03 22:25:32 +02:00
Thomas Basler
9b74badda8
Uses VSPI instead of HSPI and compatibility for C3, S2 and S3 MCUs
2023-03-30 23:24:11 +02:00
Thomas Basler
fe5d3e29e3
Allow use GPIO0 as NRF pins
2023-03-30 23:19:29 +02:00
Thomas Basler
8d8c7f8a71
Fixed typo: Successfull --> Successful
2023-03-23 23:30:55 +01:00
Thomas Basler
21718a9e8f
Fix #736 : Check for payloads < 0 and ignore them
2023-03-23 21:18:00 +01:00
Thomas Basler
ac73747a29
Fix #723 : For some reason, a space was added before 1 digit numbers
2023-03-20 18:05:43 +01:00
Thomas Basler
75364f89cb
Publish all valid digits via mqtt
2023-03-16 19:29:37 +01:00
Thomas Basler
2e33f5cd51
Display: Implement rotation setting and removed icons
2023-03-15 20:20:14 +01:00
Markus Dobel
9eff5f228b
feat: export panel settings (name, max power, offset) as prometheus metrics
2023-03-08 09:11:25 +01:00
Thomas Basler
4d18ccf01d
Prometheus API: Only output the channels if they where read at least once
2023-02-26 19:31:37 +01:00
Thomas Basler
c67b3e3cbd
Prometheus API: Set correct metrics type
2023-02-24 19:10:35 +01:00
Thomas Basler
759f8b7208
Log errors if too less memory for webapi is available
2023-02-23 21:10:00 +01:00
Thomas Basler
97bc964b6c
Fix lint errors
2023-02-20 20:19:23 +01:00
Thomas Basler
c61064c891
Merge branch 'pr605' into dev
2023-02-20 19:38:23 +01:00
helgeerbe
07f4473a4e
Connect Wifi to strongest AP
...
* do full channel scan
* connect to strongest AP
2023-02-20 10:13:36 +01:00
Thomas Basler
dc66a82695
Fix typo in configuration. Relates to #603
...
Also increase buffer size to read whole config
2023-02-19 22:33:35 +01:00
Thomas Basler
cd99ab8e42
Added settings to pause polling/sending commands in general and at night
2023-02-18 19:44:16 +01:00
Thomas Basler
b319c78dc1
Added methods to calculate and show sunrise and sunset times
2023-02-18 18:15:48 +01:00
Thomas Basler
19a1c0aa54
Added config parameters to set longitude and latitude
2023-02-18 16:53:28 +01:00
Thomas Basler
6a6165e8c5
Fix #589 : MQTT channel assignment in homeassistant config [unique_id and name] was wrong
2023-02-15 19:04:58 +01:00
Thomas Basler
8cbae76797
Implement offsets for YieldTotal ( #549 )
...
This allows to enter a offset in kWh in the inverter properties which will be applied to the read Yield Total value of the inverter. Using this can set your total production to zero if you e.g. are using a used device.
2023-02-13 20:25:00 +01:00
Thomas Basler
7bbb278eaf
Merge branch 'mqtt_rework' into dev
2023-02-13 18:39:29 +01:00
Thomas Basler
f8c70c3e9f
Added missing copyright header
2023-02-13 18:38:22 +01:00
Thomas Basler
3b7aef63f8
BREAKING CHANGE: Web API!
...
In order to support multiple AC channels in future the WebAPI had to be changed. AC and DC channels are now grouped in a sub object containing the channels beginning with 0.
2023-02-13 18:37:55 +01:00
Thomas Basler
ceaf08c1a0
Hoymiles Lib: Rename ChannelMaxPower to StringMaxPower
2023-02-06 19:56:12 +01:00
Thomas Basler
d4c838a16e
BREAKING CHANGE: Prometheus API!
...
Added additional field to the prometheus api which identifies a channel by it's type. That means that e.g. channel 0 exists for type AC and DC.
This commit also introduces a additional field in the statistics byte assignment table. This field identifies whether a channel is on the AC or DC side. MQTT and WebAPI is still compatible with the previous design.
2023-02-06 19:51:10 +01:00
Thomas Basler
5d7be32b90
Fixed typo
2023-01-31 18:35:50 +01:00
Thomas Basler
d948439beb
Fix #548 : The first device profile within the json file was not correctly applied
2023-01-30 20:33:55 +01:00
Thomas Basler
8bafb178a1
Fix #540 : Do not output unit_of_meas if empty
2023-01-27 18:34:18 +01:00
Thomas Basler
e89fd64439
Added WebAPI to setup display settings. Also reboot only if device profile was changed.
2023-01-20 18:28:34 +01:00
Thomas Basler
f7fb9a2bd6
Display: Add property to enable or disable the screensaver
2023-01-20 18:28:34 +01:00
Thomas Basler
d1483468c6
Rename Display properties and apply power safe immediatly
2023-01-20 18:28:33 +01:00
Thomas Basler
e3d2de0319
webapp: Show display pin mapping in device manager
2023-01-20 18:28:33 +01:00
Thomas Basler
b96d87b933
Read display pinmapping from json file
2023-01-20 18:28:33 +01:00
Thomas Basler
bb3e12814d
Move display pin assignment to main function
2023-01-20 18:28:32 +01:00
Thomas Basler
592dd73fca
Implement _dispX as function local variable
2023-01-20 18:28:23 +01:00
Thomas Basler
1d07574f8a
Rename _lastPublish to _lastDisplayUpdate
2023-01-18 23:22:36 +01:00
Thomas Basler
e572e711a4
Code Style Changes
...
* Add License Identifier
* Move non public required includes to cpp
* Add curly brackets
2023-01-18 23:22:36 +01:00
dAjaY85
7074dd5757
Display init zum Zweiten
...
chango to full Buffer Mode, remove picture loop,
because it's not worked.
look: https://github.com/olikraus/u8glib/wiki/tpictureloop
snprintf + public vars
- dispPowerSafe => true: PowerSafe Mode on
- dispLogo => true: showing Logo upper right corner
- dispContrast => possible to adjust the Display Contrast
change in date time, buffer deleted
Display-Constructor changed, reset goes to front
Arrow and Logo only shown, when production is on
Refactor OLEDDisplayClass to DisplayGraphicClass
2023-01-18 23:22:36 +01:00
Thomas Basler
591a668901
Fixed issue when selecting new device profile
2023-01-17 20:46:52 +01:00
Thomas Basler
c85b99ffc1
Include ethernet handling in every build to enable it at runtime
2023-01-17 18:44:52 +01:00
Thomas Basler
19b42223f5
webapp: Show current active pin config
2023-01-16 23:41:58 +01:00
Thomas Basler
3d3feb3517
Allow Ethernet Pin Settings via json config
2023-01-16 22:26:35 +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
af1a2a188e
Extended config API to allow upload of individual files
2023-01-05 14:41:15 +01:00
Thomas Basler
20ae646561
webapp: Allow download of individual config files
2023-01-05 01:44:38 +01:00
Thomas Basler
7c33688167
Use same line ending in printf as in println
...
This prevents mistakes in the webconsole
2023-01-04 18:48:33 +01:00
Thomas Basler
5bc264f4d2
Introduce numeric error codes in power webapi
2022-12-24 00:01:55 +01:00
Thomas Basler
03ed626da6
Introduce numeric error codes in security webapi
2022-12-24 00:01:55 +01:00
Thomas Basler
6ad7e971b4
Introduce numeric error codes in ntp webapi
2022-12-24 00:01:55 +01:00
Thomas Basler
3e8c7a4c10
Introduce numeric error codes in network webapi
2022-12-24 00:01:54 +01:00
Thomas Basler
8e9680f394
Introduce numeric error codes in mqtt webapi
2022-12-24 00:01:54 +01:00
Thomas Basler
af93e5d77e
Introduce numeric error codes in maintenance webapi
2022-12-24 00:01:54 +01:00
Thomas Basler
9fd044f74f
Introduce numeric error codes in limit webapi
2022-12-24 00:01:54 +01:00
Thomas Basler
4dc50777ef
Introduce numeric error codes in inverter webapi
2022-12-24 00:01:54 +01:00
Thomas Basler
98b0a23ea0
Introduce numeric error codes in config webapi
2022-12-24 00:01:54 +01:00
Thomas Basler
3b5ff1691e
Introduce numeric error codes in dtu webapi
2022-12-24 00:01:54 +01:00
Thomas Basler
8f5d394f3a
Added websocket for debug output
2022-12-19 21:38:39 +01:00
Thomas Basler
8b60c29667
Replace all Serial by MessageOutput
2022-12-19 21:38:39 +01:00
Thomas Basler
cd5d5edd5f
Implemented class to send debug output to uart as well as to websocket
2022-12-19 21:38:39 +01:00
Thomas Basler
5feefed14e
Added missing copyright information
2022-12-14 22:37:37 +01:00
Thomas Basler
54d94af487
Cleanup includes
2022-12-14 22:13:03 +01:00
Thomas Basler
36477eab49
Fixed prometheus mac address when running in ethernet mode
2022-12-14 21:12:56 +01:00
Thomas Basler
674ead1c38
Fixed Hass device IP when running in ethernet mode
2022-12-14 21:11:53 +01:00
Thomas Basler
91f79fea19
Move publishHass method to MqttHandleHassClass
2022-12-14 21:08:35 +01:00
Thomas Basler
113caf510f
Introduce generic mqtt publish method
...
Allows publish of mqtt topics from other modules
2022-12-14 20:58:57 +01:00
Thomas Basler
5dd4d5b452
Introduce MqttSubscribeParser and moved inverter specific subscribes to MqttHandleInverterClass
...
This allows individual callback functions for each subscribed topic. Allows easier implementation of further mqtt functions
2022-12-14 20:42:23 +01:00
Thomas Basler
aab72fd0d8
Move mqtt dtu topic publishing to separate class
2022-12-14 19:32:24 +01:00
Thomas Basler
723a2c6dbe
Rename MqttPublishing to MqttHandleInverter
2022-12-14 19:13:34 +01:00
Thomas Basler
5dde17c56b
Renamed MqttHassPublishing to MqttHandleHass
2022-12-14 19:07:11 +01:00
Thomas Basler
e8c517f650
Fix timezone specific issue when syncing time manually
...
Time was off by one hour when using the sync button in the web UI.
tm_isdst = -1 means that mktime determines the DST flag based on the current timezone
2022-11-29 22:55:14 +01:00
Thomas Basler
40203f7316
Fix #387 : Allow a little bit more loss before HASS shows unavailable
2022-11-28 18:34:39 +01:00
Thomas Basler
36abaeee12
Moved pin assignment outside the hoymiles library
...
Allows setting the pins during runtime and not just using the defines
2022-11-27 12:07:25 +01:00
Thomas Basler
2a19b46d52
Add authentication to websocket
2022-11-23 21:00:54 +01:00
Thomas Basler
510f0c59f9
Implement readonly security for API endpoints
2022-11-22 23:40:19 +01:00
Thomas Basler
4bdbcbccc5
Introduce configuration option to decide wether the web ui is accessable without password or not
2022-11-22 23:32:52 +01:00
Thomas Basler
e60619b867
Added device reboot functionality
2022-11-21 23:29:57 +01:00
Thomas Basler
f8b601f871
Show several hints and tips at Live View
...
This contains the following information:
* No connection to the NRF module possible
* No time set
* Default password used
2022-11-20 15:08:36 +01:00
Thomas Basler
fec84fd048
Show custom string name in Live View
2022-11-15 22:31:04 +01:00
Thomas Basler
134db887c0
Publish string names via MQTT
2022-11-15 22:31:04 +01:00
Thomas Basler
d28fadbdac
Extended configuration to allow string names
...
* Current config will be migrated to new format
* Already extended web API to get/post new format
2022-11-15 22:31:04 +01:00
Thomas Basler
daf847e7b3
BREAKING CHANGE: Removed deprecated config parsing method
...
After this commit its not possible to migrate from the old binary blob config to the new json based config!! If you still running a old version before 12. October please upgrade to a version before this commit.
See https://github.com/tbnobody/OpenDTU/discussions/285
2022-11-15 22:31:04 +01:00
Thomas Basler
5f55414c0a
Show Irradiation only in Live Data View if configured for specific channel
2022-11-15 22:31:04 +01:00
Thomas Basler
dd7babb448
Added a timeout of 5ms to detect current time.
...
This prevents false positives when a interrupt occours during the reading of the time
2022-11-14 20:19:38 +01:00
Thomas Basler
c2f59427b8
Prometheus API: Increase buffer size to allow more inverters
2022-11-10 20:20:55 +01:00
Thomas Basler
d7bcce947e
Prometheus API: Adjust api url and method names
2022-11-10 20:20:54 +01:00
Thomas Basler
d62c5b239f
Prometheus API: use integrated serialString() method to fetch serial number
2022-11-10 20:20:53 +01:00
Thomas Basler
8e4e055930
Prometheus API: Remove duplicate cache control
2022-11-10 20:20:52 +01:00
Thomas Basler
0fdf7f19e4
Prometheus API: Applied code formatting
2022-11-10 20:20:45 +01:00
Dominik Westner
e5bbb7f517
implemented prometheus metrics
2022-11-10 18:00:13 +01:00
Thomas Basler
e0b069ff3d
Password protection for limit/power settings API
2022-11-08 18:34:00 +01:00
Thomas Basler
ab0029d9fd
Show the correct amount of string input fields in inverter config
2022-11-07 22:38:53 +01:00
Thomas Basler
f163e239d2
Fix #303 : Add inverter name as prefix to HASS auto discovery
2022-11-07 19:35:29 +01:00
Thomas Basler
233efe3a50
Password protection for firmware update API
2022-11-07 19:02:07 +01:00
Thomas Basler
fe8b68d2be
Password protection for config settings API
2022-11-07 18:48:02 +01:00
Thomas Basler
a646eae51a
Password protection for inverter settings API
2022-11-03 21:44:01 +01:00
Thomas Basler
902e632f51
Password protection for mqtt settings API
2022-11-03 21:31:50 +01:00
Thomas Basler
3a2f73a2b3
Password protection for ntp settings API
2022-11-03 21:20:12 +01:00
Thomas Basler
e605e42c3e
Password protection for network settings API
2022-11-03 21:13:42 +01:00
Thomas Basler
b9d2978bf9
Password protection for dtu settings
2022-11-03 21:05:51 +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
438ce36bab
Added sum values of all inverters to web UI
2022-11-01 16:33:20 +01:00
Thomas Basler
69b675bc64
BREAKING CHANGE: Structure WebAPI /api/livedata/status changed
...
The different inverter data are now in a subobject called "inverters".
This is required to extend the API by other data then the inverter values
2022-11-01 15:04:05 +01:00
Thomas Basler
f854cdff03
Init last_update with 0 instead of current time
2022-11-01 13:23:29 +01:00
Thomas Basler
b96f0c4dbe
Introduce last_update MQTT topic
...
Shows the timestamp of the last successfull statistics data from the specific inverter
2022-10-31 14:38:10 +01:00
Thomas Basler
4049f6bdb7
Implemented method to get the amount of relevant digits
2022-10-31 11:51:08 +01:00
Thomas Basler
f2a08ba503
Rename FLD_PCT to FLD_PF and assign UNIT_NONE
2022-10-31 00:43:07 +01:00
Thomas Basler
f741fea333
Move serial number formatting to inverter class
2022-10-29 11:22:56 +02:00
Thomas Basler
f21dd351ef
Optimize performance by removing not required string constructors
2022-10-29 11:22:56 +02:00
Thomas Basler
c999197dae
Optimize performance by passing strings as const reference
2022-10-29 11:22:56 +02:00
Thomas Basler
3a0ba86c9c
HASS Auto Discovery: Publish binary sensor reachable and producing
2022-10-29 11:22:56 +02:00
Thomas Basler
6403521e31
HASS Auto Discovery: Publish numbers to set limit
2022-10-29 11:22:56 +02:00
Thomas Basler
96170c08b8
HASS Auto Discovery: Publish buttons for on/off/restart
2022-10-29 11:22:56 +02:00
Thomas Basler
64e4656dbe
Simplify creation of HASS device info
2022-10-29 11:22:56 +02:00
Thomas Basler
a7f571a581
HASS: Move create of device object so separate method
2022-10-29 11:22:56 +02:00
Thomas Basler
359d513cfd
Generate DTU ID dynamicly based on ESP chipID
2022-10-20 22:25:51 +02:00
Thomas Basler
4193abe942
Fix typo
2022-10-20 22:07:06 +02:00
Thomas Basler
ca51aab236
Move getChipId to separate class
2022-10-20 21:55:41 +02:00
Thomas Basler
f32b561627
Show detected max power in dev info dialogue
2022-10-19 22:16:30 +02:00
Thomas Basler
678f165350
Fix warning: missing initializer for member
2022-10-19 22:16:29 +02:00
Thomas Basler
cc7df7c302
Removed senseless checks
...
uint can never by smaller than 0
2022-10-18 21:43:12 +02:00
Thomas Basler
d37543fd95
Show current limit in header of live view
2022-10-14 19:16:37 +02:00
Thomas Basler
cf727d4ff9
Added API to change the access point password
2022-10-13 19:44:16 +02:00
Thomas Basler
d2feac7a00
Migrate config from binary blob to json
2022-10-12 19:46:21 +02:00
Thomas Basler
e762abd18f
Show RF chip type in SystemInfoView
2022-10-12 00:17:40 +02:00
Thomas Basler
0a577f8002
Allow a maximum limit of 100 if limit type is relative
2022-10-11 23:28:22 +02:00
Thomas Basler
072a7c7a3d
Fix #213 : Check if topic ends with slash
...
If this is not the case the subscription to the command topics will fail
2022-10-11 23:04:43 +02:00
Thomas Basler
7ec070f6f9
Fix #212 : Only check ssid if in wifi mode
2022-10-11 23:04:43 +02:00
Thomas Basler
283eae295b
Show absolute limit in limit dialogue
2022-10-10 19:20:19 +02:00
Thomas Basler
88ad6495d1
Implemented inverter restart via web ui
2022-10-09 13:48:35 +02:00
Thomas Basler
da0998c809
Implement inverter restart by mqtt topic
2022-10-09 13:16:06 +02:00
Thomas Basler
20b799b630
webapp: Show NRF24 connection status
2022-10-06 23:29:17 +02:00
Thomas Basler
c33c73fe01
webapi: Rename limit to limit_relative
2022-10-06 23:29:14 +02:00
Thomas Basler
9e907b0ca7
Publish limit_absolute for known models
2022-10-06 23:29:13 +02:00
Thomas Basler
9b68eb6beb
webapp: Show model name
2022-10-06 18:35:04 +02:00
Thomas Basler
a893701b6d
Fixed warning regarding switch statement
2022-10-05 18:53:35 +02:00
Thomas Basler
112664f42f
Simplify inverterEdit method
...
Replaced for loop with unused variable by .size() method
2022-10-05 18:37:34 +02:00
Thomas Basler
9c4076d3d5
Fix handling of strncpy on inverter delete
2022-10-05 18:27:35 +02:00
Thomas Basler
7ff0f111af
Rename firmware_version to config_version
2022-10-05 18:23:04 +02:00
Thomas Basler
2447d57301
Fixed printf format strings
2022-10-04 23:33:09 +02:00
Thomas Basler
2eafd69276
Show only valid device info data in webapp
2022-10-04 22:15:50 +02:00
Thomas Basler
3816320f1e
Implemented WebAPI to get status of last power command
2022-10-04 18:48:21 +02:00
Thomas Basler
14bad84031
Added WebAPI to control inverter power
2022-10-04 18:12:55 +02:00
Thomas Basler
eec04de044
Added MQTT Topic to turn inverter on and off
2022-10-04 18:12:55 +02:00
Thomas Basler
66453b0854
Return correct formatted HwVersion
2022-10-03 13:58:50 +02:00
Thomas Basler
76bf5ec69b
Fix cpplint: Replace strtok by strtok_r
2022-10-02 12:37:55 +02:00
Thomas Basler
747335f23f
Publish hostname via mqtt
2022-10-01 12:32:31 +02:00
Thomas Basler
bd17ca5199
webapp: Add "Not Producing" indicator
2022-10-01 12:20:31 +02:00
Thomas Basler
00b1ff84be
Rename age_critical to rechable in web api
...
Also use new method to determine whether the inverter is reachable
2022-10-01 10:48:17 +02:00
Thomas Basler
4fe2111173
Implemented MQTT topics reachable and producing per inverter
2022-10-01 10:47:19 +02:00
Thomas Basler
3d68f502c4
Rename MQTT topic settings/limit to status/limit_relative
2022-10-01 01:45:10 +02:00
Thomas Basler
dcaadf26a9
WebAPI: Add status of last set limit command
2022-10-01 00:42:29 +02:00
Thomas Basler
a5e68ef096
Fixed several issues in the web api to set the limit
2022-09-30 18:34:30 +02:00
Thomas Basler
0af809e4ea
Do not appy settings if mqtt was retained and topic was non-persistent
2022-09-30 18:34:30 +02:00
Thomas Basler
ace5c33518
Set PowerLimit on mqtt request
2022-09-30 18:34:30 +02:00
Thomas Basler
eb261908af
Perform topic parsing
2022-09-30 18:34:30 +02:00
Thomas Basler
ba2d6ab6d1
Implement callback to subscribe to topics
2022-09-30 18:34:30 +02:00
Thomas Basler
d57a5f7ea6
Added web api to set limit
2022-09-30 18:34:30 +02:00
Thomas Basler
290932519c
Fix #160 : Increase output buffer for inverter list
2022-09-24 10:28:05 +02:00
Thomas Basler
89e5f7e393
Added API to set and get the current time
2022-09-20 19:44:24 +02:00
Thomas Basler
950b211fd5
Set getLocalTime timeout to 0 to prevent watchdog triggers
...
This happens especially when no WiFi is configured and the user enters the NTP info page
2022-09-19 20:45:44 +02:00
Thomas Basler
e61d47b8a2
Added webapi endpoints to download/upload end delete configuration
2022-09-17 01:46:14 +02:00
Thomas Basler
22ac3faff1
Removed not required variables
2022-09-16 18:21:54 +02:00
Thomas Basler
271c71e064
Replace ESPAsyncWebServer
...
Use fork from yubox-node-org instead of originial from me-no-dev
Maybe that fixes several issues with the websockets
2022-09-15 19:26:45 +02:00
Thomas Basler
327b4f97a4
Use reinterpret_cast<char*>(...) instead C-style cast
2022-09-15 19:00:07 +02:00
Thomas Basler
4bfb986846
Use reinterpret_cast<uint8_t*>(...) instead C-style cast
2022-09-15 18:59:51 +02:00
Thomas Basler
de33b9ff88
Do not use namespace using-directives. Use using-declarations instead.
2022-09-13 21:35:51 +02:00
Thomas Basler
66c28a2e6e
Replace strcpy by strlcpy
2022-09-13 21:20:08 +02:00
Thomas Basler
6fdc27ddae
Replace sprintf by snprintf
2022-09-13 21:00:54 +02:00
Stefan Kreutter
cb00537284
fixed compile error
...
src/NetworkSettings.cpp: In member function 'void NetworkSettingsClass::setHostname()':
src/NetworkSettings.cpp:254:42: error: no matching function for call to 'ETHClass::setHostname(String)'
if (ETH.setHostname(getHostname())) {
^
ETH.h:83:14: note: candidate: 'bool ETHClass::setHostname(const char*)'
bool setHostname(const char * hostname);
2022-09-13 19:09:15 +02:00
Thomas Basler
9674e32c0c
Return only the eventlog of one inverter
...
- Fix #131
- Prevent large responses in case of many inverters + many log entries
2022-09-12 18:48:18 +02:00
Thomas Basler
2f43acbde7
Publish current inverter limit settings via mqtt
2022-09-09 20:18:00 +02:00
Thomas Basler
46367c4fa9
Added webapi to fetch current inverter limit
2022-09-09 18:43:21 +02:00
Thomas Basler
99a34d0901
Publish WiFi RSSI via mqtt
2022-09-08 19:24:22 +02:00
Thomas Basler
86f01e5cc4
webapp: Show complete generated hostname in network info view
2022-09-06 18:45:32 +02:00
Thomas Basler
f5328100b6
Fixed hostname generation and hostname assignment
2022-09-06 18:44:26 +02:00
Thomas Basler
31e56f6c2b
Code hardening: introduce const keyword
2022-09-05 21:41:45 +02:00
Thomas Basler
83ca402306
Merge branch 'pr114'
2022-09-05 20:10:08 +02:00
battifreund
b4137d4da9
Option for expire_after
2022-08-31 23:35:28 +02:00
Thomas Basler
dbf692d90b
Fix #92 : Expiration time depends on the amount of inverters
2022-08-27 13:07:00 +02:00
Martin Dummer
c7448d460a
src/Configuration.cpp: fix homeassistant discovery config
...
On a fresh installed openDTU esp32, the mqtt discovery prefix
topic does not match the default value of homeassistant, due to a wrong
assignment in src/Configuration.cpp.
This patch fixes it.
Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2022-08-27 12:11:31 +02:00
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