Thomas Basler
c37397acca
Fix lint errors
2024-12-30 00:16:14 +01:00
Thomas Basler
5265c6281f
Feature: Set Limit transfer only to "OK" if the queue does not contain any more commands
2024-12-15 20:45:32 +01:00
Thomas Basler
8acae28c59
Feature: New handling of command queue
...
Goal of this change is to prevent a overflow in the command queue by flooding it with MQTT commands and therefor also prevent the reading of the inverter data.
To achieve this it is now possible to specify a insert type for each queue element.
2024-12-15 20:45:32 +01:00
Thomas Basler
8e26ef4e2e
Fix: Only count RF RX packets when packets where sent
...
This mainly occours after a reset of the statistics that receive count is higher then transmit count
2024-09-26 17:45:34 +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
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
47e905bcfc
Add const statement to several variables
2023-12-11 19:54:57 +01:00
Thomas Basler
8b5d406a4f
Introduce several const statements
2023-12-07 15:19:04 +01:00
Thomas Basler
832df5a80e
Implement the command queue thread safe
...
The queue will be maybe filled from within another thread (mqtt/web) and handled from the main loop
2023-08-03 00:17:32 +02:00
Thomas Basler
82b0272ceb
Removed duplicate code by moving it into the radio base class
2023-06-03 12:07:46 +02:00
Thomas Basler
0441bbbe72
Fix: Queue consumed whole memory on inverter timeout
...
When the poll interval was e.g. 1sec it was possible that the queue ran full and consumed the whole memory.
Now new entries are only added to the queue automatically if the queue is empty. This issue also caused a lot of "DTU command failed" messages.
2023-04-25 19:24:56 +02:00
Thomas Basler
5d2656550c
Optimize detection if RF module is configured
...
Use PinMapping method instead of dedicated method in Hoymiles lib --> Same result but reduces variables
2023-04-17 23:19:53 +02:00
Thomas Basler
af3a277e30
Introduced HoymilesRadio property to determine if a configuration attempt was done
2023-04-17 18:59:56 +02:00
Thomas Basler
46036eb958
Simplify dumpBuf method in HoymilesRadio
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
41e2ba7fcf
Move serveral methods from the HoymilesRadio_NRF class to the HoymilesRadio base class
2023-04-15 10:55:47 +02:00
Thomas Basler
8404dd57a7
Add a HoymilesRadio base class
...
This enables to have multiple radio implementations while the inverter classes just refere to the base class
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
8d8c7f8a71
Fixed typo: Successfull --> Successful
2023-03-23 23:30:55 +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
0d350b14bb
Migrated _rxBuffer from CircularBuffer to queue
2022-11-28 18:25:50 +01:00
Thomas Basler
36abaeee12
Moved pin assignment outside the hoymiles library
...
Allows setting the pins during runtime and not just using the defines
2022-11-27 12:07:25 +01:00
Thomas Basler
0d619e780a
Prevent null pointer exception
...
It could occur that the command queue contained commands for inverters which are already deleted.
Therefor it has to be checked that getInverterBySerial returns a valid inverter
2022-11-10 18:32:28 +01:00
Thomas Basler
e762abd18f
Show RF chip type in SystemInfoView
2022-10-12 00:17:40 +02:00
Thomas Basler
05d9ce4590
Output channel for RX messages
2022-10-08 18:14:43 +02:00
Thomas Basler
20b799b630
webapp: Show NRF24 connection status
2022-10-06 23:29:17 +02:00
Thomas Basler
eef6c37de9
Beautify serial output of package log
2022-10-02 18:43:19 +02:00
Thomas Basler
18ec145dda
Added command names to serial output
2022-10-02 17:17:34 +02:00
Thomas Basler
67e0d0274d
Code cleanup: Remove not required comments
2022-10-02 15:44:33 +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
26268479fb
Fix #96 and #95 : Reworked handling of inverter editing
2022-08-24 02:53:34 +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
037f7b9caf
Move CRC check of multidata command from InverterAbstract to MultiDataCommand class
2022-08-03 19:51:10 +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
0d26337575
Fixed retransmit count
2022-07-30 11:59:01 +02:00
Thomas Basler
4413b603e3
Replace inverter_transaction with new command classes
2022-07-30 00:37:54 +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
4259df9ee6
Hoymiles Lib: Allow configuration of all pins
2022-07-12 18:42:52 +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
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
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
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