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

freetz

Danke für's Überprüfen, das macht natürlich Sinn und mit der Änderung läuft es jetzt, wird so in die nächste Release mit einfließen. Mit der warte ich aber noch ein bisschen, bis wir ein paar mehr CommandIDs für LPB haben...

Gruß,

F.
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

Elektroblitz

Ich habe die Version 0.37 auf meinem Arduino laufen. Leider habe ich das Problem, das der Controller nach ein paar Stunden bis zu 3 Tagen ausfällt, wahrscheinlich hängen bleibt. Hat das auch schon jemand mal gehabt?  Ich habe nun einen neuen Arduino, ein neues Ethernet Shield einfesetzt, das Problem bleibt. Die Spannungsversorgung ist ein Netzteil mit 9V und 2A, sollte eigentlich reichen. Nach einem Reset läuft er wieder ganz normal weiter. Wenn ich die Schnittstelle stecke um mit dem Monitor zu schauen was los ist, macht der Arduino einen Reset und natürlich funktioniert dann wieder alles.
Hat das jemand schon mal gehabt?

freetz

Hallo Elektroblitz,

die Version 0.37 ist noch nicht released, die kommt dieser Tage, das Master-Repository ist von daher gerade noch etwas instabil. Probiere bitte mal Version 0.36 aus (unter "Releases" bei GitHub) und schau' ob's da das gleiche Problem gibt.
Die 9V sind sicher ein Schreibfehler, oder? Denn der Arduino ist nur auf 5V ausgelegt. Ihn dauerhaft mit 9V zu füttern wäre vielleicht nicht so günstig (auch wenn es sein kann, dass es einen Spannungsregler gibt, der das dann auf 5V herunterbricht.
Ich habe jedenfalls mit meinem Arduino, den ich über den USB-Port meiner Synology speise mitunter monatelange Laufzeiten (die dann nur durch ein Update hie und da unterbrochen werden).

Wenn es teilweise wirklich nur Stunden sind, dann wäre es hilfreich, der seriellen Monitor über die Zeit mitlaufen zu lassen, um zu schauen, ob es evtl. immer ein bestimmtes Kommando ist, was das Problem auslöst.

Gruß,

F.
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

Schotty

Zitat von: freetz am 03 September 2017, 17:06:12
[...]
Die 9V sind sicher ein Schreibfehler, oder? Denn der Arduino ist nur auf 5V ausgelegt. Ihn dauerhaft mit 9V zu füttern wäre vielleicht nicht so günstig (auch wenn es sein kann, dass es einen Spannungsregler gibt, der das dann auf 5V herunterbricht.
[...]

Moin,
also ich nutze auch ein passendes 9V-Netzteil - keinerlei Probleme damit..
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Elektroblitz

Habe mich vertan, ich habe natürlich die 0.36, die 0.35 hatte ich auch schon versucht, gleiches Problem! Die 9V wurden mir empfohlen, da 5V angeblich zu wenig sein sollen!? :-[
Aber wenn niemand anderes das Problem hat wird es wohl irgendwie an meinem Controller liegen.

Schotty

5V können angeblich u.U. eng bemessen sein, wenn man viele Verbraucher dran hat - wenn du aber nur den Adapter dran betreibst, sollte es auch mit 5V eigtl keine Spannungsversorgungsprobleme geben..
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Schotty

Das Problem mit dem Aufhängen des Ardus hatte ich mit einer der ganz frühen Versionen auch, da passierte es immer, wenn man Werte aufgerufen hat, die es quasi nicht gab. Wurde aber damals noch von Gero behoben und trat bei mir auch seit dem nicht mehr auf.
Greifst du mit FHEM drauf zu, zum Auslesen bestimmter Werte? Vielleicht zu viele (gleichzeitige?) Anfragen auf einmal..? Sonst fällt mir auch gerade nix mehr dazu ein, sorry.. :(
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Elektroblitz

Ja, stimmt ich greife mit fhem auf den Arduino zu, es werden 10 Werte gleichzeitig gelesen, alle Werte sind aber vorhanden. Ich denke ich werde jetzt erstmal mit dem überschreiten des Watchdog einen Reset auslösen, damit der Arduino zumindest erreichbar bleibt.

freetz

Liest Du die 10 Werte gleichzeitig im Sinne von 10 HTTPMOD-Abfragen mit je einem Parameter gleichzeitig? Oder kommt da ein Aufruf mit 10 Parametern in der URL? Letzteres mache ich auch und dürfte keine Probleme machen, denn die werden nacheinander abgearbeitet. Watchdog wäre eine Lösung, aber nur eine Kur an den Symptomen. Wenn die 0.35 auch das Problem macht, kann es eigentlich nur eine besondere Konstellation bei Dir sein, denn die 0.35 war ja wochen- bzw. monatelang schon online und die hatte ich eben auch im Dauereinsatz.

@Schotty: Die 9V vs. 5V dürften m.E. keinen Unterschied machen, was die Anzahl der Verbraucher angeht. Da ist die Stromstärke relevant(er), damit genügend Ampere bereitgestellt werden können. Ein schwankendens 5V-Netzteil könnte natürlich ein Problem sein, wenn es unter die Mindestspannung fällt...
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

Elektroblitz

Ich rufe die 10 Werte über URL ab. Sieht so aus als ob ich damit alleine stehe. Ok dann erstmal Watchdog rein!  ;D

Schotty

#925
Zitat von: freetz am 03 September 2017, 18:32:45
@Schotty: Die 9V vs. 5V dürften m.E. keinen Unterschied machen, was die Anzahl der Verbraucher angeht. Da ist die Stromstärke relevant(er), damit genügend Ampere bereitgestellt werden können. Ein schwankendens 5V-Netzteil könnte natürlich ein Problem sein, wenn es unter die Mindestspannung fällt...

..mag sein - ich habe mich nur nach den Ardu-Specs gerichtet. Dort steht bspw. für den UNO Rev3 & den Mega 2560 Rev3: "Operating Voltage 5V, Input Voltage (recommended) 7-12V, Input Voltage (limit) 6-20V".
Ich persönlich würde da nun nicht unbedingt 12V oder gar 20V reinbraten, und mit den 5V via USB hatte ich (zumindest im temporären Betrieb) auch noch keine Probleme - aber nach den o.g. Angaben fühle zumindest ich mich mit 9V/1A ein wenig auf der 'sicheren' Seite.. ;) 
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

Ok, wenn das da so angegeben ist, ziehe ich meine Annahme zurück und behaupte das Gegenteil ;)...
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

Scherheinz

#927
Der Arduino läuft immer mit 5V, diese müssen dann aber über den 5V Pin oder über USB eingespeist werden. Wird die Hohlstecker Buchse benutzt müssen mindestens 6-7V anliegen da ein wenig Spannung am Spannungsregler verloren geht und dann ansonsten keine 5V mehr am Arduino ankämen.

Ünrigens habe ich diese Ausfälle auch ab und zu. Mit den älteren Versionen öfter als jetzt aber ich hab das meistens auf ein Netzwerkverbindung geschoben da der Arduino über einen Nano Router am Wlan hängt.

Gruß

freetz

Ich freue mich, Euch Version 0.37 von BSB_LAN vorstellen zu können, das jetzt eigentlich BSB_LPB_LAN heißen müsste, weil nun eine (fast?) vollständige Implementation des LPB-Protokolls umgesetzt werden konnte, das auch Besitzern älterer Thermen eine Fernsteuerung ihrer Anlage ermöglichen sollte.
Ein großer Dank geht dieses Mal an Numsi, der mir einen ZR1 samt Zubehör zum Testen zur Verfügung gestellt hat, an miwi, der über 450 LPB-Telegramme mit seinem OCI700 mitgeloggt hat, und an Schotty, der vermutlich mehr Stunden mit dem Debugging verbracht hat, als ich mit der Programmierung ;)...

Eine wichtige Änderung in dem Zusammenhang vorweg: Die Variable "device_id" in der BSB_lan_config.h musste in "fixed_device_id" umbenannt werden. Wer also nicht die Konfiguration aus der aktuellen Release übernimmt, sondern seine eigene kopiert, muss dies anpassen. Ferner wird die Variable "bus_type" ebenfalls in der Konfiguration definiert, die entsprechende Zeile also bei alten Konfigurationen ebenfalls aus der neuen Version übernehmen.

Zu der LPB-Umsetzung:
Es ist mir nach der Entschlüsselung des LPB-Protokolls gelungen, die zugehörigen Funktionen transparent in BSB-LAN einzubauen. Das heißt, dass bei gleicher Funktion wie z.B. "Außentemperatur" oder "Vorlauftemperatur Ist" auch die gleichen Parameternummern wie bei BSB verwendet werden. An den Aufrufen, z.B. aus FHEM ändert sich daher nichts und man kann z.B. genauso wie bei BSB auch unter LPB mit /I10000=14.5 die Raumtemperatur auf 14,5 Grad setzen oder mit /710 den Komfortsollwert abfragen.

Kurioserweise unterscheiden sich bei über 400 Parametern die CommandIDs bei BSB und LPB nur in einem Byte, und auch dort wird anscheinend immer von 3D auf 05 gewechselt. Noch kurioser ist, dass aber anscheinend sowohl bei BSB als auch bei LPB beide CommandID-Varianten funktionieren. Wo also bei BSB eigentlich die CommandID 2D 3D 05 8E für den Komfortsollwert steht, ist dies bei LPB die 2D 05 05 8E. Und beide IDs scheinen aber (zumindest bei meiner Elco Thision, als auch bei dem ZR1) akzeptiert zu werden.
Das hatte den Vorteil, dass ich für diese über 400 CommandIDs keine neuen Einträge anlegen musste, was auch vom Speicherplatz her hilfreich ist. Da aber auch LPB nicht wirklich 100%ig standardisiert ist, kann es sein, dass manche Parameter bei manchen Thermen dann doch den speziellen LPB-Code haben wollen. Aus diesem Grund gibt es im Repository die Datei LPB-CommandIDs.txt - hier sind alle die Parameter aufgelistet, die durch den Tausch von 3D auf 05 gekennzeichnet sind. Man kann nun einfach die schon korrekt vorformatierte Zeile aus der Datei kopieren und dann in die BSB_lan_defs.h über der Zeile einfügen, die das Kommando bisher definiert (sonst greift ggf. vorher die Zeile, die ein DEV_ALL enthält).

Aber für den Normalgebrauch wird dies vermutlich nicht nötig sein und man kann wie gesagt sowohl das Webinterface als auch die URL-Kommandos wie bisher gewohnt weiter benutzen.

Ich freue mich, dass wir diesen großen Schritt nach vielen Anläufen doch noch geschafft haben, und auch für die reinen BSB-Nutzer hat diese Suche dank der Logs von miwi auch noch mal ein knappes Dutzend neuer Parameter beschert, die eben sowohl auf BSB als auch auf LPB laufen. Interessant ist dabei z.B. 6224, der die Bezeichnung der Steuerplatine im Klartext ausgibt.

Trotz umfangreichem Debuggings durch Schotty kann es natürlich sein, dass hier und da noch Fehler versteckt sind, in dem Fall bitte gerne melden.

Viel Spaß mit der neuen Version,

F.
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

Schotty

Zum Thema Debugging noch ein Hinweis meinerseits mit einer gleichzeitigen Bitte:
Bei mir traten bei diversen Komplettabfragen aller Parameter mittels /0-10000 via LPB hin und wieder nicht sicher reproduzierbare Fehlermeldungen auf. Genauer gesagt "Fehler 82: LPB-Adresskollision". Tests mit diversen Versions-Kombis brachten letztlich auch keine eindeutigeren Ergebnisse bzgl. des Auftretens des o.g. Fehlers.
Meine Bitte daher an alle: Testet doch mal mit einer solche Komplettabfrage, ob bei Euch alles i.O. ist - gerne auch drei- oder viermal. Danke.
Im Übrigen ist die LPB-Implementierung nun auch in den aktualisierten Doks enthalten.
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/