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

guck123

Hab Schotty auch schon die Abfrage per PM geschickt aber hier nochmal:


2803 Wärmepumpe - Nachlaufzeit Kondens'pumpe: error 7 (parameter not supported)   
2873 Wärmepumpe - Verdichtermod Laufzeit: error 7 (parameter not supported)   
5953 Konfiguration - Spannungswert 1 H1: error 7 (parameter not supported)   
5955 Konfiguration - Spannungswert 2 H1: error 7 (parameter not supported)   
6046 Konfiguration - Funktion Eingang H2: error 7 (parameter not supported)   
7845 Ein-/Ausgangstest - Spannungssignal H2: error 7 (parameter not supported)   
7846 Ein-/Ausgangstest - Kontaktzustand H2: error 7 (parameter not supported)   
8006 Status - Status Wärmepumpe: error 7 (parameter not supported)   
8022 Status - Status Zusatzerzeuger: error 7 (parameter not supported)   
8323 Diagnose Erzeuger - Gebläsedrehzahl: error 7 (parameter not supported)

freetz

Ok, danke, bei Dir müsste nach einem Update auf die aktuelle GitHub Version jetzt bei diesen Parametern auch was kommen...
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: bully1987 am 30 Januar 2019, 15:07:04
Würde diesen gerne mit einem Raspberry an meine neue Brötje Heizung hängen, um die Daten im iobroker zu nutzen.
Hi Alexander,
also an einen RPi anschließen kann ich nicht empfehlen, da du dann die umfangreiche BSB-LAN-Software nicht nutzen kannst. Integration in ioBroker geht auch mit der Arduino-Variante.
Lies dich am Besten mal ein bissl ins Handbuch ein, Link ist unten in meiner Signatur.
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

mifh

Hallo,

von mir noch einmal eine kurze Rückmeldung zu der neuen MQTT-Schnittstelle: einfach Klasse!!!
Ich lasse mir ca. ein Dutzend Parameter zurückmelden. Die Konfiguration in fhem ist total simpel, keine Frickelei mit irgendwelchen http-Datenströmen, einfach nur Content  :):

define Hzg_Therme MQTT_DEVICE
attr Hzg_Therme IODev MQTT_2
attr Hzg_Therme alias Brötje Heizung
attr Hzg_Therme group Heizung
attr Hzg_Therme room Heizung
attr Hzg_Therme subscribeReading_Kesseltemperatur Zuhause/Heizungsraum/BSB-LAN/8310
attr Hzg_Therme subscribeReading_Ruecklauftemperatur Zuhause/Heizungsraum/BSB-LAN/8314
attr Hzg_Therme subscribeReading_Geblaesedrehzahl Zuhause/Heizungsraum/BSB-LAN/8323
attr Hzg_Therme subscribeReading_Brennermodulation Zuhause/Heizungsraum/BSB-LAN/8326
attr Hzg_Therme subscribeReading_BetriebsstundenStufe1 Zuhause/Heizungsraum/BSB-LAN/8330
attr Hzg_Therme subscribeReading_StartzaehlerBrenner Zuhause/Heizungsraum/BSB-LAN/8331
attr Hzg_Therme subscribeReading_BetriebsstundenHeizbetrieb Zuhause/Heizungsraum/BSB-LAN/8338
attr Hzg_Therme subscribeReading_BetriebsstundenTWW Zuhause/Heizungsraum/BSB-LAN/8339
attr Hzg_Therme subscribeReading_Gesamt_Gasenergie_Heizen Zuhause/Heizungsraum/BSB-LAN/8378
attr Hzg_Therme subscribeReading_Gesamt_Gasenergie_TWW Zuhause/Heizungsraum/BSB-LAN/8379

attr Hzg_Therme subscribeReading_Aussentemperatur Zuhause/Heizungsraum/BSB-LAN/8700
attr Hzg_Therme subscribeReading_Vorlauftemperatur Zuhause/Heizungsraum/BSB-LAN/8743
attr Hzg_Therme subscribeReading_DrehzahlHeizkreispumpe Zuhause/Heizungsraum/BSB-LAN/8735

attr Hzg_Therme stateFormat {sprintf("Leistung: %.1f kW",ReadingsVal($name,"Leistung",0))}


Auf BSB-LAN Seite ist die Konfiguration auch simpel: MQTT-Zugangsdaten parametrieren, zu sendende Parameter als log_parameters angeben, fertig.
Nachdem das aktuelle FHEM ja auch einen eigenen MQTT Server mitbringt (ich nutze einen separaten mosquitto), kann man das echt schnell aufsetzen.
@freetz: Vielen Dank für die Implementierung, das Feature tröstet doch sehr über die etwas angestaubten Möglichkeiten des Arduinos  8)

guck123

Zitat von: freetz am 30 Januar 2019, 21:47:12
Ok, danke, bei Dir müsste nach einem Update auf die aktuelle GitHub Version jetzt bei diesen Parametern auch was kommen...
Ich danke euch :-) Spiele dann bei Zeiten die neue Version auf.

Danke und Grüße

Gesendet von meinem BKL-L09 mit Tapatalk


Schotty

Zitat von: guck123 am 30 Januar 2019, 21:41:57
Hab Schotty auch schon die Abfrage per PM geschickt aber hier nochmal:
Danke für die Rückmeldung!
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Schotty

@FunkOdyssey & @postman:

Zitat von: frank am 29 Januar 2019, 16:11:30
in diesem fall möchtest du dann also einen leerstring?
das müsste zb mit einem zusätzlichen attribut funktionieren:
attr readingXXOExpr $val=~"---"?"":$val

Wenn Ihr eine entspr Lösung für Euer Problem gefunden habt, lasst es mich/uns doch bitte wissen, dann würde ich auch gerne das Handbuch um das entspr Beispiel erweitern - ist ja nicht jeder ein RegEx-Experte..  ;)
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Schotty

Zitat von: mifh am 31 Januar 2019, 20:44:40
Nachdem das aktuelle FHEM ja auch einen eigenen MQTT Server mitbringt (ich nutze einen separaten mosquitto), kann man das echt schnell aufsetzen.
Ist dein Beispiel so (auch?) schon 'direkt' für den FHEM-MQTT-Server nutzbar? Dann würde ich es im Handbuch als solches nochmal extra mit aufführen.
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

postman

Moin Schotty,
Zitat von: frank am 29 Januar 2019, 15:12:03
8326 .*:[ \t]+(.*)<

Das hat so funktioniert, mir geht es im Moment nur um die korrekte Anzeige.

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

mifh

ZitatIst dein Beispiel so (auch?) schon 'direkt' für den FHEM-MQTT-Server nutzbar? Dann würde ich es im Handbuch als solches nochmal extra mit aufführen.

Ich habe mal ein komplettes Beispiel für das Handbuch zusammengestellt. Ich kann das leider nicht testen, ohne meine Infrastruktur ziemlich weit lahmzulegen. Ich habe aber eben mal den den eingebauten FHEM MQTT Server aufgesetzt, das sieht gut aus.

Parameterierung MQTT Server in FHEM
define MQTT_TST MQTT2_SERVER 1883 global
define MQTT_2 MQTT <IP-Adresse>:1883

Dabei ist <IP-Adresse> durch die IP-Adresse des HEM-Servers zu ersetzen, 1883 ist der Default-Port für MQTT, in BSB-LAN kann derzeit keine abweichende Port-Nr paramtrieren.

Parametrierung MQTT in BSB-LAN
In BSB_lan_config.h nimmt man folgende Einstellungen vor:

#define MQTTBrokerIP <IP-Adresse> // Please use commas insteaf of dots!!!
#define MQTTTopicPrefix "Zuhause/Heizungsraum/BSB-LAN" // Choose the "topic" for MQTT messages here

Zusätzlich sind unter int log_parameters[20] = {..} die zu sendenden Nachrichten zu definieren und das log_interval ggf. anzupassen.

Heizung als MQTT-Device in FHEM darstellen
Die Konfiguration erfolgt dann über
define Hzg_Therme MQTT_DEVICE
attr Hzg_Therme IODev MQTT_2
attr Hzg_Therme alias Brötje Heizung
attr Hzg_Therme group Heizung
attr Hzg_Therme room Heizung
attr Hzg_Therme subscribeReading_Kesseltemperatur Zuhause/Heizungsraum/BSB-LAN/8310
attr Hzg_Therme subscribeReading_Ruecklauftemperatur Zuhause/Heizungsraum/BSB-LAN/8314
attr Hzg_Therme subscribeReading_Geblaesedrehzahl Zuhause/Heizungsraum/BSB-LAN/8323
attr Hzg_Therme subscribeReading_Brennermodulation Zuhause/Heizungsraum/BSB-LAN/8326
attr Hzg_Therme subscribeReading_BetriebsstundenStufe1 Zuhause/Heizungsraum/BSB-LAN/8330
attr Hzg_Therme subscribeReading_StartzaehlerBrenner Zuhause/Heizungsraum/BSB-LAN/8331
attr Hzg_Therme subscribeReading_BetriebsstundenHeizbetrieb Zuhause/Heizungsraum/BSB-LAN/8338
attr Hzg_Therme subscribeReading_BetriebsstundenTWW Zuhause/Heizungsraum/BSB-LAN/8339
attr Hzg_Therme subscribeReading_Gesamt_Gasenergie_Heizen Zuhause/Heizungsraum/BSB-LAN/8378
attr Hzg_Therme subscribeReading_Gesamt_Gasenergie_TWW Zuhause/Heizungsraum/BSB-LAN/8379

attr Hzg_Therme subscribeReading_Aussentemperatur Zuhause/Heizungsraum/BSB-LAN/8700
attr Hzg_Therme subscribeReading_DrehzahlHeizkreispumpe Zuhause/Heizungsraum/BSB-LAN/8735

attr Hzg_Therme stateFormat {sprintf("Leistung: %.1f kW",ReadingsVal($name,"Leistung",0))}
attr Hzg_Therme verbose 3 Hzg_Therme

define Hzg_Therme_NF1 notify Hzg_Therme:Geblaesedrehzahl.* {setHzgLeistung()}


Das Notify setzt mit einer Perl-Funktion in 99_myUtils.pm das Reading Leistung. Das habe ich inline nicht hingekriegt, deshalb diese etwas unelegante Lösung:

sub setHzgLeistung{
my $drehzahl=ReadingsVal("Hzg_Therme", "Geblaesedrehzahl",0);
my $leistung;
if ($drehzahl > 0) {
$leistung = ($drehzahl- 1039.1)/383.1; # Heizungspezifische Parameter
}
else {
$leistung = 0;
}
fhem("setreading Hzg_Therme Leistung $leistung");
}


Noch ein paar Anmerkungen zum Beispiel:

  • wer ernsthaft mit MQTT arbeitet, sollte mindestens den Zugang mit Benutzername/PWD absichern. Das habe ich im Beispiel weggelassen, um es einfach zu halten.
  • ich nutze die alten MQTT Devices. Seit 20128 gibt es auch die MQTT2_*-Devices. Die würde ich mir jetzt vermutlich näher ansehen, wenn ich neu in das Thema einsteigen würde.
  • Das Beispiel nutzt den FHEM eigenen MQTT Server. Ich bevorzuge einen separaten MQTT Server (z.B. mosquitto, im Docker Container) für einen produktiven Einsatz, dann legt man nicht alle Eier in einen Korb.


guck123

Zitat von: freetz am 30 Januar 2019, 21:47:12
Ok, danke, bei Dir müsste nach einem Update auf die aktuelle GitHub Version jetzt bei diesen Parametern auch was kommen...

Moin freetz,

Kurze Rückmeldung: habe mal die neue GitHub Version aufgespielt:

6225 Konfiguration - Gerätefamilie: 108   
6226 Konfiguration - Gerätevariante: 160

