OpenDTU-old/src
ranma 191cc8007d
Feature: parse additional Pylontech CAN protocol fields (#1213)
I noticed that these are missing while looking at dissassembly of the
Pytes implementation of the protocol. I also found Pylontech sample
CAN messages] which match the Pytes implementation [1]:

```
CAN ID – followed by 2 to 8 bytes of data:
0x351 – 14 02 74 0E 74 0E CC 01 – Battery voltage + current limits
                          ^^^^^ discharge cutoff voltage 46.0V
0x355 – 1A 00 64 00 – State of Health (SOH) / State of Charge (SOC)
0x356 – 4e 13 02 03 04 05 – Voltage / Current / Temp
0x359 – 00 00 00 00 0A 50 4E – Protection & Alarm flags
                       ^^^^^ always 0x50 0x59 in Pytes implementation
                    ^^ module count (matches the blog article image)
0x35C – C0 00 – Battery charge request flags
        ^^ two possible additional flags (bit 3 and bit 4)
0x35E – 50 59 4C 4F 4E 20 20 20 – Manufacturer name (“PYLON “)
        ^^^^^^^^^^^^^^ Note: Pytes sends a 5-byte message "PYTES" instead
                       padding with spaces
```

The extra charge request flag is "bit4: SOC low" (Seems to be SoC < 10%
threshold for Pytes), I haven't bothered adding that as it provides
little value.

