helgeerbe
13b318690d
fix: linting errors
2023-05-23 10:24:06 +02:00
helgeerbe
47f81f2579
breaking change: Reduce maximum number of invertes to 5 to keep livedata working
...
livedata json is now calculated as 4096 * MaxInvertes
2023-05-23 10:15:37 +02:00
helgeerbe
b7ac70b1ca
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-05-23 09:19:57 +02:00
Thomas Basler
40820c07f2
Use the new data store in the graphic display class.
...
With this patch, the display turns off if no inverter is reachable anymore. Previously it turned off if the production was zero.
This fixes #933
2023-05-21 22:40:32 +02:00
Thomas Basler
cd98941c5d
Implement global data store to handle all invert total values
...
Use the new values in the LED, MQTT and Web interface.
2023-05-21 22:37:33 +02:00
helgeerbe
1c7b7d3cdf
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-05-10 18:16:25 +02:00
Thomas Basler
efcbd81927
Feature: Add used PIO environment to the system info page
2023-05-08 21:43:50 +02:00
MalteSchm
065c169b20
Set initial PL state in init() to avoid inverter shutdown on reboot... ( #224 )
2023-05-08 13:25:02 +02:00
helgeerbe
178d40d5b4
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-05-04 20:24:29 +02:00
Thomas Basler
65b728eebb
Fix: No OpenDTU startup of CDC (like Pico or ESP32-S3) devices if no usb host is connected
...
Should also fix #826
2023-05-03 21:16:27 +02:00
MalteSchm
569edbe69e
static casts set last requested limit for all cases where inverter power is changed ( #213 )
2023-05-01 21:20:49 +02:00
helgeerbe
8021052cfd
PL remove debug messages
2023-04-29 22:53:50 +02:00
helgeerbe
e5af5be70a
remove comment
2023-04-29 21:53:05 +02:00
MalteSchm
db4125ae7a
debug printouts, removed unnecessary check causing inverter to toggle
2023-04-29 14:28:24 +02:00
helgeerbe
dae4c6fbf5
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-04-28 22:38:39 +02:00
Markus Krause
a56d5adb77
fix SPI assignment across generations
2023-04-28 21:26:22 +02:00
Thomas Basler
3504884836
Fix: xSemaphoreTake was useless
...
There was no check of the return value implemented therefore xSemaphoreTake was just executed and not locked
2023-04-28 21:02:10 +02:00
helgeerbe
5d4c6866da
fix: ignore MQTT messages for disabled components #203 ( #204 )
2023-04-28 19:26:58 +02:00
MalteSchm
c621f2d3e3
Power limiter fixes ( #201 )
2023-04-28 13:59:18 +02:00
MalteSchm
70060559da
Bring back the sun indicator ( #195 )
...
* Adding states to display in UI
* Adding states to display in UI
2023-04-27 19:10:12 +02:00
MalteSchm
6b437b5ea1
Inverter toggle fix ( #196 )
...
* updating the interface to calcPowerLimit to include both energy sources
* Fixing definition
2023-04-27 19:09:48 +02:00
helgeerbe
c337df605c
Merge branch 'pr/MalteSchm/172' into development
2023-04-26 12:37:31 +02:00
helgeerbe
e91935ab38
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-04-26 11:47:19 +02:00
helgeerbe
37b5edb010
Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
2023-04-25 18:51:18 +02:00
Thomas Basler
5996fb0edf
Fix: MQTT topics ac/yieldday and ac/yieldtotal are swapped
...
Fix #843
2023-04-25 18:43:56 +02:00
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