Commit Graph

73 Commits

Author SHA1 Message Date
Thomas Basler
ee339fa9bd Use Parser class in Statistics and Alarm parser 2022-08-10 19:03:02 +02:00
Thomas Basler
8715320282 Implemented DevInfo command 2022-08-10 19:03:02 +02:00
Thomas Basler
ef5d549f8a Fix exception when deleting a inverter 2022-08-09 21:46:40 +02:00
Thomas Basler
6c088a9898 Implemented channel hopping on TX frequencies
Every sent package changes the frequency
2022-08-04 20:10:44 +02:00
Thomas Basler
4ff6433b90 Added first empty classes for DevControl and ParaSet 2022-08-03 20:36:35 +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
081b19f9fb Allow fragments without payload
This is required for several DevControl commands
2022-08-03 19:13:31 +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
a73707380f RequestFrameCommand can now be configured individually for each command
If the return value equals nullptr, a retransmit is not performed
2022-08-02 21:14:41 +02:00
Thomas Basler
c35f12c7be Fixed CRC calculation 2022-07-30 12:50:07 +02:00
Thomas Basler
0d26337575 Fixed retransmit count 2022-07-30 11:59:01 +02:00
Thomas Basler
442b27e859 Fixed assignment of router and target address 2022-07-30 11:10:04 +02:00
Thomas Basler
4413b603e3 Replace inverter_transaction with new command classes 2022-07-30 00:37:54 +02:00
Thomas Basler
4daa121663 Added several classes to encapsulate the packet generation 2022-07-29 23:31:28 +02:00
Thomas Basler
b2e41a1cfd Fix #37: Typo in statistics name (will lead to incompatible mqtt topic) 2022-07-24 12:38:00 +02:00
Thomas Basler
0fed0ba614 Update AlarmLogParser
* Show times > 12:00:00
* Fixed parsing of StartTime
2022-07-19 21:17:15 +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
c6499e09bd Ignore fragment number zero. Should fix #29
It seems that some inverters send packages with fragment number zero and a valid CRC. Must ignore such packets!
2022-07-15 22:37:42 +02:00
Thomas Basler
4373ee651f Added YieldTotal and YieldDaily to 1 channel inverters to CH0 2022-07-15 18:49:17 +02:00
Thomas Basler
05c478d1f2 Added several guards and error messages
Try to prevent heap corruptions
2022-07-14 18:54:53 +02:00
Thomas Basler
e057ed3ed7 Fixed issue that no data in live view where shown
Happend only for inverters which didn't answer any request
2022-07-12 21:21:04 +02:00
Thomas Basler
4259df9ee6 Hoymiles Lib: Allow configuration of all pins 2022-07-12 18:42:52 +02:00
Thomas Basler
5bb9acdbc6 Refactored Hoymiles Lib: Move statistics parser into separate class 2022-07-12 18:27:56 +02:00
Thomas Basler
d9ecb64a4d Only add timezone offset if value > 0 2022-07-08 18:22:35 +02:00
Thomas Basler
f7eb54fa41 First version of webapi for event log 2022-07-08 18:22:35 +02:00
Thomas Basler
b9bb753906 First try to implement Alarm Log fetching 2022-07-08 18:22:35 +02:00
Thomas Basler
4f2d705314 Added possibility to override pin assignments 2022-07-08 18:20:36 +02:00
Thomas Basler
dfdf8d9054 Added event log count to 1 channel invterers 2022-07-08 18:08:56 +02:00
Thomas Basler
56f764d10f Fixed queue handling and added event log count 2022-07-04 19:36:58 +02:00
Thomas Basler
0f75c4a6a4 Introduced some pin defines 2022-07-02 11:58:31 +02:00
Thomas Basler
839720ee8a Fix compilation warning
warning: backslash-newline at end of file
2022-07-01 17:46:51 +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
b2271373a4 Print inverter serial as hex 2022-06-30 21:06:23 +02:00
Thomas Basler
54b7673f1a Replace magic numbers by some constants 2022-06-30 18:58:55 +02:00
Thomas Basler
e9e5c715f5 Remove duplicated variable
The content of _activeSerial is also available in currentTransaction.target
2022-06-27 21:56:55 +02:00
Thomas Basler
65fb13fa41 Better detection of invalid dates (no NTP sync) 2022-06-27 21:06:54 +02:00
Thomas Basler
10de26bcb8 Better handling of rerequest of complete packets 2022-06-27 19:37:03 +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
7a0394151a First implementation of TX queue
This is required to implement some features of e.g. MI Inverters or to read the event log of HM inverters
2022-06-27 19:09:52 +02:00
Thomas Basler
96ef182d38 Fixed issue with irradiation calculation
getChannelMaxPower is zero based while the first string is 1 based on getChannelFieldData
2022-06-25 11:13:25 +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
Thomas Basler
92c95c118a Fix issue with uninitialized payload
Gave bad values in web ui when no inverter was reachable
2022-06-22 21:52:34 +02:00
Thomas Basler
f42696d14c Fix change of inverter serial
Because of the inverter type depends on the serial number it's a must to remove and add the inverter of the serial was changed. setSerial doesn't make sense anymore. Move the serial to the constructor
2022-06-22 21:32:37 +02:00
Thomas Basler
746aa087ac Set MaxChannel Power on startup and in webapi 2022-06-22 21:12:45 +02:00
Thomas Basler
8d2b71cd04 Implemented resend of whole requests 2022-06-20 20:47:21 +02:00
Thomas Basler
5221c80d36 Added channel 40 to RX channel list 2022-06-19 12:53:33 +02:00
Thomas Basler
865d00d3d0 Code cleanup 2022-06-18 12:26:37 +02:00