Hallo Markus,
die Schaltung als solches funktioniert, ich habe sie gerade die Tage aufgebaut und mit einem Sonnenkraft SKSC3 verbunden. Als ESP habe ich in diesem Fall ganz einfach einen Wemos D1 mini genommen.
Das Gerät war auch nicht in der Kompatibilitätsliste aufgeführt. Somit musste ich die Zuordnung der Rohdaten selber machen, was nicht so problematisch war, das die Daten über einen originalen Logger auslesen konnte.
Worauf man aufpassen muss ist, dass man das Signal, dass Empfangssignal nicht invertiert, also inverted: false, was leider in manchen Beiträgen und Netz beschrieben ist.
Auch darf man mit dem Optokoppler nicht an RX vom ESP gehen, ich habe D5 (GPIO14) genommen. Beim D1 mini ist RX intern mit dem USB-Seriell-Chip verbunden, damit man den ESP per USB flashen und Logs lesen kann. Also hängt RX am USB-Seriell-Wandler und da kann zu Problemen führen, was bei mir so.
Da ich keine fertige ESPHome-vbus-Komponente für den SKSC3 verwendet werden konnte, musste eine eigene UART-Auswertung. Dabei ist wichtig: dummy_receiver: true. Ansonsten wird der UART nicht aktiv gelesen.
Mit einer solchen UART-Auswertung sollte man bei anderen Regler auch Rohdaten empfangen können. Die Werte werden aus dem empfangenen Telegramm dekodiert und per publish_state() an Home Assistant übergeben.
Ich habe für meine eigene Dokumentation mal eine Zusammenfassung von der Zuordnung der Rohdaten gemacht, die ich hier mal poste, vielleicht hilft das ja weiter.
Die Zuordnung der Sensoren weicht von der originalen Zuordnung etwas ab, da habe ich vor einigen Jahren mal was geändert. Da evtl. einfach mal ausprobieren was gerade an Wert ankommt.
Zuordnung der Temperaturwerte
Die Temperaturen liegen als 16-Bit-Werte im Little-Endian-Format vor:
Temperatur = Rohwert / 10
Beispiel:
0x0216 = 534 → 53,4 °C
Verwendete Zuordnung:
| Datenwort |
Datenbytes |
Bedeutung |
| Word 0 |
Byte 0–1 |
Kollektor (F1) |
| Word 2 |
Byte 4–5 |
Warmwasserboiler unten (F3) |
| Word 4 |
Byte 8–9 |
Warmwasserboiler oben (F8) |
| Word 5 |
Byte 10–11 |
Heinzugsspeicher unten (F6) |
| Word 6 |
Byte 12–13 |
Heinzungsspeicher oben (F7) |
| Word 7 |
Byte 14–15 |
Kaminofen (Wassertasche) (F2) |
Nicht belegte Sensoren erscheinen teilweise als:
8888 = 888,8 °C
und werden ignoriert.
Zuordnung der Pumpen
Die Pumpendrehzahlen liegen direkt als Prozentwerte in einzelnen Datenbytes:
| Datenbyte |
Bedeutung |
| Byte 20 |
Kollektorpumpe Boiler (A1) |
| Byte 21 |
Kollektorpumpe Heizungsspeicher (A2) |
| Byte 22 |
Wärmedifferenzpumpe (A3) |
Wertebereich:
0–100 %
Praktisch überprüfte Zuordnung:
A1 manuell 100 % → Byte 20 = 100
A2 manuell 100 % → Byte 21 = 100
A3 liegt entsprechend auf Byte 22.
Wie gesagt, ich hatte das Glück an die Rohdaten zu kommen.
Vielleicht hilft mein Zeigt hier ja weiter. Wenn gewünscht, kann ich auch gerne mal den YAML-Code posten.
viele Grüße, Hain