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

dertobsen

#5265
Zitat von: Schotty am 15 Januar 2021, 23:43:19
Deinen letzten satz verstehe ich allerdings nicht so richtig..

Sorry falls ich mich da blöd ausgedrückt habe. Habe mir jetzt den Quelltext angeschaut und dabei gesehen, dass die Funktion anders funktioniert als ich zunächst erwartet hatte. Klappt nun auch super.

Man published einfach im "Top-Level" also MQTTTopicPrefix (Standard: BSB-LAN) einen String wie S700=2 und die Heizung schaltet dann direkt um. Als Verbesserung könnte man dann im Anschluss den gesetzten Parameter wie hier 700 noch direkt wieder mit der Änderung als BSB-LAN/700 oder eben JSON publishen (mit vorheriger Abfrage, ob es so oder so geloggt wird?), da es sonst bis zum nächsten Zeitpunkt des Logintervalls (bei mir 60 Sekunden) dauert, bis man im MQTT etwas davon sieht. In der Weboberfläche und an der Heizung selbst ist es direkt ersichtlich.

PS: Ich muss mich aber ja auch outen, da ich FHEM nur für die Einbindung von Somfy, Revolt (Strommessung) und 433MHz nutze und eigentlich alles an Logik etc. über iobroker mache.

Luposoft

@Schotty
Standard ist MQTTTopicPrefix meint:
dieser Wert wird als Topic genommen

Nur für den Fall, dass jemand warum auch immer, MQTTTopicPrefix leer lässt, wird als Topic FromBroker genommen.

Raspi B+
CUL nano 433MHz
CUL nano 868MHz
ELCO Thision S Plus 19
Arduino Due

freetz

Sorry an alle, ich bin die letzten Tage in einer Online-Fortbildung und gleichzeitig habe ich wieder keine Benachrichtigung bekommen. Lese mir das morgen oder so mal in Ruhe durch.
Bis dahin eine Bitte an diejenigen, die PPS nutzen:
Ich habe hier kein "echtes" System, um das zu prüfen, aber bei einem Log eines Users ist der Parameter "15006 - Trinkwasser 1" immer konstant. Ist das bei Euch auch so? Dann könnte es sein, dass das Trinkwasser-Soll ist. Wenn er sich aber "bewegt", dann nutzen die Heizungen wohl unterschiedliche Inhalte für den gleichen Parameter - was blöd wäre...
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

@Luposoft: Ah ok, dann ist es jetzt auch für mich klar - danke :)

@Scherheinz: Für den Fall, dass das letztlich dann so mit der Lösung von Luposoft funktioniert: Könntest du mir dann das entspr list schicken bzw hier also code posten? Dann würde ich das vermutlich auch noch mit ins Handbuch aufnehmen wollen. Aber bis dahin habe ich es vermutlich wieder vergessen oder finde den Beitrag nicht mehr.. ;) Danke schonmal.

Zitat von: freetz am 16 Januar 2021, 16:37:16
habe ich wieder keine Benachrichtigung bekommen.
Komisch, war bei mir auch so..
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

Zitat von: dertobsen am 15 Januar 2021, 21:56:04
Zwei Fragen habe ich aber noch:
1)
Es gibt Parameter, die zeitweise den Wert "---" annehmen. Bspw. Brennermodulation (8326) oder Drehzahl Heizkreispumpe 1 (8735). Ich setze sie dann im iobroker auf 0, damit ich im Grafana auch korrekte Darstellungen sehe und die influxDB im Hintergrund nicht meckert, da es kein Float o.Ä. ist. Ansonsten bleibt in der DB der letzte Wert stehen und die Graphen zeigen einen längeren Zeitraum mit falschen Wert.
Wenn man nun auch per MQTT senden kann, frage ich mich, ob es mit dieser Art und Weise Probleme geben könnte?

Oder an welcher Stelle könnte man das Verhalten ändern, sodass nicht mehr "---" im Broker landet?

Achtung: "---" ist nicht "0"! "---" heißt i.d.R. "disabled", das heißt, dass der Parameter bzw. die Funktion als solches nicht aktiv ist. So kann ein Fühler "---" sein, weil er nicht aktiv ist, aber der Wert 0 (z.B. als Temperaturwert) wäre etwas anderes und eine Gleichsetzung falsch. Dass das bei grafischen Darstellungen ein Problem ist und man da auf "0" umwandeln muss, kenne ich, aber es wäre keine Lösung, wenn BSB-LAN dies schon tun würde und damit einen inhaltlich falschen Wert übermitteln würde.
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: Accureve am 15 Januar 2021, 23:11:22
@freetz: Wie angekündigt hier die Infos zur Anbindung meiner Zirkulationspumpe (über eine Funksteckdose mit einem entsprechenden Funkmodul am Arduino). Mein Ziel war es die bisherige Zeitschaltuhr zu ersetzen, sodass die Zirkulation nur zu sinnvollen Zeiten läuft und nicht ständig durch die Zirkulation das Brauchwasser abkühlen lässt:

Danke! Hast Du mal überlegt/probiert, das nur mit den _custom_* Dateien umzusetzen? Dann wäre die Funktion über Updates hinweg geschützt und Du könntest zwischendurch auch problemlos updaten?
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: Accureve am 15 Januar 2021, 23:46:39
Ich habe versucht die Version 2.0 und 1.1 inklusive meiner Zirkulationsänderungen auf meinen Arduino Mega aufzuspielen - allerdings wurde der Upload immer mit einer Fehlermeldung quittiert:


Beim Hochladen des Sketches ist ein Fehler aufgetreten
avrdude: verification error, first mismatch at byte 0x3c000
         0x00 != 0x05
avrdude: verification error; content mismatch


Das ist ein (weniger) bekannter Fehler bei den Megas, dass bei fast 100% Auslastung dieser Fehler gemeldet wird. Ich weiß nicht, ob der Code dann trotzdem läuft (hast Du das mal geprüft?), ansonsten bleibt Dir nur noch weitere Module zu deaktivieren, um Speicher zu sparen oder doch auf den Due zu wechseln.
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: Luposoft am 15 Januar 2021, 16:41:54
Jetzt kam ich dazu, an der Heizung das Ändern der Uhrzeit mitzuschneiden.

17:02:17.404 -> DISP->ALL  INF    0 Uhrzeit und Datum - Datum/Zeit: 14.01.2021 17:03:06
17:02:17.404 -> DC 8A 7F 14 02 05 00 00 6C 00 79 01 0E 04 11 03 06 00 20 3E


Mehr kommt da nicht. Ist es das, was du brauchst?

Dann hab ich gedacht, in der defs.h alle command-id vom Parameter 0 außer 05 00 00 6C auszukommentieren.
Das klappt aber auch nicht.
Die 0-Einträge in der Version 0.43 sind die gleichen wie in den 2.0.x
In der 0.43 hat es funktioniert. Gibts da woanders Stolperfallen?

Danke für den Hinweis, dass es mit der 0.43 lief - kannst Du mal bitte Folgendes testen und mitprotokollieren:
1. Das Setzen der Uhrzeit mit der 0.43 ausführen
2. Das Setzen der Uhrzeit mit der 2.0 ausführen, wenn alle nicht-"05 00 00 6C"-Einträge für Parameter 0 auskommentiert sind

Anhand des Vergleichs sehe ich dann hoffentlich, wo ich den Fehler eingebaut habe ;)...
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

Zitat von: Schotty am 16 Januar 2021, 17:27:57
@Luposoft: Ah ok, dann ist es jetzt auch für mich klar - danke :)

@Scherheinz: Für den Fall, dass das letztlich dann so mit der Lösung von Luposoft funktioniert: Könntest du mir dann das entspr list schicken bzw hier also code posten? Dann würde ich das vermutlich auch noch mit ins Handbuch aufnehmen wollen. Aber bis dahin habe ich es vermutlich wieder vergessen oder finde den Beitrag nicht mehr.. ;) Danke schonmal.

Komisch, war bei mir auch so..

Momentan gerade nicht möglich aber hier ist der Link nachdem ich es gemacht hatte:

https://haus-automatisierung.com/nodered/2018/01/06/node-red-tutorial-reihe-part-5-befehle-fhem-ausfuehren.html

Beste Grüße

Luposoft

Zitat von: freetz am 16 Januar 2021, 18:05:13
Danke für den Hinweis, dass es mit der 0.43 lief - kannst Du mal bitte Folgendes testen und mitprotokollieren:
1. Das Setzen der Uhrzeit mit der 0.43 ausführen
2. Das Setzen der Uhrzeit mit der 2.0 ausführen, wenn alle nicht-"05 00 00 6C"-Einträge für Parameter 0 auskommentiert sind

Anhand des Vergleichs sehe ich dann hoffentlich, wo ich den Fehler eingebaut habe ;)...

