Commit Graph

380 Commits

Author SHA1 Message Date
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
helgeerbe
ce752f0d75 Dont print that VeDirect data is unvalid 2023-02-17 15:08:31 +01:00
helgeerbe
6e0ae6d152 Extent JSON_BUFFER_SIZE 7000 2023-02-17 15:06:43 +01:00
helgeerbe
27f20a76f0 Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-02-16 12:35:18 +01:00
helgeerbe
1a4a8cc921 fix age critical 2023-02-16 12:24:11 +01:00
helgeerbe
dc44cc8e1f create VeDirect.isDataValid() 2023-02-16 12:17:47 +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
helgeerbe
a529c91254 Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-02-14 10:10:10 +01:00
helgeerbe
7022ed95b6 copy vedirect data if send only
updated data is true
2023-02-14 09:54:40 +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
helgeerbe
43bfee4d55 Stopp publishing vedirect if data becomes too old 2023-02-13 14:01:10 +01:00
helgeerbe
957bc91828 Force hass discovery update for vedirect
if mqtt settings changes
2023-02-13 12:00:25 +01:00
helgeerbe
17e564a094 simplify main for vedirect 2023-02-13 11:41:51 +01:00
helgeerbe
ed12f814dd mqqt hass discovery complete 2023-02-08 14:09:16 +01:00
helgeerbe
997023e52f Add Hass sensors Battery voltage and Current 2023-02-07 16:51:30 +01:00
helgeerbe
4f0a45c902 Add serial number to deviced name 2023-02-07 13:59:03 +01:00
helgeerbe
82ecf6cd6d Add victron serial to mqtt topics 2023-02-07 13:36:37 +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
helgeerbe
37d3bb0eb0 vedirect hass autodiscovery:
load output state as binary sensor
2023-02-06 17:35:01 +01:00
helgeerbe
1c01e927f9 Add victron pins to device manager 2023-02-02 23:01:22 +01:00
helgeerbe
9e70d2dfc6 Merge remote-tracking branch 'tbnobody/OpenDTU/master' 2023-02-02 20:58:06 +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
helgeerbe
bec6c20531 Merge remote-tracking branch 'tbnobody/OpenDTU/master' 2023-01-26 10:30:55 +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
helgeerbe
9a7a0d293e Merge remote-tracking branch 'tbnobody/OpenDTU/master' 2023-01-20 14:54:04 +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
helgeerbe
e49bbe0faf Merge remote-tracking branch 'tbnobody/OpenDTU/master' 2022-12-27 14:17:24 +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
helgeerbe
df5cde2e82 Merge remote-tracking branch 'tbnobody/OpenDTU/master' 2022-12-05 11:46:31 +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
helgeerbe
ae414c42c1 merge with remote master 2022-11-26 16:31:41 +01:00
helgeerbe
2109520bde Merge remote-tracking branch 'tbnobody/OpenDTU/master' 2022-11-26 16:31:16 +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
helgeerbe
1fc0e76c41 Merge remote-tracking branch 'tbnobody/OpenDTU/master' 2022-11-22 17:10:53 +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
helgeerbe
2c6dff3714 Password protection for vedirect settings API 2022-11-19 14:34:59 +01:00
helgeerbe
f35395e76f Merge remote-tracking branch 'tbnobody/OpenDTU/master' 2022-11-16 16:39:01 +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