Commit graph

47 commits

Author SHA1 Message Date
Knuti_in_Paese
8eef8e2ef4 RPi: crash while using multi inverters with diff num of strings
add some comments
change timestamp format for logging
2023-07-20 13:02:23 +02:00
Lukas Pusch
868c49fdf4
Merge pull request #1030 from PaeserBastelstube/main
RPi:crash when using additional InfoCommands
2023-07-19 22:07:10 +02:00
Knuti_in_Paese
9331d9197b RPi:crash when using additional InfoCommands
Python goes in crash, when using an other InfoCommend
i.e. uncomment line 178 of __main__.py
2023-07-17 19:25:24 +02:00
Andy Voigt
60f2876d9c Fixed index out of bounds 2023-07-13 14:06:05 +02:00
Betacentauri
2005348f54 [rpi] Add powerfactor and event_count decoder for HM300, HM350, HM400
Without event_count program crashes immediately in __main__.py line 233.
2023-04-29 14:11:18 +02:00
Knuti_in_Paese
6b3af717fb RPi:(new)DTU-name,Disco-handler,ext.Error-handling,sun2mqtt
Add disconnect handler for influx and volkszaehler.
Change spec. Informations on ahoy.service and ahoy.yml.example.
Extented Error handling.
Send sun-rise and sun-set information to MQTT.
2023-02-14 10:34:22 +01:00
Knuti_in_Paese
9a0bee831d RPi:specify README.md and collect data from EventsResponse 2023-02-04 16:40:50 +01:00
Knuti_in_Paese
892f554ff5 RPI:finer tuned debug logging
Description for prep RF24 and pyrf24 on debian 11 (bullseye) 64 bit OS
2023-02-04 11:41:29 +01:00
Knuti_in_Paese
0d552e3007 RPI:error handling while getting corruppted data
extended error handling while getting corruppted data on 64 bit operating system (bullseye)
lots of currupted data are reseived on Debian 11 OS. So we have to check the data length before using strict.unpack
2023-02-02 14:21:30 +01:00
Knuti_in_Päse
96d64faf62 RPi: send value irradiation to VZ and MQTT
to send all meassured and calculated values to Volkszaehler and to mqtt
change some logging levels for better differentiation
change frequency as part of AC phase
2023-01-25 11:49:13 +01:00
Knuti_in_Päse
d80a9c83a8 RPi:extend decoder for HardwareInfoResponse output
To print Firmware data in main or in output.py, we need to add a new method __dict__() to class HardwareInfoResponse
2023-01-16 19:38:20 +01:00
Knuti_in_Päse
17c1fec2ad RPi-calculate and print irradiation (Bestrahlung)
To calculate irradiation, max-power of each PV module must be defined in ahoy.yml (pls see ahoy.yml.example)
2023-01-14 20:49:52 +01:00
Knuti_in_Päse
7fad17aa3e
RPI extend debug meassage for better understanding
The response of HardwareInfoResponse contains 16 byte, but only 8 bytes are known. 
Analyse result of the last 2 bytes: This bytes contain the CRC-modbus.
To observe the double-byte (6, 10, 12), this extended log message could help.
2023-01-11 15:01:54 +01:00
Knuti_in_Päse
2c7e60352d
RPI: reactive power (Blindleistung) missing
we are missing "weactive power" (Blindleistung) in our output on RPi.
On ESP it is working allready.
2023-01-08 18:17:55 +01:00
PaeserBastelstube
93ae88fca2
change AC_CURRENT divider to 100
In line 514, ac_current dividor must be 100 not 10
There is a mismatch in AC output: power[Watt] = voltage[Volt] * current[Ampere]
2023-01-05 18:50:44 +01:00
Christian Ehrlicher
06af61742a RPI: Fix reading negative temperature - now also for Hoymiles600/1200 inverters 2022-12-18 11:57:35 +01:00
Christian Ehrlicher
b058bc10be RPI: Fix reading negative temperature - must be treated as signed short,
not unsigned short
2022-12-14 19:32:09 +01:00
Christian Ehrlicher
c2ef55f7a2 RPI: fix logging 2022-11-12 09:52:10 +01:00
Christian Ehrlicher
cbcfb8da72 RPI: use logging facility instead print() 2022-11-11 20:51:50 +01:00
noName
8c843af71d rpi: calculate energy_total for whole inverter 2022-10-14 09:21:29 +02:00
Christian Ehrlicher
fb6250a109 RPI: Request alarm when alarm id changes 2022-09-13 17:18:24 +02:00
Christian Ehrlicher
de90c19eb3 RPI: add handling for InverterDevInform_All message, handle
RealTimeRunData_Reality similar to RealTimeRunData_Debug
2022-09-12 18:58:28 +02:00
stefan123t
7131ea5c7d
fix line end comments
fix line end comments in tools/rpi/hoymiles/decoders/__init__.py
2022-08-08 00:54:36 +02:00
stefan123t
836dc1526b
Commented Error-Codes with Hex-Equivalents
Commented Error-Codes with Hex-Equivalents
2022-07-29 10:51:56 +02:00
Jan-Jonas Sämann
044cf316b5 Decode 80 02 as EventsResponse
Data also looks like some sort of table
2022-06-07 01:53:44 +02:00
Jan-Jonas Sämann
6b47291ac1 Add payload debug function print_table_unpack
Helps recognize values in unknown payloads by decoding data from payload
with different offsets, data types and print results as aligned table

