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

hsepm

#1365
Hallo zusammen,

ich bin auf ein interessantes Phänomen gestoßen.

Das Setzen von Parameter 8740 (Raumtemperatur 1) per BSB-LAN schlägt fehl.

Na gut, dachte ich, der Raumeinfluss steht ja noch auf 0%, wird wohl irgendeine Logik der Heizung sein.

Danach habe ich den Parameter Raumeinfluss Heizkreis 1 (750) auf 1% gestellt (geht), aber 8740 lässt sich immer noch nicht setzen. Interessanterweise lässt sich nun auch Raumeinfluss Heizkreis 1 (750) nicht wieder auf 0% setzen, zumindest nicht über BSB-LAN. Das Setzen anderer Parameter (Betriebsart, Komfortsollwert) funktioniert aber, also kein generelles "Senden"-Problem.

Hat das irgendjemand schon mal analysiert?

Ich habe kein RGT parallel in Betrieb.

Gruß,
Holger

EDIT 1: Ich denke, I10000 ist der Schlüssel für die Raumtemperatur, muss ich noch schreibbar machen. Das erklärt aber nicht das seltsame Verhalten von Parameter 750.

EDIT 2: Über den Parameter 10000 (z.B. I10000=19.5) wird in der Tat der Wert von 8740 verändert. Dieser Zeile im Handbuch habe ich wohl nicht genügend Aufmerksamkeit gewidmet, da das ursprünglich nicht mein Anwendungsfall war.

Zum Thema 750: Ich kann jeden Wert ab 1% schreiben ... außer 0%, unabhängig davon, ob ich mit I10000 eine sinnvolle Raumtemperatur gesetzt habe oder nicht.

freetz

#1366
Das ist kein Phänomen, sondern ein falscher Parameter. Auch hier nochmals die Bitte wirklich einmal das Handbuch (oder in dem Fall sogar nur das Howto) zu lesen: Die Raumtemperatur setzt man mit dem virtuellen Parameter 10000.
Edit: Ok, da hatte ich den Post erst nach Deinem Edit abgeschickt, hast es also gefunden...
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

hsepm

Hallo freetz,

ich betrachte das Forum in erster Linie nicht als "Support"-Forum, sondern als Gedankenaustausch zwischen den Anwendern deiner tollen Lösung und finde es spannend, den Gedankengängen anderer über Versuch und Irrtum zu folgen. So möchte ich es auch halten.

Ich denke, es ist unrealistisch, dass irgend jemand die Dokumentation so gut kennt wie du oder Schotty, insofern lass es doch einfach mal laufen und beobachte, wie die Anwender schrittweise zur richtigen Lösung kommen ;-)

Gruß,
Holger

freetz

De facto ist dieser Thread ein Entwickler- und Support-Thread, und das ist auch völlig in Ordnung so - wenn sich die Leute ein wenig Mühe geben und vor dem Posten die Forensuche bzw. das Handbuch oder eben zumindest das HowTo und die FAQ lesen. Das ist im Übrigen eine Grundregel in allen Foren, die ich kenne. Das Problem für uns Entwickler ist nämlich, dass Fragen, die Schotty und ich zwecks Verbesserung der Grundlagen an die Nutzer stellen, häufig nur vereinzelt beantwortet werden - u.a. auch deswegen, weil sie im "Rauschen" von Fragen und Diskussionen untergehen, die hier schon x-mal besprochen wurden (wozu die Frage nach der Übermittlung der Raumtemperatur nun mal leider gehört). Insofern nutzt "laufen lassen" nur einer sehr kleinen Gruppe.

Ich bin hier kein Moderator, insofern kann hier jeder machen, was er will. Aber meine Lust, Leuten zu helfen, die noch nicht einmal die grundlegenden Einführungstexte lesen oder die Forumssuche bemühen, hält sich dann doch sehr in Grenzen. Damit das niemanden überrascht, weise ich die Leute darauf hin (einige sind ja auch vielleicht wirklich das erste Mal in einem Forum unterwegs und kennen die "Spielregeln" noch nicht). Wem das egal ist, braucht sich nicht darum zu scheren und kann dann ja schauen, ob ihm andere helfen.
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

#1369
Eine Frage/Bitte an die Brötje BOB Besitzer (und ggf. andere, die diese Parameter in Ihrer Therme haben):