Ja, kann ich machen. Ich muß doch nur den BSB-Bus in der 0.43 auf 19,18 für den Due stellen, oder?
Raspi B+
CUL nano 433MHz
CUL nano 868MHz
ELCO Thision S Plus 19
Arduino Due

freetz

Auf jeden Fall eine "frische" config nehmen, ich weiß spontan nicht, ob die 0.43 schon auf dem Die lief bzw. Hardware serial unterstützt, aber das steht in der config.
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

Luposoft

0.43 auf den Due scheint nicht so einfach zu sein
das kam beim Überprüfen

sketch\src\BSB\BSBSoftwareSerial.cpp:45:30: fatal error: util/delay_basic.h: No such file or directory


Ich kann aber morgen nochmal den MEGA anklemmen, das wird das einfachste sein...
Raspi B+
CUL nano 433MHz
CUL nano 868MHz
ELCO Thision S Plus 19
Arduino Due

freetz

Ja, es kommt ja auf das Telegramm und nicht die ppt Plattform an...
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

Luposoft

@freetz
Gleich vorweg, das Einstellen der Zeit funktioniert wieder!
Hab jetzt die 2.0.74 drauf. Mit der 2.0.58 gings nicht. Hast du zwischenzeitlich was gemacht?
(Oder ich war zu blöd, wer weiß)

Da ich mir die Arbeit gemacht habe, trotzdem eine Erkenntnis

beim Verstellen an der Heizung kommt in der Info der Parameter 05 00 00 6C
beim Verstellen über WebIF wird 05 3D 00 0B angesprochen und funktioniert

Du wirst das wissen, mich hat es sehr gewundert

Das ganze funktioniert, ob alle 4 0-Parameter gesetzt sind (vermutlich weil ich den ersten brauche??)
oder alle außer der erste auskommentiert sind

beim Verstellen über Heizung
13:18:27.444 -> DISP->ALL  INF    0 Uhrzeit und Datum - Datum/Zeit: 17.01.2021 09:00:00
13:18:27.444 -> DC 8A 7F 14 02 05 00 00 6C 00 79 01 11 07 09 00 00 00 7C F9


beim Verstellen über WebIF
13:19:50.723 -> GET /S0=17.01.2021_09:00:00 HTTP/1.1
13:19:50.763 -> /S0=17.01.2021_09:00:00
13:19:50.763 -> set ProgNr 0 = 17.01.2021_09:00:00date time: 17.1.2021 9:0:0
13:19:50.763 -> setting line: 0 val: 01 79 01 11 07 09 00 00 00
13:19:51.004 -> LAN->HEIZ SET    0 Uhrzeit und Datum - Datum/Zeit: ---
13:19:51.044 -> DC C2 00 14 03 3D 05 00 0B 01 79 01 11 07 09 00 00 00 EA 49
13:19:51.044 -> HEIZ->LAN ACK    0 Uhrzeit und Datum - Datum/Zeit:
13:19:51.044 -> DC 80 42 0B 04 05 3D 00 0B 86 75
13:19:51.244 -> LAN->HEIZ QUR    0 Uhrzeit und Datum - Datum/Zeit:
13:19:51.244 -> DC C2 00 0B 06 3D 05 00 0B C3 A1
13:19:51.244 -> HEIZ->LAN ANS    0 Uhrzeit und Datum - Datum/Zeit: 17.01.2021 09:00:00
13:19:51.244 -> DC 80 42 14 07 05 3D 00 0B 00 79 01 11 07 09 00 00 00 1B 90
13:19:51.244 -> #0: 17.01.2021 09:00:00
13:19:51.925 -> HEIZ->ALL  00    0 Uhrzeit und Datum - Datum/Zeit: ---
13:19:51.925 -> DC 80 7F 14 00 05 00 00 6C 01 79 01 11 07 09 00 01 00 F4 FD
13:19:52.085 -> DISP->ALL  INF    0 Uhrzeit und Datum - Datum/Zeit: 17.01.2021 09:00:01
13:19:52.125 -> DC 8A 7F 14 02 05 00 00 6C 00 79 01 11 07 09 00 01 00 4F C8




Raspi B+
CUL nano 433MHz
CUL nano 868MHz
ELCO Thision S Plus 19
Arduino Due

freetz

@Luposoft: Ja, das war zwischenzeitlich ein kurzzeitiger Bug, weil wir das falsche "Set-Enable"-Byte hinterlegt hatten (06 statt 01). Deswegen ist es immer gut, vor Bugreports die aktuellste Version zu installieren ;)...
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