Nützliche aliase

Begonnen von P.A.Trick, 13 Oktober 2015, 19:36:13

Vorheriges Thema - Nächstes Thema

P.A.Trick

Da ich die cmdalias Funktion für völlig unterbewertet halte, möchte ich noch weitere sinnvolle Befehlskombinationen in diesem Thread sammeln!
Ich fange mal an:

Zeigt alle ignorierten Geräte in FHEM
define c_showignoreddevices cmdalias showignoreddevices AS { join("\n", grep { $attr{$_}{ignore} } sort keys %attr ) }

Und hier noch ein Pendant für Geräte ohne Typdeklaration!

define c_shownotypedevices cmdalias shownotypedevices AS { join("\n", grep { !defined($defs{$_}{TYPE}) } keys %defs) }


Wiki: http://www.fhemwiki.de/wiki/Cmdalias#Beispiele
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

harway2007

und wie ruft man die Aliase ab ?
MFG Harway

marvin78

Commandref zu cmdalias!

In dem Fall:

shownotypedevices

Rince

Einfach ihren Namen eintippern...
Also das, was vor dem AS steht. Das könnte auch ein Befehl (set lamp1 on) sein.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Rince

Ohne konkreten Codeschnipsel, aber praktisch:

Wenn man bei bestimmten Geräten (z.B. MiLights) kein off erlauben will, kann man das so z.B. auf ein anderes Gerät umbiegen.

define aliasMiLight_1 cmdalias set MiLight_1 off AS set HMSchaltaktor_1 off



Der Vorteil im Vergleich zu einem Notify:
Der ursprüngliche Befehl wird nicht verarbeitet
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

P.A.Trick

#5
Auch ein cooles Anwendungsbeispiel!

Hier noch ein einfacher Tipp zum aktivieren des verbose 5 logs

define c_v5 cmdalias v5 AS attr global verbose 5

und zurück zum verbose 3 mit v3

define c_v3 cmdalias v3 AS attr global verbose 3
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

#6
Und heute noch einer ,-)

Wer das Text2spech Modul verwendet kann die Sprachausgabe vereinfachen:

define c_say cmdalias say .* AS set MyTTS tts '$EVENT'

say Hallo  ist einfach einfacher ;-) Funktioniert auch in Notifies usw!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

rapster

Hier ein cmdalias um einen room umzubennen ohne dabei die devices aus anderen räumen zu entfernen

define cmd_roomrename cmdalias roomrename .* AS { for my $name (devspec2array("room=$EVTPART0")){ map {s/$EVTPART0/$EVTPART1/;; fhem("attr $name room $_")} AttrVal($name,'room','') } }

Zitatroomrename oldroom newroom


Gruß
  Claudiu

Rince

Sehr schick das.
Die cmdaliase sollten ins Wiki...
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

rapster

#9
Passend zu "roomrename" hier noch ein "roomdelete" cmdalias um einen Raum zu löschen ohne die betroffenen Geräte auch aus anderen Räumen zu löschen.

