Buderus ems an fhem

Begonnen von Lorenz, 26 Juli 2014, 14:09:21

Vorheriges Thema - Nächstes Thema

Lorenz

Buderus ems an fhem

Da hier an anderer Stelle mit dem KM200 die Kommunikation mit dem ems-Bus von Buderus Heizungen gesucht wird, möchte ich Euch einmal über meine noch rudimentäre Lösung dieser Anbindung an fhem berichten:

Die physikalische Anbindung geschieht bei mir mit einer selbst erstellten Adapterplatine an einen AVR NetIO mit Ethersex. In Ethersex ist bereits der ems-Teil enthalten. Beschrieben ist das hier:
http://ems-gateway.myds.me/dokuwiki/doku.php?id=wiki:ems:net_io . Ein Raspberry Pi empfängt die Telegramme über Ethernet und sammelt und interpretiert diese. Das Ergebnis wird in einer SQL Datenbank gespeichert, aber auch als Stream über Port 7778 ausgegeben. Ein Webserver zur Visualisierung und Steuerung ist ebenfalls enthalten. Ich habe mich erst einmal entschieden am Port 7778 mit ECMD zu lauschen und somit die Informationen in fhem einzubinden. Mich interessiert dabei zur Visualisierung das logging und plotting, um die noch recht junge Heizung in ihren Einstellungen zu optimieren. Ein Steuern in die Heizung wäre auch möglich, wird von mir aber (z.Zt.) nicht umgesetzt. Dazu gäbe es einen separaten Port um bidirektional mit dem ems-client und dann auch mit der Heizung zu kommunizieren.

Ein Haken hat das Ganze noch: Meine Heizung GBH 172 hybrid ist Baujahr 2013 und mit einem Solarmodul SM10 und dem Bedienteil RC300 ausgestattet. Diese Teile nutzen nicht mehr die bisherigen ems-Telegramme, sondern die Erweiterungen ems-plus. Dies ist bislang in der Software nicht implementiert, daher kann man einige Informationen (noch) nicht auswerten. Ich hoffe aber, dass in gemeinsamer Arbeit an der Analyse dieser Erweiterung das irgendwann in die Software einfließt.
Derzeit stehen mir daher folgende Informationen aus der Heizung in fhem zur Verfügung:

systemtime 2014-07-20 17:54:42
outdoor currenttemperature 28.1
heaterpump currentmodulation 0
heater heaterstarts 8338
heater operatingminutes 135177
heater heatingminutes 110881
heater maintenancedue no
ww targettemperature 55
ww currenttemperature 49
warmwaterminutes 24296
warmwaterpreparations 2003
ww daymode on
ww onetimeload off
ww desinfectionactive off
warmwaterpreparationactive off
ww boostcharge off
warmwatertempok on
zirkpump daymode on
zirkpumpactive on
warmwatersystemtype tankless
heater targettemperature 5
heater currenttemperature 56.2
returnflow currenttemperature 36.2
burner targetmodulation 0
burner currentmodulation 0
flamecurrent 0
pressure -0.1
servicecode 0H
errorcode 203
flameactive off
heateractive off
ignitionactive off
heater pumpactive off
3wayonww on

Zum Verständnis der Anbindung habe ich die Modulansicht der Webseite ergänzt (siehe Anhang).

Natürlich hätte man auch andere Wege der Integration gehen können (Auswertung der SQL-DB oder Anbindung über die Webseite). Ich suchte aber eine schnelle und für mich beherrschbare Lösung. Daher telnet an ECMD. Die Vorarbeiten (Platine, AVR NetIO und Software auf dem Raspi) waren schon zeitintensiv. Auf der Kostenseite allerdings moderat (ca. 80€) gegenüber der Anschaffung zusätzlicher Buderus-Hardware (KM200, Servicekey etc.). Die für mich relevanten Readings mit ECMD einzubinden und daraus einen Plot zu erstellen war gegenüber den Vorarbeiten eine Kleinigkeit. Nur mit den Regulären Ausdrücken in der class.def für die Readings tue ich mich schwer, aber das liegt an mir und der seltenen Verwendung. Da brauche ich immer ein Buch an der Hand und ein paar Anläufe. Wahrscheinlich habe ich das auch in diesem Fall noch nicht optimal gelöst. Aber es läuft !

