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

IF-Strukturen

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)