Archiv der Kategorie: ubuntuusers

[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

[gerrit] Rechteverebung ändern

Im git ist es möglich das ein Projekt die Rechte eines anderen Projekts erbt. In einem Projektverlauf kann es jedoch vorkommen, das diese Vererbung angepasst werden muss.

Im Gerrit gibt es zwei Möglichkeiten diese Vererbung zu ändern.

Die komplizierte Variante

Um die Vererbung zu ändern muss zunächst das Projekt ausgecheckt werden, im Anschluss in den Ordner wechseln.
Nun folgendes ausführen:
git fetch origin refs/meta/config:refs/remotes/origin/meta/config
git checkout meta/config

Als nächstes in der Datei project.config die Zeile inheritFrom = EWL1 anpassen und das neue Eltern Projekt hinterlegen zum Beispiel inheritFrom = ProjektNeu.
Nun einen commit durchführen und die Änderung pushen.
git commit -a -m 'Änderung der Rechte'
git push origin meta/config:meta/config

Im Anschluss den Cache des gerrit leeren
ssh -p29418 adminbenutzer@gerrit.itbasic.de gerrit flush-caches --cache project_list
ssh -p29418 adminbenutzer@gerrit.itbasic.de gerrit flush-caches --cache projects

Die einfache Variante

Die Vererbung über das gerrit zu ändern ist sehr einfach.

ssh -p29418 adminbenutzer@gerrit.itbasic.de gerrit set-project-parent --parent Projekt1 Projekt2

In diesem Fall vererbt Projekt1 die Rechte an Projekt2.

Im Anschluss den Cache des gerrit leeren
ssh -p29418 adminbenutzer@gerrit.itbasic.de gerrit flush-caches --cache project_list
ssh -p29418 adminbenutzer@gerrit.itbasic.de gerrit flush-caches --cache projects

[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.

Isc-dhcp-server startet nicht

Ein Kollege brachte mir seinen Raspberry Pi vorbei, auf dem er raspbmc installiert hatte. Zusätzlich richtete er ihn als Access point ein, jedoch hatte seit kurzem das Problem, das der isc-dhcp-server nicht mehr startete.

Beim manuellen starten über die Kommandozeile kam folgendes:
/etc/init.d/isc-dhcp-server start
[FAIL] Starting ISC DHCP server: dhcpd[....] check syslog for diagnostics. ... failed!
failed!

Zunächst schaute ich in die /var/log/syslog

Nov 16 20:42:19 raspbmc dhcpd: For info, please visit https://www.isc.org/softw>
Nov 16 20:42:19 raspbmc dhcpd: Wrote 2 leases to leases file.
Nov 16 20:42:19 raspbmc dhcpd:.
Nov 16 20:42:19 raspbmc dhcpd: No subnet declaration for wlan1 (no IPv4 address>
Nov 16 20:42:19 raspbmc dhcpd: ** Ignoring requests on wlan1. If this is not w>
Nov 16 20:42:19 raspbmc dhcpd: you want, please write a subnet declaration
Nov 16 20:42:19 raspbmc dhcpd: in your dhcpd.conf file for the network segme>
Nov 16 20:42:19 raspbmc dhcpd: to which interface wlan1 is attached. **
Nov 16 20:42:19 raspbmc dhcpd:.
Nov 16 20:42:19 raspbmc dhcpd:.
Nov 16 20:42:19 raspbmc dhcpd: Not configured to listen on any interfaces!

Um einen Fehler in der Konfiguration auszuschließen, überprüfte ich die /etc/default/isc-dhcp-server, die /etc/network/interfaces und /etc/dhcp/dhcpd.conf.
Einen Fehler konnte ich nicht finden.
Bei ifconfig fiel mir jedoch auf, das das WLAN interface nicht die zugewiesene IP Adresse bekommen hatte.
Nach einem /etc/init.d/network restart auf der Kommandozeile, war die konfigurierte IP Adresse zugewiesen und auch der DHCP Server konnte gestartet werden.

Workaround

Nach einer Recherche im Internet fand ich heraus, das ich nicht der einzigste war der das Problem hatte. In einem Forum stieß ich auf einen Eintrag, das beim Hochfahren des Systems sich die interfaces und der DHCP Server in die quere kommen. Eine konkrete Lösung für das Problem fand ich jedoch nicht, also habe ich als workaround folgendes in der /etc/rc.local vor exit 0 eingetragen.

ifdown wlan1
ifup wlan1
sleep 20
service isc-dhcp-server start

Falls jemand eine andere Lösung hat, immer her damit.

[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" } }