Die beiden Parameter 7053 und 7054 in der _defs.h haben alle die gleiche CommandID:
{0x053D0B2B,  CAT_WARTUNG,          VT_TEMP,          7053,  STR7053,  0,                    NULL,         DEFAULT_FLAG, DEV_BR_BOB}, // Abgastemperaturgrenze
{0x053D0B2B,  CAT_WARTUNG,          VT_MINUTES_SHORT, 7054,  STR7054,  0,                    NULL,         DEFAULT_FLAG, DEV_BR_BOB}, // Verzögerung Abgasmeldung


Es handelt sich dabei aber einmal um die Abgastemperaturgrenze, die in Grad Celsius angezeigt wird, zum anderen um die Verzögerung der Abgasmeldung in Minuten.

@litronics: Du hattest damals folgendes herausgefunden:
7053 Wartung - Abgastemperaturgrenze
DISP->HEIZ QUR      053D0B2B
DC 8A 00 0B 06 3D 05 0B 2B D3 33
HEIZ->DISP ANS      053D0B2B 00 00
DC 80 0A 0D 07 05 3D 0B 2B 00 00 29 BA

7054 Wartung - Verzögerung Abgasmessung
DISP->HEIZ QUR      053D107E
DC 8A 00 0B 06 3D 05 10 7E 06 EA
HEIZ->DISP ANS      053D107E 00 11 80
DC 80 0A 0E 07 05 3D 10 7E 00 11 80 A2 1E


und das dann aber noch mal für 7054 korrigiert in:

und für 7054 0 min. sehe ich
DISP->HEIZ QUR      053D0B2B
DC 8A 00 0B 06 3D 05 0B 2B D3 33
HEIZ->DISP ANS      053D0B2B 00 00
DC 80 0A 0D 07 05 3D 0B 2B 00 00 29 BA


Kann es also sein, dass 7053 die CommandID 0x053D107E hat (und in Grad Celsius gemessen wird) und 7054 die CoID 0x053D0B2B hat (und in Minuten gemessen wird)? Das würde dann aber wiederum mit Parameter 7056 (TWW Verbrühungsgefahr) kollidieren, bei dem jetzt schon die CoID 0x053D107E hinterlegt ist.

Es wäre von daher toll, wenn einer der BOB'ler diese drei Parameter noch einmal loggen könnte, damit diese dann auch korrekt in BSB-LAN angezeigt/gesetzt werden können.

Danke!
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

#1370
Hallo Freetz,
Du hattest letztens das
ZitatDu kannst sonst vor dem Logging auch schon mal Parameternummern und Bezeichnung posten, dann kann diese Vorarbeit schon gemacht werden.
geschrieben.
die möchte ich hier erst mal abgeben  ;)
Ich habe aber noch eine Frage zum protokollieren.
Müssen alle Einstellmöglichekeiten für sie einzelnen ProgIDs protokolliert werden; oder reicht es aus den eingestellten Wert zu protokollieren?
Es sind nämlich einige ProgIDs dabei, bei denen es sich mir nicht erschließt, wie die Therme darauf reagiert.

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

Hallo Uwe,

vielen Dank für die Liste, das hilft schon mal weiter, da ich dann die Parameter schon einmal (mit leerer CommandID) vorbereiten kann.

Was das Protokollieren angeht, müssen schon nach Möglichkeit alle Einstellungsmöglichkeiten einmal durchgegangen werden. Du musst sie aber nicht speichern, sondern es reicht, den Parameter aufzurufen und dann mit dem Rad durchzugehen. Zumindest bei meiner und Schottys Therme ist es so, dass dann auch schon beim Durchgehen der Werte die entsprechenden Telegramme über den Bus gehen. Wenn dann alle durch sind, einfach auf Abbrechen (bei mir mit der Taste "ESC") gehen, und die Therme bekommt nichts davon mit.

Vielleicht wichtig noch zu wissen: Das Bedienelement (also da, wo man mit dem Rad am Display die Einstellungen macht) ist auch intern über den BSB mit der eigentlichen Therme verbunden. Das Bedienelement schickt also beim Durchgehen immer eine Anfrage (Typ 06) an die Therme, die diese mit Typ 07 beantwortet. Wenn man dann einen Wert speichert, wird dieser mit Typ 03 and die Therme gesendet, die diesen dann mit Typ 04 quittiert. Insofern ist das reine Durchschalten problemlos, solange man den geänderten Wert nicht speichert.

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