[1] https://www.setfirelabs.com/green-energy/pylontech-can-reading-can-replication
2024-09-25 14:45:52 +02:00
..
Battery.cpp Feature: Support for SBS Unipower batteries (#1199) 2024-09-16 15:22:15 +02:00
BatteryCanReceiver.cpp Feature: Support for SBS Unipower batteries (#1199) 2024-09-16 15:22:15 +02:00
BatteryStats.cpp Feature: parse additional Pylontech CAN protocol fields (#1213) 2024-09-25 14:45:52 +02:00
Configuration.cpp Feature: extend battery discharge limit support (#1245) 2024-09-13 20:52:23 +02:00
Datastore.cpp BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics 2024-01-30 22:29:25 +01:00
Display_Graphic_Diagram.cpp Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
Display_Graphic.cpp powermeter refactor: split providers into their own classes 2024-06-26 20:51:54 +02:00
HttpGetter.cpp Feature: HttpGetter: cache digest challenge 2024-08-28 13:32:47 +02:00
Huawei_can.cpp Fix: Increase Huawei CAN task stack size 2024-08-28 15:13:23 +02:00
InverterSettings.cpp Feature: SPIPortManager allows simultaneous use of CMT2300 and Huawei charger 2024-08-19 20:44:59 +02:00
JkBmsController.cpp restore JK BMS dummy implementation 2024-06-21 16:57:11 +02:00
JkBmsDataPoints.cpp JK BMS: Support for MQTT (#432) 2023-09-15 10:06:30 +02:00
JkBmsSerialMessage.cpp Support for Jikong JK BMS using serial connection (#319) 2023-08-31 16:21:32 +02:00
Led_Single.cpp Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
main.cpp Merge remote-tracking branch 'tbnobody/master' into development 2024-09-23 21:38:50 +02:00
MessageOutput.cpp convert files with CRLF endings to LF endings 2024-06-24 21:57:12 +02:00
MqttBattery.cpp Feature: extend battery discharge limit support (#1245) 2024-09-13 20:52:23 +02:00
MqttHandleBatteryHass.cpp Feature: parse additional Pylontech CAN protocol fields (#1213) 2024-09-25 14:45:52 +02:00
MqttHandleDtu.cpp Publish temperature only if its not NAN 2024-09-22 18:51:07 +02:00
MqttHandleHass.cpp Fix: typo in HASS auto-discovery metadata for heap stats (#1274) 2024-09-23 21:10:10 +02:00
MqttHandleHuawei.cpp fix: update mqtt subscriptions when topic changed (#1156) 2024-08-20 23:44:27 +02:00
MqttHandleInverter.cpp Feature: Inverter radio statistics (rx/tx statistics) 2024-09-22 18:51:07 +02:00
MqttHandleInverterTotal.cpp Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
MqttHandlePowerLimiter.cpp fix: update mqtt subscriptions when topic changed (#1156) 2024-08-20 23:44:27 +02:00
MqttHandlePowerLimiterHass.cpp Feature: expose 'full solar passsthrough active' via MQTT (#1136) 2024-07-26 20:37:40 +02:00
MqttHandleVedirect.cpp Fix: properly format Victron MPPT firmware version 2024-05-31 20:16:29 +02:00
MqttHandleVedirectHass.cpp BREAKING CHANGE: allow multiple OpenDTU-OnBattery instances at same HASS 2024-07-23 21:27:14 +02:00
MqttSettings.cpp Merge upstream tag 'v24.6.29' into development 2024-07-10 21:45:43 +02:00
NetworkSettings.cpp Merge remote-tracking branch 'tbnobody/master' into development 2024-09-21 22:00:49 +02:00
NtpSettings.cpp merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
PinMapping.cpp Feature: rxen/txen support for RS485 transceiver for SDM power meter (#1269) 2024-09-23 21:20:03 +02:00
PowerLimiter.cpp Merge remote-tracking branch 'tbnobody/master' into development 2024-09-23 21:38:50 +02:00
PowerMeter.cpp Fix: don't republish MQTT powermeter data to MQTT (#1250) 2024-09-13 17:26:30 +02:00
PowerMeterHttpJson.cpp power meter refactoring: split loop task init from init() 2024-06-27 22:18:41 +02:00
PowerMeterHttpSml.cpp power meter refactoring: split loop task init from init() 2024-06-27 22:18:41 +02:00
PowerMeterMqtt.cpp Fix: don't republish MQTT powermeter data to MQTT (#1250) 2024-09-13 17:26:30 +02:00
PowerMeterProvider.cpp powermeter refactor: publish values to MQTT in base class 2024-06-26 20:51:56 +02:00
PowerMeterSerialSdm.cpp Feature: rxen/txen support for RS485 transceiver for SDM power meter (#1269) 2024-09-23 21:20:03 +02:00
PowerMeterSerialSml.cpp power meter refactoring: split loop task init from init() 2024-06-27 22:18:41 +02:00
PowerMeterSml.cpp Feature: SML power meters: reset SML decoder 2024-06-27 22:18:41 +02:00
PowerMeterUdpSmaHomeManager.cpp print SMA HomeManager timestamp as unsigned number 2024-08-24 21:26:35 +02:00
PylontechCanReceiver.cpp Feature: parse additional Pylontech CAN protocol fields (#1213) 2024-09-25 14:45:52 +02:00
PytesCanReceiver.cpp Feature: extend battery discharge limit support (#1245) 2024-09-13 20:52:23 +02:00
RestartHelper.cpp Decrease restart delay to 1 second 2024-09-23 18:33:01 +02:00
SBSCanReceiver.cpp Feature: Support for SBS Unipower batteries (#1199) 2024-09-16 15:22:15 +02:00
Scheduler.cpp merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
SerialPortManager.cpp refactor serial port manager: hand out UARTs FCFS 2024-06-02 22:41:07 +02:00
SPIPortManager.cpp Feature: SPIPortManager allows simultaneous use of CMT2300 and Huawei charger 2024-08-19 20:44:59 +02:00
SunPosition.cpp Move task initialization from init method to constructor 2024-01-20 11:24:57 +01:00
Utils.cpp Merge remote-tracking branch 'tbnobody/master' into development 2024-09-23 21:38:50 +02:00
VictronMppt.cpp Fix: VE.Direct data is invalid if no controller has valid data 2024-08-24 21:06:44 +02:00
VictronSmartShunt.cpp refactor serial port manager: hand out UARTs FCFS 2024-06-02 22:41:07 +02:00
WebApi_battery.cpp avoid deprecated containsKey() method of ArduinoJson 7.2.0 2024-09-21 22:09:42 +02:00
WebApi_config.cpp Fix: Restart was triggered before all website data was sent 2024-09-23 18:11:52 +02:00
WebApi_device.cpp Merge remote-tracking branch 'tbnobody/master' into development 2024-09-23 21:38:50 +02:00
WebApi_devinfo.cpp Move parsing of serial from web request to separate method 2024-04-05 19:14:56 +02:00
WebApi_dtu.cpp Merge remote-tracking branch 'tbnobody/master' into development 2024-09-23 21:38:50 +02:00
WebApi_eventlog.cpp Move parsing of serial from web request to separate method 2024-04-05 19:14:56 +02:00
WebApi_firmware.cpp Merge remote-tracking branch 'tbnobody/master' into development 2024-09-23 21:38:50 +02:00
WebApi_gridprofile.cpp Move parsing of serial from web request to separate method 2024-04-05 19:14:56 +02:00
WebApi_Huawei.cpp avoid deprecated containsKey() method of ArduinoJson 7.2.0 2024-09-21 22:09:42 +02:00
WebApi_inverter.cpp Update bblanchon/ArduinoJson from 7.1.0 to 7.2.0 2024-09-21 00:12:15 +02:00
WebApi_limit.cpp Update bblanchon/ArduinoJson from 7.1.0 to 7.2.0 2024-09-21 00:12:15 +02:00
WebApi_maintenance.cpp Fix: Restart was triggered before all website data was sent 2024-09-23 18:11:52 +02:00
WebApi_mqtt.cpp Merge remote-tracking branch 'tbnobody/master' into development 2024-09-21 22:00:49 +02:00
WebApi_network.cpp Update bblanchon/ArduinoJson from 7.1.0 to 7.2.0 2024-09-21 00:12:15 +02:00
WebApi_ntp.cpp Update bblanchon/ArduinoJson from 7.1.0 to 7.2.0 2024-09-21 00:12:15 +02:00
WebApi_power.cpp Update bblanchon/ArduinoJson from 7.1.0 to 7.2.0 2024-09-21 00:12:15 +02:00
WebApi_powerlimiter.cpp avoid deprecated containsKey() method of ArduinoJson 7.2.0 2024-09-21 22:09:42 +02:00
WebApi_powermeter.cpp avoid deprecated containsKey() method of ArduinoJson 7.2.0 2024-09-21 22:09:42 +02:00
WebApi_prometheus.cpp Merge upstream tag 'v24.5.6' into development 2024-05-07 22:03:26 +02:00
WebApi_security.cpp Update bblanchon/ArduinoJson from 7.1.0 to 7.2.0 2024-09-21 00:12:15 +02:00
WebApi_sysstatus.cpp Merge upstream tag 'v24.6.10' into development 2024-06-21 16:45:41 +02:00
WebApi_vedirect.cpp avoid deprecated containsKey() method of ArduinoJson 7.2.0 2024-09-21 22:09:42 +02:00
WebApi_webapp.cpp Upgrade ESPAsyncWebServer from 2.10.8 to 3.1.2 2024-08-01 18:11:39 +02:00
WebApi_ws_battery.cpp convert files with CRLF endings to LF endings 2024-06-24 21:57:12 +02:00
WebApi_ws_console.cpp Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
WebApi_ws_Huawei.cpp convert files with CRLF endings to LF endings 2024-06-24 21:57:12 +02:00
WebApi_ws_live.cpp Merge remote-tracking branch 'tbnobody/master' into development 2024-09-23 21:38:50 +02:00
WebApi_ws_vedirect_live.cpp Fix: properly format Victron MPPT firmware version 2024-05-31 20:16:29 +02:00
WebApi.cpp Merge remote-tracking branch 'tbnobody/OpenDTU/master' into merge-v24.4.12 2024-04-25 20:59:19 +02:00