Neue Module ECMD und ECMDDevice (Ethersex) für fhem

Begonnen von Dr. Boris Neubert, 23 Januar 2011, 00:42:58

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

                                             

Hallo,

in der CVS-Version von fhem sind ab sofort zwei neue Module enthalten.

ECMD definiert ein physikalisches Gerät, mit dem im Dialog per telnet
kommuniziert werden kann. Ich verwende ein AVR-NET-IO von Pollin mit
Ethersex als Firmware.

ECMDDevice definiert ein logisches Gerät, das von dem physikalischen
Gerät bereitgestellt wird. Dies kann z.B. ein ADC, ein I/O-Port, ein
IR-Empfänger, ein RF-Sender/Empfänger oder ein LCD sein. Hier gibt es
praktisch keine Begrenzung, da die Charakteristika des ECMDDevice erst
zur Laufzeit von fhem definiert werden: einem ECMDDevice wird eine
Geräteklasse zugewiesen. Die Geräteklasse wird vom Anwender definiert -
der Anwender bestimmt, welche Parameter der define-Befehl nimmt, welche
get- und set-Befehle es gibt, welche Parameter diese nehmen, und welcher
Befehl dazu an das physikalische Gerät gesendet wird. Beispiel unten.

Ich benutze das AVR-NET-IO, um die Velux-Rolladen auf meinen
Dachflächenfenstern in die Hausautomation zu integrieren. Siehe hierzu

http://www.neubert-volmar.de/Hausautomation/AVRNETIO/index.html

Das Modul 66_ECMD.pm kann leicht um die Möglichkeit ergänzt werden, über
eine serielle Schnittstelle zu kommunizieren. M.E. müßte es mit der
Kombination aus ECMD und ECMDDevice möglich sein, neue Geräte mit
einfachen dialogbasierten Protokollen über eine Datei zu implementieren,
so daß nicht jedes Mal ein neues Modul entwickelt werden muß.

Viele Grüße,
Boris Neubert


Beispiel:

Die Klassendefinition VeluxRC.classdef für die Geräteklasse VeluxRC
(Velux Remote Control) sieht wie folgt aus:

# these are the numbers of the buttons as hex chars from 0 to f;
params btnup btnstop btndown

# setter definitions for opening, stopping and closing the shutters
set up cmd {"io set ddr 2 ff\nio set port 2 1%btnup\nwait 1000\nio set port 2 00"}
set stop cmd {"io set ddr 2 ff\nio set port 2 1%btnstop\nwait 1000\nio set port 2 00"}
set down cmd {"io set ddr 2 ff\nio set port 2 1%btndown\nwait 1000\nio set port 2 00"}

Die Definition in der Konfigurationsdatei von fhem lautet wie folgt:

define AVRNETIO ECMD telnet 192.168.xxx.xxx.:2701
set AVRNETIO classdef VeluxRC /path/to/VeluxRC.classdef
define 3.kiz.roll ECMDDevice VeluxRC 1 0 2

Um die Rolladen dann abhängig vom Sonnenstand und Wochentag zu öffnen und zu schließen, werden
diese Kommandos verwendet:

define at.sunrise.3.kiz.roll.wd at *{sunrise(1800,"06:20")} { fhem("set 3.kiz.roll up") if(!$we) }
define at.sunrise.3.kiz.roll.we at *{sunrise(1800,"08:00")} { fhem("set 3.kiz.roll up") if($we) }
define at.sunset.3.kiz.roll.1 at *{sunset(-1800,"00:00","19:30:00")} set 3.kiz.roll down


--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Guest

Originally posted by: <email address deleted>

Hallo Boris,

das ist ja toll!

Ich habe bei mir auch mehrere avr-net-io im Einsatz (auch mit Ethersex
firmware) und habe die Relais über FHEM bisher nur primitiv über
externe Skripte (wget) gesteuert. Mit Deiner Methode ist dann avt-net-
io voll in FHEM integriert!