postman

Hallo Freetz,
danke für die Erklärung. Ich werde mich mal dran machen; kann aber ein paar Tage dauern... :o

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

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

hsepm

#1374
Hallo freetz,

ich hoffe, das ist der richtige Weg, einen Feature-Request zu stellen. Die technische Machbarkeit kann ich nicht einschätzen.


/* activate IP-address-based access. Only the last segment of the client's IP address is matched, as it is assumed that
* requests are made from the same subnet only. So if your trusted client's IP is 192.168.178.20, you have to set
* TRUSTED_IP to 20.
*/
#define TRUSTED_IP 20


Ich habe das so verstanden, dass derzeit nur EIN Client (im gleichen Subnetz) ge-whitelisted werden kann.

Nun habe ich aber zwei Clients (im gleichen Subnetz), von denen ich auf das http-Interface des Arduino relativ regelmäßig zugreife:

- Vom raspi zur Übermittlung von Raumtemperatur und Einstellung der Betriebsart via fhem und natürlich Datenlogging
- Von einem Windows-PC zur ad-hoc-Info und zum unregelmäßigen Tunen von Parametern, z.B. zum Feintuning des Zeitprogramms

Derzeitiger Workaround: Remotedesktop auf raspi

Ist es technisch möglich, zumindest zwei Clients (EDIT für Klarheit: im GLEICHEN Subnetz) in einer Whitelist konfigurierbar zu machen?

Wie sehen das die anderen User? Wäre das sinnvoll?

Gruß,
Holger


acfischer42

Hallo nochmal.

Ich versuche die Raumtemperatur zu schreiben, allerdings will es mir nicht so recht gelingen:
- v0.39
- Adapter als RTG1 konfiguriert, RTG2 existiert als Raumgeraet.
- Schreibzugriff konfiguriert
- bsb-lan/10000 ergibt:
10000 Benutzerdefiniert - Raumtemperatur 1: error 7 (parameter not supported)
- bsb-lan/I10000=20 ergibt eine leere Seite und 8740 ist weiterhin 0.00


6223 Konfiguration - Bisher unbekante Geräteabfrage: unknown type 000014   
6224 Konfiguration - Geräte-Identifikation: LMS14.002A100   
6225 Konfiguration - Gerätefamilie: 162   
6226 Konfiguration - Gerätevariante: 5   
6227 Konfiguration - Objektverzeichnis-Version: 1.7   
6228 Konfiguration - Bisher unbekante Geräteabfrage: unknown type 000014

gibt es einen Weg herauszufinden welcher Parameter der Richtige waere? Oder welche Information noetig waere um doch schreiben zu koennen?

Vielen Dank

Achim

freetz

@hsepm: Natürlich ist das der richtige Ort für Feature Requests (neben GitHub). Es hatte auch schon mal jemand anderes danach gefragt, insofern ein sinnvolles Feature. Ich habe es jetzt mal "quick and dirty" umgesetzt und ein weiteres Definement "TRUSTED_IP2" hinzugefügt, mit dem eine zweite IP angegeben werden kann, nach der gefiltert wird. Ist nun im master Repository auf GitHub, bitte einmal testen. Für mehr IPs müsste ein Array angelegt werden, was ich bei unbekannter Größe dann entsprechend hoch dimensionieren müsste, was dann im Normalfall zu überflüssiger Speicherblockierung führen würde. Davon würde ich insofern erst einmal absehen, wenn es nicht gesteigerten Bedarf nach mehr als zwei vertrauenswürdigen IPs gibt. Alternativ sei dann auch noch auf die Absicherung mittels des Definements USER_PASS_B64 hingewiesen, mit der man eine klassische HTTP-Passwortabfrage realisieren kann. Die könnte man zwar per Netzwerksniffer abfangen, aber sie ist eben nicht Teil der URL wie bei Passkey, und wer den Einsatz aufbringt, kann auch die eigene IP-Nummer im Netzwerk selber setzen.
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