Ein Plot des ersten Tages füge ich bei.

Wer weitere Informationen haben möchte, einfach melden ...

LG

Lorenz
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

Starkstrombastler

Glückwunsch für die gelungene Umsetzung und Danke für die ausführliche Darstellung,   Ich bin noch an der Platine.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Lorenz

@Starkstrombastler:
Die Platine auf Lochraster zu erstellen, war eine ordentliche Bastelei. Achte auf den bug in der Darstellung bei D1 und D3. Danach ist wichtig, den richtigen ATMega im NetIO zu nutzen. Ich hatte zuerst einen 644 anstatt des 644P bekommen - konnte damit aber nicht gehen, da der 2. UART fehlt.
Viel Erfolg!

LG


Gesendet von meinem iPhone mit Tapatalk
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

Starkstrombastler

@Lorenz

Danke für die Hinweise. Es wird aber wahrscheinlich noch eine Weile dauern, bis ich soweit bin.

Gruß
Bernhard
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

bgewehr

Hallo, Mitstreiter!
Ich habe den EMS Bus erfolgreich am RasPi laufen und suche nun nach der Technik, daraus Readings zu machen für fhem.

Kannst Du Deinen Code hier veröffentlichen?

Ich habe leider (noch) keine Ahnung, was die class.def sein soll..
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Lorenz

Ich habe das mit ECMD (quick and dirty) wie folgt umgesetzt. Das ist der erste Entwurf mit sicherlich noch Verbesserungspotenzial. Für mich ist das aber im Moment ausreichend. ECMD-Profis dürfen da wahrscheinlich nicht so genau hinsehen. Ich hatte dieses Modul bislang noch nicht genutzt.

Mir geht es damit z.Zt. um das Feintuning der Heizung und da habe ich anhand der plots schon gute Fortschritte gemacht.

Da bei mir noch ems-plus Telegramme kommen, habe ich noch nicht alle Readings umsetzen können. Bei anderen Heizungsmodulen muss man da ggf. noch anpassen. Kann man aber an den Events erkennen.

Auszug aus fhem.cfg (Bei mir läuft fhem auf dem Raspi auf dem auch der emsCollector läuft, daher telnet localhost)

define emsServer ECMD telnet localhost:7778
attr emsServer classdefs message=usr/local/fhem/message.classdef
define emsClient ECMDDevice message ww_currenttemp heater_currenttemp returnflow_currenttemp outdoor_temp heaterpump_currentmodulation ww_targettemp heater_targettemp warmwaterpreparationactive zirkpumpactive flameactive heateractive ignitionactive heater_pumpactive 3wayonww ww_daymode burner_targetmodulation burner_currentmodulation flamecurrent
attr emsClient IODev emsServer
attr emsClient event-on-change-reading ww_currenttemp,heater_currenttemp,returnflow_currenttemp,outdoor_temp,heaterpump_currentmodulation,ww_targettemp,heater_targettemp,warmwaterpreparationactive,zirkpumpactive,flameactive,heateractive,ignitionactive,heater_pumpactive,3wayonww,ww_daymode,burner_targetmodulation,burner_currentmodulation,flamecurrent
define Filelog_emsClient FileLog /usr/local/fhem/log/emsClient-%Y-%m.log emsClient:(ww_currenttemp:|heater_currenttemp:|returnflow_currenttemp:|outdoor_temp:|heaterpump_currentmodulation:|ww_targettemp:|heater_targettemp:|warmwaterpreparationactive:|zirkpumpactive:|flameactive:|heateractive:|ignitionactive:|heater_pumpactive:|3wayonww:|ww_daymode:|burner_targetmodulation:|burner_currentmodulation:|flamecurrent:).*
define SVG_Filelog_emsClient_1 SVG Filelog_emsClient:SVG_Filelog_emsClient_1:CURRENT
attr SVG_Filelog_emsClient_1 plotsize 1024,480
attr SVG_Filelog_emsClient_1 room Heizung