Ein paar Frage dazu, bevor ich Dein Modul einsetze:
- Im commandref.html referenziert Du auf eine /etc/fhem/ADC.classdef.
Auf Deiner Homepage gibst Du im beispiel eine VeluxRC.classdef an.
Würdest Du Deine Beispiele zur Verfügung stellen? Im CVS habe ich
nichts gefunden (evtl. habe ich aber auch falsch gesucht).
- Können mit diesem Modul auch automatisch Eingabeports von avr-net-io
abgefragt und ins Filelog geschrieben werden?

MfG Willi

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Hallo Boris,
das ist ja toll!

Ich habe bei mir auch mehrere avr-net-io im Einsatz (auch mit
Ethersex
firmware) und habe die Relais über FHEM bisher nur primitiv über
externe Skripte (wget) gesteuert. Mit Deiner Methode ist dann avt-
net-
io voll in FHEM integriert!

Eine Frage dazu, bevor ich Dein Modul einsetze:
- Können mit diesem Modul auch automatisch Eingabeports von avr-net-
io
abgefragt und ins Filelog geschrieben werden?

MfG Willi

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Dr. Boris Neubert

                                             

Hallo Willi,

Am 23.01.2011 15:41, schrieb Willi:
> das ist ja toll!

freut mich, daß die Module für Dich nützlich sind.

> Würdest Du Deine Beispiele zur Verfügung stellen? Im CVS habe ich
> nichts gefunden (evtl. habe ich aber auch falsch gesucht).

Die beispielhaften Klassendefinition für ADC und I/O-Ports sind ja in
der Dokumentation zum ECMDDevice bei den Beispielen. Wenn Du mir sagst,
was Du genau brauchst, kann ich eine Klassendefinition dafür schreiben.

> - Können mit diesem Modul auch automatisch Eingabeports von avr-net-io
> abgefragt und ins Filelog geschrieben werden?

In der Tat wird derzeit noch nichts protokolliert. Es wäre zu ergänzen,
daß nach einem set oder get etwas ins Log geschrieben wird. Dazu müßten
die Kommandos (value, up, down, ...) zugleich als Readings interpretiert
werden.

Was meinst Du mit "automatisch abfragen"?

Viele Grüße,
Boris

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Guest

Originally posted by: <email address deleted>

Hallo Boris!

>
> > - Können mit diesem Modul auch automatisch Eingabeports von avr-net-io
> > abgefragt und ins Filelog geschrieben werden?
>
> In der Tat wird derzeit noch nichts protokolliert. Es wäre zu ergänzen,
> daß nach einem set oder get etwas ins Log geschrieben wird. Dazu müßten
> die Kommandos (value, up, down, ...) zugleich als Readings interpretiert
> werden.
>

Mir fällt dazu spontan folgendes für 67_CMDDevice.pm ein:

   get

generiert READINGS wie folgt:

$modules{ECMDDevice}{defptr}{$name} = $hash;
...
$def->{READINGS}{$commandname}{VAL} = $result_of_ecmd;
...

> Was meinst Du mit "automatisch abfragen"?

Ich meinte damit eigentlich, dass das Modul avr-net-io pollt (z.B.
alle 5 Minuten), dabei die Ports von avr-net-io abfragt und die
Ergebnisse als Reading schreibt, damit man das auch als Filelog hat.

Evtl. reicht dazu aber schon aus, wenn man die Ergebnisse vom get des
67_CMDDevice.pm als READINGS schreibt (siehe oben).

Was meinst Du?

MfG Willi

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

hallo Boris
ich glaube dein modul könnte mir bei meiner aufgabe ASCII charakter an
eine serielle schnittstelle ( oder usb device ) zusenden, helfen. Ich
möchte z.B das Lunartec 7x50 als device in Fhem definieren un
benutzen.
deine aussage:
>Das Modul 66_ECMD.pm kann leicht um die Möglichkeit ergänzt werden, über
>eine serielle Schnittstelle zu kommunizieren.
gefällt mir. Kannst du mir noch einen Tip geben wie ich Ausgabe von
TCP nach einem USB Device ändern könnte.

Betsen Dank
mfg
remo

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Dr. Boris Neubert

                                             

Hallo Willi,