@acfischer42: Nein, Du hast eigentlich alles richtig gemacht, die Raumtemperatur kann aber mit dem Parameter nur gesetzt und nicht abgefragt werden (dafür gibt es einen Parameter in der Kategorie Status Verbraucher). Es ist auch richtig, dass dabei nur eine leere Seite zurück kommt, weil der Parameter nicht per SET-, sondern per INF-Typ an die Therme geschickt wird, die darauf nicht reagiert.
Trotzdem sollte die Raumtemperatur dann entsprechend übermittelt worden sein. Ein Rückfall würde nur dann erfolgen, wenn länger als 10 Minuten keine RT übermittelt worden ist. Insofern muss man z.B. bei FHEM etc. dafür sorgen, dass die Temperatur z.B. alle 5 Minuten übermittelt wird.

Wenn sie bei Dir wirklich nicht richtig gesetzt wird, verbinde Dich bitte mal mit dem seriellen Monitor, rufe dann /V1 auf und schicke mal den Mitschnitt, wenn Du dann /I10000=20 schickst.
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

hsepm

#1378
Zitat von: freetz am 05 Januar 2018, 10:32:00
@hsepm: Natürlich ist das der richtige Ort für Feature Requests (neben GitHub). Es hatte auch schon mal jemand anderes danach gefragt, insofern ein sinnvolles Feature. Ich habe es jetzt mal "quick and dirty" umgesetzt und ein weiteres Definement "TRUSTED_IP2" hinzugefügt, mit dem eine zweite IP angegeben werden kann, nach der gefiltert wird. Ist nun im master Repository auf GitHub, bitte einmal testen. Für mehr IPs müsste ein Array angelegt werden, was ich bei unbekannter Größe dann entsprechend hoch dimensionieren müsste, was dann im Normalfall zu überflüssiger Speicherblockierung führen würde. Davon würde ich insofern erst einmal absehen, wenn es nicht gesteigerten Bedarf nach mehr als zwei vertrauenswürdigen IPs gibt. Alternativ sei dann auch noch auf die Absicherung mittels des Definements USER_PASS_B64 hingewiesen, mit der man eine klassische HTTP-Passwortabfrage realisieren kann. Die könnte man zwar per Netzwerksniffer abfangen, aber sie ist eben nicht Teil der URL wie bei Passkey, und wer den Einsatz aufbringt, kann auch die eigene IP-Nummer im Netzwerk selber setzen.

OK, prima. Ich komme aber erst ab 15. Januar zum Testen wegen Skiurlaub.

Das Security Hardening steht auf meiner To-Do-Liste (PASSKEY umgesetzt, USER_PASS_B64 erstellt, aber noch nicht aktiv, Fritzbox-Maßnahmen TBD, nur ausgewählte Parameter schreibbar umgesetzt, aber dynamisch).

Gruß,
Holger


hsepm

#1379
Zitat von: acfischer42 am 05 Januar 2018, 10:10:39
Hallo nochmal.

Ich versuche die Raumtemperatur zu schreiben, allerdings will es mir nicht so recht gelingen:
- v0.39
- Adapter als RTG1 konfiguriert, RTG2 existiert als Raumgeraet.
- Schreibzugriff konfiguriert
- bsb-lan/10000 ergibt:
10000 Benutzerdefiniert - Raumtemperatur 1: error 7 (parameter not supported)
- bsb-lan/I10000=20 ergibt eine leere Seite und 8740 ist weiterhin 0.00


6223 Konfiguration - Bisher unbekante Geräteabfrage: unknown type 000014   
6224 Konfiguration - Geräte-Identifikation: LMS14.002A100   
6225 Konfiguration - Gerätefamilie: 162   
6226 Konfiguration - Gerätevariante: 5   
6227 Konfiguration - Objektverzeichnis-Version: 1.7   
6228 Konfiguration - Bisher unbekante Geräteabfrage: unknown type 000014

gibt es einen Weg herauszufinden welcher Parameter der Richtige waere? Oder welche Information noetig waere um doch schreiben zu koennen?

Vielen Dank

Achim

Hallo acfischer42,

8740 ist nach meinem Kenntnisstand die Raumtemperatur (nur Lesen) für Heizkreis 1. Diese scheint von der Heizung aber zurückgesetzt zu werden, wenn länger nichts ankommt.

Versuche außerdem, den Parameter 750 (Raumeinfluss Heizkreis 1) mal auf 1% zu setzen, denn ohne Raumeinfluss braucht die Heizung diesen Wert nicht und ignoriert ihn evtl (sicher modellabhängig).

Außerdem bitte auch mal die Beschreibung für Parameter 726 Kennlinienadaption ein/aus in den Broetje-Unterlagen durchlesen.

Gruß,
Holger