define cmd_roomdelete cmdalias roomdelete .* AS { for my $name (devspec2array("room=$EVENT")){ map { /^$EVENT$/ ? fhem("deleteattr $name room") : do{s/,$EVENT|$EVENT,//;; fhem("attr $name room $_")} } AttrVal($name,'room','') } }

Zitatroomdelete roomName

Gruß
  Claudiu

P.A.Trick

Zitat von: Rince am 16 Oktober 2015, 19:34:07
Sehr schick das.
Die cmdaliase sollten ins Wiki...

Ok werde ich morgen machen!

Hier noch einer:

define ls cmdalias ls .* AS list .*$EVENT.*


Kurze Version von list die auch mit Teilen des Devices etwas anfangen kann!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Icinger

Die Verbose 3 und Verbose 5 von P.A.Trick könnte man noch verfeinern:

define v5 cmdalias v5 .* AS {fhem ("attr ".($EVENT||="global")." verbose 5")}
sowie
define v3 cmdalias v3 .* AS {fhem ("attr ".($EVENT||="global")." verbose 3")}

Somit kann man optional auch ein Device angeben, für das der verbose gesetzt wird.

lg, Ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

P.A.Trick

Zitat von: Icinger am 16 Oktober 2015, 21:20:41
Die Verbose 3 und Verbose 5 von P.A.Trick könnte man noch verfeinern:

define v5 cmdalias v5 .* AS {fhem ("attr ".($EVENT||="global")." verbose 5")}
sowie
define v3 cmdalias v3 .* AS {fhem ("attr ".($EVENT||="global")." verbose 3")}

Somit kann man optional auch ein Device angeben, für das der verbose gesetzt wird.

lg, Ici

Geil :-) Danke!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

rapster

#13
Heut nochmal einen etwas größeren cmdalias "regroup", ist zwar leider etwas lang aber hab ich schon paar mal gebrauchen können :)


define cmd_regroup cmdalias regroup .* AS { my @EVTPART=split(' ',$EVENT);; $EVTPART[2] =~ s/\|/:FILTER=/g if($EVTPART[2]);; for my $name (devspec2array("group=".($EVTPART[0] ? $EVTPART[0] : '.*').($EVTPART[2] ? ":FILTER=$EVTPART[2]" : ''))){ map { ($_ && /^$EVTPART[0]$/ && !$EVTPART[1]) ? fhem("deleteattr $name group") : do{ if(!$EVTPART[1]){$EVTPART[0]=",$EVTPART[0]|$EVTPART[0],";; $EVTPART[1]='';;} s/$EVTPART[0]/$EVTPART[1]/;; fhem("attr $name group $_")} } AttrVal($name,'group',0) } }


Zitat
regroup <oldGroup> [<newGroup> [<FILTER>][|<FILTER2>]...]

# Allen devices ohne group die Gruppe 'myGroup' setzen:
regroup 0 myGroup

# Nur den devices im Raum 'myRoom' welche keine group haben die Gruppe 'myGroup' setzen:
regroup 0 myGroup room=myRoom

# Alle devices aus 'oldGroup' in 'newGroup' verschieben
regroup oldGroup newGroup

# Nur die devices im Raum 'myRoom' aus 'oldGroup' in 'newGroup' verschieben
regroup oldGroup newGroup room=myRoom

# Gruppe 'myGroup' löschen
regroup myGroup

# Nur die devices im Raum 'myRoom' aus der Gruppe 'myGroup' löschen.
regroup myGroup 0 room=myRoom

# Devices aus allen Gruppen welche mit 'licht' beginnen aus Raum 'Obergeschoss' entfernen.
regroup licht.* 0 room=Obergeschoss

# Devices aus dem Raum 'myRoom'  aus allen Gruppen entfernen und in die Gruppe 'myGroup' verschieben.
regroup .* myGroup room=myRoom

# Devices ohne Gruppe aus dem Raum 'myRoom' mit dem TYPE 'CUL_HM' und welche ebenfalls 'Licht' im Namen enthalten die Gruppe 'myGroup' hinzufügen
regroup 0 myGroup room=myRoom|TYPE=CUL_HM|NAME=.*Licht.*
- Die zusätzlichen Gruppen in welchen sich die devices sonst noch befinden bleiben unberührt.
- Als FILTER kann alles was der normale fhem-devspec filter verarbeiten kann angegeben werden.

Es sollte nur aufgepasst werden wenn ein device mehrere ähnlichen Gruppenbennungen wie "attr name group test2,test" hat.
Wenn man hier ein 'regroup test test3' macht, könnte es passieren dass man dadurch bei diesem device die Gruppe 'test2' nach 'test32' umbenennt.
In dem Beispiel müsste man den Befehl z.B. mit 'regroup test$ test3' angeben damit das nicht passiert. Das sollte denke ich allerdings kaum vorkommen.

Gruß
  Claudiu

P.A.Trick

#14
So ich habe mal eine Wiki Seite angelegt:

http://www.fhemwiki.de/wiki/Cmdalias#Beispiele

Wer Langeweile hat kann gerne die Beispiel übernehmen! :D


UPDATE: Ich hatte Langeweile ;-)
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

carlos

Nur zur Info, da ist ein Fehler im Wiki beim roomrename.
Könnte das bitte jemand korregieren?
Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

krikan

Hallo Carlos,
habe jetzt auf Verdacht geändert, da Du nicht verraten hast, was falsch ist. Es wäre nett, wenn Du kontrollieren könntest.
Gruß, Christian

carlos

Sorry, ich dachte das wäre klar. So wie es hier im Thread gepostet wurde:

define cmd_roomrename cmdalias roomrename .* AS { for my $name (devspec2array("room=$EVTPART0")){ map {s/$EVTPART0/$EVTPART1/;; fhem("attr $name room $_")} AttrVal($name,'room','') } }

So ist es jetzt auch im Wiki korrekt.
Danke
Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

P.A.Trick

Für alle die schon einmal nach der Möglichkeit gesucht haben das FHEM Logfile zu leeren! Bitte sehr der brandneue 2016er Alias dafür ;-)