Bekomme weiterhin folgende Ausgabe:


2803 Wärmepumpe - Nachlaufzeit Kondens'pumpe: error 7 (parameter not supported)   
2873 Wärmepumpe - Verdichtermod Laufzeit: error 7 (parameter not supported)   
5953 Konfiguration - Spannungswert 1 H1: error 7 (parameter not supported)   
5955 Konfiguration - Spannungswert 2 H1: error 7 (parameter not supported)   
6046 Konfiguration - Funktion Eingang H2: error 7 (parameter not supported)   
7845 Ein-/Ausgangstest - Spannungssignal H2: error 7 (parameter not supported)   
7846 Ein-/Ausgangstest - Kontaktzustand H2: error 7 (parameter not supported)   
8006 Status - Status Wärmepumpe: error 7 (parameter not supported)   
8022 Status - Status Zusatzerzeuger: error 7 (parameter not supported)   
8323 Diagnose Erzeuger - Gebläsedrehzahl: error 7 (parameter not supported)


Schönes Wochenende noch!

Denis


freetz

Bitte mal /Q aufrufen und die Ausgabe posten...
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

guck123

Zitat von: freetz am 03 Februar 2019, 14:54:30
Bitte mal /Q aufrufen und die Ausgabe posten...

Hier die Werte:


Gerätefamilie: 108
Gerätevariante: 160
Start Test...

2803
2803 Wärmepumpe - Nachlaufzeit Kondens'pumpe: error 7 (parameter not supported)
DC 86 00 0B 06 3D 59 05 CB 37 0A
DC 80 06 0D 07 59 3D 05 CB 00 1E 16 49
2873
2873 Wärmepumpe - Verdichtermod Laufzeit: error 7 (parameter not supported)
DC 86 00 0B 06 3D 59 0B B5 8B 5C
DC 80 06 0D 07 59 3D 0B B5 00 0A 25 AF
5953
5953 Konfiguration - Spannungswert 1 H1: error 7 (parameter not supported)
DC 86 00 0B 06 3D 05 0B 7B 98 71
DC 80 06 0E 07 05 3D 0B 7B 00 00 00 B0 4A
5955
5955 Konfiguration - Spannungswert 2 H1: error 7 (parameter not supported)
DC 86 00 0B 06 3D 05 0B 7C E8 96
DC 80 06 0E 07 05 3D 0B 7C 00 00 64 CD 45
6046
6046 Konfiguration - Funktion Eingang H2: error 7 (parameter not supported)
DC 86 00 0B 06 3D 06 07 00 4B B0
DC 80 06 14 07 06 3D 07 00 00 77 02 01 00 07 1C 00 04 E5 E9
7845
7845 Ein-/Ausgangstest - Spannungssignal H2: error 7 (parameter not supported)
DC 86 00 0B 06 3D 06 08 2F 8E 03
DC 80 06 0D 07 06 3D 08 2F 01 00 26 67
7846
7846 Ein-/Ausgangstest - Kontaktzustand H2: error 7 (parameter not supported)
DC 86 00 0B 06 05 06 08 09 63 8D
DC 80 06 0D 07 06 05 08 09 00 00 2F F3
8006
8006 Status - Status Wärmepumpe: error 7 (parameter not supported)
DC 86 00 0B 06 3D 05 07 AF 56 E5
DC 80 06 0D 07 05 3D 07 AF 00 32 22 13
8022
8022 Status - Status Zusatzerzeuger: error 7 (parameter not supported)
DC 86 00 0B 06 3D 05 0D 68 10 85
DC 80 06 0D 07 05 3D 0D 68 00 00 FF CE
8323
8323 Diagnose Erzeuger - Gebläsedrehzahl: error 7 (parameter not supported)
DC 86 00 0B 06 05 21 05 18 14 97
DC 80 06 0E 07 21 05 05 18 01 00 00 07 22
Test Ende.

freetz

Ok, sorry, da hatte er die Änderungen wohl nicht richtig auf GitHub hochgeschoben. Sollte jetzt funktionieren...
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

guck123