Commit Graph

58 Commits

Author SHA1 Message Date
vaterlangen
cf4a59c740 Feature: DPL: support overscaling on all inverters (#1286)
this change allows to support overscaling for all inverters, as the configuration of
inputs (which one is part of a particular MPPT) is now provided from withing the
code. this information is used to implement overscaling for any of the inverters
(which are generally compatible with OpenDTU(-OnBattery)).
2024-11-17 21:43:27 +01:00
Thomas Basler
2659204d96 Initialize the last rssi value with -127 instead of 0 to indicate a non existing connection of no data was received yet 2024-10-06 11:08:10 +02:00
Thomas Basler
edfe06e31e Feature: Show RSSI of last received packet in radio stats
The value is also published via MQTT
2024-10-04 17:36:17 +02:00
Thomas Basler
0c012bf62a Move inverter housekeeping tasks inside the InverterAbstract class 2024-09-23 22:08:53 +02:00
Thomas Basler
a54b19bf5b Feature: Inverter radio statistics (rx/tx statistics)
The  statistics are shown in the WebApp and published via MQTT.
Statistics are reset at midnight.
2024-09-22 18:51:07 +02:00
Thomas Basler
6e607f7f67 Feature: Add option to clear eventlog at midnight 2024-05-31 00:07:28 +02:00
Thomas Basler
e95afbf2cc Use references instead of pointers whenver possible 2023-12-12 13:26:07 +01:00
Thomas Basler
8fb43fedf8 Add const keyword to methods 2023-12-12 01:30:40 +01:00
Thomas Basler
d6494fa791 Add const keyword to method parameters 2023-12-12 00:21:14 +01:00
Thomas Basler
9ac6dd6e8d Feature: First very basic support to read the grid profile
The parser is still missing and requires community support to collect data.
2023-09-07 22:08:07 +02:00
Thomas Basler
ec9af886d5 Feature: Added option to set daily yield to zero at midnight 2023-09-05 20:27:52 +02:00
Thomas Basler
6127fbe940 Feature: Added option to set runtime values to zero when inverter becames unreachable 2023-09-02 12:22:22 +02:00
Thomas Basler
2c41be106e Feature: Allow setting of the Reachable Threshold per inverter 2023-09-01 19:17:12 +02:00
Thomas Basler
f5c15a445b Move byteAssignment to stack (avoid container) to save heap 2023-04-22 01:12:29 +02:00
Thomas Basler
ac7b5dba11 Resend and Retransmit count is now implementable per command 2023-04-15 10:55:48 +02:00
Thomas Basler
f5767e61ef Implement CMD56 as own command.
By doing so, it's possible to send all packets via the sendEsbPacket method. A lot of stuff could be removed which is no more used.
2023-04-15 10:55:48 +02:00
Thomas Basler
45882543b6 Allow dynamic pin mapping for CMT module 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
Thomas Basler
7da782c4ef Hoymiles Lib: Added flags to inverter to enable/disable polling and commands to the inverter 2023-02-18 15:51:46 +01:00
Thomas Basler
6b36369b06 Hoymiles Lib: Migrate byteAssign array to std::list 2023-02-06 19:44:00 +01:00
Thomas Basler
5feefed14e Added missing copyright information 2022-12-14 22:37:37 +01:00
Thomas Basler
f741fea333 Move serial number formatting to inverter class 2022-10-29 11:22:56 +02:00
Thomas Basler
d224db4d1d Fixed warning: type qualifiers ignored on function return type 2022-10-18 21:42:03 +02:00
Thomas Basler
da0998c809 Implement inverter restart by mqtt topic 2022-10-09 13:16:06 +02:00
Thomas Basler
4031b71d7d Implemented resend of PowerCommand 2022-10-04 18:12:55 +02:00
Thomas Basler
0fd714b165 Implemented first few classes for power control
TurnOn and TurnOff
2022-10-04 18:12:55 +02:00
Thomas Basler
862b65e844 Added method to detect whether an inverter is reachable 2022-10-01 02:16:47 +02:00
Thomas Basler
a261eb838c Added method to detect whether a inverter is producing 2022-10-01 02:00:56 +02:00
Thomas Basler
3153ee4993 Implemented getTimeout method in AlarmDataCommand 2022-09-30 18:34:30 +02:00
Thomas Basler
a707ab501d Implemented method to check whether the last command was successfull
This also allows to retransmit the command after specific time if not successfull
2022-09-30 18:34:30 +02:00
Thomas Basler
2376da1722 Create function to set ActivePower on inverter level 2022-09-30 18:34:30 +02:00
Thomas Basler
68fc0c2547 Extend memory to fetch all eventlog entries 2022-09-25 17:26:48 +02:00
Thomas Basler
088ba58827 Mark Single-parameter constructors explicit 2022-09-13 22:50:33 +02:00
Thomas Basler
3e5fb00248 Fetch inverter limit at least once 2022-09-09 18:41:54 +02:00
Thomas Basler
c28a532bf1 Added base classes for SystemConfigPara 2022-09-09 18:41:07 +02:00
Thomas Basler
185fea987d Added some initializations to prevent missunderstandings and errors 2022-09-05 21:53:50 +02:00
Thomas Basler
8715320282 Implemented DevInfo command 2022-08-10 19:03:02 +02:00
Thomas Basler
037f7b9caf Move CRC check of multidata command from InverterAbstract to MultiDataCommand class 2022-08-03 19:51:10 +02:00
Thomas Basler
3abc7d7e3d Increase max receiveable packages to 12
* Required for large eventlogs
2022-08-03 19:21:52 +02:00
Thomas Basler
857e4a3671 Remove RequestType and place handling of response in the command class 2022-08-03 18:50:34 +02:00
Thomas Basler
dcc7e47b19 Hoymiles: Introduce init method to have a clean init on beginning
Constructor is not possible for obvious reasons
2022-07-18 21:30:12 +02:00
Thomas Basler
5bb9acdbc6 Refactored Hoymiles Lib: Move statistics parser into separate class 2022-07-12 18:27:56 +02:00
Thomas Basler
b9bb753906 First try to implement Alarm Log fetching 2022-07-08 18:22:35 +02:00
Thomas Basler
56f764d10f Fixed queue handling and added event log count 2022-07-04 19:36:58 +02:00
Thomas Basler
c4e911cecf Add very simple method differ between requests
The last request is required to use the right parser for the received payload as the package type is not encoded in the received data
2022-06-30 21:14:58 +02:00
Thomas Basler
54b7673f1a Replace magic numbers by some constants 2022-06-30 18:58:55 +02:00
Thomas Basler
ab6261da92 Move the whole stats request into the inverter class
This enables in future releases so send multiple requests for e.g. MI inverters
2022-06-27 19:26:16 +02:00
Thomas Basler
bce3fc78e8 Renamed field names which are used for mqtt and web ui 2022-06-24 18:03:44 +02:00
Thomas Basler
2de865037c Renamed functions
getValue --> getChannelFieldValue
hasValue --> hasChannelFieldValue
getUnit --> getChannelFieldUnit
getName --> getChannelFieldName
2022-06-24 17:53:37 +02:00
Thomas Basler
db0a3da803 Generate a second class abstraction to support different inverter types in future 2022-06-24 17:49:14 +02:00