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

Schotty

Zitat von: freetz am 28 Januar 2017, 16:10:34
@Schotty: Ich meinte den kompletten Output, dazu einmal in das untere Fenster mit den Meldungen klicken, dann STRG+A um alles auszuwählen, dann copy&paste. Da die Fehlermeldungen aber von den Standard-Arduino-Bibliotheken kommen, scheint mir da an Deiner Arduino IDE Konfiguration (Libraries alle richtig installiert/eingebunden?) falsch zu sein. Was war Deine letzte lauffähige Version? Diese dann bitte noch einmal von GitHub laden und ebenfalls probieren zu kompilieren. Wenn da der gleiche Fehler auftritt, hast Du Dir in Deiner Installation etwas zerschossen.

Hi Freetz,

das war der komplette Output aus dem Fenster, hatte ich genau so gemacht, wie du es beschrieben hast, es waren nur die drei Zeilen.

Meine letzte lauffähige Version war die letzte von Gero (v.0.15?), deine GitHub-Version wollte ich jetzt das erste Mal flashen und testen. Bibliotheken habe ich alle vom entpackten zip-file in die entsprechenden Ordner kopiert bzw. Geros Versionen durch deine Versionen ersetzt, Fehler bleibt (Ardu-Software-Version dafür ist die 1.0.3, weil es mit den neueren Versionen laut Gero damals wohl nicht funktionierte..) - dann werde ich es aber natürlich gerne nochmal testen, wenn es nach einem Installationsproblem o.ä. meinerseits aussieht.


Eine kurze (eher allgemeine und leicht OT) Frage:
Ist es eigentlich möglich, über die GPIO-Relais-Steuerung auch ein Ein- und Ausschalten eines angeschlossenen Verbrauchers zu ERKENNEN? Also nicht mit dem Ardu schalten, sondern quasi nur Überwachen und eine Zustandsänderung registrieren? Ich würde nämlich sehr gerne meine drei Pumpen (SolarTWW, HK und TWW) irgendwie 'überwachen' und mitloggen, wann sie laufen - nur leider hab ich keine Ahnung, ob und wie sowas ginge..

LG
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Jewe

#571
Hi Scotty,
du kannst ein Relais mit 230V Spule parallel zu Deinen Pumpen anschließen und dann den Kontakt auf die Steuerung anschliesen. Wie es dann im Code eingefügt wird kann ich Dir aber nicht sagen. Ich mache so was mit HM485 Komponenten.
Wenn Deine Pumpen mit PWM angesteuert werden kann es sein dass die Relais nicht richtig schalten. Evtl. Benötigtst Du dann einen anderen Typ.

Jens

freetz

@Schotty: Unbedingt auf aktuelle Version upgraden (1.8.x)! Alles andere erschwert die Fehlersuche nur und würde erklären, warum es (nur) bei Dir Probleme gibt.

@miwi: Danke für die ausführlichen Protokolle! Ich sehe es aber genauso, dass das eine Menge Arbeit für einen (bestenfalls) überschaubaren Mehrwert wäre und werde da selber (auch wegen der fehlenden Anschlussmöglichkeit) keine weitere Energie hineinstecken können. Aber wenn jemand anderes aufgrund der vorliegenden (oder selber erhobenen) Daten das Protokoll entschlüsselt, dann können wir noch mal weiter sehen. In jedem Fall würde es einen größeren Rewrite des Codes erfordern, den ich (zumindest momentant) nicht leisten kann.

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 29 Januar 2017, 15:04:06
@Schotty: Unbedingt auf aktuelle Version upgraden (1.8.x)! Alles andere erschwert die Fehlersuche nur und würde erklären, warum es (nur) bei Dir Probleme gibt.

Dann läuft das also jetzt auch mit der aktuellsten Version? Ja super, das wusste ich nicht, dann probiere ich das nochmal!
Danke, ich melde mich wieder!
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

miwi

#574
Zitatfreetz: "Aber wenn jemand anderes aufgrund der vorliegenden (oder selber erhobenen) Daten das Protokoll entschlüsselt, dann können wir noch mal weiter sehen."
Ich habe doch noch mindestens eine Datei von letztem Jahr gefunden, in der ich meine Gedanken zum LP-Bus niedergelegt habe.  Allerdings faende ich es verwirrend, hier in diesem Thema auf die Details des LP-Bus weiter einzugehen - da waere ein getrennter Faden geeigneter.  Dabei faellt mir auf: Sollte nicht das "LPB" im Titel dieses Fadens durch ein "BSB" ersetzt werden?

