OpenDTU-old/include
Bernhard Kirchen 13bc943dd5 Feature: Refactor/Simplify DPL settings
this changeset refactors the web application's DPL settings view. the
DPL settings can be complex, and they shall be presented in a way that
allows users to comprehend their meaning. irrelevant settings are now
hidden or displayed dynamically based on the influencing settings.

* group SoC thresholds into their own card

* hide battery SoC thresholds if battery disabled. if the user did not
  even enable the battery interface, battery SoC values will not be used
  for DPL decisions. in that case we completely hide the respective
  settings from the DPL admin view. this reduces the amount of settings
  for new users and especially users who don't even have a battery in
  their setup or have no BMS connected.

* group voltage thresholds and improve label texts

* fix load correction factor unit

* fix header (wording)

* group solar-passthrough settings in new card

* group inverter-related settings

* hide solar passthrough settings if VE.Direct is disabled. closes #662.

* completely disable form if any requirement is not met

* list available inverters by name and type. this makes it much more
  convenient to select the right inverter, especially since the order of
  the inverters in the web UI is decoupled from their position in the
  internal array, which was used to select them previously. care was
  taken that old configs select the same inverter after an update.
  when editing the DPL settings, the selects an inverter from the newly
  created drow-down list, and the respective old inverter is
  pre-selected.

* disable form if no inverter is configured (config alert)

* make inverter input selection dynamic. adjust selection to actual
  amount of channels for selected inverter. skip selection altogether if
  inverter has only one channel, or if it is solar powered.

* web app: wording adjustments

* group meta data into new property and exclude from submission. saves
  memory when evaluating the submitted settings.

* hide irrelevant settings if inverter is solar-powered

* move restart hour setting to inverter card. translate setting which
  disabled automatic restart.

* simplify "drain strategy" setting into an on/off toggle. care was
  taken that existing configs work the same after an upgrade. the
  respective drain strategy is translated into the new setting when
  reading the config. once the config is written, the new setting is
  persisted and the old is not part of the config any more.

* show more configuration hints, depending on actual configuration

* replace inputs by InputElement components where possible
2024-03-17 16:50:57 +01:00
..
Battery.h polish support for second VE.Direct MPPT charge controller 2024-03-17 16:50:15 +01:00
BatteryStats.h implement Battery::needsCharging() 2024-03-13 17:07:05 +01:00
Configuration.h Feature: Refactor/Simplify DPL settings 2024-03-17 16:50:57 +01:00
Datastore.h Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
defaults.h Feature: Refactor/Simplify DPL settings 2024-03-17 16:50:57 +01:00
Display_Graphic_Diagram.h Feature: Added fullscreen diagram to display 2024-01-13 11:31:12 +01:00
Display_Graphic.h Feature: Add support for ST7567 GM12864I-59N Display 2024-01-26 16:05:56 +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 polish support for second VE.Direct MPPT charge controller 2024-03-17 16:50:15 +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 polish support for second VE.Direct MPPT charge controller 2024-03-17 16:50:15 +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 Feature: Set powerlimiter thresholds via MQTT 2024-03-10 22:10:02 +01:00
MqttHandlePowerLimiterHass.h Feature: Set powerlimiter thresholds via MQTT 2024-03-10 22:10:02 +01:00
MqttHandleVedirect.h Feature: Support for second Victron MPPT charge controller 2024-03-17 16:50:15 +01:00
MqttHandleVedirectHass.h Feature: Support for second Victron MPPT charge controller 2024-03-17 16:50:15 +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 Feature: Support for second Victron MPPT charge controller 2024-03-17 16:50:15 +01:00
PowerLimiter.h Feature: DPL: explicit support for solar powered inverters 2024-03-09 15:40:13 +01:00
PowerMeter.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
PylontechCanReceiver.h polish support for second VE.Direct MPPT charge controller 2024-03-17 16:50:15 +01: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
SerialPortManager.h polish support for second VE.Direct MPPT charge controller 2024-03-17 16:50:15 +01:00
SunPosition.h merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
Utils.h Remove all files but the pin_mapping.json from filesystem on factory reset 2024-01-30 22:29:12 +01:00
VictronMppt.h polish support for second VE.Direct MPPT charge controller 2024-03-17 16:50:15 +01:00
VictronSmartShunt.h polish support for second VE.Direct MPPT charge controller 2024-03-17 16:50:15 +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 Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_device.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_devinfo.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_dtu.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +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 Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_firmware.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_gridprofile.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +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 Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_limit.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_maintenance.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_mqtt.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_network.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_ntp.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_power.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +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 Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_security.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_sysstatus.h Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +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 Merge branch 'pr1642' into dev 2024-01-30 20:47:45 +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 Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +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 Feature: live view: update with respective frequency 2024-03-05 11:31:44 +01:00
WebApi_ws_vedirect_live.h polish support for second VE.Direct MPPT charge controller 2024-03-17 16:50:15 +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