Modul-Update
Um die Module auf den aktuellsten Stand zu bringen:
update
Wenn das Update abgeschlossen ist (dauert ein paar Minuten), dann
shutdown restart
Security Check abschalten
Standardmäßig sind keine Passwörter gesetzt, und FHEM warnt davor. Wem das egal ist, sendet
attr global motd none
Configfile direkt in FHEM bearbeiten
Standardmäßig erlaubt FHEM nicht, die Configfiles per Webinterface zu modifizieren.
Um das zu ändern:
attr WEB editConfig 1
Logging reduzieren
Am Raspberry Pi (auf SD-Karte) ist es besser, wenn nicht zu viel geschrieben wird:
attr global verbose 1
1 ist nur Fehler. Vor der fertigen Einrichtung kann man den Verbose-Level auf Standard (3) lassen. Die Levels: https://wiki.fhem.de/wiki/Verbose
Webschnittstelle von FHEM
Beispiele - Zugriff von Loxone auf FHEM
Einzelnen Status auslesen
http://<fhem>:8083/fhem&cmd={Value("Haustuer")}&XHR=1
URL-Encoded:
http://<fhem>:8083/fhem&cmd=%7BValue%28%22Haustuer%22%29%7D&XHR=1
Dies kann in einem Virtuellen HTTP-Eingang und Eingangsbefehl abgefragt werden (ist aber eher aufwändig für einen einzelnen Wert). Da der virtuelle Eingangsbefehl keine Strings interpretieren kann, muss dort mit \1 der ASCII-Code des ersten Zeichens interpretiert und mit einem Status-Baustein ausgewertet werden.
Gesamten Status abfragen
Diese Abfrage gibt eine JSON-Liste aller EnOcean-Sensoren aus. (Filter TYPE=EnOcean - siehe FHEM-Filter)
http://<fhem>:8083/fhem&cmd=JSONList2 TYPE=EnOcean STATE&XHR=1
URL-Encoded
http://<fhem>:8083/fhem&cmd=JSONList2%20TYPE=EnOcean%20STATE&XHR=1
Dies kann mit einem Virtuellen HTTP-Eingang und Eingangsbefehlen für jeden Sensor abgerufen werden.
Einzelnen Status setzen
http://<fhem>:8083/fhem?cmd.Haustuer=set%20Haustuer%20open
Setzt den Status der Haustür auf "offen". Auf gleiche Weise kann ein Ausgang von FHEM gesetzt werden.
Der Aufruf kann durch einen Loxone Virtuellen Ausgangsbefehl erfolgen.
Beispiele - Zugriff von FHEM auf Loxone
Alle Statusänderungen von FHEM an Loxone senden via MQTT
Siehe /wiki/spaces/LOXBERRY/pages/1219757717
Alternativ: Statusänderung von FHEM direkt an Loxone senden
Beispiel Fenstergriff mit drei Positionen (geschlossen, offen, gekippt).
In der FHEM-Config wird für jede Stellung ein Notify mit einem http-Kommando hinterlegt. In Loxone ist ein virtueller Eingang Eno_Dusche_Fenster (analog) angelegt. Mit einem Statusbaustein wird der Wert des virtuellen Eingangs (0, 1, 2) ausgewertet.
define Fenster_Dusche_closed notify Fenster_Dusche:closed.* "curl http://admin:admin@miniserver/dev/sps/io/Eno_Dusche_Fenster/1" define Fenster_Dusche_tilted notify Fenster_Dusche:tilted.* "curl http://admin:admin@miniserver/dev/sps/io/Eno_Dusche_Fenster/2" define Fenster_Dusche_open notify Fenster_Dusche:open.* "curl http://admin:admin@miniserver/dev/sps/io/Eno_Dusche_Fenster/3"
Um variable Werte (z.B. Temperaturen von FHEM an Loxone zu übergeben kann ein notify in dieser Art verwendet werden:
define Temperatur2Lox notify Heizung:Temp-Aussen:.* "curl http://admin:admin@miniserver/dev/sps/io/Aussentemperatur/$EVTPART1"
Enocean und FHEM
Wenn EnoceanPi nicht erkannt wird
Einlernen eines Enocean Sensors
set <Device> teach <time in sec>
Beispiel:
set TCM_ESP3_0 teach 30
Schaltet FHEM in den Lernmodus. Beim Betätigen des Sensors (bzw. beim Drücken einer Lerntaste, sofern verfügbar) wird der Enocean-Sensor in FHEM eingelernt und automatisch eine Konfiguration angelegt.
Umbenennen eines Gerätes
Enocean-Geräte werden in FHEM mit deren Seriennummer angelegt. Um den Sensor einen sprechenden Namen zu geben, folgenden Befehl verwenden:
rename <Alter Name> <Neuer Name>
Dabei wird der Sensor in der gesamten fhem-Konfiguration umbenannt.
"Loxone-RGB" in FHEM-RGB umrechnen
Gemeint ist die Loxone-RGB-Angabe aus den Lichtbausteinen, z.B. 100100100 umrechnen in HEX-Angaben (FFFFFF) für FHEM.
FHEM-Einrichtung
Aus einem Template ein 99_myUtils.pm erzeugen und darin an die vorgesehene Stelle folgende Funktion einfügen:
# Loxone RGB in HEX-RGB umrechnen sub percent2rgb($) { my($percent) = @_; # my($r,$g,$b) = ($percent =~ m/(\d\d\d)(\d\d\d)(\d\d\d)/); my $r = substr $percent, -3; my $g = substr $percent, -6, 3; my $b = substr $percent, -9, 3; return sprintf( "%02X%02X%02X", $r*2.55+0.5, $g*2.55+0.5, $b*2.55+0.5 ); }
Aufruf aus Loxone
Beispielsweise, für WifiLight (Farbwechsel in 3 Sekunden)
set PR_LED RGB {(percent2rgb('<v>'))} 3