Der Leser, der ein OCI700 besitzt, hat bestimmt auch das SIEMENS ACS-Programm, das dazu gehoert.  "frretz" erwaehnt die "fehlende Anschlussmoeglichkeit".  Elektrisch kann man sowohl den LP-Bus als auch den BS-Bus mit den Interfaceschaltungen verbinden. Meine Interfaceschaltung hat zwei parallel geschaltete Modularbuchsen als Eingenge, in deren eine ich das mitgelieferte OCI700 LP-Buskabel einstecken kann und in die andere ein 1:1 Kabel mit Modularsteckern, das weiter zum OCI700 geht.  So hoere ich die Daten zwischen LP-Bus  und dem OCI700 mit.  Man kann natuerlich auch den hier vorgestellten Interfaces eine kleine Adapterplatine mit drei parallel geschalteten Modularbuchsen vorschalten und erzielt dasselbe Ergebnis.

Noch ein Gedanke: Die Hersteller geben in ihren Handbuechern bei einer ganzen Anzahl von Rueckmeldungen von der Anlage nur den Nachrichtentext an, nicht aber die zugeordneten numerischen Werte auf dem Bus.  Auch Broetje macht das so, gibt aber erfreulicherweise manchmal auch Text und zugehoerigen Wert an.  Warum nicht in allen Faellen?  Moeglicherweise fehlen die Angaben schon in der SIEMENS-Dokumentation, die sie den Herstellern an die Hand geben.

Sofern klar ist, ob und wie eine Pruefsumme in den LP-Bus Telegrammen vorhanden ist und an welcher Position das Byte mit dem Statuswert jeweils steht, koennte ein zwischengeschalteter Mikrocomputer gezielt Antworttelegramme der Heizung veraendern, die einen 1-Byte Status zurueckmelden.  Das ACS-Programm wuerde dann den Status / die Konfigurationseinstellung anzeigen, welche der Aenderung entspricht.  Wie oben beschrieben, bringt das ACS-Programm laufend die Werte in der Anzeige auf den aktuellen Stand (so meine Interpretation der zyklischen Wiederholung von Kommandos). So koennte man recht bequem alle 256 in einem Byte darstellbaren Werte durchprobieren, ohne die Heizung damit zu "belaestigen", sie wuerde davon nichts wissen.  Das ist wesentlich, denn die Steuerungen sind immerhin so intelligent, dass sie im Fehlerspeicher einen Fehler ablegen, wenn man z.B. eine Konfigurationseinstellung in die Anlage schreibt, die inkonsistent mit der Systemauslegung ist.  Abgesehen davon rate ich dringend davon ab, Konfigurationseinstellungen beliebig zu setzen, da nicht ausgeschlossen ist, dass dadurch Schaeden entstehen. Das Schlimmste, was ich mir bei der obigen Methode vorstellen kann, ist, dass das ACS Programm bei nicht vergebenen Werten meckert.

Warum diese Analysemethode? Es koennte ja sein, dass die Zuordnung zwischen numerischen Werten und Nachrichtentexten fuer den BS-Bus und LP-Bus gleich sind. Ich wuerde jedenfalls als Programmierer zuerst einmal so vorgehen. Die Ergebnisse der LP-Bus Analyse lassen sich in diesem Fall auch auf den BS-Bus anwenden.  Bei den Parametern, die man auch setzen kann, ist der numerische Wert fuer Schreiben und Lesen derselbe.  Es reicht also, die Leserichtung zu analysieren.

freetz

Das sind gute Punkte - eine Umbenennung des Threads fände ich auch hilfreich (sofern möglich), wie wäre es z.B. mit "LAN-Anbindung für BSB-Bus (Brötje, Elco Thision etc.)"? Vielleicht kann Andre das ja noch ändern.
Falls es nicht geht, kann aber von mir aus auch hier mit der Entschlüsselung des LBP-Protokolls weitergemacht werden, denn BSB-seitig sind wir ja größtenteils "durch", zumindest, was die Diskussion angeht. Die weiteren Gedanken von miwi würden mich aber so oder so interessieren.

