Schlagwort-Archive: Hausautomation

[FHEM] mehrere 433 MHz Steckdosen auf einmal schalten

Mittlerweile werden mehrere Steckdosen über den Raspberry Pi geschaltet und die Funksteckdosen lassen sich ohne Probleme einzeln schalten. Alle Steckdosen über einen Taster zu schalten, ist jedoch bei den 433 MHz Steckdosen nicht auf dem Standardweg möglich.

Um die Steckdosen Licht1 und Licht2 über einen Taster (Flur) zu schalten, würde man es normalerweise wie folgt konfigurieren:

define Flur dummy
attr Flur eventMap on:an off:aus
attr Flur devStateIcon an:on:off aus:off:on
attr Flur room Flur
define FlurLichtOn notify Flur:on set Licht1,Licht2 on
define FlurLichtOff notify Flur:off set Licht1,Licht2 off

Leider funktioniert es nicht, denn der 433 MHz Sender ist nicht in der Lage die Schaltsignale gleichzeitig zu senden. Werden die einzelnen Schaltsignale mit einer kleinen Verzögerung gesendet, ist das Schalten über nur einen Taster möglich.

define Flur dummy
attr Flur eventMap on:an off:aus
attr Flur devStateIcon an:on:off aus:off:on
attr Flur room Flur
define FlurLichtOn notify Flur:on set Licht1 on;; sleep 5;; set Licht2 on
define FlurLichtOff notify Flur:off set Licht1 off;; sleep 5;; set Licht2 off

[fhem] Icons nicht klickbar

Als ich die erste Funksteckdose im FHEM angelegt hatte, sah die Konfiguration wie folgt aus:

define Licht_Telefon dummy
attr Licht_Telefon eventMap on:an off:aus
attr Licht_Telefon room Flur

Die Steckdosen werden zur Zeit alle zeitgesteuert geschaltet und somit ist mir erst spät aufgefallen, das die Icons nach einem Update nicht mehr klickbar waren.

Damit die Steckdose wieder über das Icon ein und ausgeschaltet werden können, wird ein weiteres Attribute benötigt:
attr Licht_Telefon devStateIcon an:on:off aus:off:on

Die Werte an:on:off setzen sich wie folgt zusammen

an – Wenn der Status an ist, greifen die nachkommenden Werte
on – legt das zu verwendende Icon fest
off – Status der beim klicken gesetzt wird

Insgesamt sieht es bei mir jetzt so aus

define Licht_Telefon dummy
attr Licht_Telefon eventMap on:an off:aus
attr Licht_Telefon devStateIcon an:on:off aus:off:on
attr Licht_Telefon room Flur

Als ich die Attribute über den eingebauten Editor hinterlegt hatte und speicherte, kam es zu folgender Fehlermeldung:

unknown attribute devStateIcon

Die Zeile selbst war korrekt, denn wenn ich über das Eingabefeld im webfrontend „attr Licht_Telefon devStateIcon an:on:off aus:off:on“ absendete, kam es zu keiner Fehlermeldung und es funktionierte.

Nach einem Neustart des fhem, waren die Icons jedoch klickbar so wie es laut der Konfiguration sein sollte.

Hilfe bei dem Problem bekam ich im übrigen über das FHEM Forum.

[Fhem] am Wochenende bleibt die Lampe aus

Um am frühen Morgen geweckt zu werden gibt es Wecker, Radios, Handys, Kinder oder ein Aufwachlicht. Jedoch möchte der ein oder Andere am Wochenende gerne länger schlafen.

Wenn ein Aktor am Wochenende (Samstag/Sonntag) zu einer anderen Zeit beziehungsweise gar nicht geschaltet werden soll, kann über die Variable $we eine entsprechende Abfrage erstellt werden. Am Wochenende hat die Variable den Wert 1, unter der Woche den Wert 0.

Folgende Zeile schaltet die Lampe um 6:30 ein, jedoch nicht am Wochenende:


define Licht_SchlafzimmerAn at *06:30 { if ((!$we)) { fhem "set Licht_Schlafzimmer on" } }

Temperatursensoren in FHEM einbinden

Die OneWire Temperatursensoren kann ich wie hier beschrieben, bereits über die Kommandozeile auslesen. Um die Sensoren in fhem einzubinden würde man normalerweise OWFS nutzen, jedoch kann OWFS keine Sensoren direkt am GPIO Port auslesen. Möchte man auf OWFS nicht verzichten, müßten die Dallas Sensoren über ein DS 2482-100S ausgelesen werden.

Eine Alternative wäre ein Shellscript, welches die Temperatur ausliest und in fhem eingebunden werden kann.

Ich habe mich jedoch für das Modul 58_GPIO4.pm entschieden, welches man hier runterladen kann:
https://github.com/mhop/fhem-mirror/blob/master/contrib/58_GPIO4.pm

Das Modul muss in dem Ordner FHEM abgelegt und fhem neugestartet werden.

In der fhem.cfg reicht dann folgendes aus, damit die Werte über die Weboberfläche ausgegeben werden:


# Sensor definieren
define FlurTemp GPIO4 28-000004b91510
# Model des Sensors angeben
attr FlurTemp model DS18B20
# ensprechendes Icon setzen
attr FlurTemp icon icoKLIMA
# Raum zuweisen
attr FlurTemp room Flur

Temperatursensor in fhem

Temperatursensor in fhem

[Fhem] wenn sunset zu spät ist

Wie ich hier bereits geschrieben habe, kann man die Funksteckdosen nach Sonnenaufgang (sunrise) und Sonnenuntergang(sunset) schalten.

Nur leider ist es bereits dunkel, wenn die Steckdose und die damit verbundene Lampe eingeschaltet wird. Bis dahin bin ich entweder über einen der Hunde, Kinderspielzeug oder die eigenen Füße gefallen. Obwohl ich glaube, das bei den eigenen Füßen auch nicht das Licht hilft.

Auf jeden Fall ist es ganz einfach, die Steckdose vor dem Sonnenuntergang zu schalten.

define LampeFlurAn at *{sunset(-3600,"17:00","22:00")} set LampeFlur on

Mit der Angabe -3600 (Zeitangabe in Sekunden) wird die Steckdose, in diesem Fall eine Stunde, vor dem Sonnenuntergang eingeschaltet.