Dazu gehört die Datei message.classdef (bei mir)  im fhem Verzeichnis:

params ww_currenttemp heater_currenttemp returnflow_currenttemp outdoor_temp heaterpump_currentmodulation ww_targettemp heater_targettemp warmwaterpreparationactive zirkpumpactive flameactive heateractive ignitionactive heater_pumpactive 3wayonww ww_daymode burner_targetmodulation burner_currentmodulation flamecurrent
reading ww_currenttemp match "[ww currenttemperature ](\d+.\d)\n"
reading ww_currenttemp postproc { s/(ww\scurrenttemperature\s)(\d+.+)\n/$2/;; $2 }
reading heater_currenttemp match "[heater currenttemperature ](\d+.\d)\n"
reading heater_currenttemp postproc { s/(heater\scurrenttemperature\s)(\d+.+)\n/$2/;; $2 }
reading returnflow_currenttemp match "[returnflow currenttemperature ](\d+.\d)\n"
reading returnflow_currenttemp postproc { s/(returnflow\scurrenttemperature\s)(\d+.+)\n/$2/;; $2 }
reading outdoor_temp match "[outdoor currenttemperature ](\d+.\d)\n"
reading outdoor_temp postproc { s/(outdoor\scurrenttemperature\s)(\d+.+)\n/$2/;; $2 }
reading heaterpump_currentmodulation match "[heaterpump currentmodulation ](\d+)\n"
reading heaterpump_currentmodulation postproc { s/(heaterpump\scurrentmodulation\s)(\d+)\n/$2/;; $2 }
reading ww_targettemp match "[ww targettemperature ](\d+.\d)\n"
reading ww_targettemp postproc { s/(ww\stargettemperature\s)(\d+.+)\n/$2/;; $2 }
reading heater_targettemp match "[heater targettemperature ](\d+)\n"
reading heater_targettemp postproc { s/(heater\stargettemperature\s)(\d+)\n/$2/;; $2 }
reading warmwaterpreparationactive match "[warmwaterpreparationactive ](on|off)\n"
reading warmwaterpreparationactive postproc { s/(warmwaterpreparationactive\s)(on|off)\n/$2/;; $2 }
reading zirkpumpactive match "[zirkpumpactive ](on|off)\n"
reading zirkpumpactive postproc { s/(zirkpumpactive\s)(on|off)\n/$2/;; $2 }
reading flameactive match "[flameactive ](on|off)\n"
reading flameactive postproc { s/(flameactive\s)(on|off)\n/$2/;; $2 }
reading heateractive match "[heateractive ](on|off)\n"
reading heateractive postproc { s/(heateractive\s)(on|off)\n/$2/;; $2 }
reading ignitionactive match "[ignitionactive ](on|off)\n"
reading ignitionactive postproc { s/(ignitionactive\s)(on|off)\n/$2/;; $2 }
reading heater_pumpactive match "[heater pumpactive ](on|off)\n"
reading heater_pumpactive postproc { s/(heater\spumpactive\s)(on|off)\n/$2/;; $2 }
reading 3wayonww match "[3wayonww ](on|off)\n"
reading 3wayonww postproc { s/(3wayonww\s)(on|off)\n/$2/;; $2 }
reading ww_daymode match "[ww daymode ](on|off)\n"
reading ww_daymode postproc { s/(ww\sdaymode\s)(on|off)\n/$2/;; $2 }
reading burner_targetmodulation match "[burner targetmodulation ](\d+)\n"
reading burner_targetmodulation postproc { s/(burner\stargetmodulation\s)(\d+)\n/$2/;; $2 }
reading burner_currentmodulation match "[burner currentmodulation ](\d+)\n"
reading burner_currentmodulation postproc { s/(burner\scurrentmodulation\s)(\d+)\n/$2/;; $2 }
reading flamecurrent match "[flamecurrent ](\d+)\n"
reading flamecurrent postproc { s/(flamecurrent\s)(\d+)\n/$2/;; $2 }


