OpenDTU-old/include
Bernhard Kirchen 1865113842 Feature: JK BMS Home Assistent integration
* pylontech HA integration: remove unused method/variable

* make MqttHandlePylontechHassClass::publishConfig() private.
  there are no outside users of that method.

* rename to MqttHandleBatteryHass

* battery HA integration: merge methods and bring back forceUpdate().
  even though the forceUpdate() method was not in use before, it makes
  sense to implement it and use it when the battery config changes.
  rather than controlling a separate flag, it now changes the _doPublish
  flag of the class, which also triggers publishing the device config to
  Home Assistant when an MQTT connection problem was detected. since
  both situations are now handled similarly, we can merge the loop() and
  publishConfig() methods.

* battery: provider specific sensors for HA

* move Battery MQTT loop to BatteryStats
  the BatteryStats class should handle the MQTT publishing, including the
  interval. for the calculation of a reasonable Home Assistent expiration
  value this class now also knows the maximum publish interval.

* JK BMS: fix publishing values for Home Assistent
  Home Assistent values expire, because we set them to expire after three
  MQTT publish durations. for that reason, we need to re-publish all
  values after our self-inflicted full publish interval.

* define JK BMS sensors for Home Assistent

closes #482.
2024-02-05 21:22:07 +01:00
..
Battery.h Feature: JK BMS Home Assistent integration 2024-02-05 21:22:07 +01:00
BatteryStats.h Feature: JK BMS Home Assistent integration 2024-02-05 21:22:07 +01:00
Configuration.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-16 17:39:45 +01:00
Datastore.h Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
defaults.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-16 17:39:45 +01:00
Display_Graphic_Diagram.h Feature: Added fullscreen diagram to display 2024-01-13 11:31:12 +01:00
Display_Graphic.h Feature: Added fullscreen diagram to display 2024-01-13 11:31:12 +01: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 Merge pull request #612 from Fribur:development 2024-01-17 13:26:52 +01:00
Huawei_can.h Reducing lower limit for AC-charger (#574) 2024-01-01 17:06:58 +01:00
InverterSettings.h Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
JkBmsController.h use frozen::string and frozen::map where reasonable (#593) 2024-01-04 23:28:34 +01:00
JkBmsDataPoints.h use frozen::string and frozen::map where reasonable (#593) 2024-01-04 23:28:34 +01:00
JkBmsSerialMessage.h Support for Jikong JK BMS using serial connection (#319) 2023-08-31 16:21:32 +02:00
Led_Single.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
MessageOutput.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01:00
MqttBattery.h Feature: implement MQTT-driven battery provider (#589) 2024-01-04 15:42:10 +01:00
MqttHandleBatteryHass.h Feature: JK BMS Home Assistent integration 2024-02-05 21:22:07 +01:00
MqttHandleDtu.h Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
MqttHandleHass.h Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
MqttHandleHuawei.h clean up Huawei MQTT handler 2023-12-30 18:41:57 +01:00
MqttHandleInverter.h Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
MqttHandleInverterTotal.h Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
MqttHandlePowerLimiter.h Fix: switch context when processing DPL MQTT requests (#572) 2023-12-31 14:49:39 +01:00
MqttHandleVedirect.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
MqttHandleVedirectHass.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
MqttSettings.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
NetworkSettings.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
NtpSettings.h Cleanup includes 2022-12-14 22:13:03 +01:00
PinMapping.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-12-27 13:11:25 +01:00
PowerLimiter.h use frozen::string and frozen::map where reasonable (#593) 2024-01-04 23:28:34 +01:00
PowerMeter.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
PylontechCanReceiver.h Support for Jikong JK BMS using serial connection (#319) 2023-08-31 16:21:32 +02:00
README Initial commit 2022-04-09 11:05:14 +02:00
Scheduler.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
SunPosition.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
Utils.h Prevent empty HASS auto discovery topics if memory allocation fails 2024-01-05 21:55:15 +01:00
VictronMppt.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
VictronSmartShunt.h avoid too frequent SmartShunt data copies (#596) 2024-01-07 18:30:02 +01:00
WebApi_battery.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01:00
WebApi_config.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_device.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_devinfo.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_dtu.h Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
WebApi_errors.h Feature: Support HMS/HMT inverters in different countries with different frequency bands 2024-01-14 16:37:34 +01:00
WebApi_eventlog.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_firmware.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_gridprofile.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_Huawei.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01:00
WebApi_inverter.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_limit.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_maintenance.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_mqtt.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_network.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_ntp.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_power.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_powerlimiter.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01:00
WebApi_powermeter.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01:00
WebApi_prometheus.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_security.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_sysstatus.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_vedirect.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01:00
WebApi_webapp.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_ws_battery.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01:00
WebApi_ws_console.h Migrate WebApi loop() methods to scheduler tasks 2024-01-20 02:00:22 +01:00
WebApi_ws_Huawei.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01:00
WebApi_ws_live.h Remove unused function parameter 2024-01-20 23:12:59 +01:00
WebApi_ws_vedirect_live.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01:00
WebApi.h Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01: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