define c_dellog cmdalias dellog AS {qx(truncate $currlogfile --size 0)}

Löscht das aktuelle FHEM logfile! Wiki ist aktualisiert!

http://www.fhemwiki.de/wiki/Cmdalias#Beispiele
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Benni

Hallo P.A.Trick,

ich habe in diesem Thread auch mal ein, wie ich finde nützliches cmdalias gebastelt, das vllt. in die entsprechende Liste aufgenommen werden könnte.
Ich habe derzeit noch keinen entsprechenden Wiki-Zugang, deshalb hier die Bitte an dich, ob du das dort eintragen könntest.

Danke dir!

Gruß Benni.

P.A.Trick

Zitat von: Benni am 02 Januar 2016, 22:24:55
Hallo P.A.Trick,

ich habe in diesem Thread auch mal ein, wie ich finde nützliches cmdalias gebastelt, das vllt. in die entsprechende Liste aufgenommen werden könnte.
Ich habe derzeit noch keinen entsprechenden Wiki-Zugang, deshalb hier die Bitte an dich, ob du das dort eintragen könntest.

Danke dir!

Gruß Benni.

Hi Beni,
klar habe ich eben aufgenommen!
Gruß
Patrick
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Benni


mi.ke

Zitat von: P.A.Trick am 01 Januar 2016, 22:30:17
Für alle die schon einmal nach der Möglichkeit gesucht haben das FHEM Logfile zu leeren! Bitte sehr der brandneue 2016er Alias dafür ;-)

define c_dellog cmdalias dellog AS {qx(truncate $currlogfile --size 0)}

Löscht das aktuelle FHEM logfile! Wiki ist aktualisiert!

http://www.fhemwiki.de/wiki/Cmdalias#Beispiele

Hi.

das ist ja mal wieder ein sensationelles Feature.

Ich hab's mir so erweitert, weil ich wissen will, wann der Log gelöscht wurde.
dellog AS {qx(truncate $currlogfile --size 0);Log 1, "Logfile gelöscht";}

Nun hat Rudi die Jump to the top und Jump to end Links eingecheckt.
http://sourceforge.net/p/fhem/code/10434/

Leider werden diese Links beim Loglöschen ebenfalls gelöscht.

Hat jemand eine Idee, wie man den Code in das cmdAlias bekommt?

Ich bin da leider zu bl..d für. :o

Cheers
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Sonic

Hallo Zusammen,

ich bekomme ein Fehlermeldung beim Aufruf von c_dellog.

Bitte um den kpl. Aufruf. Ich denke hier ist meine Fehler.  (bin Anfänger)


danke

P.A.Trick

Zitat von: Sonic am 16 Januar 2016, 11:40:44
Hallo Zusammen,

ich bekomme ein Fehlermeldung beim Aufruf von c_dellog.

Bitte um den kpl. Aufruf. Ich denke hier ist meine Fehler.  (bin Anfänger)


danke

Versuche das mal so!
define c_dellog cmdalias dellog AS {qx(truncate $currlogfile --size 0);;Log 1, "Logfile gelöscht";;}
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Sonic

Hallo vielen Dank, jetzt hat das geklappt.

Gibt es eine Möglichkeit den Jump to the End wieder zu reaktivieren ?

danke

Bootscreen