Enhances DebugDecodeAny class
2022-06-07 01:51:15 +02:00
Jan-Jonas Sämann
4e709254c7 pypackage add event log entry count for 1161 2022-05-24 20:10:28 +02:00
Jan-Jonas Sämann
88e9de42b8 pypackage add powerfactor where possible 2022-05-24 18:26:48 +02:00
lumapu
8238e90903 * fix #38 current assignment for 4-channel inverters
* added last received timestamp in /hoymiles livedata web page #47
* improved style.css
* improved NTP as described in #46
2022-05-19 16:52:21 +02:00
Jan-Jonas Sämann
e473583a55 Change alarm code 2
Seems that alarm code 2 appears on failed commands
2022-05-16 13:10:09 +02:00
Jan-Jonas Sämann
e4eebb67e4 Improve python code quality
Mostly fix naming convetion, add descriptions. Cleanup code, left behind
from tinkering.
2022-05-16 12:29:58 +02:00
Jan-Jonas Sämann
2934c23688 Update UnknownResponse decoder 2022-05-15 18:26:59 +02:00
Jan-Jonas Sämann
e5b427f4f2 Provice decoders super class to ensure properties 2022-05-15 16:04:38 +02:00
Jan-Jonas Sämann
3aff763e8f WIP: Partially decode event log 0x11 and 0x12 2022-05-11 18:58:09 +02:00
Jan-Jonas Sämann
38346abde2 Update python decoders improves protocol analysis 2022-05-11 00:14:40 +02:00
Jan-Jonas Sämann
1ef4507e8f Update 1161-Series decoders
Fixes missing HM1200 decoder
2022-05-08 13:02:30 +02:00
Jan-Jonas Sämann
ff615dba8b Pull-in diff from franz supports 1121-Series
Source
  https://www.mikrocontroller.net/topic/525778#7058357
2022-05-08 12:43:58 +02:00
Jan-Jonas Sämann
3b54b58567 Update Decodes, group decoders by inverter serial
Seems to be that we can not exactly determine the actual model by
looking at the serial. What we seemingly can guess is how many MPPT and
Phases a range of serials have.

Some Group-Based decoders should be compatible across the group.

A group is now named by the lowest model

  * 1121: HM300 1 MPPT, 1 Phase
  * 1141: HM600 2 MPPT, 1 Phase
  * 1161: HM1200 4 MPPT, 1 Phase
2022-05-08 12:38:00 +02:00
Thomas Basler
31aba4d722 Fixed divider for AC Current 2022-05-07 10:45:07 +01:00
Thomas Basler
809dec69c7 Merge branch 'pypackage' of https://github.com/Sprinterfreak/ahoy into pypackage 2022-05-07 10:33:14 +01:00
Thomas Basler
767e1c5ee9 Fixed Power assignment for DC Port 1 2022-05-07 10:31:17 +01:00
Jan-Jonas Sämann
f71e43f9ab Merge remote-tracking branch 'refs/remotes/jan/pypackage' into pypackage 2022-05-06 20:01:20 +02:00
Jan-Jonas Sämann
0ee867993c MQTT payload injection and default unknown decoder
Adds the ability to directly inject payloads to be sent to the inverter.
Fixes application crash at missing decoder by adding default decoding.

All unknown payloads are now printed as long- and short-lists for faster
protocol analysis
2022-05-06 19:54:04 +02:00
Thomas Basler
e8ad778918 Fixed total production for string 3 2022-05-06 06:25:52 +01:00
Thomas Basler
39e253bc28 Added parser for HM-1500 2022-05-05 21:07:03 +01:00
Jan-Jonas Sämann
9026dfa4bc Prepare decoder template for HM-1500 2022-05-05 19:42:58 +02:00
Jan-Jonas Sämann
9d75ca0c34 Ahoy Python Rewrite
Is was clear, the cmd approach does not decode payloads reliably.
The modular form allows for easy tinkering.

This implements

 * hoymiles protocol
 * transport-layer enables for retransmit of missed fragments
 * full payload decode
 * device specific decoders
 * transaction tracking enables decoding of different datasets
 * multi-inverter support
 * configuration format change to YAML (required for multi-inverter)

First PoC, lots of things have to be relocated, rewritten and exteded.

Currently only supports Hoymiles HM-600, more device decodes have to be added by
users who have the hardware.
2022-05-05 18:35:24 +02:00