ESP8266: ESPlorer für Lua Scripts

Wer Lua Scripte in den ESP8266 Flashen will, kann den kostenlos erhältlichen ESPlorer installieren. Da es ein Java Programm ist, läuft es auf Windows, Mac und Linux. Bei mir läuft es im Moment unter Mac OS X El Capitan super.

Die Installation ist einfach.

Es muss nur von dieser russischen Seite das aktuelle Archive geladen werden und nach dem entpacken das ESPlorer.jar mit einem doppelklick gestartet werden. Java muss natürlich installiert sein. Nach dem Starten finden wir eine schöne GUI vor.

esplorer

Es können nun mit Syntax Hervorhebungen Lua-Scripte geschrieben und einfach hochgeladen werden. Auch einige andere nützliche Funktionen sind vorhanden. Hier ein teil der Orginal Feature Liste: „ESP8266: ESPlorer für Lua Scripts“ weiterlesen

Wie kann per Karotz eine Sprachausgabe (Klingelbenachrichtigung) über Fhem und Raspberry Pi mit PushingBox realisiert werden?

Seit langem habe ich einen Karotz und schon einige Beiträge darüber hier veröffentlicht.

Karotz kann blinken!
Karotz kann Hausautomatisation!
Nun wollte ich ihn mal in Fhem für die Hausautomatisation einsetzen.

Habe nun eine generelle Lösung über die kostenlose PushingBox realisiert.

Es können jegliche Textausgaben auf den Karotz gemacht werden. Bei mir läuft eine Ansage, wenn es an der Haustür klingelt. Es könnte auch jede Stunde die Temperatur von Karotz angesagt werden oder … (weitere Ideen als Kommentar).

Was ist also nötig?

1. Die kostenlose App PushingBox auf den Karotz über die Karotz Seite installieren. Es ist diese App, die auch über die Suchefunktion im englischen Store gefunden werden kann. Klickt man dann auf die installierte App, findet man dort die Install id die wird für weiter installation benötigt.
Bildschirmfoto 2014-04-17 um 19.38.19
Bildschirmfoto 2014-04-17 um 19.36.42

2. Einen kostenlosen Account bei PushingBox mit dem Google-Account einrichten.

3. Im Menü auf My Services klicken und auf Add a Service Button klicken:
Bildschirmfoto 2014-04-17 um 20.55.28
Dann den Karotz Service auswählen mit klick auf den Button „Select this Service“.
Bildschirmfoto 2014-04-17 um 20.56.15

4. Im folgenden Dialog den „Namen der Karotz configuration“ eingeben, der kann frei gewählt werden und der InstallID eintragen. Die kann wie unter 1. beschrieben ermittelt werden. Die Sprache auswählen, damit Karotz auch deutsch spricht einstellen und klick auf „Submit“.
Bildschirmfoto 2014-04-17 um 17.43.04

5. Dann unter „My Scenarios“ über den Button „Add an Action“ hinzufügen. Bei dem Parameter folgenden Text eingeben: $nachricht$
Der Service Name ist frei wählbar. Nach dem speichern erscheint in der Tabelle die DeviceId die später noch verwendet wird.Bildschirmfoto 2014-04-17 um 21.16.15
Jetzt einmal auf den „Test“ Button klicken. Karotz muss nun „Nachricht“ sagen. Wenn das alles läuft, kann es an die Einrichtung in Fhem gehen.

6. In der 99_Utils.pm (oder besser eine neue anlegen 99_myUtils.pm analog zu 99_Utils.pm) folgende Funktion ergänzen und abspeichern. Neueste Version kann auch von GitHub geladen werden.

#
# Sendet eine Nachricht an Karotz.
#
# Aufruf z.B.: {Set_Karotz_Nachricht('Device ID','Hallo herzlich Willkommen zu Hause')}
#
sub
Set_Karotz_Nachricht
{
my ($devid, $text) = @_;

Log 5, ">>> Set_Karotz_Nachricht: $text";
Log 5, ">>> ---------------------------------------------------------------------------------";

system("curl -d \"devid=$devid&nachricht=$text\" http://api.pushingbox.com/pushingbox");

return "OK, sende die Nachricht:\"$text\" an Karotz.";
}

7. Fhem restarten und in der Kommandline die Funktion testen mit (?? durch DeviceID ersetzen):
{Set_Karotz_Nachricht(‚v??????????‘,’Hallo herzlich Willkommen zu Hause‘)}
und return. Schon spricht Karotz!

8. Jetzt kann diese Zeile in die gewünschten Abläufe in Fhem integriert werden.
Z.b. wenn es klingelt:
define klingenOffPush notify fl_klingel_1:on* {\
Set_Karotz_Nachricht('v???????','Hallo, es hat an der Haustür geklingelt.');;\
}