da ich grad das Problem hatte das ich viele Devices in neue Räume hinzufügen wollte hab ich mir ein passendes Alias geschrieben:

Aufruf: roomadd <devspec> <new_room>
define c_roomadd cmdalias roomadd .* AS { for my $name (devspec2array("$EVTPART0")){ my $old_room = AttrVal($name,'room','');; if (index($old_room, $EVTPART1) == -1) {my $new_room = AttrVal($name,'room','') . ",$EVTPART1";; fhem("attr $name room $new_room")} } }

Es prüft auch ob das Device bereits in dem Raum vorhanden ist. Bei mir hats zwar funktioniert, aber da es mein erstes Script in der Art ist wäre es schön wenn da einer nochmal drauf schaut bevor es evtl ins Wiki übernommen wird.
Gruß
Oliver

FHEM 5.7 Hardware:
Raspberry PI B+ | HomeMatic USB 2 | 433Mhz Sender (pilight) | nanoCUL (433Mhz)

P.A.Trick

Zitat von: Bootscreen am 19 Januar 2016, 09:15:57
da ich grad das Problem hatte das ich viele Devices in neue Räume hinzufügen wollte hab ich mir ein passendes Alias geschrieben:

Aufruf: roomadd <devspec> <new_room>
define c_roomadd cmdalias roomadd .* AS { for my $name (devspec2array("$EVTPART0")){ my $old_room = AttrVal($name,'room','');; if (index($old_room, $EVTPART1) == -1) {my $new_room = AttrVal($name,'room','') . ",$EVTPART1";; fhem("attr $name room $new_room")} } }

Es prüft auch ob das Device bereits in dem Raum vorhanden ist. Bei mir hats zwar funktioniert, aber da es mein erstes Script in der Art ist wäre es schön wenn da einer nochmal drauf schaut bevor es evtl ins Wiki übernommen wird.

Cool Danke habe ich ins Wiki übernommen!

http://www.fhemwiki.de/wiki/Cmdalias#roomadd
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Sunny

Moin Patrick,

für Leute die [HowTo] /dev/watchdog auf BBB oder RasPi für Neustart im Fehlerfall nutzen und neustarten wollen, ohne in eine "Bootschleife" zu gelangen.

define c_neustart cmdalias neustart AS save; {WriteStatefile}; shutdown restart

Viele Grüße
Sunny
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

uniqueck

Ich bin gerade am probieren, wie ich ein cmdalias für pushnotifier bauen kann.


define c_msgconni cmdalias msgconni .* AS set pushMessageConni message 'FHEM' '$EVENT'


Allerdings weiß ich nicht recht, wie ich es machen soll, dass ich auch beim alias den Title der Nachricht mitgeben kann.
Kann mir da jemand weiterhelfen?

Ein ähnliches cmdalias unter say habe ich gefunden, aber das entspricht hier dem Part $EVENT.

Gruß uniqueck

igami

Habe mir eben noch ein cmdalias gebaut um bestimmte Zeilen aus dem Log zu entfernen

define c_wipelog cmdalias wipelog .+ AS {qx(sed -r '/.*$EVENT.*/d' $currlogfile > $currlogfile.tmp && cat $currlogfile.tmp > $currlogfile && rm $currlogfile.tmp);; Log 1, "Logfile um Zeilen mit \"$EVENT\" bereinigt.";;}

Noch etwas unschön, aber es funktioniert.

Grüße
igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

betateilchen

Um die uptime der Hardwareplattform (!) auf der fhem läuft, in fhem anzuzeigen, nutze ich folgenden cmdalias:

define alias_uptime cmdalias up AS {my @a = split(/,/,qx(uptime));; @a = split(/up /,$a[0]);;return $a[1]}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

falls man man den überblick verliert auf welchem fhem rechner man gerade eingeloggt ist: define hostname cmdalias hostname AS {(split('\.', qx(hostname)))[0]}

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

P.A.Trick

Zitat von: justme1968 am 03 Juni 2016, 14:44:52
falls man man den überblick verliert auf welchem fhem rechner man gerade eingeloggt ist: define hostname cmdalias hostname AS {(split('\.', qx(hostname)))[0]}

gruss
  andre

