Thomas Basler
fe90c863bf
Fix: Better handling of invalid fragment ids
2023-05-23 19:32:51 +02:00
Thomas Basler
98da2b64e2
Rename FLD_PRA to FLD_Q
2023-04-24 22:29:59 +02:00
Thomas Basler
270a7f4933
Rename UNIT_VA to UNIT_VAR
2023-04-24 22:25:15 +02:00
Thomas Basler
f5c15a445b
Move byteAssignment to stack (avoid container) to save heap
2023-04-22 01:12:29 +02:00
Thomas Basler
7c37d289c0
Enabled additional statistics data for HMT inverters
...
Not yet shown in web ui and mqtt
2023-04-15 10:55:48 +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
67055276ca
Implement different Eventlog messages for HMT inverters
...
Also make message list much more readable
2023-04-15 10:55:47 +02:00
Thomas Basler
dc91929d6e
First rough implementation of HMT inverters
2023-04-15 10:55:47 +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
c2e4c5d43e
Added first implementation of HMS inverter classes
2023-04-15 10:55:47 +02:00
Thomas Basler
d6028cbd50
Remove not required F() macro. Frees ~20kb flash.
2023-04-04 18:51:18 +02:00
Thomas Basler
041249523e
Fixed typo in comment
2023-03-28 22:41:27 +02:00
Thomas Basler
fa3d0370f0
Fix isReachable and isProducing based on PollEnabled
2023-02-18 23:50:16 +01: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
d4c838a16e
BREAKING CHANGE: Prometheus API!
...
Added additional field to the prometheus api which identifies a channel by it's type. That means that e.g. channel 0 exists for type AC and DC.
This commit also introduces a additional field in the statistics byte assignment table. This field identifies whether a channel is on the AC or DC side. MQTT and WebAPI is still compatible with the previous design.
2023-02-06 19:51:10 +01:00
Thomas Basler
6b36369b06
Hoymiles Lib: Migrate byteAssign array to std::list
2023-02-06 19:44:00 +01:00
Thomas Basler
7c33688167
Use same line ending in printf as in println
...
This prevents mistakes in the webconsole
2023-01-04 18:48:33 +01:00
Thomas Basler
43d25dd24a
Hoymiles Lib: Change field order and move channel to first position
2022-12-25 12:02:11 +01:00
Thomas Basler
1d650b59ae
Hoymiles Lib: Add digits column to byteAssignment table
...
This allows to specify amount of digits for calculated fields
2022-12-25 12:02:11 +01:00
Thomas Basler
f689fedf4e
Hoymiles Lib: Remove hard coded Serial output
...
The serial port for output of debug information can now changed during runtime
2022-12-19 20:52:12 +01:00
Thomas Basler
5feefed14e
Added missing copyright information
2022-12-14 22:37:37 +01:00
Thomas Basler
dd7babb448
Added a timeout of 5ms to detect current time.
...
This prevents false positives when a interrupt occours during the reading of the time
2022-11-14 20:19:38 +01:00
Thomas Basler
27ed4e3cda
BREAKING: Change power factor from percent value to value between 0 and 1
...
If you write these values to a database you have to update them.
2022-10-31 10:50:31 +01:00
Thomas Basler
f2a08ba503
Rename FLD_PCT to FLD_PF and assign UNIT_NONE
2022-10-31 00:43:07 +01:00
Thomas Basler
f741fea333
Move serial number formatting to inverter class
2022-10-29 11:22:56 +02:00
Thomas Basler
f21dd351ef
Optimize performance by removing not required string constructors
2022-10-29 11:22:56 +02:00
Thomas Basler
3ab7d9f6fe
Fix #246 : Allow negative float values
...
This is required for the temperature field which can be negative as well
2022-10-20 18:18:36 +02:00
Thomas Basler
d224db4d1d
Fixed warning: type qualifiers ignored on function return type
2022-10-18 21:42:03 +02:00
Thomas Basler
0a577f8002
Allow a maximum limit of 100 if limit type is relative
2022-10-11 23:28:22 +02:00
Thomas Basler
da0998c809
Implement inverter restart by mqtt topic
2022-10-09 13:16:06 +02:00
Thomas Basler
223b7ff3ce
Adjusted serial parsing to detect model
...
There are some MI-1500 models which are compatible with the Gen3 protocol.
The adjustment takes this into account.
2022-10-08 18:03:56 +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
6cbcfacac6
Renamed several methods from Sample to Simple
2022-10-03 13:14:31 +02:00
Thomas Basler
c8c6b2a978
Renamed DevInfoSample to DevInfoSimple
2022-10-02 17:01:46 +02:00
Thomas Basler
a3d9c6ae0f
Fixed array size of 1 channel inverters
2022-10-02 16:04:02 +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
754913368a
Implemented way to periodically fetch the current limit from the inverter
...
The fetch is only executed at least 4 minutes after the last set command.
Otherwise it would generate a entry in the event log (ID 2)
2022-09-30 18:34:30 +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
a2880cc447
Add RX main command to structure which is passed to handleResponse
...
This is required because the DevControlCommands just set the first byte to define whether the request was successfull or not
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
8e2aa8981f
Fix #170 : Update byte assignment for statistics data
2022-09-28 18:44:59 +02:00
Thomas Basler
68fc0c2547
Extend memory to fetch all eventlog entries
2022-09-25 17:26:48 +02:00
Thomas Basler
950b211fd5
Set getLocalTime timeout to 0 to prevent watchdog triggers
...
This happens especially when no WiFi is configured and the user enters the NTP info page
2022-09-19 20:45:44 +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