Wie Du effektiv FHEM nutzen kannst
Ich möchte hier eine Übersicht der FHEM Tools geben sie sich in der Praxis bewährt haben.
Raspberry ausschalten über FHEM
Man kann den Raspberry einfach so vom Strom ziehen – aber schön ist das nicht!
Wenn man schon FHEM drauf hat, kann man sich auch einen Ausschaltknopf/Reboot auf der Oberfläche machen.
Als erstes muss der User fhem (der User unter dem FHEM läuft) ein reboot oder halt des Systems auch dürfen.
Im raspbian kann man dafür einfach ein script an den Pfad /etc/sudoers.d/ anhängen, man braucht die eigentliche sudoers Datei nicht zu editieren.
Der Benutzer Pi bekommt über genau diesen Weg seine sudo
Rechte /etc/sudoers.d/010_pi-nopasswd
.
Wie immer mache ich das gern mit einem Script:
#!/bin/bash # ergänze eine Datei zum sudoers Script Verzeichnis /etc/sudoers.d/ File="011_fhem-nopasswd" echo "fhem ALL=(ALL) NOPASSWD: /sbin/reboot, /sbin/shutdown, /sbin/halt" >/etc/sudoers.d/$File chmod 0440 /etc/sudoers.d/$File
Man kann den Erfolg sofort testen, aber vorher save nicht vergessen, falls man gerade in FHEM etwas geändert hat!
Wenn man in der FHEM Befehlszeile „sudo /sbin/reboot“ eingibt, sollte der Raspberry jetzt neu starten.
Damit man einen Knopf in der Oberfläche von FHEM bekommt, kann man es analog zu diesem Beitrag machen. Dazu braucht man allerdings erstmal einen FHEM Befehl:
define s1 cmdalias reboot AS "sudo /sbin/reboot"
Die Fahrzeiten von den Jalousie Aktoren ändern
set regSet driveUp 18.0 # Fahrtzeit nach oben in Sekunden set regSet driveDown 18.0 # Fahrtzeit nach unten in Sekunden set regSet driveTurn 0.5 # Die Zeit die gebraucht wird um die Fahrtrichtung zu wechseln in Sekunden
Noch zum Abschluss folgende Befehle ausführen.
set getConfig
get reg all
DOIF Beispiele
define DI_Raff_EsszimmerGross DOIF ( ( [Raffstore_Automatik_aktiv] eq "on" ) and \ ( \ ( ( [D_Sturm] eq "on") and ([rgr_Residents] eq "absent") ) or \ ( [D_Feuer] eq "on") or \ ( [D_FensterOffenEZ] eq "on") or \ ( ( [D_hell] eq "on") and ([D_HitzeSued] eq "off") and ([rgr_Residents] eq "absent") ) \ ) \ ) \ (define RaffstoreEsszimmerGrossAutom_verz_rauf at +00:00:06 set RaffstoreGrossEsszimmer 100 ) \ DOELSEIF ( ( [Raffstore_Automatik_aktiv] eq "on" ) and \ ( [D_Feuer] eq "off") and \ ( [D_FensterOffenEZ] eq "off") and \ ( ( [D_Sturm] eq "off") or ([rgr_Residents] eq "home") ) and \ ( \ ( [D_hell] eq "off") or \ ( ( [D_HitzeSued] eq "on") and ([rgr_Residents] eq "absent") ) \ ) \ ) \ (define RaffstoreEsszimmerGrossAutom_verz_runter at +00:00:06 set RaffstoreGrossEsszimmer 0 ) \ DOELSEIF ( ( [Raffstore_Automatik_aktiv] eq "on" ) and \ ( [D_Feuer] eq "off") and \ ( [D_FensterOffenEZ] eq "off") and \ ( ( [D_Sturm] eq "off") or ([rgr_Residents] eq "home") ) and \ ( \ ( ( [D_HitzeSued] eq "on") and ([rgr_Residents] eq "home") ) \ ) \ ) \ (define RaffstoreEsszimmerGrossAutom_verz_hitze at +00:00:06 set RaffstoreGrossEsszimmer 20 ) \ DOELSEIF ( ( [Raffstore_Automatik_aktiv] eq "on" ) and \ ( [D_Feuer] eq "off") and \ ( [D_FensterOffenEZ] eq "off") and \ ( ( [D_Sturm] eq "off") or ([rgr_Residents] eq "home") ) and \ ( \ ( ( [D_hell] eq "on") and ([D_HitzeSued] eq "off") and ([rgr_Residents] eq "home") ) \ ) \ ) \ (define RaffstoreEsszimmerGrossAutom_verz_sicht at +00:00:06 set RaffstoreGrossEsszimmer 65 ) attr DI_Raff_EsszimmerGross alias Raffstore Esszimmer groß attr DI_Raff_EsszimmerGross room Automatik attr DI_Raff_EsszimmerGross group 1: Automatisierung Raffstore attr DI_Raff_EsszimmerGross cmdState Hoch | Runter | Hitzeschutz | Sichtschutz | Error
List
mit List lassenn sich alle installierten Module auflisten
Sendeleistung anpassen
set myCUL raw x09 Einstellen der Sendeleistung.
Gültige Werte für die Sendeleistung sind 00-09. Verwendet werden sollten nur die Werte 05-09, diese entsprechen -10/-5/0/5/10 Sendeleistung in db. Default ist x08 = +5db.
Bitte im Interesse von Nachbarn und der Abhörsicherheit den kleinsten problemlos funktionierenden Wert einstellen. Dies ist meistens x07 oder x08.
Da speziell die Kommunikation mit den FHTs bidirektional ist, kann die Kommunikation durch höhere Werte oft nicht verbessert werden, da die FHTs selber dadurch nicht stärker senden. Besser versuchen, Lage und Antennenausrichtung des CUL zu verändern
Eingestellte Frequenz, Bandbreite etc. Ausgeben
get myCUL ccconf.
Rückgabe z. B.:
myCUL ccconf => freq:868.300MHz bWidth:325kHz rAmpl:42dB sens:4dB
eingestelle Bandbreite erhöhen (z.b. auf 464 kHz, mehr hat meist keinen Sinn):
set myCUL bWidth 464
Inhalt des FHT Buffers
get myCUL raw T02 (CUL V2 Buffer ist 74 Bytes gross, Platz für 14 bis 31 FHT Messages). Rückgabe n/a = Buffer ist leer
Eingestellte FHT-ID
get myCUL raw T01
Eingestellte Frequenz, Bandbreite etc. Ausgeben
Ist Empfang eingeschaltet ?
get myCUL raw C35 (13 = ja, z. b.: C35 = 0D / 13)