Cool! Habe ich ins Wiki übernommen!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

betateilchen

attr global title {(split('\.', qx(hostname)))[0]}

Dann sieht man den Hostname sogar ständig im Browser, ohne ihn abfragen zu müssen ;)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

P.A.Trick

Zitat von: betateilchen am 03 Juni 2016, 19:18:27
attr global title {(split('\.', qx(hostname)))[0]}

Dann sieht man den Hostname sogar ständig im Browser, ohne ihn abfragen zu müssen ;)

Stimmt aber ich arbeite oft in der Console und da hilft der alias doch schon!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

betateilchen


MBA:~ udo$ telnet fhem-dev 7072
Trying 192.168.123.158...
Connected to fhem-dev.
Escape character is '^]'.

fhem-dev>


mit diesem Patch kriegst Du auch bei telnet den hostname als prompt angezeigt :)


Index: 98_telnet.pm
===================================================================
--- 98_telnet.pm (Revision 11601)
+++ 98_telnet.pm (Arbeitskopie)
@@ -194,7 +194,12 @@
     return if(!$chash);
     $chash->{canAsyncOutput} = 1;
     $chash->{encoding} = AttrVal($name, "encoding", "utf8");
-    $chash->{prompt}  = AttrVal($name, "prompt", "fhem>");
+    $chash->{prompt}  = AttrVal($name, "prompt", AttrVal('global','title','fhem'));
+    if($chash->{prompt} =~ m/^{.*}$/s) {
+       $chash->{prompt}  = eval $chash->{prompt};
+       $chash->{prompt}  =~ s/\n//;
+    }
+    $chash->{prompt} .= '>';
     syswrite($chash->{CD}, sprintf("%c%c%c", 255, 253, 0) )
         if( AttrVal($name, "encoding", "") ); #DO BINARY
     $chash->{CD}->flush();


Alternativ könnte man 98_telnet.pm auch so patchen, dass das Attribut prompt als perlSpecial aufgelöst wird.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

P.A.Trick

Zitat von: betateilchen am 03 Juni 2016, 19:49:19

MBA:~ udo$ telnet fhem-dev 7072
Trying 192.168.123.158...
Connected to fhem-dev.
Escape character is '^]'.

fhem-dev>


mit diesem Patch kriegst Du auch bei telnet den hostname als prompt angezeigt :)


Index: 98_telnet.pm
===================================================================
--- 98_telnet.pm (Revision 11601)
+++ 98_telnet.pm (Arbeitskopie)
@@ -194,7 +194,12 @@
     return if(!$chash);
     $chash->{canAsyncOutput} = 1;
     $chash->{encoding} = AttrVal($name, "encoding", "utf8");
-    $chash->{prompt}  = AttrVal($name, "prompt", "fhem>");
+    $chash->{prompt}  = AttrVal($name, "prompt", AttrVal('global','title','fhem'));
+    if($chash->{prompt} =~ m/^{.*}$/s) {
+       $chash->{prompt}  = eval $chash->{prompt};
+       $chash->{prompt}  =~ s/\n//;
+    }
+    $chash->{prompt} .= '>';
     syswrite($chash->{CD}, sprintf("%c%c%c", 255, 253, 0) )
         if( AttrVal($name, "encoding", "") ); #DO BINARY
     $chash->{CD}->flush();


Alternativ könnte man 98_telnet.pm auch so patchen, dass das Attribut prompt als perlSpecial aufgelöst wird.

Sehr gerne wenn du Rudi davon überzeugt bekommst!? :-)
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

justme1968

der patch ist eine gute idee.

das hilft aber nur wenn man auch mit prompt arbeitet. und der ist bei copy&paste immer im weg.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: justme1968 am 03 Juni 2016, 19:55:32
und der ist bei copy&paste immer im weg.

das verstehe ich grade nicht - ich arbeite in telnet viel mit c&p aber der prompt geht mir dabei nicht verloren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

P.A.Trick

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

justme1968

wenn man eine zeile per doppelklick markiert wird der prompt mit markiert wenn er vorhanden ist. deshalb arbeite ich immer ohne prompt.

