Modul-Update
Um die Module auf den aktuellsten Stand zu bringen:
update
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
Statusänderung von FHEM 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/0" define Fenster_Dusche_open notify Fenster_Dusche:open.* "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"
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