helgeerbe
71dda4b89c
Merge branch 'pr/qubeck/156' into development
2023-04-25 18:39:02 +02:00
MalteSchm
0a0488f73a
refactored use solar power code
2023-04-25 12:03:41 +02:00
MalteSchm
322f532ac0
Proper handling of use solar power only case
2023-04-25 10:41:35 +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
MalteSchm
3861ab89f1
WebApi update to include power values
2023-04-23 18:49:32 +02:00
helgeerbe
75a59f5d1d
Merge pull request #175 from MalteSchm:huawei_spi_interface_fix
...
Changing Huawei SPI interface
2023-04-23 18:32:36 +02:00
MalteSchm
8c9afbcdc0
fix an issue if inverter is behind power meter
2023-04-23 11:30:08 +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
helgeerbe
38b990fbbc
Fix: PowerLimiter is now casted to signed int to allow negativ values.
2023-04-20 20:02:59 +02:00
helgeerbe
a1b3bdfee8
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-04-18 12:09:22 +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
helgeerbe
40cee1f9ca
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-04-17 11:08:55 +02:00
MalteSchm
3504924bb0
Changing SPI interface
2023-04-16 18:34:09 +02:00
MalteSchm
4ddaa7643b
make sure that PL is enabled if user uses webinterface
2023-04-16 18:30:21 +02:00
MalteSchm
a306bc1351
Bugfix for Mqtt enable / disable (was float, uses int now)
2023-04-16 18:28:09 +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
helgeerbe
1dc73f91ee
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-04-13 10:18:49 +02:00
MalteSchm
690025e5fd
fixing a bug from merging and remove a leftover debug message
2023-04-13 10:06:06 +02:00
MalteSchm
be7a43fbfb
Removing un-necessary timestamp, commenting code and cleanups
2023-04-13 09:47:12 +02:00
MalteSchm
01849dc90a
adding Mqtt handling to main.cpp
2023-04-13 09:47:10 +02:00
MalteSchm
ee376827fd
merging functionality from PL refactor
2023-04-13 09:47:07 +02:00
MalteSchm
9999fa28e8
refactor state machine
...
merging
2023-04-13 09:46:35 +02:00
MalteSchm
ee82c8c9b8
adding option to disable power limiter via mqtt
...
adding option to disable power limiter via mqtt - adding missing file
2023-04-13 09:44:48 +02:00
MalteSchm
9efe076cc2
resolving merge conflict
...
adding missing statement from merge
fixing a bug introduced in merge
2023-04-13 09:39:04 +02:00
MalteSchm
fc5089e70b
resolving merge conflict
2023-04-13 09:36:00 +02:00
qubeck
b79619bf8b
add explicit checks to avoid potential div. by zero on application of artificially increased power limit if channel power becomes zero
2023-04-12 20:44:38 +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
MalteSchm
2d7115e1e8
typo
2023-04-11 18:58:18 +02:00
MalteSchm
f6d0b0997f
typo
2023-04-11 18:57:57 +02:00
berni2288
19b2dd4c7a
PowerMeter: Whitespace and {} fixes
2023-04-07 20:22:35 +02:00
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