es ging nicht gegen deinen vorschlag. den finde ich gut. er nützt aber nur demjenigen der mit prompt arbeitet.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

Zitat von: justme1968 am 03 Juni 2016, 20:03:48
wenn man eine zeile per doppelklick markiert wird der prompt mit markiert wenn er vorhanden ist. deshalb arbeite ich immer ohne prompt.

verstehe ich immer noch nicht. Egal. Ich arbeite immer mit prompt und hatte damit noch nie Probleme.
Ich finde auch den cmdalias praktisch. Hab das einfach nur weitergedacht.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

und bei mir sieht es so aus. ich kann zeilen die ich selber eingegeben habe per doppelklick markieren. ohne einen prompt am anfang.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

ok, jetzt weiss ich was Du meinst :) Aber an der Stelle würdest Du wohl auch den cmdalias nicht aufrufen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

in dem einen fenster nicht. wenn 4 fenster auf drei fhem systeme schon eine weile offen sind schon :)

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rapster

Zitat von: justme1968 am 03 Juni 2016, 14:44:52
falls man man den überblick verliert auf welchem fhem rechner man gerade eingeloggt ist: define hostname cmdalias hostname AS {(split('\.', qx(hostname)))[0]}

gruss
  andre

Und wer nicht nur den Hostname sondern den FQDN möchte weil er z.B. wie ich mehrere Instanzen hat bei denen sich nur die Domain unterscheidet ;)
z.B. fhem.abc.de, fhem.xyz.de ...
define cmd_hostname cmdalias hostname AS {`hostname --fqdn`}

Gruß
Claudiu

igami

#49
Habe mir mal ein priorityset gebastelt

defmod priorityset cmdalias priorityset .+\s+(reset|\d+\s+.+) AS {\
  my ($name, $priority, $cmd) = split(/[\s]+/, $EVENT, 3);;\
  \
  return unless(IsDevice($name) && $priority);;\
  \
  if($priority eq "reset"){\
    fhem("setreading $name priorityset 0");;\
  }\
  else{\
    return unless($cmd);;\
    \
    fhem("set $name $cmd;; setreading $name priorityset $priority;;") \
      if(int($priority) >= ReadingsNum($name, "priorityset", 0));; \
  }\
}
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

dev0

Wofür braucht man das? Warum warum kann man den Wert von $priority nur erhöhen und nicht verkleinern?

igami

Zitat von: dev0 am 20 August 2017, 11:31:57
Wofür braucht man das? Warum warum kann man den Wert von $priority nur erhöhen und nicht verkleinern?
Ich habe mehrere notify, DOIF, etc. welche den gleichen Aktor schalten. Diese bekommen dann eine unterschiedliche priority und beim Abschließen der Aktion wird das mit reset wieder auf 0 gesetzt.

Konkretes Beispiel:
Meine LED Stripes an der Kaffeeecke werden durch eine Messsteckdose geschaltet.
Power < 0.5 => aus
Power < 5 => grün (Geräte fertig und im Standby)
Power > 5 => blau (Geräte arbeiten)

Nun habe ich aber auch noch verschiedene Licht-Szenen. Sind diese aktiv soll das nicht durch die Steckdose übersteuert werden.

Zugegeben ist das ganze noch nicht ganz ausgereift.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

dev0

Kann man das anwenden, wenn man nicht genau Deine Notifies verwendet? In der commandref habe ich kein 'priorityset' gefunden.

igami

Zitat von: dev0 am 20 August 2017, 12:19:36
Kann man das anwenden, wenn man nicht genau Deine Notifies verwendet? In der commandref habe ich kein 'priorityset' gefunden.
Das wird ja durch das cmdalias ermöglicht. Anstelle von "set <name> cmd" macht man "priorityset <name> <priority> cmd".
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Shadow3561

Moin,

Folgendes Problem besteht:
Ich steuere meine Heizungen mit dem PID20-Regler.
Da 3 Heizungen gleichzeitig gesteuert werden müssen, habe ich mir einen Dummy gebaut. Dieser hat ein setList als Eingabe bekommen und die Werte werden von einem notify an alle PID-Regler weitergegeben.
Dies funktioniert sehr gut.

