OpenDTU-old/include
Bernhard Kirchen f3297930b5
DPL: account for solar passthrough losses (#307)
* fix another fixable "passtrough" typo

the typo in the config's identifier is not changed to preserve
compatibility while not spending the effort to migrate the setting.

* webapp language: prefer SoC over SOC

* DPL: implement solar passthrough loss factor

in (full) solar passthrough mode, the inverter output power is coupled
to the charge controler output power. the inverter efficiency is already
accounted for. however, the battery might still be slowly discharged for
two reasons: (1) line losses are not accounted for and (2) the inverter
outputs a little bit more than permitted by the power limit.

this is undesirable since the battery is significantly drained if solar
passthrough is active for a longer period of time. also, when using full
solar passthrough and a battery communication interface, the SoC will
slowly degrade to a value below the threshold value for full solar
passthrough. this makes the system switch from charging the battery
(potentially rapidly) to discharging the battery slowly. this switch
might happen in rather fast succession. that's effectively
trickle-charging the battery.

instead, this new factor helps to account for line losses between the
solar charge controller and the inverter, such that the battery is
actually not involved in solar passthrough. the value can be increased
until it is observed that the battery is not discharging when solar
passthrough is active.
2023-07-12 13:20:37 +02:00
..
Battery.h Show (Pylontech) battery infos in Live View 2023-04-02 20:58:28 +02:00
Configuration.h DPL: account for solar passthrough losses (#307) 2023-07-12 13:20:37 +02:00
Datastore.h Fix: Prevent partly calculated total data in web ui and display 2023-05-30 22:10:27 +02:00
defaults.h DPL: account for solar passthrough losses (#307) 2023-07-12 13:20:37 +02:00
Display_Graphic.h Feature: Added localization setting to display 2023-05-23 18:25:12 +02:00
helper.h Change License to GPLv2 as the RF24 lib uses GPL-2.0-only 2022-07-15 18:05:58 +02:00
HttpPowerMeter.h feature: add digest auth on power meter 2023-07-04 11:54:46 +02:00
Huawei_can.h Dynamic power control and more power control modes on the Huawei PSU 2023-07-01 12:37:55 +02:00
InverterSettings.h Added settings to pause polling/sending commands in general and at night 2023-02-18 19:44:16 +01:00
Led_Single.h Status LED's: Implemented 2023-04-05 11:56:59 +02:00
MessageOutput.h Implemented class to send debug output to uart as well as to websocket 2022-12-19 21:38:39 +01:00
MqttHandleDtu.h Cleanup includes 2022-12-14 22:13:03 +01:00
MqttHandleHass.h Rename FLD_PRA to FLD_Q 2023-04-24 22:29:59 +02:00
MqttHandleHuawei.h Adding Huawei CAN interface, web-api, websocket and Mqtt extensions to access the data 2023-03-24 10:03:22 +01:00
MqttHandleInverter.h Rename FLD_PRA to FLD_Q 2023-04-24 22:29:59 +02:00
MqttHandleInverterTotal.h Feature: Implemented MQTT publishing of total values 2023-04-24 18:51:30 +02:00
MqttHandlePowerLimiter.h adding option to disable power limiter via mqtt 2023-04-13 09:44:48 +02:00
MqttHandleVedirect.h fix: Home Assistant MQTT-Auto-Discovery with VE.Direct (#297) 2023-07-09 17:08:50 +02:00
MqttHandleVedirectHass.h Add Hass sensors Battery voltage and Current 2023-02-07 16:51:30 +01:00
MqttSettings.h Cleanup includes 2022-12-14 22:13:03 +01:00
NetworkSettings.h Cleanup includes 2022-12-14 22:13:03 +01:00
NtpSettings.h Cleanup includes 2022-12-14 22:13:03 +01:00
PinMapping.h fix: undefined pin is shown as -1 instead of 255 2023-06-29 13:02:38 +02:00
PowerLimiter.h DPL: check more requirements and fix backoff initialization (#290) 2023-07-04 12:05:10 +02:00
PowerMeter.h feat(add ability to do a polite power meter read): 2023-06-14 16:21:58 +02:00
PylontechCanReceiver.h Pylontech enhancement (#239) 2023-05-24 09:17:38 +02:00
README Initial commit 2022-04-09 11:05:14 +02:00
SunPosition.h Fix: If no sunset/sunrise calculation is possible a wrong value is shown 2023-06-01 18:39:50 +02:00
Utils.h Added methods to calculate and show sunrise and sunset times 2023-02-18 18:15:48 +01:00
WebApi_battery.h initial merge of power_limiter * missing is inverter and channel setting in gui 2023-02-20 15:56:02 +01:00
WebApi_config.h webapp: Allow download of individual config files 2023-01-05 01:44:38 +01:00
WebApi_device.h Added Device Profiles 2023-01-16 21:09:24 +01:00
WebApi_devinfo.h Added small dialog to show inverter info (firmware version etc.) 2022-08-11 16:42:50 +02:00
WebApi_dtu.h Change License to GPLv2 as the RF24 lib uses GPL-2.0-only 2022-07-15 18:05:58 +02:00
WebApi_errors.h Feature: Allow reordering of the inverters in the live view 2023-05-29 20:17:07 +02:00
WebApi_eventlog.h Change License to GPLv2 as the RF24 lib uses GPL-2.0-only 2022-07-15 18:05:58 +02:00
WebApi_firmware.h Change License to GPLv2 as the RF24 lib uses GPL-2.0-only 2022-07-15 18:05:58 +02:00
WebApi_Huawei.h Adding enable/disable option and pin to control a switch/relais to power the Huawei PSU 2023-03-26 11:00:37 +02:00
WebApi_inverter.h Feature: Allow reordering of the inverters in the live view 2023-05-29 20:17:07 +02:00
WebApi_limit.h Added web api to set limit 2022-09-30 18:34:30 +02:00
WebApi_maintenance.h Added device reboot functionality 2022-11-21 23:29:57 +01:00
WebApi_mqtt.h src/WebApi_mqtt.cpp: rename function getRootCaCertInfo 2023-04-12 08:47:24 +02:00
WebApi_network.h Change License to GPLv2 as the RF24 lib uses GPL-2.0-only 2022-07-15 18:05:58 +02:00
WebApi_ntp.h Added API to set and get the current time 2022-09-20 19:44:24 +02:00
WebApi_power.h Implemented WebAPI to get status of last power command 2022-10-04 18:48:21 +02:00
WebApi_powerlimiter.h initial merge of power_limiter * missing is inverter and channel setting in gui 2023-02-20 15:56:02 +01:00
WebApi_powermeter.h New Power meter support: HTTP(S) + JSON (Shelly 3EM, Tasmota, Volkszähler etc.) (#153) 2023-04-03 21:36:20 +02:00
WebApi_prometheus.h Rename FLD_PRA to FLD_Q 2023-04-24 22:29:59 +02:00
WebApi_Pylontech.h Show (Pylontech) battery infos in Live View 2023-04-02 20:58:28 +02:00
WebApi_security.h Introduce configuration option to decide wether the web ui is accessable without password or not 2022-11-22 23:32:52 +01:00
WebApi_sysstatus.h Change License to GPLv2 as the RF24 lib uses GPL-2.0-only 2022-07-15 18:05:58 +02:00
WebApi_vedirect.h Password protection for vedirect settings API 2022-11-19 14:34:59 +01:00
WebApi_webapp.h Change License to GPLv2 as the RF24 lib uses GPL-2.0-only 2022-07-15 18:05:58 +02:00
WebApi_ws_console.h Added websocket for debug output 2022-12-19 21:38:39 +01:00
WebApi_ws_Huawei.h Adding Huawei CAN interface, web-api, websocket and Mqtt extensions to access the data 2023-03-24 10:03:22 +01:00
WebApi_ws_live.h BREAKING CHANGE: Prometheus API! 2023-02-06 19:51:10 +01:00
WebApi_ws_Pylontech.h Show (Pylontech) battery infos in Live View 2023-04-02 20:58:28 +02:00
WebApi_ws_vedirect_live.h fix cpplint errors 2022-10-04 12:00:29 +02:00
WebApi.h Show (Pylontech) battery infos in Live View 2023-04-02 20:58:28 +02:00

This directory is intended for project header files.

A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.

```src/main.c

#include "header.h"

int main (void)
{
 ...
}
```

Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.

In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.

Read more about using header files in official GCC documentation:

* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes

https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html