Ein Led-Pixel Controller

…the led-tab

Pssst….“WIP“

Potentieller Einsatzzweck und angestrebte Features:

  • Anzeige von Statusmitteilungen der Homematic (z.B. Temperaturwerte, Hinweise,…)
  • Lauftext
  • Moodlight (wie immer ;-))
  • Wiedergabe von Animationen (Einzelbild-Sequenzen, animierte GIFs)
  • dynamisch erzeugte Bildeffekte wie Spectrum Analyzer und andere Visualisierungen zu Musik
  • nahezu freie Skalierbarkeit – es kommt nur auf die Menge an lpd8806 gestützen LED Stripe an
  • Anordnung als X mal Y oder linear
  • freie Ansteuerung über universelle (leicht verständliche Web-Schnittstelle)
  • Basis: (momentan) Raspberry-Pi und Arduino

Ziel des Projekts:

Keine Konkurrenz zu den vielen Led-Pixel Projekten und Startups in Kickstarter und co, vielmehr Anpassungen an die Belange der Homematic-User.
Komerzielles Produkt: Einzelanfertigung / Elektronik ohne Gehäuse für eigene Skalierung der LEDs

Der Prototyp im Detail:

 

 

 

 

 

Aktuelles Stadium: Alpha
Zeitpunkt bis zu einem salonfähigen Softwarestand: keine Ahnung 🙂
Fragen: erwünscht, Belehrungen über viele andere Produkte ähnlicher Natur am Markt brauche ich allerdings nicht – dessen bin ich mir bewusst.

Bitte bekundet euer persönliches Interesse zu dieser Idee – je mehr Feedback ich bekomme, desto mehr kommt die Motivation das Teil weiter zu entwickeln.

VN:F [1.9.22_1171]
Rating: 4.9/5 (17 votes cast)

„Türcam“ ein Homematicskript für die Haustür

…“Ding Dong“ Wer stand vor her Haustür??

Funktion des Skripts kurz erklärt:
Wenn jemand auf die Klingel drückt, „schießt“ die IP Kamera neben der Haustür, oder je nachdem wo sie montiert wurde, ein Foto, welches per Prowl Nachricht an ein iOS Device übermittelt wird.

Benötigt wird:

  • Homematic CCU mit USB Stick und 2. Webserver auf dem ebenfalls PHP läuft
  • zur Vermeidung von System.Exec sollte CUxD laufen und ein Dummydevice zum Auslösen von Befehlen angelegt worden sein
  • Prowl Konto und eingerichtete App – im Vorfeld sollte man sich schon eine API-ID anfordern, damit später das Skript auch nachrichten absenden kann
  • einen „Klingeltaster“ der an die Homematic angebunden ist, wie auch immer

Installieren des Ganzen

Kurz vorweg: geht alles sicherlich eleganter, musste aber schnell fertig werden, deswegen gerne später anregende Diskussionen in den Kommentaren bei Bedarf 😉

 

  1. den Inhalt von tuercam.zip in einen Ordner auf den Webroot des 2. Webservers auf die CCU kopieren, z.B. per ftp – Webroot bei mir „/var/disk/www/“   in den Unterordner „tuercam“ die Dateien aus dem Archiv speichern
  2. folgendes sh Skript auf den USB Stick der Zentrale anlegen:Pfad des USB Sticks bei mir „/var/disk/“ – dieser Pfad muss an allen Stellen ggf. an den eigenen Pfad angepasst werden!!
    Skript nennt sich „grabcamtuer“
    IP Adresse der Kamera „192.168.20.202“ und Bildpfad anpassen

    #!/bin/sh                                                                                                                    
    curl http://192.168.20.202/jpg/1/image.jpg > /var/disk/www/tuercam/tuercam$1.jpg
  3. Skript mit „chmod +x grabcamtuer“ ausführbar machen
  4. In die CCU einloggen und eine Sytemvariable „ipcamcount“ mit Variablentyp Zahl von 0 – 15 anlegen
  5. Ein neues Zentralenskript anlegen:
    Als Auslöser dient der Aktor, andem der Klingelknopf angeschlossen ist.

    Folgender Code in das „Skript“:

    string sTime = system.Date("%S");
    var camcount = dom.GetObject("ipcamcount");
    var camcountInt;
    
    if (camcount.State() > 10) {
    camcount.State(1);
    }
    else
    {
    camcount.State(camcount.State() + 1);
    }
    
    camcountInt = (camcount.State()).ToInteger();
    
    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/var/disk/grabcamtuer  "+ camcountInt);
    string url="'http://prowl.weks.net/publicapi/add?apikey=<<dein_api_key>>&priority=0&application=Homematic%20Demo%20&event=Klingel&url=http://deine_dyndns.org:port/tuercam/tuercam'";
    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl --trace-ascii /var/log/curl.trace -s -k "#url #camcountInt #'.jpg');
    WriteLine(url);

Kurze Erklärung zum Code:
Das kurze Skript im Zentralenprogramm inkrementiert die Systemvariable „ipcamcount“ bei jeder Auführung bis zum eingestellten Maximalwert und fängt dann wieder unten an. Das ist dafür notwendig das kleine sh Skript mit einem veränderlichen Aufrufparameter zu starten und so 10 Bilder (oder mehr, je nach Anpassung) im Speicher zu behalten. Wie vorweg gesagt: das geht sicherlich eleganter aber der hier vorgestellte Code ist authentisch der, der sich aus der „Not“ entwickelt hat und bisher, warum auch – er läuft reibungslos, nicht weiter optimiert wurde. Nach der Speicherung des jeweiligen Bildes wird eine Prowlnachricht versendet in der der aufzurufende Link auf das Bild mitgegeben wird – so hat man direkt nach Eintreffen der Nachricht einen schnellen Zugriff auf das aktuell geschossene Standbild des Klingelnden. Den Link zur Übersichtsseite kann man sich einfach als Lesezeichen oder Homescreen-Icon aufs iPhone / iPad oder was auch immer setzen.

Die Prowl App sollte noch entsprechend eingestellt werden:

Damit ist die Einrichtung abegeschlossen und das Werk sollte wie erklärt arbeiten. Diese Anleitung richtet sich in jedem Fall an fortgeschrittene Homematic-User, die wissen was sie tun. Auf Details wie man die Telnet Konsole der CCU öffnet oder CUxD installiert o.ä. gehe ich nicht weiter ein!! Dafür gibt es genug Anlaufstellen in den diversen Foren. Anregungen zur Verbesserung des Skripts sind gerne willkommen.

Vielen Dank an Christian S. der sich dieses Skript gewünscht hat – ohne ihn gäb es diesen Artikel nicht 😉

VN:F [1.9.22_1171]
Rating: 4.4/5 (5 votes cast)