und die gplot-Datei (bei mir SVG_Filelog_emsClient_1.gplot)

# Created by FHEM/98_SVG.pm, 2014-07-26 09:15:52
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'ems Buderus'
set ytics
set y2tics
set grid y2tics
set ylabel "Leistung in %"
set y2label "Temperatur"

#FileLog 4:emsClient.heater_currenttemp\x3a:.*:
#FileLog 4:emsClient.outdoor_temp\x3a:.*:
#FileLog 4:emsClient.returnflow_currenttemp\x3a:.*:
#FileLog 4:emsClient.ww_currenttemp\x3a:.*:
#FileLog 4:emsClient.zirkpumpactive\x3a:0:$fld[3]eq"on"?55:0
#FileLog 4:emsClient.warmwaterpreparationactive\x3a:0:$fld[3]eq"on"?25:0
#FileLog 4:emsClient.burner_currentmodulation\x3a:.*:
#FileLog 4:emsClient.heaterpump_currentmodulation\x3a:.*:

plot "<IN>" using 1:2 axes x1y2 title 'Kesseltemp' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Aussentemp' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Rücklauftemp' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'WWTemp' ls l5fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'ZirkPump' ls l8 lw 1 with steps,\
     "<IN>" using 1:2 axes x1y1 title 'WW Erzeugung' ls l5 lw 1 with steps,\
     "<IN>" using 1:2 axes x1y1 title 'Brenner' ls l3fill lw 1 with steps,\
     "<IN>" using 1:2 axes x1y1 title 'Kesselpumpe' ls l7 lw 1 with steps


Achtung: Pfadangaben prüfen und ggf. anpassen.

LG
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

bgewehr

Hi, das ist ja super!
Hat sofort alles geklappt, bis auf die gplot-Definition. Da habe ich erst Werte angezeigt bekommen, nachdem ich die .* nach den Werten entfernt habe, also so:

#FileLog 4:EMSClient.heater_currenttemp\x3a::

Danke!!!
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Lorenz

Schön, dass es bei dir funktioniert. Vielleicht liegt das Problem mit der gplot Datei daran, da ich das logging und plotting auf einem 2ten fhem auf meinem NAS mache und das entsprechend angepasst habe. Für die Darstellung hier habe ich die Inhalte der beiden fhem.cfg wieder zusammengefügt.

LG
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

bgewehr

Sag mal, hast Du im stdout auf dem fhem-host auch diese Meldungen ca. jede Sekunde?

