Archiv der Kategorie: osbn

[Raspberry Pi] CUL in Fhem einbinden

Endlich habe ich es geschafft die Stehlampen im Garten an den FS20 Umschalter anzuschließen. Über die Fernbedienung konnte ich die einzelnen Ausgänge bereits schalten, nun sollte es auch über Fhem möglich sein.

In der Dokumentation hatte ich gelesen das es reicht die CUL anzuschließen und den Fhem neu zu starten. Kurz nach dem Neustart kam folgende Meldung auf der Kommandozeile:

Use of uninitialized value in string ne at ./FHEM/99_CULflash.pm line 63.

Die Meldung tritt auf wenn man beim einstecken den kleinen Taster nicht eingedrückt hat. Also nochmal raus, Taster drücken, einstecken und Fhem neu starten.

Jedoch blinkte die CUL nicht und In den fhem logs kam folgende Meldungen
Can't open /dev/ttyAMA0: Keine Berechtigung

Ich änderte die Rechte auf /dev/ttAMA0 und startete Fhem neu, diesmal erhielt ich folgende Meldung:
usb create starting
Opening CUL device /dev/ttyAMA0
Setting CUL baudrate to 38400
CUL device opened
usb create end

Was mich jedoch wunderte ist, das in den Dokumentationen von /dev/ttyACM0 die Rede ist und die CUL auch nicht blinkte. In einem Forum stieß ich auf die Lösung, wenn Fhem auf dem Rasbperry Pi läuft gibt es Probleme beim einspielen der Firmware.

Also lud ich mich mir FLIP für Windows von Atmel herunter und die benötigte Firmware. Nach der Installation der Software ließ sich die Firmware ohne Probleme aufspielen und die CUL blinkte.
Nun gab es unter Linux auch das Device /dev/ttyACM0 und in der fhem.cfg fügte ich folgende Zeile hinzu:
define CUL1 CUL /dev/ttyACM0@9600 1234

Einbinden in Fhem

Ich hatte erst am nächsten Tag Zeit den FS20 Aktor in Fhem einzubinden. Als ich Fhem im Browser aufrief gab es bereits den Raum FS20, darunter befanden sich vier Schalter.
Ich klickte den ersten Schalter an und siehe da, die Lampen gingen an. Anscheinend erkennt die CUL alle FS20 Vorgänge und leitet sie an den Fhem weiter, dieser erstellt den passenden Schalter.
Nun musste ich nur noch in der fhem.cfg die angelegten Schalter nach meinen Wünschen umbenennen.

fhem fs20

Automatisch angelegte Schalter

Fhem registriert es wenn ich die Lampen per Fernbedienung schalte und ändert den Status im Webfrontend.

cul

CUL gekauft www.busware.de

[git] clone warning: remote HEAD refers to nonexistent ref, unable to checkout.

Beim versuch ein git zu klonen trat der folgende Fehler auf:

warning: remote HEAD refers to nonexistent ref, unable to checkout.

Die Lösung ist ganz simpel, es existiert kein master branch. Das Problem tritt meistens bei neu erstellten Repositorys auf.

Master Branch erstellen

Um den master Branch bei gerrit zu erstellen bin, ich wie folgt vorgegangen.

Nach dem klonen in das Repository Verzeichniss gehen (cd Repository) und Dateien bearbeiten, hinzufügen etc.

Mit git add . und git comment -m „Anpassungen xzy“ Dateien hinzufügen.

Zum Schluss die Dateien auf den gerrit übertragen und den Masterbranch erstellen git push ssh://hermann@git.itbasic.de:29418/projektx master.

[Raspberry Pi] Sendeleistung des 433Mhz Senders erhöhen

In dem Artikel hatte ich den 433 MHz Sender direkt an die 5 Volt des Rasbperry Pi’s angeschlossen. Die Reichweite würde ich auf 8 – 10 Meter schätzen, in der Entfernung habe ich eine Steckdose die sich zeitweilig nicht schalten lässt. Die maximale Reichweite des Senders erhält man, wenn der Sender mit 12 Volt betrieben wird. Laut Datenblatt ist 12 Volt die höchste Spannung die angelegt werden darf.
Ich habe den Sender mittlerweile auf eine Platine gelötet und zu Testzwecken über die Batterie(12 Volt) aus der Fernbedienung mit Spannung versorgt. Ich kann nicht sagen wie die Reichweite mit 12 Volt ist, die problematische Steckdose lässt sich jetzt jedoch ohne Probleme schalten.