Ich frage mich allerdings, ob man mit einem OCI700 auch ohne dedizierte LBP-Bus-Anschlussklemmen wirklich LBP-Bus-Daten mitbekommt oder ob das OCI700 bei mir (ohne ein LBP-ClipIn) einfach nur über BSB kommunizieren würde. Ansonsten wäre die Form des Einklinkens in den Bus natürlich eine gute Idee.

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

miwi

#576
ZitatIch frage mich allerdings, ob man mit einem OCI700 auch ohne dedizierte LBP-Bus-Anschlussklemmen wirklich LBP-Bus-Daten mitbekommt ..
Um auf LP-Bus-Daten zuzugreifen, bedarf es eines LP-Bus-Anschlusses an der Steuerung.  Ich kann mir keine andere Loesung vorstellen.
Zitat.. oder ob das OCI700 bei mir (ohne ein LBP-ClipIn) einfach nur über BSB kommunizieren würde. Ansonsten wäre die Form des Einklinkens in den Bus natürlich eine gute Idee.
Ich denke, das OCI700 selbst ist nur ein Layer-1 Geraet; es kommuniziert nicht selbst, sondern der angeschlossene Rechner.

Meine Heizungsgeraete haben jeweils mindestens einen LP-Bus Anschluss, in den man die schon beschriebene 4-polige Kupplung mit 2.54mm-Raster stecken kann.  Die ISR-SSR hat ausserdem noch zwei BS-Bus Anschluesse mit 6.35 mm Flachsteckern.  Beide Buses sind also mechanisch getrennt ausgefuehrt.  Es soll wohl egal sein, ob ich den LP-Anschluss an der ISR-SSR Steuerung oder am Heizkessel verwende.  Ein entsprechendes Experiment habe ich nicht unternommen.  Von der ISR-SSR aus kann ich ueber den LP-Bus auf alle anderen Geraete in der Installation zugreifen.

1.  Das OCI700 Interface kann man nicht nur mit dem LP-Bus verbinden, sondern auch mit dem KNX-Feldbus.  SIEMENS beschreibt es als "Servicetool fuer KNX/LPB".  Ein Blick ins Innere gibt keinen Hinweis darauf, dass ausreichend viel "Intelligenz" vorhanden waere, LB-Bus-Daten oder BS-Bus-Daten zu verarbeiten.  Ich denke, die Schaltung dient drei Zwecken: Der galvanischen Trennung des Computers von der Anlage und dem korrekten Anschluss zum Lesen und Schreiben an die Buses, und ein dediziertes USB-Interface zum Rechner zu bilden, das der Rechner als OCI700 erkennt. 
2. Das dem OCI700 beiliegende LB-Bus Kabel hat einen Stecker, der nur in die LP-Bus-Buchsen an der Steuerung passt  (siehe Bild).  Selbst wenn die Steuerung (auch noch) einen BS-Bus-Anschluss haette, verbietet sich so von selbst der Versuch, das OCI700 mit dem BS-Bus zu verbinden.  Fuer den BS-Bus gibt es ja die diversen hier beschriebenen Selbstbauinterfaces. 
3. Die Firma Broetje legt eine CD mit einem Windowsprogramm ACS790 bei, das die LP-Bus-Daten interpretiert und anzeigt - Wartung fuer Mausschubser mit anderen Worten.  Da das OCI700 Interface nur ein LB-Bus-Kabel hat, nehme ich als sicher an, dass auch die Software nur fuer den LP-Bus ausgelegt ist.  Das Programm ist insofern eine Hilfe beim Analysieren der Kommandoparameter, als das Programm veraenderbare und aenderbare Parameter unterschiedlich darstellt.  Ausserdem kann man beim Schreiben mancher Parameters auch noch entscheiden, ob der Parameter deaktiviert werden soll oder nicht (teilweise in den Foren auch als "nullable" bezeichnet).  Diese Eigenschaft geht aus den Broetje-Handbuechern nicht hervor.  Die Darstellung auf dem Windowsrechner hat mir geholfen, bei der Kommandobeschreibung in XML writeable und nullable zu beruecksichtigen.

Noch ein letzter Gedanke: Es gibt Software (zum Beispiel www.virtualhere.com), mit der man ein USB port ueber TCP/IP weiterleiten kann. Mit dem OCI700 und einem Raspi vor Ort an der Heizung, einem VPN Tunnel und einem Windowsrechner mit ACS-Programm irgendwo auf der Welt kann man die Heizung auch aus der Ferne einsehen.  Das Gute: Man muss die Kommandos nicht analysieren *g*

Schotty

Zitat von: freetz am 29 Januar 2017, 15:04:06
@Schotty: Unbedingt auf aktuelle Version upgraden (1.8.x)! Alles andere erschwert die Fehlersuche nur und würde erklären, warum es (nur) bei Dir Probleme gibt.

Hi Freetz,
nur kurz zur Info: Mit der aktuellen Ardu-Version hat es ohne Probleme funktioniert! Danke!

LG
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Gizmo_the_great

#578
Die Fernwartung per OCI700 Interface mit dem "immerhin" kostenlos bereitgestellten Download der Software ACS790 auf der Siemens Webseite ist wirklich nicht für jedermann sinnvoll.
Der Preis von ca. 600€ für das Brötje Service-Modul 622172 ist für Privatpersonen völlig uninteressant.
Ich hab es für 75€ per Ebay-Kleinanzeigen erworben, nachdem ich 9 Monate!!! eine Suche mit Benachrichtigung eingerichtet hatte.

Das BSB-Interface mit Arduino und Ethernet für knapp 60€ ist mir aber deutlich wertvoller.
Sich per VPN vom iPhone auf die Fritzbox zu verbinden und von unterwegs aus dem Browser heraus Heizungswerte zu ändern oder Feststoffkessel und Puffertemperaturen abzufragen ist ein unglaublicher Luxus ohne so tief in die Tasche greifen zu müssen.

Wenn das ganze schon auf einen Wemos D1 mini (ESP8266) portiert wäre, hätte man für knapp 30€ ein funktionierende BSB-Interface.
Ich krieg das mit der Portierung des Codes auf den Wemos leider nicht hin.

Den LPB zu analysieren und den Code zu ändern ist ein ganz schöner Aufwand den ich wahrscheinlich nicht leisten kann.
Ich werde den ISR SSR und den WGB S wohl mit zwei getrennten Arduinos/BSB-Adaptern verbinden.
So hat jedes Gerät seine eigene IP-Adresse und der Code kann auf die wirklich verfügbaren Systemparameter reduziert werden.

Grüße

Gizmo


Gesendet von iPhone mit Tapatalk
FHEM unter Debian auf RK3188, Homebridge, Apple TV3, Wemos D1 mini mit ESPeasy als RF433MHz-Transmitter, Raumsensor und OLED, Wemos D1 als Klingelsensor per Pushnachricht inkl. Remoteklingel-Funktion, Heizungsregelung Brötje WGB S und ISR SSR C mit BSB_Lan

stan23

Zitat von: miwi am 31 Januar 2017, 23:36:11
Es gibt Software (zum Beispiel www.virtualhere.com), mit der man ein USB port ueber TCP/IP weiterleiten kann. Mit dem OCI700 und einem Raspi vor Ort an der Heizung, einem VPN Tunnel und einem Windowsrechner mit ACS-Programm irgendwo auf der Welt kann man die Heizung auch aus der Ferne einsehen. 
Das habe ich gemacht um beim Debuggen nicht im Keller sitzen zu müssen :)

Leider mag die Arduino IDE nicht wirklich gut über VirtualHere flashen.
Jetzt läuft AVRdude und ein Terminalprogramm direkt auf dem Raspberry und ich schaue es mir nur per SSH an.

Btw, ich habe eine Broetje WGB 15 E (Gas, Pufferspeicher, Solarunterstützung).

miwi

#580
Zitat.. mit dem "immerhin" kostenlos bereitgestellten Download der Software ACS790 auf der Siemens Webseite ..
War da nicht eine OEM-Software des/eines Heizungsherstellers dabei?  Mein freundlicher Heizungsmensch hat das Koefferchen bestellt, und ich habe es mir leihen koennen.  Wenn wir ueber Geld reden, dann kaeme auch einer der SIEMENS Web-Server in Frage, deren Preise aber auch bei einigen hundert Euro liegen.  Was wuerde ich dann aber mit meiner frei gewordenen Zeit anfangen? *g*
ZitatDer Web-Server OZW672... ermöglicht die Fernbedienung und Fernüber-
wachung von Anlagen über Web.
Der Web-Server OZW672... ist in drei Ausführungen verfügbar: Für den
Anschluss von 1 LPB/BSB-Gerät bzw. von 4 oder 16 LPB-Geräten der
Sortimente Sigmagyr / Albatros und Albatros2.

