Hi dudes,
bin jetzt seit knapp nem Monat intensiv beim ioBroker. zuvor hab ich schon viel anderes Zeug ausprobiert. Fast ausschließlich selbst gebaut.
Mit ioBroker gibts denke ich eine sehr gute Schnittstelle um alles zu kombinieren. Kurz zur Erläuterung worum es hier geht.
Ich habe eine stinknormale Funktürklingel gehabt und immer das Problem gehabt, dass ich nicht mitbekommen habe wenn es geklingelt hat, während ich im Garten stand. Da ich noch mehrere ESP Module aus vergangenen Projekten hier hatte, hab ich nun zwei ESP-01 dazu verwendet beim Betätigen der Klingel einige Aktionen auszuführen. Wir reden hier über maximal 10€ Materialkosten.
Was hab ich erreicht? Beim Betätigen der Klingel werden folgende Aktionen ausgeführt:
1. Normale Klingel klingelt weiterhin
2. Textbenachrichtigung per Telegram
3. Aktuelles Kamerabild der Überwachungskamera am Hauseingang
4. Telefone der Fritzbox klingeln
5. Handy klingelt auch, falls die Fritz!Fon App verwendet wird
Einen ESP-01 hab ich in das Außen-Bedienteil der Alarmanlage versteckt und daran einen Klingeltaster angeschlossen. Der zweite ESP-01 liegt im Keller, an den ich ein Relais angeschlossen hat, welches wiederum den Taster von dem Funk-Klingeltaster kurzschließt. Somit klingelt schonmal die normale Klingel wieder.
Verwendet hab ich hier ESPEasy. Mit Tasmota lässt sich das bestimmt auch herrichten, wenngleich ich nicht weiß, ob die ESP-01 dazu ausreichen (Stichwort: Flashspeicher)
Alles mit Blockly geschrieben, bis auf den Skript für das Kamerabild per Telegram. Der Skript ist auch nicht von mir. Hab ihn hier irgendwo gefunden und an mich angepasst: https://forum.iobroker.net/vie…b020f917c9e6ba11d1#p26342
In meinem Fall nutze ich eine TruVision Kamera, welche nahezu identisch mit Hikvision ist, wodurch ich einen Link für die "Snapshot URL" von Hikvision nutze. Eine Auflistung welche URL ihr nehmen müsst findet ihr hier:
https://www.ispyconnect.com/sources.aspx
Zuvor am Besten noch via ssh an euerm ioBroker-Server einen Ordner erstellen und Rechte vergeben:
mkdir /opt/iobroker/iobroker-data/klingelbild
chmod +rw /opt/iobroker/iobroker-data/klingelbild/
(ggf. die Befehle mit sudo ausführen)
Der Skript wird mit dem anderen Blockly-Skript aktiviert und beendet sich dann automatisch.
Wollte es euch einfach mal mitteilen. Vielleicht ja auch ein kleines mini-youtube-tutorial wert, da ich es schon echt nice finde, direkt nach dem Klingeln so viele Funktionen zu bekommen
Falls Fragen sind helfe ich gerne, wenn ich Zeit finde
Skript für
/* BILDSPEICHERUNG
soll bei Aktion Webcam Bild speichern und per telegram senden
Skript ist normalerweise inaktiv und wird per ScriptEnabled ausgelöst
*/
var source_url = 'http://user:password@192.168.xxx.xxx/ISAPI/Streaming/channels/102/picture?videoResolutionWidth=640&videoResolutionHeight=480', // Kamerabild zB http://kameraserver:9090/image1.jpg
dest_path = '/opt/iobroker/iobroker-data/klingelbild/';
var request = require('request');
var fs = require('fs');
// Bild an telegram schicken (immer Dienst 3)
function sendImage (pfad) {
setTimeout(function() {
sendTo('telegram.0', pfad);
log('Webcam Bild per telegram verschickt');
}, 2 * 1000);
}
// Bild speichern
function saveImage() {
request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
fs.writeFile(dest_path + 'image1.jpg', body, 'binary', function(err) {
if (err) {
log('Fehler beim Bild speichern: ' + err, 'warn');
} else {
log('Webcam Bild gespeichert');
sendImage(dest_path + 'image1.jpg');
}
});
});
}
// bei Skriptstart ausführen
saveImage();
// selbständig Skript wieder anhalten (nach 12s)
setStateDelayed('javascript.' + instance + '.scriptEnabled.' + name.slice(10), false, 12*1000);
Alles anzeigen