Jetzt habe ich den dummy bei Amazon Echo als Thermostat eingebunden. Die Befehle werden zum Dummy weitergereicht und auch eingestellt. Jedoch besteht ein Problem mit Ganzzahlen. 19,5 oder 21,5 werden vom Dummy angenommen und auch vom PID-Regler. Möchte ich jedoch 20,0 oder 18,0 einstellen, macht die Amazon api daraus eine Ganzzahl ala 20 oder 18.
Diese Zahlen werden weder vom Dummy noch vom PID-Regler akzeptiert.

Nun zur Frage,
ist es möglich einen cmdalias zu erstellen der einer Ganzzahl ein ".0" anhängt?
Und wenn ja, kann mir jemand einen keinen Denkanstoss geben, wie das ganze umzusetzen ist.

MfG

Amenophis86

arbeite mit userreading und sprintf, oder arbeite mit readingsChange. Ein cmdalias ist dafür der falsche Weg.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

justme1968

natürlich geht das mit einem cmdalias auch.

aber vielleicht sollte man dem pid modul beibringen das es auch ohne nachkomma stellen funktioniert.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Shadow3561

Zitat von: Amenophis86 am 02 Oktober 2017, 08:26:56
arbeite mit userreading und sprintf, oder arbeite mit readingsChange. Ein cmdalias ist dafür der falsche Weg.

Das habe ich gemacht.
Mein Kopf war gestern abend wohl nicht so ganz in Form. Habe diesen einfacheren Weg nicht in Betracht gezogen.

MfG

rudolfkoenig

#58
Zitatist es möglich einen cmdalias zu erstellen der einer Ganzzahl ein ".0" anhängt?
defmod add0 cmdalias set dummy [\d]+ AS set dummy {( "$EVTPART1.0" )}

Amenophis86

Habe mich wohl falsch ausgedrückt. Wie bereits bewiesen geht es auch mit cmdalias, wobei ich finde, dass userreadings der bessere Weg ist. Aber das ist nur meine Meinung :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Jorche

#60
Da suchtm an nach einer Möglichkeit ganze Räume umzubennen und findet direkt die Lösung als cmdalias  8)

Hierzueine kleine Frage: Wie kann ich denn Leerzeichen in den Zielnamen einfügen? Im Ursprungsnamen lassen sich Leerzeichen via '/40' maskieren, im Zielnamen taucht dann jedoch /40 auf.

Dank und Grüße

Phill

Gibt es die Möglichkeit einen cmdalias zu erzeugen der die Detailseite von einem Device im Browser öffnet?
In der Art "show global". Oder gibt's da schon was? Oder müsste man das mit Javascript basteln?
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

rudolfkoenig

Was genau soll der cmdalias machen, wenn es im telnet eingegeben wird?

Phill

Das wäre schon für den FHEMWEB Zugriff gedacht.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

marvin78

