LAN-Anbindung für BSB-Bus (Brötje, Elco Thision etc.)

Begonnen von justme1968, 29 November 2014, 19:50:40

Vorheriges Thema - Nächstes Thema

gero

Hallo freetz,

hier erstmal ein paar Kommentare zu dem, was du geschrieben hast:
Zitat- 886 (Normaußentemperatur): Hier steht weiterhin 241 Grad, Therme zeigt -15 Grad an.
Mein Fehler. Sollte in der nächsten Version funktionieren

Zitat- 9550 (Gebl'ansteuerung Stillstand): decoding error, hier ist noch ein Dreher in der ID, die 3D0D304D heißen muss, dann kommt statt decoding error wenigstens ein "parameter not supported" - an der Therme werden aber 0.0% angezeigt?
"parameter not supported" wird angezeigt, wenn die Heizung einen entsprechenden Fehler zurückliefert. Sehr wahrscheinlich ist die ID falsch ist, da zweite Byte immer 0x3d lautet. Ich nehme an, die ID, die vorher drinstand ist die richtge. Ich bräuchte nochmal einen Mitschnitt, um den decoding error zu beheben.

Zitat- 7001: Da kommt bei beiden ID-Varianten (...75 bzw ...90) ein unknown type. An der Therme steht "0: keine Wartung anstehend", hier noch mal der Mitschnitt:
28480 DC 8A 00 0B 06 3D 05 00 90 19 79
28557 DC 80 0A 0D 07 05 3D 00 90 00 00 39 AB
Ich habe jetzt die letzte ID genommen. Der Parameter ist sehr wahrscheinlich ein VT_ENUM. Leider kenne ich die Werte für den enum nicht. Daher habe ich erstmal ein VT_BYTE genommen. Falls du den enum in irgendeiner Dokumentation findest, kann ich ihn nachpflegen.

ZitatDie folgenden Parameter geben "parameter not supported" zurück, obwohl diese bei meiner Thision existieren:

5055 Rückkühktemperatur
5950 Eingang H1
7042 Brennerstarts Intervall
7043 Brennerstarts seit Wartung
9550 Gebl'ansteuerung Stillstand


Die folgenden Parameter geben einen decoding error zurück:

8327 Wasserdruck
9502 Gebl'ansteuerung Vorlüftung
9510 Gebl'ansteuerung Zündung
9520 Gebl'ansteuerung Betr. Min
9522 Gebl'ansteuerung Betr. Max
9560 Gebl'ansteuerung Durchlad
Bitte um Mitschnitt.

ZitatNicht vorhanden war bisher Parameter 8836 TWW Ladetemperatur (Therme zeigt --- Grad an), hier der Protokollmitschnitt:
6083 DC 8A 00 0B 06 3D 25 0B 33 C6 CC
6154 DC 80 0A 0E 07 25 3D 0B 33 01 00 00 E5 AD

ZitatZu 5975 ist mir noch aufgefallen, dass im Webinterface 1,3 Grad angezeigt wird, im Telegramm aber der Wert 80 übermittelt wird, so wie es auch an der Therme angezeigt wird:
DC 80 06 0E 07 19 3D 2F D2 00 00 50 17 1C
Typischweise werden Temperaturen als Vielfaches von 1/64 °C codiert. Dies scheint hier anders zu sein.

ZitatUnd als letztes Kuriosum: Paramter 2214 wird bei mir in der Auflistung der Kategorie doppelt aufgelistet, nicht aber, wenn ich den Wert direkt abfrage. Das hat jetzt keine gravierenden Auswirkungen, nur gewundert hat's mich ein wenig.
Die ID ist dieselbe wie bei Zeile 2270. Ich tippe auf eine falsche ID.

Da ich selbst keine Thision zur Verfügung habe, ist es relativ schwer alle Fehler und Ungereimtheiten zu beheben. Trotzdem würde ich gerne den Thisionsupport im Sketch so vollständig wie möglich haben.
Es ist auch relativ müßig bei einem Fehler den Thread nach Mitschnitten und Informationen zu der entsprechenden Zeile zu durchsuchen. Deshalb eine Bitte:
Kannst du zu allen Zeilen, die noch Probleme machen nochmal einen sauberen Trace liefern? Ich meine damit einen Mitschnitt bei Bedienung an der Heizung inklusive der an der Heizung angezeigten Werte und nicht den Parameterabruf per Webinterface.
Vielleicht können wir uns darauf einigen, dass du den aktuellen Status (alle noch offenen Punkte) immer komplett in einem Beitrag zusammenhälst. Ansonsten gehen leicht einige Punkte verloren und ich bin die meiste Zeit am Threaddurchsuchen.

Vielen Dank,
Gero

Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Hallo Gero,

nur auf die Schnelle, weil wir gleich bis Sonntag wegfahren, hier die Mitschnitte der noch fehlenden Werte in einem Rutsch, direkt von der Anlage abgenommen:


886: -15 Grad
663697 DC 8A 00 0B 06 3D 19 2F 88 AA 9A
663767 DC 80 0A 0D 07 19 3D 2F 88 00 F1 DE 90

2214: 60 Grad
579597 DC 8A 00 0B 06 3D 0D 08 EB F6 8D
579665 DC 80 0A 0E 07 0D 3D 08 EB 00 0F 00 FC EA

5055: 70 Grad
728644 DC 8A 00 0B 06 3D 25 08 BD E3 D9
728712 DC 80 0A 0E 07 25 3D 08 BD 00 11 80 E2 E7

5975: 80 Grad
540143 DC 8A 00 0B 06 3D 19 2F D2 51 25
540212 DC 80 0A 0E 07 19 3D 2F D2 00 00 50 F0 62

7001: 0 (keine Wartung anstehend)
50221 DC 8A 00 0B 06 3D 05 00 90 19 79
50290 DC 80 0A 0D 07 05 3D 00 90 00 00 39 AB

7042: 0 Starts Intervall
177465 DC 8A 00 0B 06 3D 2D 2F D6 08 C4
177536 DC 80 0A 0E 07 2D 3D 2F D6 00 00 00 F8 2D

7043: 390 Starts seit Wartung
197890 DC 8A 00 0B 06 3D 25 2F DF 30 4C
197959 DC 80 0A 0E 07 25 3D 2F DF 00 00 4E 31 FD

8327: 2.0 bar
249170 DC 8A 00 0B 06 3D 11 30 63 5C 33
249238 DC 80 0A 0E 07 11 3D 30 63 00 00 14 8D 49

8836: --- Grad
503730 DC 8A 00 0B 06 3D 25 0B 33 C6 CC
503799 DC 80 0A 0E 07 25 3D 0B 33 01 00 00 E5 AD

9502: 25.0%
290042 DC 8A 00 0B 06 3D 21 30 38 72 08
290110 DC 80 0A 0E 07 21 3D 30 38 00 00 32 FB 44

9510: 25.0%
313494 DC 8A 00 0B 06 3D 0D 30 48 FF 38
313582 DC 80 0A 0E 07 0D 3D 30 48 00 00 32 85 AC

9520: 12.5%
331422 DC 8A 00 0B 06 3D 0D 30 49 EF 19
331489 DC 80 0A 0E 07 0D 3D 30 49 00 00 19 66 11

9522: 58.0%
363180 DC 8A 00 0B 06 3D 0D 30 4A DF 7A
363267 DC 80 0A 0E 07 0D 3D 30 4A 00 00 74 40 C6

9550: 0.0%
8235 DC 8A 00 0B 06 3D 0D 30 4D AF 9D
8317 DC 80 0A 0E 07 0D 3D 30 4D 00 00 00 2F F8

9560: 52.0%
386497 DC 8A 00 0B 06 3D 25 2F E8 76 F8
386575 DC 80 0A 0E 07 25 3D 2F E8 00 00 68 08 9D


Zu 7001 habe ich leider keine enums, nur der Wert, der mir eben für "0" angezeigt wird.
Zu 7043: Starts seit Wartung: Hier scheint mir der Telegrammwert keinen Sinn zu machen, der angezeigte Wert entspricht aber (noch) dem in 8837 (da es bei mir noch keine Wartung gegeben hat)
Zur Doppelung von 2214 und 2270: 2270 existiert an meiner Thision nicht.

Ich hoffe, das ist nun so, wie Du es benötigst, mehr kann ich dann erst am Sonntag Abend liefern...

Gruß,

Frederik
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

Hallo,

anbei eine neue Version.
Ich hoffe, ich habe jetzt die meisten Fehler behoben.
Zusätzlich habe ich einen Support für DS18B20 Temperatursensoren eingebaut:
Er läßt sich über das auskommentierte define TEMP_SENSORS aktivieren (z.Zt deaktivert).
Der Anschlußpin läßt sich eben falls im Sourcecode definieren:
Zitat#define ONE_WIRE_BUS 31

Den Status der Temperatursensoren kann man über <url>/temp im Webinterface auslesen.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Danke, kann's leider erst frühestens morgen Abend testen.
Die Einbindung von OneWire klingt auch gut, aber mein Vorschlag wäre, das Auslesen (auch) in die IPWE-Funktion zu integrieren, denn dann fällt das Auswerten über FHEM leicht(er), weil hierfür bereits ein Modul existiert.
Ich hänge mal den alten Sketch an, den ich mit meiner vorigen Heizung verwendet habe, bei der ich die Temperaturwerte nur über OneWire abfragen konnte. Die Funktion read_temp() fragt die angehängten Dallas-Sensoren ab und bereitet sie dann in der (simplen) Tabellenstruktur auf, die dann von IPWE-kompatiblen Funktionen geparst werden können.

Viele Grüße

Frederik
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

...so, nun scheint fast alles zu klappen, einziges Problemfeld ist die 5975 - da wird an der Therme der Wert 80 Grad angezeigt, über das Interface aber 1.3 Grad. Der Rest zeigt das an, was er soll. Nur der Interesse halber: Nimmst Du bei Parameter 7043 jetzt direkt den Wert aus 8837 oder hast Du aus dem Telegramm wirklich noch den identischen Wert auslesen können?

Eine Frage noch zu den Temperatursensoren: Ich habe jetzt keinen (mehr) bei mir anhängen, aber wenn ich auf die /temp Seite gehe, bekomme ich vom Browser die Fehlermeldung, dass die Verbindung unterbrochen wurde. Müsste laut Quelltext nicht zumindest der Seitenheader gesendet werden oder ist das ein Fehler?
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

Die 5975 muss ich mir ansehen. Wahrscheinlich ein dummer copy&paste Fehler. Bei der 7043 muss der Wert im Telegramm scheinbar mit 5 multipliziert werden.
Zu den Temperatursensoren:
Hast du das define TEMP_SENSORS aktiviert? Wenn nicht, bekommst du keine Antwort auf die Anfrage. Allerdings habe ich das Feature auch noch nicht ausreichend getestet. Ich werde mit auch nochmal die ipwe Kompatibilität ansehen und versuchen das umzusetzen.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Ja, hatte ich aktiviert - kann es sein, dass man bei aktiviertem Passcode dann als URL /1234/temp aufrufen muss? Dann bekomme ich wenigstens eine leere Seite im Gegensatz zum Verbindungsabbruch ohne Passcode.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

Korrekt. Ich hatte das /temp Feature nach der Passkey-Überprüfung eingebaut.
Da mein System zu Debugzwecken ab und zu aus dem Internet erreichbar ist, habe ich gerne alle Funktionen über das Passkey-Feature geschützt.

Der Parameter 5975 ist jetzt korrigiert und die OneWire Sensoren werden in der IPWE-Tabelle ebenfalls gelistet.
Allerdings kann ich es erst heute Abend testen. Sobald es läuft stelle ich die neue Version zur Verfügung.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Super - kann's dann auch heute abend bei mir testen.

Danke und viele Grüße

Frederik
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

Hallo,

anbei die versprochene Version.
Bei meinem Test sah die IPWE Ausgabe ganz gut aus.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Super, klappt jetzt alles prima, und danke auch für die Einbindung der Dallas-Sensoren in die IPWE-Ausgabe, ich werde demnächst noch mal testweise einen anschließen und dann rückmelden, ob's auch hier funktioniert. Dank' Dir noch mal für all' die Arbeit, so eine umfangreiche Regelung/Steuerung ist wohl mit keiner anderen Therme möglich :)...

Gruß,

Frederik
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

So, auch mit meinen Temperatursensoren klappt es prima - nur einen Vorschlag hätte ich noch zur IPWE-Einbindung: In meinem alten Sketch wurde als Bezeichnung die Adresse des Sensors (eine längere Hex-Zahl) angezeigt, das wäre bei den Sensoren vielleicht besser, als die T-Nummerierung fortzuführen, denn die kann ja ggf. auch mal variieren und dann ist nicht mehr klar, welche Nummer zu welchem Sensor gehört.

Gruß,

Frederik
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

Hallo Frederik,

schön, dass jetzt erstmal alles funktioniert. Evtl. fehlt für das Setzen einiger Parameter noch etwas. Aber zur Zeit würde ich das gerne erst hinzufügen, wenn Bedarf besteht.

Zum IPWE und den Temperatursensoren:
Hast du evtl. Lust die notwendigen Änderungen zu machen und zu testen? Ich verwende das Interface so nicht und bin mir ncht sicher, was du genau haben willst. Welche Bezeichnungen sollen zum Beispiel die Temperaturwerte bekommen, die direkt über BSB abgefragt werden und nicht von einem OneWire-Sensor stammen? Falls du Hilfe bei den Änderungen brauchst, bin ich natürlich gerne bereit zu helfen.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Hallo Gero,

ja, das kann ich gerne machen. Mit den Bezeichnungen der Temperatursensoren ist das eigentlich kein Problem, bei denjenigen, die man selber aus der Therme ausliest, kennt man die Reihenfolge ja und weiß, was T1, T2, ... zugeordnet ist. Bei den OneWire-Sensoren kann statt T1... einfach deren Bus-Adresse stehen. Die Bezeichnung kann bei den IPWE-Parsern frei gewählt werden, sie kann also mal T1... und mal z.B. a35bc49e13 sein.

Was nett wäre, wo ich aber durch Deinen Code noch nicht ganz durchgestiegen bin, wäre, wenn man die Bezeichnung zu einem Parameter irgendwo abfragen könnte, z.B. bezeichnung = lookup_description('8316') und bekommt dann die Bezeichnung des Parameters zurück gemeldet. Dann könnte man diese Bezeichnung auch anstatt des T1, T2, ... im IPWE-Modul anzeigen lassen, so dass die Tabelle gleich viel eindeutiger wäre. Aber so wie ich den Code verstehe, gibt es keine 1:1-Zurodnung zwischen Parameternummer und Klartext, sondern das geht glaube ich über mehrere Schritte. Falls Du da noch einen Tipp hast, wäre das sehr hilfreich.

Ist aber wie gesagt alles nice to have. Wenn es bei einigen Parametern noch Klärungsbedarf gibt, was das Setzen von Optionen angeht, helfe ich gern, auch wenn meine Wünsche jetzt alle (über)erfüllt sind :)...

Viele Grüße

Frederik
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

Jetzt hab ich auf dem Handy eine schöne lange Antwort getippt. Falsche Taste... alles weg:-(
Ich melde mich morgen nochmal.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor