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

postman

Hallo Schotty,
ne, wie sollen die, das ist historisch so gewachsen >:(
Die mit den Durchmessern waren wohl die Fernmelder von der Reichspost Anfang des 20igsten Jahrhunderts und die mit dem Querschnitt -- Keine Ahnung; wahrscheinlich die Leute, die im 19ten Jahrhundert in Amerika die ersten Elektrischen Leitungen gebaut haben.

So, mittlerweile habe ich von meinem freundlichen Installateur Bescheid bekommen, dass ich Anfang nächster Woche einen Stecker für das Heizungsboard bekomme; dann gibts auch bei der Verdrahtung in der Heizung keine Meckerei  :D

GRuß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

miwi

#1231
Wenn es mit der Ethernet ueber Netzleitung wegen unterschiedlicher Phasen nicht klappen will, gbt es ja auch Phasenkoppler (Suchmaschine).

ZitatSchotty: RVS63.283/200 = SSR -> Adapter NICHT an BOB angeschlossen, ergo auch keine BOB-Parameter verfügbar (s. Posting-Historie litronics&meine Wenigkeit + entspr. Abschnitte im Handbuch).
So weit zum BS-Bus.

Der LP-Bus adressiert auch in ueber Segmentgrenzen hinweg und erreicht so von einem Geraet aus (z.B. OCI700 Service Tool) sowohl eine ISR SSR Steuerung als auch ein anderes Geraet wie z.B. den Kessel.

Beispiel eines Telegramms zwischen zwei Geraeten am LP-Bus:
Pause of 24,184 us. Offset time (hh:mm:ss.us) is now: 00:00:00.58564
Telegram    2 INV 78 11 08 00 0C 02 00 14 A7 05 05 05 21 00 04 2B F1 C8 len=0x12
Data point is "Außentemperatur (ProgNr 8700)".
Src=0/0 (ISR-SSR) Dest=0/8 (OCI700 ) Type=ANS cmdCode=05050521 Payload=00042B CRC=0xF1C8

Im hi nibble eines Adressbytes ist das Segment kodiert (hier beides Mal Segmentadresse 0), im lo nibble die Geraeteadresse.  Fuer den Kessel fehlt mir gerade ein Mitschrieb.
Nachtrag: Ich habe mehrere Telegramme in einer Datei gefunden, aus denen hervorgeht, dass der Kessel bei mir im selben Segment wie die ISR SSR liegt.   Die Kommandos sind unbekannnt.
Pause of 23,506 us. Offset time (hh:mm:ss.us) is now: 00:00:15.95907
Telegram  129 INV 78 0E 01 04 C0 02 00 14 A6 05 05 00 64 F5 81 len=0x0f
cmdCode (QUE) = 0x05050064 (ProgNr TBD_)
Src=0/4 (ErwMod2) Dest=0/1 (Kessel ) Type=QUE cmdCode=05050064 Payload= CRC=0xF581

Pause of 26,670 us. Offset time (hh:mm:ss.us) is now: 00:00:15.156957
Telegram  130 INV 78 18 04 01 0C 02 00 14 A7 05 05 00 64 00 8A 00 64 03 E8 00 00 79 B6 ED EA len=0x19
cmdCode (ANS) = 0x05050064 (ProgNr TBD_)
Src=0/1 (Kessel ) Dest=0/4 (ErwMod2) Type=ANS cmdCode=05050064 Payload=008A006403E8000079B6 CRC=0xEDEA
#FI[0x05050064]   = (TBD_, u'Kessel ->ErwMod2 type=ANS, payload=008A006403E8000079B6')

Pause of 82,525 us. Offset time (hh:mm:ss.us) is now: 00:00:17.493703
Telegram  151 INV 78 16 01 00 CC 02 00 14 02 15 11 01 FC 00 00 00 00 01 64 00 00 EE 0F len=0x17
cmdCode (INF) = 0x151101FC (ProgNr TBD_)
Src=0/0 (ISR-SSR) Dest=0/1 (Kessel ) Type=INF cmdCode=151101FC Payload=0000000001640000 CRC=0xEE0F
#FI[0x151101FC]   = (TBD_, u'ISR-SSR->Kessel  type=INF, payload=0000000001640000')

Pause of 26,631 us. Offset time (hh:mm:ss.us) is now: 00:00:22.614057
Telegram  200 INV 78 17 00 01 CC 02 00 14 02 11 15 02 09 00 01 00 00 C8 00 39 2F 10 EC FB len=0x18
cmdCode (INF) = 0x11150209 (ProgNr TBD_)
Src=0/1 (Kessel ) Dest=0/0 (ISR-SSR) Type=INF cmdCode=11150209 Payload=00010000C800392F10 CRC=0xECFB
#FI[0x11150209]   = (TBD_, u'Kessel ->ISR-SSR type=INF, payload=00010000C800392F10')

Pause of 22,243 us. Offset time (hh:mm:ss.us) is now: 00:00:24.564250
Telegram  218 INV 78 13 01 00 CC 02 00 14 02 15 11 01 F5 00 00 00 00 01 F0 9E len=0x14
cmdCode (INF) = 0x151101F5 (ProgNr TBD_)
Src=0/0 (ISR-SSR) Dest=0/1 (Kessel ) Type=INF cmdCode=151101F5 Payload=0000000001 CRC=0xF09E
#FI[0x151101F5]   = (TBD_, u'ISR-SSR->Kessel  type=INF, payload=0000000001')

Ein Hindernis, falls diese Art der Segment/Geraete-Adressierung sich in LPB_lan.ino (*g*) in den Adressbytes implementieren liesse, ist immer noch die fehlende Kenntnis der in einer Anlage zugewiesenen Segment-Adressen.  Das ACS Programm und das OCI700 Service Tool schauen deshalb zu Beginn einer Verbindung, welche Geraete mit dem LP-Bus verbunden sind, welche Segmentadressen fuer diese Geraete vergeben sind und welche Geraeteadressen sie haben.  Falls jemand diesen Telegramm-Austausch beim Verbinden mit der Anlage sich anschauen moechte, kann ich den wieder 'mal mitschreiben. 

Moeglicherweise vergibt das System Segmentadressen in aufsteigender Folge. Da dann die denkbaren Segmentadressen ziemlich voraussagbar sein koennten, koennte das Programm mit ein paar Segmentadressen versuchen, ein zweites Geraet wie z.B. den Kessel zu erreichen. 

miwi

Zitatdie mit dem Querschnitt -- Keine Ahnung; wahrscheinlich die Leute, die im 19ten Jahrhundert in Amerika die ersten Elektrischen Leitungen gebaut haben.
Auch in DE hat man schnell gemerkt, dass mein kein ganzes Wohnviertel ueber eine Klingeldrahtleitung versorgen kann ;-)  This is no rocket science.

Schotty

#1233
Zitat von: miwi am 07 Dezember 2017, 16:32:26
So weit zum BS-Bus.

Der LP-Bus adressiert auch in ueber Segmentgrenzen hinweg und erreicht so von einem Geraet aus (z.B. OCI700 Service Tool) sowohl eine ISR SSR Steuerung als auch ein anderes Geraet wie z.B. den Kessel.
[...]
Stimmt, LPB ist 'übergreifend', ich ging aber mal davon aus, dass litronics via BSB abgerufen hat (oder -falls via LPB- zumindest mit den Standardeinstellungen hinsichtlich der Geräteadressen). Übrigens hat Frederik den 'fliegenden Wechsel' im Grunde auch schon implementiert, m.W. wurde es aber noch nicht ausgiebig getestet.
Handbuch Kap. 8:

• Setze das Bus-Protokoll vorübergehend auf BSB (<x>=0) oder LPB (<x>=1):
http://<IP-Adresse>/P<x>
• Um zusätzlich die eigene oder die Zieladresse mittels URL-Befehl zu wechseln, muss
http://<IP-Adresse>/P<x,y,z>
genutzt werden, wobei
<x> = Bus (0 = BSB, 1 = LPB),
<y> = eigene Adresse (default 0x06 = RGT1) und
<z> = Zieladresse (default 0x00 = Geräteadresse 1) sind.
Leerwerte bei den Adressen belassen den bisherigen Wert (= Adresse).
ACHTUNG: Diese Funktion wurde noch nicht ausgiebig getestet!

Die Segmentadresse sollte aber doch laut specs (Siemens LPB Systemgrundlagen CE1N2030D, s. Anhang hier) zumindest bei der Standardinstallation mit Wärmeerzeuger und Regel-Geräten/Verbrauchern die "0" (bzw. die gleiche Segm.Adr.) sein, die Geräteadressen sind dann natürlich anzupassen. Von daher dürfte doch die Segmentadresse eigtl nicht das Problem sein, oder?
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

miwi

#1234
Schotty, ich habe mich noch nicht tief hineingedacht, weiss aber, dass mir das ACS-Programm zwei Baeume darstellt.  Ich habe nachgeschaut:

Im einen Baum, den ACS mit einem Namen und mit "Segment 0" bezeichnet, befindet sich ein Geraet.
Im zweiten Baum mit Namen "Regler", den ACS auch mit "Segment 0" bezeichnet, sind zwei Geraete, die ISR-SSR und der Kessel.  Ich denke (!), dass ich selbst den Namen "Regler" vergeben habe. Ich weiss (!), dass ich den Geraeten sprechende Namen zugewiesen habe.

Bei der ISR-SSR steht in der Adresspalte der Menues "Regler;0;1" und beim Kessel "Regler;0;2". Beide sind also im Baum "Regler", beide liegen im Segment 0, und ihre Geraeteadressen sind '1' bzw. '2'.  Die Adressen auf dem LP-Bus sind aber um eins niedriger. Ueber eine sinnvolle Ausgabe muss ich mir noch einmal gesondert Gedanken machen.


Schotty

Zitat von: miwi am 07 Dezember 2017, 16:32:26
[...]
Ein Hindernis (...) ist immer noch die fehlende Kenntnis der in einer Anlage zugewiesenen Segment-Adressen. 
(...)
Moeglicherweise vergibt das System Segmentadressen in aufsteigender Folge. Da dann die denkbaren Segmentadressen ziemlich voraussagbar sein koennten, koennte das Programm mit ein paar Segmentadressen versuchen, ein zweites Geraet wie z.B. den Kessel zu erreichen.

Ah ok, also Segment 0 - dann passt es ja schonmal; mich hatte deine obige Aussage vorhin nur etwas irritiert.. ;)
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

miwi

Du und das SIEMENS Handbuch habt recht: "Dem Segment '0' kommt eine besondere Bedeutung zu".

Schotty

#1237
ICH hab da nix mit zu tun - hatte diesmal nur aufmerksam gelesen (und nicht Querschnitt als Durchmesser gelesen höhö)  ;D

EDIT: Sieht man im Übrigen ja auch oben in deinen Telegrammen: Immer 'Source=0/x' und 'Dest = 0/x'.
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

postman

Hallo,
Hab da mal ne Frage: Kann das Ethernetboard auch auf DCHP umgestellt werden? In der Anleitung finde ich das leider nicht.

Gruß
Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

freetz

Prinzipiell ja, Du müsstest Dir nur den entsprechenden Teil des Scripts selber anpassen (siehe einfache Beispiele hier: https://www.arduino.cc/en/Tutorial/DhcpAddressPrinter), denn ich werde das nicht als Teil der "offiziellen" Version einbinden, da - wie auch auf der Seite zu lesen ist - der DHCP-Client das Programm signifikant vergrößert und das dann zu Lasten anderer (sinnvollerer) Erweiterungen ginge.
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

postman

Hallo Freetz,
Danke, dann lass ich das so.

Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

postman

#1241
Hallo Freetz,
so, der Adapter ist fertig; leider habe auch ich eine defekte LED aus meinem Teilelager erwischt. Nach Austausch funktionierte der Adapter dann.
Im Serialmonitor habe ich nach Aufruf der Webseite mit Parameter 6224 - 6226
diese Ausgabe erhalten:
RGT1 ANS 6225 Konfiguration -  Gerätefamilie: 162
Device family: 162
Device ID: 1024


Ich habe die Heizung und den Adapter, so wie ich es vorhatte, erst mal versuchsweise mit einem Telefonkabel verbunden. die Länge des Kabels beträgt ca. 80 m. Es funktioniert ohne Probleme.

@Shotty: Der Heizungstyp ist eine Brötje BBK 22E

Eine Frage habe ich noch:
Im Handbuch wird die Webeite für den Heizkreis 1 dargestellt. Da ist hinter jedem Eintrag ein Set-Button zu sehen. Diese Buttons gibt es bei mir nicht, woran liegt das oder ist das heizungsabhängig?
Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Schotty

Moin postman,
danke für die Rückmeldung. Was kommt denn im Webinterface, wenn du <ip>/6224/6225/6226 eingibst?
Die Pulldown-Menüs kommen, wenn du das Flag FL_RONLY in der config.h (ganz am Ende) nicht gesetzt hast, sondern stattdessen eine 0 gesetzt hast - dann sind alle entsprechenden Parameter via Webinterface veränderbar. Wenn nur ausgewählte Parameter veränderbar sein sollen (bspw. BA-Umschaltung HK1), musst das generelle FL_RONLY in der config.h belassen und in der defs.h-Datei bei den gewünschten Parametern das FL_RONLY durch 0 ersetzen, siehe Handbuch S. 17 (Kap. 5, letzter Punkt).
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

postman

Moin Shotty,
jau das wars. Wie heißts so schön: Werlesen kann ist klar im Vorteil ;D (Natürlich auf mich gemünst).
So jetzt muss ich das Ganze nur noch vernünftig anschließen und ein anständiges Gehäuse bauen.
Übrigens; von den ca. 80 Meter Kabel sind im fertigen Zustand ca. 10 Meter übrig geblieben und es funktioniert.

Die Ausgabe ist
6224 Konfiguration - Geräte-Identifikation: LMS14.001A100       
6225 Konfiguration - Gerätefamilie: 162       
6226 Konfiguration - Gerätevariante: 17    
mit jeweils ein Eingabefeld und den Set-Button dahinter. Ich habe allerdings eben das Flag auf 0 gesetzt und neu hochgeladen.

Sieht gut aus und funktioniert alles.
Danke

Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Schotty

Moin Uwe,
ja, wem sagst du das.. Kürzlich habe ich freetz gefragt, ob er (sinngemäß) nicht eine Abfragemöglichkeit für Digitalpins hinzufügen könnte, damit man den Zustand von Verbrauchern abfragen kann, die mittels Koppelrelais am Adapter angeschlossen sind.. Tja, wat soll ich sagen - shame on me: 'die Funktion gibt's mit /G doch schon' - upps, ach ja, steht ja auch sogar im Handbuch.. ;D

Danke für die Abfrage, dann füge ich deinen Heizungstyp mit zur Liste hinzu.
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/