Wäre da nicht einfach ein Link hilfreicher? Würdest du bitte mal einen Andwendungsfall beschreiben`?

Phill

Ein Textfeld an der Seite wäre da wahrscheinlich das richtige.
Ich will einfach nicht vorher in den Raum klicken, sondern einfach das Device eingeben.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Phill

Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Phill

Wollte das mal zur Diskussion stellen. Ist das was fürs WIKI? Funktioniert das überhaupt allgemeingültig?
define ca_tempnotify cmdalias def(mod|ine) \w+ tempnotify .* AS {\
  $EVENT =~ s/tempnotify/notify/;;\
  fhem("defmod $EVENT;;;;delete $EVTPART0");;\
}


Erzeugt ein temporäres notify welches einmal ausgeführt wird, ähnlich eines temporären at.
Verbesserungen sind gern gesehen.
Gruß
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

choetzu

Hallo,

ich versuche grad FHEM auf meinem verstaubten MacMini Server 2010 zum Laufen zu bringen... Soweit hat eigentlich alles sehr gut geklappt. Wo ich aber anecke, ist beim c_dellog. Eines meiner beliebtesten Aliase.. Aber es geht nicht, es kommt immer folgende Meldung im Log:

Do not know what to do. Either use -r or -s and specify files to process on.
2020.05.03 13:21:01 1:  Logfile gelöscht
Do not know what to do. Either use -r or -s and specify files to process on.
2020.05.03 13:21:41 1:  Logfile gelöscht


Ist das eine Berechtigungs- oder eher Mac-Geschichte?

Lg c
Raspi3, EnOcean, Zwave, Homematic

P.A.Trick

Zitat von: choetzu am 03 Mai 2020, 18:10:05
Hallo,

ich versuche grad FHEM auf meinem verstaubten MacMini Server 2010 zum Laufen zu bringen... Soweit hat eigentlich alles sehr gut geklappt. Wo ich aber anecke, ist beim c_dellog. Eines meiner beliebtesten Aliase.. Aber es geht nicht, es kommt immer folgende Meldung im Log:

Do not know what to do. Either use -r or -s and specify files to process on.
2020.05.03 13:21:01 1:  Logfile gelöscht
Do not know what to do. Either use -r or -s and specify files to process on.
2020.05.03 13:21:41 1:  Logfile gelöscht


Ist das eine Berechtigungs- oder eher Mac-Geschichte?

Lg c

Ja macOS kennt truncate nicht. Versuche mal folgendes:

defmod c_dellog cmdalias dellog AS {qx(echo -n  > $currlogfile);;;;Log 1, "Logfile gelöscht";;;;}
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

choetzu

Zitat von: P.A.Trick am 03 Mai 2020, 19:39:23
Ja macOS kennt truncate nicht. Versuche mal folgendes:

defmod c_dellog cmdalias dellog AS {qx(echo -n  > $currlogfile);;;;Log 1, "Logfile gelöscht";;;;}

hat geklappt!! Super, herzlichen Dank.
Ein kleiner Schönheitsfehler kommt noch...


-n
2020.05.04 07:33:32 1:  Logfile gelöscht


Da kommt noch -n .. Wieso auch immer.. Ignorieren?
Raspi3, EnOcean, Zwave, Homematic

P.A.Trick

Zitat von: choetzu am 04 Mai 2020, 07:35:41
hat geklappt!! Super, herzlichen Dank.
Ein kleiner Schönheitsfehler kommt noch...


-n
2020.05.04 07:33:32 1:  Logfile gelöscht


Da kommt noch -n .. Wieso auch immer.. Ignorieren?

Hm auf meinem mac klappt das.

Schau mal ob das Kommonda

list c_dellog

bei dir den folgenden Inhalt hat:

Internals:
   ALIAS      dellog
   DEF        dellog AS {qx(echo -n  > $currlogfile);;Log 1, "Logfile gelöscht";;}
   FUUID      5c445b5a-f33f-cbb9-cf3c-f12e051b83676d32
   FVERSION   98_cmdalias.pm:0.163000/2018-03-01
   NAME       c_dellog
   NEWCMD     {qx(echo -n  > $currlogfile);;Log 1, "Logfile gelöscht";;}
   NR         2558
   PARAM     
   STATE      defined
   TYPE       cmdalias
Attributes:
   genericDeviceType ignore
   room       System->cmdAlias
   verbose    3
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

choetzu

Danke. Hmm, mein Listing sieht eigentlich gleich aus:

Internals:
   ALIAS      dellog
   DEF        dellog AS {qx(echo -n  > $currlogfile);;Log 1, "Logfile gelöscht";;}
   FUUID      5eaea8d8-f33f-832d-6d97-de4539180ae7cfca
   NAME       c_dellog
   NEWCMD     {qx(echo -n  > $currlogfile);;Log 1, "Logfile gelöscht";;}
   NR         16
   PARAM     
   STATE      defined
   TYPE       cmdalias
Attributes:
   comment    Leert das aktuelle FHEM Logfile
   group      Kommando
   room       Commands


Einzig die Zeile
FVERSION   98_cmdalias.pm:0.163000/2018-03-01

fehlt. Aber ich denke nicht, dass das ein Zusammenhang hat.

Es geht ja, das ist schon mal gut. Mit dem Schönheitsfehler "-n" kann ich gut leben .. ;)

Raspi3, EnOcean, Zwave, Homematic