helgeerbe
32a96bbd06
change all watt related vars to
...
int32_t to avoid cast problems with negativ values.
2023-03-16 12:34:14 +01:00
helgeerbe
04c7e4fa01
fix cast error with unsigned int
...
which results in wrong power limit settings if values become < 0 due
to power export to the grid.
2023-03-16 12:17:14 +01:00
Thomas Basler
2e33f5cd51
Display: Implement rotation setting and removed icons
2023-03-15 20:20:14 +01:00
Thomas Basler
c0b5049a74
Auto format: Reorder includes
2023-03-14 18:45:39 +01:00
helgeerbe
9214897245
for watt use uint32_t as std type to
...
avoid cast problems to uint16_t
2023-03-13 11:38:26 +01:00
MalteSchm
63c956af15
swap can library to better support newer ESPs
2023-03-12 17:27:41 +01:00
helgeerbe
01a2ffaed5
[Request] Show actual power limiter state in live view helgeerbe/OpenDTU-OnBattery#134
2023-03-10 16:29:00 +01:00
helgeerbe
43dc10b868
Merge branch 'inverter-settings' into development
2023-03-09 12:43:03 +01:00
helgeerbe
8df2c16cce
ensure STATE_DISCOVER if PowerLimter is enabled
2023-03-09 10:22:08 +01:00
Markus Dobel
9eff5f228b
feat: export panel settings (name, max power, offset) as prometheus metrics
2023-03-08 09:11:25 +01:00
helgeerbe
716fc867a1
powerLimiter with state machine
2023-03-07 21:04:19 +01:00
Bernhard Kaszt
06fbdf1f12
Add Pylontech battery to device pin manager
2023-03-05 19:55:56 +01:00
helgeerbe
4a51ae5038
victron charge power is integer
2023-03-01 10:23:37 +01:00
helgeerbe
26a8809121
stop inverter, if exporting power to grid
2023-02-28 13:09:10 +01:00
helgeerbe
4feaa1db98
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-02-27 20:11:06 +01:00
Thomas Basler
f36a31723a
Fix #636 : Allow full SSID length of 32 characters
2023-02-27 14:32:55 +01:00
helgeerbe
3b62d5708a
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-02-27 07:42:46 +01:00
Thomas Basler
c67b3e3cbd
Prometheus API: Set correct metrics type
2023-02-24 19:10:35 +01:00
helgeerbe
28b24d01ad
implement UI for target power consumption
2023-02-24 16:13:32 +01:00
helgeerbe
56151b0d12
make inverter and channel selectable
2023-02-23 21:46:59 +01:00
Thomas Basler
759f8b7208
Log errors if too less memory for webapi is available
2023-02-23 21:10:00 +01:00
helgeerbe
a2473645a5
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-02-23 12:01:34 +01:00
helgeerbe
9e1df83a87
remove map.h include
2023-02-21 22:12:15 +01:00
helgeerbe
1e7f6b8f0f
first version
2023-02-21 22:06:47 +01:00
helgeerbe
f560f25302
initial merge of power_limiter * missing is inverter and channel setting in gui
...
* due to bug _webApiPrometheus.init is commented out
2023-02-20 15:56:02 +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
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
a529c91254
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-02-14 10:10:10 +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
helgeerbe
997023e52f
Add Hass sensors Battery voltage and Current
2023-02-07 16:51:30 +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
bec6c20531
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2023-01-26 10:30:55 +01:00
Thomas Basler
2288a193e7
Extend pin mapping name to 63 characters
2023-01-20 18:28:35 +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
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
a4858b4598
Fix #520 : Allow larger certificates
2023-01-17 19:05:02 +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
20ae646561
webapp: Allow download of individual config files
2023-01-05 01:44:38 +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
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
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
2109520bde
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-11-26 16:31:16 +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
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
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
0c46ecf121
Fix #302 : Allow longer MQTT usernames and passwords
...
Changed max length from 32 to 64 characters
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
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
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
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
helgeerbe
b3295f5f33
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-11-03 09:27:56 +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
helgeerbe
6b4129c400
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-10-31 14:37:44 +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
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
a7f571a581
HASS: Move create of device object so separate method
2022-10-29 11:22:56 +02:00
helgeerbe
a6d734018a
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-10-26 14:20:44 +02:00
helgeerbe
a9336968c7
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-10-20 23:39:05 +02:00
Thomas Basler
359d513cfd
Generate DTU ID dynamicly based on ESP chipID
2022-10-20 22:25:51 +02:00
Thomas Basler
ca51aab236
Move getChipId to separate class
2022-10-20 21:55:41 +02:00
helgeerbe
5de35ee353
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-10-17 10:10:34 +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
helgeerbe
366e7dc409
Merge remote-tracking branch
...
'tbnobody/OpenDTU/master'
2022-10-07 10:32:51 +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
helgeerbe
25285b10ee
fix cpplint errors
2022-10-04 12:00:29 +02:00
helgeerbe
df7c821bd4
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-10-03 13:34:05 +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
helgeerbe
3843a46de9
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-09-22 09:36:36 +02:00
Thomas Basler
89e5f7e393
Added API to set and get the current time
2022-09-20 19:44:24 +02:00
helgeerbe
bee600bfd8
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-09-19 10:49:41 +02:00
Thomas Basler
e61d47b8a2
Added webapi endpoints to download/upload end delete configuration
2022-09-17 01:46:14 +02:00
Thomas Basler
0d880cb61e
Use uint32_t, rather than the C type unsigned long
2022-09-13 22:39:08 +02:00
Thomas Basler
46367c4fa9
Added webapi to fetch current inverter limit
2022-09-09 18:43:21 +02:00
Thomas Basler
f5328100b6
Fixed hostname generation and hostname assignment
2022-09-06 18:44:26 +02:00
helgeerbe
5a25ce50db
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-09-06 10:14:18 +02:00
Thomas Basler
31e56f6c2b
Code hardening: introduce const keyword
2022-09-05 21:41:45 +02:00
battifreund
b4137d4da9
Option for expire_after
2022-08-31 23:35:28 +02:00
helgeerbe
d9bf0ab2e9
ve.direct:
...
- add poll rate
- add data_age and age_critical to rest api
2022-08-16 16:26:08 +02:00
helgeerbe
72c0e8579a
ve.direct rest api
2022-08-16 14:02:19 +02:00
helgeerbe
2ff8f84387
loop für ve.direct
2022-08-15 10:56:37 +02:00
helgeerbe
c7c1506e42
First version
2022-08-11 17:26:00 +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
35a72acf34
Fix #71 : Extend mqtt hostname from 31 characters to 128 characters
2022-08-10 18:59:30 +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
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
c022b8696b
Implemented serveal global network functions which are independent of the medium (wifi / ethernet)
2022-07-19 21:53:04 +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
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
Thomas Basler
cf273c93e7
Fixed 404 error when pressing refresh in webapp
2022-07-01 23:32:11 +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
10974ade3e
Adjust config
...
* Allow wifi passwords length of 64 chars
* Added max channel power
2022-06-22 21:00:44 +02:00
Thomas Basler
70b9f9fdba
Fix default DTU serial number
2022-06-22 20:59:13 +02:00
Thomas Basler
46d88c6520
Improoved websocket handling
2022-06-17 13:29:21 +02:00