• Bedienung über Web-Browser mit PC/Laptop und Smartphone
• Bedienung über PC-Tool ACS790
• Verbindungsarten: USB und Ethernet
• 2 Digitaleingänge für Störungsmeldungen
• Anzeigen von Störungsmeldungen im Web-Browser
• Senden von Störungsmeldungen an bis zu 4 E-Mail Empfänger
• Periodisches Senden von Systemreports an die E-Mail Empfänger
• Anlagenvisualisierung im Web-Browser mit benutzerdefinierten
Anlagen-Webseiten
• Verschlüsselung mit https und E-Mail mit TLS
• Trending mit ACS790
• Software-Update
Nachteil: Proprietaere Implementierung, nicht offen.  Vorteil: Unterstuetzt die ganzen Kommandos, an deren Interpretation sich hier einige versuchen.

ZitatDas BSB-Interface mit Arduino und Ethernet für knapp 60€ ist mir aber deutlich wertvoller.
Sich per VPN vom iPhone auf die Fritzbox zu verbinden und von unterwegs aus dem Browser heraus Heizungswerte zu ändern oder Feststoffkessel und Puffertemperaturen abzufragen ist ein unglaublicher Luxus ohne so tief in die Tasche greifen zu müssen.
Hat schon einmal jemand ueber ein BS-Bus binding fuer OpenHAB nachgedacht?
Vorteil: Fuer viele verschiedene Systeme (!) offen, nicht proprietaer.  Nachteil: Nicht alle Kommandos und Statusnachrichten koennen implementiert werden, da die Informationen fehlen.  Genau wie hier.  Trotzdem, das hat was.   *duckundweg*  Aber so koennte es aussehen:

miwi

#581
Ich hatte den SIEMENS Webserver OZW672 erwaehnt.  Benutzer sollten darauf achten, den neuesten Stand der Firmware einzuspielen, weil ICS-CERT eine Warnung https://ics-cert.us-cert.gov/advisories/ICSA-16-019-01 herausgegeben hat.

Ein Benutzer hat dafuer ein OpenHAB binding geschrieben https://community.openhab.org/t/new-biding-addon-for-siemens-hvac-controller-ozw672-01/6359

Damit entfiele ggf. das Entwickeln eines nativen BS-Bus bindings, das die bisher bekannten BS-Bus Kommandos implementiert.

miwi

ZitatDie Fernwartung per OCI700 Interface mit dem "immerhin" kostenlos bereitgestellten Download der Software ACS790 auf der Siemens Webseite ist wirklich nicht für jedermann sinnvoll.

Vielleicht wird es doch sinnvoll, wenn man sich auf die "kostenlos bereitgestellte" Software beschraenkt.  Darin muessen die ganzen Tabellen stehen, welche die Kommandos und ihre Parameter definieren.

freetz

Nur ganz kurz aus dem Urlaub: Dank der Analyse von Tobias gibt es nun einige Dutzend neue Parameter, die meisten vermutlich spezifisch für die Fujitsu Wärmepumpe, aber einige sind vielleicht auch für andere Heizungssysteme von Interesse. Version 0.21 steht auf GitHub zum Download bereit.
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

Zitat von: miwi am 05 Februar 2017, 17:41:13
Vielleicht wird es doch sinnvoll, wenn man sich auf die "kostenlos bereitgestellte" Software beschraenkt.  Darin muessen die ganzen Tabellen stehen, welche die Kommandos und ihre Parameter definieren.

Das sehe ich zumindest für den LBP-Bus als die momentan realistischste Vorgehensweise - wobei man auch da nicht sicher weiß, wie aufwändig das reverse engineering wäre. Und es bliebe die Frage, wie die Software mit den unterschiedlichen Heizungssystemen umgeht, die z.T. die gleiche CommandID auf unterschiedliche Parameter mappen (oder umgekehrt).
Aber abgesehen von dem durchaus positiven Drang nach einer kompletten Umsetzung aller Befehle, finde ich, dass wir schon sehr weit gekommen sind - zumindest, was die im Rahmen der Home-Automation steuerbaren Funktionen angeht :)...
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