Open kimi1983 opened 2 years ago
Hier ist was mein Wemos Adapter mir per MQTT ausgibt :
bytes read RS485: 10 2 21 17 120 88 140 128 16 129
Hi, also für mich sieht das so aus, als wenn du dich an die Doku von Dirk Abel gehalten hast. Philip hat aber scheinbar einige bzw. ganz andere Werte aus seinem Protokoll ermittelt und umgesetzt. Auch meine Werte decken sich eher mit denen von Philip als mit denen von Dirk. Vielleicht ist das ja auch dein Problem. @Philip: hast du vielleicht eine Aufstellung zu deinen gefundenen Control-/ und SenseBytes gemacht, die du hier noch einfügen kannst.
Ok verstehe. Aber wo kann ich dieser Werte, welche ja bei mir Daten geben bei dir einsetzen :
aaSignalMaps = [ {} for i in range(255) ]
aaSignalMaps[16] = {
#Name: Type='s'(signed)/'u'(unsigned), Offset, Length, Factor, Unit
'T_Vorlauf_HK1': ('s',5, 2, 0.1,'C'),
'T_Ruecklauf_Kessel': ('s',7, 2, 0.1,'C'),
'T_Boiler': ('s',9, 2, 0.1,'C'),
'T_Kessel': ('s',11, 2, 0.1,'C'),
'T_Aussen': ('s',17, 2, 0.1,'C'),
'T_Rauchgas': ('s',19, 2, 0.1,'C'),
'T_Steuerung' : ('s',21, 2, 0.1,'C'),
'T_Stokerkanal' : ('s',29, 2, 0.1,'C')}
aaSignalMaps[17] = {
#Name: Type='s'(signed)/'u'(unsigned), Offset, Length, Factor, Unit
'Aschebehaelter': ('b',3, 6),
'Pellet_Vorrat': ('b',4, 3),
'Brandschutzklappe' : ('b',1,1),
'Reinigung' : ('b',2,1),
'Alarm2': ('b',1,2),
'Alarm1': ('b',1,3),
'Boiler_Pumpe': ('b',1,5),
'HK1_Pumpe': ('b',1,7),
'Ascheaustragung': ('b', 2,0),
'Reinigung': ('b',2,1),
'HK1_Mischer': ('b',2,6),
'Hauptrelais': ('b',3,4),
'Raumaustragung': ('b',3,6),
'Kessel_AN': ('b',15,0)}
Ich denke es bleibt dir nichts anders übrig, als dass du Philips Code genauer unter die Lupe nimmst. Das wesentliche ist in der Loop zu finden ... Kessel.Leistung = lfaktor * getval2(anData, 12, 2, 0.05, 0); Kessel.Pumpepuffer = getbit(anData, 2, 7); Kessel.Zuendung = getbit(anData, 16, 2); Kessel.KeineStoerung = getbit(anData, 3, 0); Kessel.Reinigung = getbit(anData, 3, 7); Kessel.Drehrost = getbit(anData, 3, 6); Kessel.Raumaustragung = getbit(anData, 9, 2); Kessel.RLAVentil = getbit(anData, 2, 3); ... Wäre dann z.B. bei dir wahrscheinlich Kessel.Reinigung = getbit(anData, 2, 1); usw.
Ja stimmt da könntest du Recht haben.
Ich werde das morgen mal ausprobieren.
Danke schonmal vorab, Kim
Einige der Werte aus der Dokumentaion hatten für meinen Kessel gepasst, viele aber leider nicht. Daher hab ich einige ergänzt, andere auch geändert.
LG Philip
Hier ist was mein Wemos Adapter mir per MQTT ausgibt :
bytes read RS485: 10 2 21 17 120 88 140 128 16 129
An den Werten siehts Du das das auslesen des rs485 zu funktionieren scheint. weitere Daten kommen erst nach dem Updateintervall von 5 min. z.B. 2022-02-05_12:31:00 MQTT2_kwb info: Booting (UART0 Serial) 2022-02-05_12:31:00 MQTT2_kwb UDfaktor: 1.4900 2022-02-05_12:31:00 MQTT2_kwb kwh: 0.000 2022-02-05_12:31:00 MQTT2_kwb rec: bytes read RS485: 10 32 1 0 1 0 1 0 1 0 2022-02-05_12:31:00 MQTT2_kwb updatemin: 5 2022-02-05_12:36:00 MQTT2_kwb errors: 5442 / 51 2022-02-05_12:36:00 MQTT2_kwb Pellets: 0 2022-02-05_12:36:00 MQTT2_kwb PelletsNA: 0 2022-02-05_12:36:00 MQTT2_kwb Stoerung: 0 2022-02-05_12:36:00 MQTT2_kwb deltaPelletsh: 0 2022-02-05_12:36:00 MQTT2_kwb Kesseltemperatur: 54.3 2022-02-05_12:36:00 MQTT2_kwb Rauchgastemperatur: 78.2 2022-02-05_12:36:00 MQTT2_kwb Saugzug: 1342 / 2510 2022-02-05_12:36:00 MQTT2_kwb Unterdruck: 15.5 2022-02-05_12:36:00 MQTT2_kwb Kessel: brennt 2022-02-05_12:36:00 MQTT2_kwb Anforderung: 1 2022-02-05_12:36:00 MQTT2_kwb photodiode: 25 2022-02-05_12:37:37 MQTT2_kwb Reinigung: 1 2022-02-05_12:40:38 MQTT2_kwb Reinigung: 0 2022-02-05_12:41:00 MQTT2_kwb errors: 5484 / 23 2022-02-05_12:41:00 MQTT2_kwb Pellets: 0 2022-02-05_12:41:00 MQTT2_kwb PelletsNA: 0 2022-02-05_12:41:00 MQTT2_kwb Pumpepuffer: 1 2022-02-05_12:41:00 MQTT2_kwb Kesseltemperatur: 55.6 2022-02-05_12:41:00 MQTT2_kwb Rauchgastemperatur: 68.0 2022-02-05_12:41:00 MQTT2_kwb Saugzug: 2005 / 864 2022-02-05_12:41:00 MQTT2_kwb Unterdruck: 103.8 2022-02-05_12:41:00 MQTT2_kwb Kessel: brennt 2022-02-05_12:41:00 MQTT2_kwb Anforderung: 1 2022-02-05_12:41:00 MQTT2_kwb photodiode: 24 2022-02-05_12:44:41 MQTT2_kwb Schneckenlaufzeit: 29
Gruß Philip
Ich schätze der EasyFire (1) befüllt die Nachrichten etwas anders als der EasyFire 2, weswegen Werte an anderen Stellen stehen. Die aktuellen Werte im Repo kommen für meinen EasyFire 2 hin. Dass sich die Befüllung der Nachrichten zwischen den Geräteversionen ändert, wäre aus Informatik-Perspektive nachvollziehbar.
Hallo,
im Moment benutzt ich folgenden Script per Serial2Net Adapter.
Leider wird mir mit der Wemos Variante keine Daten per MQTT weitergegeben, also gehe ich davon aus das auch keine Daten gelesen werden konnten.
Bei mir handelt es sich um eine Easyfire Anlage mit Heizkreis 1.
Wie kann ich nun deinen Script anpassen um an meine Werte zu kommen ?
Mit besten Grüssen, und Danke für deine Arbeit.