Bei externer Spannungsversorgung
Wenn der Sender nicht über den Raspberry Pi mit Spannung versorgt wird, muss der Minuspol der Batterie mit dem Ground des Raspberry Pi´s verbunden werden. Wenn man die beiden Pole nicht miteinander verbindet, sendet der Sender nicht.

Damit die Fernbedienung wegfällt, könnte man die Kontakte auslösten und auf der Platine wieder ein löten. Ansonsten würde in meinem Fall sicherlich eine 9 Volt Batterie über einen Batterieclip reichen.

Spannungsversorgung mit 9 Volt

Spannungsversorgung mit 9 Volt

Spannungsversorgung mit 12 Volt

Spannungsversorgung mit 12 Volt

[fhem] Steckdosen zeitgesteuert schalten

Was wäre eine Automation ohne das Zeitgesteuerte Schalten von Aktoren?

Eine Vorraussetzung für das Zeigesteuerte Schalten ist die richtige Uhrzeit. Um zu prüfen ob die Uhrzeit stimmt, reicht ein einfaches date auf der Kommandozeile aus. Bei der Installation von wheezy auf meinem Raspberry Pi hatte ich versehentlich die Zeitzone falsch gesetzt, dies konnte ich über dpkg-reconfigure tzdata korrigieren.

Einfaches Zeitgesteuert Schalten
In meiner fhem Konfiguration wurde die LampeFlur bereits definiert und konnte über Weboberfläche geschaltet werden.
Nun sollte Sie gegen 16 Uhr ein und um 22 Uhr ausgeschaltet werden, hierfür waren nur zwei Einträge in der fhem.cfg nötig:

Lampe einschalten
define LapmpeFlurAn at 16:00 set LampeFlur on;

Lampe ausschalten
define LapmpeFlurAus at 22:00 set LampeFlur off;

Laut der fhem Dokumentation soll es auch möglich mehrere Lampen gleichzeitig zu schalten, das hatte ich jedoch nicht ausprobiert. Das Schalten mehrerer Aktoren würde wie folgt aussehen:
define LapmpeFlurAn at 16:00 set LampeFlur on;;set LampeKueche on

Schalten über Sonnenaufgang / Sonnenuntergang
Da der Sonnenuntergang an jeden Tag zu einer anderen Uhrzeit stattfindet, ist es hilfreich die Lampe über den Sonnenaufgang bzw Sonnenuntergang zu schalten.

Der Sonnenuntergang / Sonnenaufgang findet nicht nur täglich zu einer zu einer anderen Zeit statt, sondern ist auch noch Ortsabhängig. Damit nun fhem die Aktoren entsprechend schalten kann, muss folgendes in der fhem.cfg folgendes hinterlegt werden.

attr global latitude 53.31698
attr global longitude 7.48216

Die latitude und longitude Informationen können über diverse Seiten im Internet ermittelt werden.

Um letztendlich die Lampe zu schalten reicht folgender Einzeiler.

define LampeFlurAn at *{sunset(0,"17:00","22:00")} set LampeFlur on
define LampeFlurAus at *{sunrise(0,"05:00","07:30")} set LampeFlur off

In der 1. Zeile wird die LampeFlur eingeschaltet, wenn der Sonnenuntergang zwischen 17 Uhr und 20 Uhr liegt. Ausgeschaltet wird LampeFlur wenn der Sonnenaufgang zwischen 05:00 Uhr und 07:30 Uhr liegt.

vdradmin-am Fehler 2001

Es ist schon etwas her das ich über den vdr etwas aufgenommen hatte. Als ich neulich den Videorekorder über vdaradmin-am konfigurieren wollte bekam ich im Browser die folgende Fehlermeldung.

Konnte Verbindung zu localhost:2001 nicht aufbauen: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt

Bitte überprüfen Sie, dass VDR läuft und dass seine svdrphosts.conf richtig konfiguriert ist.

Mit Hilfe von netstat konnte ich sehen das der Port 2001 nicht mehr offen war, auch nach einem neustart des vdr. Über eine kleine Recherche fand ich heraus, das seit der Version 1.7.15 der Port von 2001 auf 6419 umgestellt wurde. Damit der vdradmin-am wieder auf den vdr zugreifen konnte, musste in der Datei /etc/vdradmin-am/vdradmind.conf nur der Port auf 6149 geändert werden.

Vorher
VDR_PORT = 2001
Nachher
VDR_PORT = 6419

Die Änderungen greifen im ürbigen nur wenn der vdradmin-am gestoppt wird, die Änderung durchgeführt und dann wieder gestartet wird.