OpenDTU-old/include
Bernhard Kirchen e457ab73f9
Fix vedirect polling (#291)
* VE.Direct: remove polling interval

the polling interval was meant to limit the amount of MQTT updates.
however, that is already controlled by the global MQTT publish interval.
the removed interval was instead used to limit polling of the VE.Direct
UART for incoming data.

the Victron device sends data unsolicited. the VeDirectFrameHandler does
not implement any polling mechanism. no data is ever sent to the Victron
device.

what the removed polling interval did was cause a buffer overrun of the
HardwareSerial class, since the incoming data was not processed in time.
so every five seconds, we read a whole valid VE.Direct frame, plus some
old data, which was not a whole frame, leading to VE.Direct error
messages to pop up.

with the polling interval removed, no framing errors are reported, and
instead we gain new data from the charge controller approximately ever
two seconds -- for free.

* VE.Direct: change texts to correct VE.Direct capital letters

* VE.Direct: improve "UpdatesOnly" switch labels

especially since the publish interval setting is gone, the label makes
it hard to comprehend what the switch does. update the texts to better
explain what the switch is used for.

use the same text on the VE.Direct info view.

* VE.Direct: use StatusBadge on info view

there were custom badges to indicate the VE.Direct settings. replace
those by the common StatusBadge to make then look the same as the other
badged on the info views.
2023-07-04 12:04:38 +02:00
..
Battery.h Show (Pylontech) battery infos in Live View 2023-04-02 20:58:28 +02:00
Configuration.h Fix vedirect polling (#291) 2023-07-04 12:04:38 +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 Dynamic power control and more power control modes on the Huawei PSU 2023-07-01 12:37:55 +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 ensure STATE_DISCOVER if PowerLimter is enabled 2023-03-09 10:22:08 +01: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 Dynamic power control and more power control modes on the Huawei PSU 2023-07-01 12:37:55 +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