Hallo liebe Community,
nachdem leider keine fertige EBus Platine mehr verfügbar war, habe ich mir letze Woche eine zusammengebaut nach dem V2.0 Schaltplan. Danke für den Schaltplan an der Stelle - Senden und Empfangen funktioniert - denke ich.
Nun habe ich leider ein Problem mit der korrekten Konfiguration eines Telegramms in Ebusd. Es handelt sich um das Telegramm eines SM2 Solarreglers der Fa Wolf. Ich möchte gern den 2. Solarfühler erfassen. Um das zu erreichen habe ich mit "ebusctl raw" folgendes Telegramm aufgezeichnet:
<0776502203fc35008e00024e029300
Zu dem Zeitpunkt hatte der Fühler 59,0 °C was dem Hexwert 24e entspricht. Sender ist mein BM (07) Empfänger mein SM2 (76). Also habe ich folgende Zeile in meiner 76.csv hinzugefügt:
r,SM2,SF2,Solarkollektorfühler,,76,5022,fc3500,fuehler1,,S3N,,°C,Solarfühler1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Das geschah unter der Annahme das der Wert 00024e wäre - also ein 3 Byte Signed Integer. Wenn ich jetzt versuche damit ein ebusctl r SF2 auszuführen bekomme ich folgenden Logeintrag:
[update error] unable to parse update-read SM2 SF2 from 0776502203fc3500 / 024e02: ERR: invalid position
(Falsch. Der Logeintrag ist wohl beim kontrollieren der Temperatur am BM entstanden.)
Daraufhin habe ich S3N in SIN geändert. Daraufhin erhalte ich dann ein
2020-03-05 21:53:09.297 [bus error] send to 76: ERR: read timeout, retry
2020-03-05 21:53:09.428 [bus error] send to 76: ERR: read timeout, retry
2020-03-05 21:53:09.559 [bus error] send to 76: ERR: read timeout, retry
2020-03-05 21:53:09.690 [bus error] send to 76: ERR: read timeout
2020-03-05 21:53:09.690 [bus error] send message part 0: ERR: read timeout
was in der raw log so aussieht:
2020-03-05 21:55:15.649 >3176502203fc3500b2<00023d023b
2020-03-05 21:55:15.780 >3176502203fc3500b2<00023d023b
2020-03-05 21:55:15.911 >3176502203fc3500b2<00023d023b
2020-03-05 21:55:16.042 >3176502203fc3500b2<00023d023b
Kann mir jemand helfen die korrekte Zeile für meine CSV Datei zu erstellen?
Zitat von: c3rebro am 06 März 2020, 16:25:03
Hallo liebe Community,
nachdem leider keine fertige EBus Platine mehr verfügbar war, habe ich mir letze Woche eine zusammengebaut nach dem V2.0 Schaltplan. Danke für den Schaltplan an der Stelle - Senden und Empfangen funktioniert - denke ich.
Nun habe ich leider ein Problem mit der korrekten Konfiguration eines Telegramms in Ebusd. Es handelt sich um das Telegramm eines SM2 Solarreglers der Fa Wolf. Ich möchte gern den 2. Solarfühler erfassen. Um das zu erreichen habe ich mit "ebusctl raw" folgendes Telegramm aufgezeichnet:
<0776502203fc35008e00024e029300
Zu dem Zeitpunkt hatte der Fühler 59,0 °C was dem Hexwert 24e entspricht. Sender ist mein BM (07) Empfänger mein SM2 (76). Also habe ich folgende Zeile in meiner 76.csv hinzugefügt:
r,SM2,SF2,Solarkollektorfühler,,76,5022,fc3500,fuehler1,,S3N,,°C,Solarfühler1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
wenn du diese nachricht lediglich mitlesen willst (anstelle sie aktiv auslesen zu können), dann müsste die Definition dafür wie folgt lauten:
ur,SM2,SF2,Solarkollektorfühler,,76,5022,fc3500,fuehler1,,SIN,,°C,Solarfühler1
Somit also SIN (2 Byte) statt S3N, weil 93 die CRC ist und 00 das ACK.
Wenn Du das auch aktiv lesen willst, dann "r" statt "ur" verwenden.
Es funktioniert jetzt - ohne weitere Veränderung mit SIN als Datentyp.
Ich muss die Nachricht aktiv auslesen können, da diese ansonsten scheinbar nicht oder zu selten über den Bus kommt. Komischerweise funktioniert das erst mit --latency=10000 obwohl es eine direktanbindung an den Raspi /dev/ttyebus ist.
@john30: Danke für die Rückmeldung.