Use of uninitialized value $s in substitution (s///) at fhem.pl line 3736.
Use of uninitialized value $s in substitution (s///) at fhem.pl line 3738.
Use of uninitialized value $s in substitution (s///) at fhem.pl line 3738.
Use of uninitialized value $s in substitution (s///) at fhem.pl line 3738.
Use of uninitialized value $s in substitution (s///) at fhem.pl line 3738.
Use of uninitialized value $s in substitution (s///) at fhem.pl line 3738.
Use of uninitialized value $s in substitution (s///) at fhem.pl line 3738.
Use of uninitialized value $s in substitution (s///) at fhem.pl line 3740.
Use of uninitialized value in concatenation (.) or string at ./FHEM/67_ECMDDevice.pm line 138.
Use of uninitialized value $value in concatenation (.) or string at ./FHEM/67_ECMDDevice.pm line 276.



Kann man das selbst beseitigen oder muss der ECMDevice-Developer ran?
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Lorenz

Bei mir ist Ruhe auf der Konsole.
Schau mal auf die Versionen.
So sieht es bei mir aus:

# $Id: fhem.pl 6249 2014-07-13 10:41:00Z rudolfkoenig $
# $Id: 00_CUL.pm 5487 2014-04-08 11:29:41Z rudolfkoenig $
# $Id: 66_ECMD.pm 6144 2014-06-20 09:49:34Z borisneubert $
# $Id: 67_ECMDDevice.pm 5645 2014-04-25 17:26:56Z borisneubert $
# $Id: 01_FHEMWEB.pm 6090 2014-06-09 10:25:11Z rudolfkoenig $
# $Id: 92_FileLog.pm 5876 2014-05-16 19:54:51Z rudolfkoenig $
# $Id: 99_SUNRISE_EL.pm 5851 2014-05-13 19:39:03Z rudolfkoenig $
# $Id: 99_Utils.pm 5488 2014-04-08 11:32:17Z rudolfkoenig $
# $Id: 99_UtilsHourCounter.pm 2014-02-01 20:15:33 john $
# $Id: 98_dummy.pm 4934 2014-02-15 08:23:12Z rudolfkoenig $
# $Id: 99_myUtils.pm 2014-01-22 19:23:00 lg
# $Id: 91_notify.pm 6081 2014-06-07 16:31:18Z rudolfkoenig $
# $Id: 98_telnet.pm 4844 2014-02-08 07:54:03Z rudolfkoenig $

LG
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

bgewehr

 Nach einem Update das gleiche Bild! Daran lag es nicht. Ich schreib mal den Autor an!


Gesendet von meinem iPad mit Tapatalk
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Lorenz

Hallo Bernd,

ich war gestern etwas voreilig und habe in der falschen Konsole geschaut. Heute hab ich das korrigiert - und: Ich habe die gleichen Meldungen wie Du  :-\.
So wie es aussieht hat das was mit dem postprocessing von regexp in der class.def zu tun. Vielleicht habe ich da auch etwas falsch gemacht, nur ich sehe das (noch) nicht. Die Ausgabe mit verbose 5 sieht eigentlich gut aus und in $value steht ja auch was drin. Zur Zeit habe ich keine Lösung.

LG

Lorenz
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

Lorenz

#12
Mittlerweile habe ich auch erfahren, wie gesprächig der EMS-Bus meiner Heizung ist. Das erzeugt gerade bei den etwas "pumpenden" internen Temperaturmessungen  eine ordentliche Flut an readings. Ich hatte die zyklischen Telegramme (ca. alle 10s) schon mit event-on-change-readings eingedämmt. Um das aber weiter zu reduzieren, habe ich jetzt noch einen treshold-Wert von 0.3 Grad eingefügt. Das wirkt sich schon sehr positiv aus und genügt m.E. nach für die Analyse der plots. Eventuell könnte man den Wert sogar noch erhöhen.

Wer´s nachmachen möchte:
In der fhem.cfg steht nun: attr emsClient event-on-change-reading ww_currenttemp:0.3,heater_currenttemp:0.3,returnflow_currenttemp:0.3,  --- der Rest bleibt unverändert  u.s.w...

LG
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

bgewehr

Hallo, Lorenz!

Ich habe Deinen Vorschlag umgesetzt und auch das hat wieder gut funktioniert!

Dank Dir für Deine Hilfe!

Gruß, Bernd
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

Hallo, Lorenz! Hast Du in letzter Zeit mal ein Update fhem gemacht? Lass es lieber, es hat meinen Datenfluss über Telnet zum Erliegen gebracht. Keine Fehlermeldungen, aber auch keine Daten. Wenn Du irgendwann auch an den Punkt kommst, lass es mich wissen, vielleicht kann ich bei der Lösung helfen!


Sent from my iPhone using Tapatalk
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868