Am 23.01.2011 21:13, schrieb Willi:
> Mir fällt dazu spontan folgendes für 67_CMDDevice.pm ein:
>
>    get
>
> generiert READINGS wie folgt:
>
> $def->{READINGS}{$commandname}{VAL} = $result_of_ecmd;

das ist implementiert und im CVS eingecheckt. Es sind nur rudimentäre
Tests erfolgt, ich würde mich freuen, wenn Du es testest und eine
Rückmeldung gibst.

>> Was meinst Du mit "automatisch abfragen"?

> Ich meinte damit eigentlich, dass das Modul avr-net-io pollt (z.B.
> alle 5 Minuten), dabei die Ports von avr-net-io abfragt und die
> Ergebnisse als Reading schreibt, damit man das auch als Filelog hat.

Ich habe die beiden Module im Vorgriff auf fhem 6 nach den neuen
Development Guidelines entwickelt, soweit abwärtskompatibel. Leider
fehlt für fhem 6 noch das Konzept für die Polling-Infrastruktur. Ich
schlage daher vor, daß Du ein at-Kommando benutzt, um periodisch ein get
zu machen. Dabei wird jedesmal das Reading gesetzt und ein Notify und
Filelog-Eintrag getriggert.

Viele Grüße,
Boris

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Dr. Boris Neubert

                                             

Hallo,

Am 25.01.2011 09:52, schrieb appi:
> ich glaube dein modul könnte mir bei meiner aufgabe ASCII charakter an
> eine serielle schnittstelle ( oder usb device ) zusenden, helfen. Ich
> möchte z.B das Lunartec 7x50 als device in Fhem definieren un
> benutzen.
> deine aussage:
>> Das Modul 66_ECMD.pm kann leicht um die Möglichkeit ergänzt werden, über
>> eine serielle Schnittstelle zu kommunizieren.
> gefällt mir. Kannst du mir noch einen Tip geben wie ich Ausgabe von
> TCP nach einem USB Device ändern könnte.

ich habe 66_EMCD um die serielle Schnittstelle erweitert. Die Doku ist
(noch) _nicht_ aktualisiert. Du mußt

define myGenericSerialDevice ECMD serial /dev/ttyS0

oder ähnliches definieren. In der Klassendefinition ledticker.classdef
würde ich so etwas wie

set text cmd { "STEUERCODES%tickertext" }
set text params tickertext

schreiben und ein logisches Gerät

define myLedticker ECMDDevice ledticker.classdef

definieren. Mit

set myLedticker text 'Hallo, ich bin der Tickertext'

sollte das dann klappen. Das alles inklusive der seriellen Kommunikation
ist völlig ungetestet: der Kode ist bei mir mangels Zeit und Gerät nie
gelaufen.

Viel Glück!
Boris

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Guest

Originally posted by: <email address deleted>

danke Boris, werde am wochenende testen.

gruss
remo

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

On 25 Jan., 20:49, Boris Neubert wrote:
> das ist implementiert und im CVS eingecheckt. Es sind nur rudimentäre
> Tests erfolgt, ich würde mich freuen, wenn Du es testest und eine
> Rückmeldung gibst.
>

Hallo Boris,

super! Dann werde ich das gleich morgen mal angehen.

MfG Willi

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Hallo Boris,

Feedback erster Test:

- fhem.cfg:

define AVRNETIO ECMD telnet 192.168.169.181:2701
set AVRNETIO classdef WATER /var/log/fhem/Water.class

define mypin1 ECMDDevice WATER

- Water.class:

# definitions for pins
get pin1 cmd {"pin get ausgang1"}
get pin2 cmd {"pin get ausgang2"}
get pin3 cmd {"pin get ausgang3"}


Wenn ich in FHEM command line "get mypin1 pin1" eingebe, stürzt fhem
wie folgt ab.

In fhem-2011-01.log ist folgendes zu sehen:

2011.01.26 18:27:35 3: ECMD opening AVRNETIO (protocol telnet, device
192.168.169.181:2701)
2011.01.26 18:27:35 3: ECMD device opened
2011.01.26 18:27:36 2: ECMD version: Jul 25 2010 19:17:04
Use of uninitialized value $def in concatenation (.) or string at /usr/
local/lib/FHEM/66_ECMD.pm line 497.
Undefined subroutine &main::EvalSpecials called at /usr/local/lib/FHEM/
67_ECMDDevice.pm line 129.



