Skip to content

New spec for Sonnenkraft SKSC3 - first test #20

@alfadir

Description

@alfadir

The Specfile is tested with RESOL-LAN adapter and a Sonnenkraft SKSC3.

This was the test output of a cold 1000l buffer, as we are doing some changes to the heating system.
{"Sonnekraft SKSC3 [Regler]": {"Temperatur Sensor 1": "15.9 °C", "Temperatur Sensor 2": "29.3 °C", "Temperatur Sensor 3": "35.4 °C", "Temperatur Sensor 4": "31.0 °C", "Temperatur Sensor 5": "32.2 °C", "Temperatur Sensor 6": "36.7 °C", "Temperatur Sensor 7": "-1.2 °C", "Temperatur Sensor 8": "-0.7 °C", "Irradation": "0 W/m2", "Volumenstrom Sensor": "0 l/h", "Pump speed 1": "0 %", "Pump speed 2": "0 %", "Pump speed 3": "0 %", "Pump speed A": "0 %", "Heat": "713 Wh", "Error mask": "0 ", "Sensor line break number": "0 #", "Sensor short-circuit number": "0 #", "System time": "2661 s"}}

The Heat, Systemtime does not seem to work, but Temp sensors work.

Sonnenkraft-SKSC3.json
is the specfile used and I had to do some adjustment to the resol.py file to make it work

--- a/resol.py
+++ b/resol.py
@@ -161,7 +161,7 @@ def parse_payload(msg):
                 packet['command'].lower() == get_command(msg).lower():
             result[get_source_name(msg)] = {}
             for field in packet['field']:
-                result[get_source_name(msg)][field['name']] = \
+                result[get_source_name(msg)][field['name'][0]] = \
                     str(
                         gb(payload, field['offset'], int(field['offset'])+((int(field['bitSize'])+1) / 8)) *
                         (Decimal(field['factor']) if 'factor' in field else 1)

If there is suggestion to improvment I can test it on the system here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions