qubeck
00def1d8d1
Generic SML based power meters support ( #146 )
...
* add support for energy & power readings on SML based power meters, taking OBIS 16.7.1 for power (using mod. SML Parser lib. by olliiiver)
* switched SML read to use software serial
* made total power meter response controled by meter source to obtain either the sum of phase powers or explicit total power provided by meter
* made mqtt subscriptions to power meter topics meter source dependend
* simplified SML read loop and OBIS handler registration, + minor refactoring
* minor cleanup/style changes and optim. PowerMeter
* fixed build, add SOURCE_SML == 4
* removed optional usage of HW serial for SML power meter
* switched to usage of _powerMeter1Power for SML power reading to allign better with existing code
---------
Co-authored-by: helgeerbe <helge@erbehome.de>
2023-04-07 20:20:00 +02:00
helgeerbe
e29708f871
fix infinite state switch if battery is above
...
startThreshold and solar passtrhough is enabled
2023-04-06 18:32:50 +02:00
helgeerbe
ef51d75f2c
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-04-06 10:46:02 +02:00
berni2288
09fb0618b4
Merge branch 'MalteSchm-webinterface_summary_updates' into development
2023-04-05 22:27:17 +02:00
Thomas Basler
ede572f6e3
Status LED's: Implemented
...
They can be activated using device profiles.
2023-04-05 11:56:59 +02:00
Thomas Basler
ca0b8e9afc
Remove not required F() macro. Frees ~20kb flash.
2023-04-05 11:54:50 +02:00
Thomas Basler
dab5b4d723
webapp: Show inverter status in grey if polling is disabled (e.g. at night)
2023-04-05 11:52:35 +02:00
Thomas Basler
d501c4b836
Uses VSPI instead of HSPI and compatibility for C3, S2 and S3 MCUs
2023-04-05 11:51:09 +02:00
Thomas Basler
7d50fa373e
Allow use GPIO0 as NRF pins
2023-04-05 11:51:09 +02:00
MalteSchm
801ad469c5
corrected day yield
2023-04-05 10:51:07 +02:00
Bernhard Kaszt
8ca664a8fe
Use AC power for limit calculation (= Support directly connected PV panels with Power Limiter) ( #154 )
...
* Power limiter: Use the actual AC power for limit calculation
instead of the last set limit.
In order support setups without battery connected (sources that don't exhaust the limit)
2023-04-05 10:30:03 +02:00
helgeerbe
c0dff1e7df
catch bad_alloc for Huawei and Pylontech WebApi_ws
2023-04-05 09:48:38 +02:00
MalteSchm
459f9ffc2c
merging branches
2023-04-04 21:43:24 +02:00
MalteSchm
169ea3d5d5
Api extensions
2023-04-04 21:31:32 +02:00
MalteSchm
abffc38c11
fixing typos
2023-04-04 21:30:53 +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
helgeerbe
0c34554b9c
don't set newPowerlimit if newLimit AND lastLimit in target window
2023-04-04 18:20:06 +02:00
helgeerbe
160b5b5b01
handle bad_alloc for vedirect status
2023-04-04 18:17:53 +02:00
qubeck
cd4a327671
limiting the artificialy increased power limit to inverter maximum power
2023-04-04 17:11:59 +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
Bernhard Kaszt
e35254c8f2
New Power meter support: HTTP(S) + JSON (Shelly 3EM, Tasmota, Volkszähler etc.) ( #153 )
...
* Implement HTTP(s) + JSON type Power Meter support
---------
Co-authored-by: Bernhard Kaszt <berni@bcserv.eu>
2023-04-03 21:36:20 +02:00
qubeck
bd57d0f19a
fixed casting issues
2023-04-02 22:26:44 +02:00
qubeck
a1da3f9842
producing DC channel aware artificial increase of applied power limit to mitigate fixed distribution of applied power limit across all channels
2023-04-02 22:13:43 +02:00
MalteSchm
20bb7fc372
Show (Pylontech) battery infos in Live View
...
* adding data age to battery data
* Add battery enabled flag
* Webapi and websocket api for Battery
* Webinterface for battery
* fixed bug due to naming inconsistencies
* cleaned up rounding
* dist update
* change typename to uppercase
* reverting to original file
2023-04-02 20:58:28 +02:00
MalteSchm
6b85b8d4a2
Merge remote-tracking branch 'upstream/development' into battery_webinterface
2023-04-02 14:28:37 +02:00
MalteSchm
78838585f7
fixed bug due to naming inconsistencies
2023-04-02 14:17:23 +02:00
MalteSchm
59c84bcb85
Webapi and websocket api for Battery
2023-04-02 13:00:46 +02:00
Bernhard Kaszt
4de043f3d4
Fix crash when AC charger is enabled but initialization fails
2023-04-02 10:46:07 +02:00
Bernhard Kaszt
c86c5133f0
Fix code style in Huawei files
2023-04-02 10:42:36 +02:00
MalteSchm
a0bbf61db2
Add battery enabled flag
2023-04-02 10:11:48 +02:00
MalteSchm
e514ef744b
adding data age to battery data
2023-04-01 15:34:32 +02:00
MalteSchm
d1e43c11b9
Run Huawei code only when enabled
2023-04-01 14:43:24 +02:00
MalteSchm
1f6301c2c0
Check for empty MQTT topic
...
Please enter the commit message for your changes. Lines starting
2023-04-01 14:02:09 +02:00
MalteSchm
f4455ccb93
reverting
2023-04-01 13:50:04 +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
MalteSchm
a091e80ed0
deal with un-initialized values
2023-03-29 19:07:16 +02:00
MalteSchm
a968f09d73
Pin config
2023-03-29 19:06:41 +02:00
MalteSchm
ece131995a
linting errors
2023-03-29 19:04:41 +02:00
helgeerbe
b3c17c8ee8
Merge branch 'pr/MalteSchm/144' into development
2023-03-27 22:16:53 +02:00
helgeerbe
e0a80734f3
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-03-27 21:10:03 +02:00
MalteSchm
2aad13dc72
Changing SPI interface
2023-03-27 20:47:35 +02:00
MalteSchm
07ea03d12b
fixing linting issue
2023-03-26 15:46:33 +02:00
MalteSchm
06d5da50a2
the implementation has used HSPI with the default VSPI pins for a long time. Change VSPI and HSPI to use the right pins in order to avoid confusing
2023-03-26 12:36:21 +02:00
MalteSchm
d80f62d1b9
disable Mqtt output when disabled
2023-03-26 12:13:06 +02:00
MalteSchm
26eedc9701
align mqtt format with the other sources
2023-03-26 11:56:41 +02:00
MalteSchm
89be653a51
inverse logic for power pin (active high)
2023-03-26 11:56:11 +02:00
MalteSchm
a4767827b4
merging master
2023-03-26 11:25:08 +02:00
MalteSchm
3b57550ead
adding basic mqtt support
2023-03-26 11:02:40 +02:00
MalteSchm
bbf3d44d69
working with a reference
2023-03-26 11:01:32 +02:00
MalteSchm
0b5c47cd2e
Adding enable/disable option and pin to control a switch/relais to power the Huawei PSU
2023-03-26 11:00:37 +02:00
helgeerbe
7d48e426dc
free JsonDocument for livedata as soon as possible
2023-03-24 15:39:03 +01:00
MalteSchm
8576034b77
Adding Huawei CAN interface, web-api, websocket and Mqtt extensions to access the data
2023-03-24 10:03:22 +01: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
helgeerbe
3f8226c36c
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-03-23 19:14:14 +01:00
helgeerbe
0832ef86e4
reboot after power meter settings
2023-03-23 19:10:29 +01:00
helgeerbe
55dc4dbdfc
reinitialize mqqt subscription after reconnect
2023-03-22 17:47:15 +01:00
helgeerbe
5d5124dd5b
fix last power meter update time
2023-03-22 14:53:36 +01:00
helgeerbe
a441a6eaf7
fix mqqt supscibe in power meter
2023-03-22 14:11:55 +01:00
helgeerbe
aaa9f5cd98
power meter settings were not restored. On reboot only default were set
2023-03-22 12:34:47 +01:00
helgeerbe
41da6d489d
add missing webapi init for powermeter
2023-03-22 11:34:55 +01:00
Eugen
effd4e89ab
BF: get powerTotal from PowerMeter
2023-03-22 08:21:34 +01:00
Adminius
05a5b2367b
PowerMeter Class + SDM PowerMeter support
2023-03-21 23:46:54 +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
helgeerbe
19252629cb
minimum panel DC power 20W
2023-03-20 15:17:07 +01:00
helgeerbe
a6c852a82c
if new limit too low, turn inverter off
...
within state
2023-03-20 12:35:29 +01:00
helgeerbe
2dc7089aa6
Start at night
2023-03-19 22:53:24 +01:00
helgeerbe
b9acbe6f2c
off when newPowerLimit < lowerLimit
2023-03-18 23:50:34 +01:00
helgeerbe
06370baa0e
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-03-18 22:42:05 +01:00
helgeerbe
c95468f972
fix comparison between int and double
2023-03-18 14:44:28 +01:00
Thomas Basler
75364f89cb
Publish all valid digits via mqtt
2023-03-16 19:29:37 +01:00
helgeerbe
46ce6ad50f
Implement battery drain strategies:
...
- empty when full
- empty at night
2023-03-16 17:48:22 +01:00
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
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
Bernhard Kaszt
e95acbec46
PylontechCanReceiver.cpp: Cosmetic changes
2023-03-12 18:47:29 +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
helgeerbe
418fea2cfc
fix veStruct
...
* PPV is int not double
* fix: initialize veStruct to 0 to avoid random data on startup
2023-03-09 10:16:55 +01:00
helgeerbe
6f3e33c0b1
exit loop after turn inverter on or off
2023-03-08 22:11:01 +01:00
Bernhard Kaszt
a66f818e75
Hide Victron Ve.direct UI elements from Live page when disabled
...
Resolves #91
2023-03-08 19:54:19 +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
06a0f76fed
Fix local build working but Github build failing
2023-03-05 20:45:27 +01:00
Bernhard Kaszt
06fbdf1f12
Add Pylontech battery to device pin manager
2023-03-05 19:55:56 +01:00
Bernhard Kaszt
304d90062d
Revert broken change in condition that sets _consumeSolarPowerOnly
...
6709338dbd
2023-03-05 16:30:53 +01:00
Bernhard Kaszt
a6e720f154
Powerlimiter: Remove MQTT Topic debug message
2023-03-05 15:41:21 +01:00
Bernhard Kaszt
804f225908
Fix _consumeSolarPowerOnly sometimes being set to false when it shouldn't
2023-03-05 13:32:18 +01:00
helgeerbe
b70407d7fe
Initilise variables
2023-03-04 13:02:30 +01:00
helgeerbe
9391b11403
fix start inverter
2023-03-04 11:59:10 +01:00
helgeerbe
b7dda83545
use efficiency factor if limit is set to
...
victronChargePower
2023-03-03 20:34:11 +01:00
helgeerbe
cf4a35e148
fix starting and stopping inverter
2023-03-03 19:51:04 +01:00
helgeerbe
6709338dbd
fix setting consumeSolarPowerOnly
2023-03-02 16:18:44 +01:00
helgeerbe
67a5217482
start inverter if power consumption greater or equal lower power limit
2023-03-02 14:27:42 +01:00
helgeerbe
3e38941b57
start inverter only if not exporting to grid
2023-03-01 13:34:27 +01:00
helgeerbe
6241a31e8c
comment out full wifi scan
2023-03-01 12:09:53 +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
3b62d5708a
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-02-27 07:42:46 +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
helgeerbe
e9fce49fee
fix lint error
2023-02-25 22:23:05 +01:00
helgeerbe
32342dcd5d
fix voltage threshhold to 2 decimal digits
2023-02-25 22:12:44 +01:00
helgeerbe
17dd9db946
set min target power consumption to 0
2023-02-25 20:17:25 +01:00
helgeerbe
3ed61319ad
fix config read for power consumption
2023-02-25 18:58:41 +01:00
helgeerbe
1e968a1713
Add target for power consumption
2023-02-25 16:28:21 +01:00
helgeerbe
3f3540bd33
print ve.direct rx, tx pins on init
2023-02-25 15:29:00 +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
cd7ece7caf
fix hard coded channel settings
2023-02-24 10:45:59 +01:00
helgeerbe
10f907477d
fix name for inverter id and channel id
2023-02-23 22:41:37 +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
1caeb1d88b
fix logging for out of ressources
2023-02-23 09:46:24 +01:00
helgeerbe
a758d894f6
LiveService if out of ressources close websocket
2023-02-22 15:46:52 +01:00
helgeerbe
0f80a25937
send http 429 "Too Many Requets",
...
if prometheus api is out of resources
2023-02-22 14:13:17 +01:00
helgeerbe
1e7f6b8f0f
first version
2023-02-21 22:06:47 +01:00
helgeerbe
30440472f7
fix lint errors
2023-02-20 21:04:43 +01:00
helgeerbe
f973de4ab6
aktivate prometheus interface
2023-02-20 21:00:07 +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
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
helgeerbe
07f4473a4e
Connect Wifi to strongest AP
...
* do full channel scan
* connect to strongest AP
2023-02-20 10:13:36 +01:00
helgeerbe
09942e8e18
Connect Wifi to strongest AP
...
* do full channel scan
* connect to strongest AP
2023-02-20 09:52:40 +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
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
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
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
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
helgeerbe
6b4129c400
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-10-31 14:37:44 +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
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
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
helgeerbe
3617e9a260
add vedirect to config import / export
2022-10-20 16:59:23 +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
helgeerbe
5de35ee353
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-10-17 10:10:34 +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
helgeerbe
3febc28c78
Merge remote-tracking branch
...
'tbnobody/OpenDTU/master'
2022-10-10 11:08:36 +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
helgeerbe
366e7dc409
Merge remote-tracking branch
...
'tbnobody/OpenDTU/master'
2022-10-07 10:32:51 +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
helgeerbe
25285b10ee
fix cpplint errors
2022-10-04 12:00:29 +02:00
helgeerbe
ba3183e10b
Clear map for recieved key, value pairs
2022-10-04 11:34:30 +02:00
Thomas Basler
66453b0854
Return correct formatted HwVersion
2022-10-03 13:58:50 +02:00
helgeerbe
df7c821bd4
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-10-03 13:34:05 +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
helgeerbe
4b02426ab2
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-09-26 09:38:14 +02:00
Thomas Basler
290932519c
Fix #160 : Increase output buffer for inverter list
2022-09-24 10:28:05 +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
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
helgeerbe
e6b2be6fdf
Change WebSocketMessageBuffer to String
2022-09-19 10:58:56 +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
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
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
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
helgeerbe
723fc96ec5
Merge remote-tracking branch 'tbnobbuody/OpenDTU/master'
2022-08-29 15:55:52 +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
helgeerbe
3e4e1bcea4
Merge remote-tracking branch 'tbnobody/OpenDTU/master'
2022-08-24 15:59:21 +02:00
Thomas Basler
26268479fb
Fix #96 and #95 : Reworked handling of inverter editing
2022-08-24 02:53:34 +02:00
helgeerbe
ece592287c
Add ve.direct live view
2022-08-23 22:55:47 +02:00
helgeerbe
63ddbed359
ve.direct as jason array
2022-08-23 14:42:31 +02:00
helgeerbe
044931c08e
Add LOAD to rest api
2022-08-20 17:18:07 +02:00
helgeerbe
48e5b567cb
frame handler with string and map
2022-08-20 17:06:56 +02:00
helgeerbe
7140574c37
sk
2022-08-19 15:53:18 +02:00
helgeerbe
f78561cef7
remove # from serial
2022-08-17 16:25:10 +02:00
helgeerbe
82c5fbcf46
fix order in json
2022-08-17 13:41:19 +02:00
helgeerbe
865c9cdac5
Merge branch 'master' into ve.direct
2022-08-17 12:25:07 +02:00
helgeerbe
25094ae5b6
last update is now set after poll full frame
2022-08-17 12:15:12 +02:00