Ich probiere als nächstes Mal mit Parametern, auch wenn ich die
eigentlich nicht brauche.

MfG Willi
MfG Willi

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Hallo Boris,

der zweite Versucht zeigt folgendes.

* fhem.cfg:


define AVRNETIO ECMD telnet 192.168.169.181:2701
set AVRNETIO classdef WATER /var/log/fhem/Water.class

define mypin1 ECMDDevice WATER 1

* Water.class:

#
params NUM

# definitions for pins
get getpin cmd {"pin get ausgang%NUM"}


Sobald ich "get mypin1 getpin" eingebe, stürzt fhem wie folgt ab
(fhem.log):

011.01.26 18:52:57 3: ECMD opening AVRNETIO (protocol telnet, device
192.168.169.181:2701)
2011.01.26 18:52:57 3: ECMD device opened
2011.01.26 18:52:57 2: ECMD version: Jul 25 2010 19:17:04
2011.01.26 18:52:58 0: Server started (version =VERS= from =DATE=
($Id: fhem.pl,v 1.116 2010-11-06 19:31:38 rudolfkoenig Exp $), pid
21157)
Undefined subroutine &main::EvalSpecials called at /usr/local/lib/FHEM/
67_ECMDDevice.pm line 129.

MfG Willi

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Korrektur. Sorry. Ich hatte vergessen fhem.pl auszutauschen.

Der zweite Test funktioniert jetzt:

get mypin1 getpin
getpin: on

Danke!

READING sieht auch gut aus:

list mypin1
Internals:
   DEF        WATER 1
   IODev      AVRNETIO
   NAME       mypin1
   NR         6
   STATE      getpin: on
   TYPE       ECMDDevice
   Readings:
     2011-01-26 19:12:19   getpin          on
   Fhem:
     classname  WATER
     Params:
       NUM        1
Attributes:


MfG Willi

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Hallo Boris,

ich bin begeistert!

* In fhem.cfg habe ich jetzt:

define AVRNETIO ECMD telnet 192.168.169.181:2701
set AVRNETIO classdef WATER /var/log/fhem/Water.class

define WasserLED ECMDDevice WATER 1
define Wasser ECMDDevice WATER 2

* Die Water.class sieht wie folgt aus:

#
params NUM

# definitions for pins
get pinstate cmd {"pin get ausgang%NUM"}
set setstate cmd {"pin set ausgang%NUM 1"}
set resetstate cmd {"pin set ausgang%NUM 0"}


Ich kann den Status der Relais abfragen:
fhem> get WasserLED pinstate
pinstate: on
fhem> get Wasser pinstate
pinstate: on


und auch die Relias zurücksetzen:
fhem> set Wasser resetstate
resetstate: off
fhem> set WasserLED resetstate
resetstate: off

Oops. Jetzt habe ich meinen Wasser-Hauptanschluss über das Honyewell
Kugelventil HAV-25 abgeschaltet!
Jetzt schnell wieder Wasser anschalten, bevor meine Familie nach
Wasser schreit!

fhem> set Wasser setstate
setstate: on
fhem> set WasserLED setstate
setstate: on

Jetzt habe ich wieder Wasser im Haus!

Auch die Readings werden so gesetzt wie gewünscht.
Jetzt fehlen nur noch at-Kommandos, FileLog und Weblink.

Ich bin begeistert!!

MfG Willi

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Dr. Boris Neubert

                                             

Am 26.01.2011 19:49, schrieb Willi:
> ich bin begeistert!
>  
es freut mich, dass die Module fuer Dich nuetzlich sind!

Dank des Super-Frameworks von Rudi war die Erweiterung ruckzuck
umgesetzt. fhem.pl habe ich angefasst, weil ich ein paar
Convenience-Funktionen brauchte und daher bestehende Programmteile
ausgekoppelt habe, um Kode-Doppelungen zu vermeiden.

Viele Gruesse,
Boris

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!