Seid geraumer Zeit habe ich ja schon einen Homematic IP Klingeltaster eingebaut, um etwas genauer zu sein – Ein HmIP-DSD-PCB
Dieser hatte aber die ganze Zeit nicht richtig funktioniert und nun hatte ich mal die Gelegenheit, mir das Thema genauer anzuschauen.
Angeschlossen war Sie bereits richtig, jedoch wurde das Programm nur ein mal ausgeführt – danach nicht mehr.
Erst wenn man das Programm deaktivierte und wieder aktivierte, gab es wieder eine Meldung.
Der Klingel – Workaround
Aufgrund dessen habe ich ein kleines Workaround implementiert um das Programm nach auslösen zu deaktivieren und mit einer Verzögerung wieder zu aktiveren.
Was tut das Programm?
Wenn nun der Klingelsensor betätigt wird, laufen eine Reihe von Scripten ab.
Das erste sendet mir eine Nachricht über Telegram – Das es geklingelt hat.
Das zweite Script sendet mit einen Screenshot via Telegram von der Kamera.
Das dritte Script deaktivert das aktuelle Programm mit einer Verzögerung.
object prg = dom.GetObject("BEN_Klingel");
prg.Active(false);
Am Ende wird noch eine Variable auf Ja gesetzt, die noch zwei weitere Programme ausführt.
Die Änderung der Variable führt nun ein weiteres Programm aus, welche die Variable nach 20 Sekunden auf Nein setzt und das Programm wieder aktiviert.
object prg = dom.GetObject("BEN_Klingel");
prg.Active(true);
Somit läuft die Benachrichtigung, trotz Einschränkung, zuverlässig bei jedem Klingeln.
Außerdem kann man durch diese Verzögerung einstellen, wie oft man eine Benachrichtigungen erhält.
Es kann ja durchaus vorkommen, dass jemand die Klingel 5 mal kurz hintereinander Betätigt und dadurch würden dann 5 Benachrichtigen ausgelöst.
Kamera auf dem VIS-Tablet
Neben dem Screenshot aufs Handy hatte ich noch den Wunsch, dass sich die Kamera automatisch auf dem neuen VIS-Tablet öffnen sobald es geklingelt hat.
Zuerst hatte ich hier mit einem ssh-Server rumgespielt jedoch konnte ich darüber keine App zum starten bekommen.
Auf dem Tablet läuft der Fully Kiosk Browser und dieser bietet – zumindest mit Lizenz – eine Remote Administration über die man auch Apps starten kann.
Somit habe ich mir ein kleines Linux-Script geschrieben, dass via curl die Synology Surveillance App öffnet.
#!/bin/bash
command="$1"
case "$command" in
cam) curl -k "http://<fully-tablet-ip>:2323/?cmd=startApplication&package=com.synology.DScam&password=<Remote Admin PW>" >/dev/null 2>&1
;;
fully) curl -k "http://1<fully-tablet-ip>:2323/?cmd=startApplication&package=de.ozerov.fully&password=<Remote Admin PW>" >/dev/null 2>&1
;;
esac
Wenn nun die Variable Klingel ausgelöst wird, öffnet sich wie magisch die Ansicht der Kameras auf dem Tablet so dass man direkt sehen kann, wer geläutet hat.
Tipp:
Um eine App zu starten, muss der interne Name der App unter Android angegeben werden.
Diesen findet man am einfachsten heraus, in dem man über die Webseite des PlayStores die App raussucht, der interne Name steht in der URL.
Fazit
Da man nun über den Fully Browser Remote Apps starten kann, ergeben sich dadurch natürlich weitere Möglichkeiten.
Im Endeffekt – bis auf die fehlende Gegensprechanlage – habe ich mir nun eine Video-Klingelanlage gebaut.
Im SmartHome muss man manchmal etwas kreativ sein.
Hallo Janis,
nach langer Suche bin ich auf deine HP gestoßen. Mein Problem ist es in Combi mit Homematic und den Fully Kiosk Browser das Display auf meinem Wandtablet (auf welchem Mediola Neo läuft) aufzuwecken, wenn es z.B. draußen klingelt.
Steht Besuch vor der Tür und es wird der Klingeltaster gedrück, erhalte ich schon per Script eine Emaile aufs Handy. Nun soll noch zuzügl. das Wanddisplay anspringen.
Reichte es dazu, die folgenden Scriptzeilen im Homematicprogramm einzufügen, um den Fully Kiosk Browser mit Remote Administration anzusprechen?
http://ip-address:2323/?cmd=screenOn&password=%5Bpass%5D
-opt. http://ip-address:2323/?cmd=screenOff&password=%5Bpass%5D
-opt. http://ip-address:2323/?cmd=forceSleep&password=%5Bpass%5D
Evtl. kannst du mir auch bei der evtl. vollständigen Scriptzeile helfen? Danke.
Also praktisch benötige ich nur die Hilfe für das Script im Programmteil der CCU3.
Würde mich über eine Rückinfo freuen – im HM-Forum war ich leider stecken geblieben.
MfG Jens Müller
Da auch die CCU/Raspberrymatic den „curl“ Befehl hat, kann das entsprechend direkt in einem Script als SystemExec verwendet werden.
system.Exec(„curl -k „http://:2323/?cmd=startApplication&package=com.synology.DScam&password=“ >/dev/null“);
Gleiche Logik auch für die restlichen Befehle, kann ja ggf. auch mit 1-2 Sekunden Verzögerung auslösen, da das Tablet ja erstmal wach werden muss 😊
Gruß
Janis