wird nun die Meldung: „Hallo, es hat an der Haustür geklingelt.“ von Karotz ausgegeben.

Hast Du noch weitere Anwendungsfälle, dann hinterlasse einen Kommentar?

Klingel-Signal-Erkennung FS20 KSE an Sprechanlage für Pushover Benachrichtigung an iPhone auf dem Raspberry Pi via Fhem und CUL erstellen

Wollte schon immer auf meinem Handy benachrichtigt werden, wenn jemand an der Haustür klingelt. Bekomme nun immer eine Pushover-Benachrichtigung an alle iPhones und iPads. So kann man in den Keller oder in den Garten mit Handy gehen, und man erfährt, wenn der Postbote oder Besuch klingelt und der Raspberry Pi hat auch etwas zu tun.

Mit dem FS20 KSE geht das in nur 15 Minuten. Also die (alte) Sprechanlage 20140412-162749.jpg geöffnet. Von innen sieht sie so aus, voller Hightech: 20140412-162802.jpg

20140412-162817.jpg

Nun die zwei Drähte von der KSE an die passenden Kontakte geschraubt (parallel zum Summer), der andere Kanal bleibt leer. Spannungversorgung ist nicht nötig.20140412-162833.jpg
Alles wieder zuschrauben. In der fhem.cfg noch folgende Einträge machen und restarten:

# XXXX durch Hauscode ersetzen
define fl_klingel_1 FS20 XXXX 00
attr fl_klingel_1 IODev myCUL
attr fl_klingel_1 room Flur
attr fl_klingel_1 group Klingel

define FileLog_fl_klingel_1 FileLog ./log/fl_klingel_1-%Y.log fl_klingel_1
attr FileLog_fl_klingel_1 logtype text
attr FileLog_fl_klingel_1 room Flur
attr FileLog_fl_klingel_1 group Klingel

# XXXX durch Hauscode ersetzen
define fl_klingel_2 FS20 XXXX 01
attr fl_klingel_2 IODev myCUL
attr fl_klingel_2 room Flur
attr fl_klingel_2 group Klingel

define FileLog_fl_klingel_2 FileLog ./log/fl_klingel_2-%Y.log fl_klingel_2
attr FileLog_fl_klingel_2 logtype text
attr FileLog_fl_klingel_2 room Flur
attr FileLog_fl_klingel_2 group Klingel
#
# Benachrichtigung wenn es an der Haustür klingelt
# Folgende log Einträge werden geschrieben:
#
# 2014-04-12 12:09:21 FS20 fl_klingel_1 on
# 2014-04-12 12:09:21 FS20 fl_klingel_2 on
# 2014-04-12 12:09:22 FS20 fl_klingel_1 off
# 2014-04-12 12:09:22 FS20 fl_klingel_2 off

# -token- und -user- durch passende token und user ersetzen
define klingenOnPush notify fl_klingel_1:on* {\
my $zeit=EventZeit();;\
system ("curl -s -F 'token=-token-' -F 'user=-user-' -F 'message=Es klingelt an der Haustür um $zeit' -F 'title=Haustür: Klingel an' https://api.pushover.net/1/messages.json");;\
}
attr klingenOnPush group Klingel
attr klingenOnPush room Flur

# -token- und -user- durch passende token und user ersetzen
define klingenOffPush notify fl_klingel_1:off* {\
my $zeit=EventZeit();;\
system ("curl -s -F 'token=-token-' -F 'user=-user-' -F 'message=Es klingelt an der Haustür um $zeit' -F 'title=Haustür: Klingel aus' -F 'sound=siren' https://api.pushover.net/1/messages.json");;\
}
attr klingenOffPush group Klingel
attr klingenOffPush room Flur

Nach einem Restart sieht es in Fhem so aus:
Bildschirmfoto 2014-04-12 um 16.54.17

Für die Empfänger-Seite wird noch ein CUL USB-Stick benötigt
20140415-174204.jpgder wie folgt für den Empfang in Fhem eingebunden werden muss.

Wenn nun jemand an der Tür klingelt, wird innerhalb von ein paar Sekunden die Pushover-Benachrichtigung an das Handy versendet. Eine wenn der Klingeltaster gedrückt wird und eine wenn der Klingelschalter losgelassen wird. So sieht es auf dem iPhone aus:20140412-170739.jpgCool.

Jetzt fehlt noch der Rückkanal, das wenn jemand klingelt, der Summer betätigt werden kann. Dazu fehlt mir aber der drahtlose Empfänger mit Relais. Was könnte ich da nehmen?
20140415-174218.jpg