Hallo Werner, alles klar; kein Problem.
Da ich meine Klingel des öfteren nicht gehört hatte machte ich mich in die unterschiedlichen Foren um meine Siedle HT611 in meine Heimautomation einzubinden (Domoticz). Wenn jemand klingelt, schaltet ein virtueller Schalter in Domoticz und startet das Bash File was mir Bilder und Video an Telegram versendet.
Probiert hatte ich folgende Scenarien.
1. Shelly1 mit AC Relais
2. ShellyUNI mit AC Relais
3. ESP8266 mit DC/DC Wandler (wegen 3.3V für NodeMCU) und Optokoppler
Hängen geblieben bin ich nun beim Shelly 1 da der Shelly UNI mehr könnte und die Lösung aus 3 am meisten Bauraum in Anspruch nehmen würde. In den Bilder seht ihr den Shelly1 nicht mehr da er hinten in der Unterputzdose verstaut wurde.
Vorbereitung Siedle:
Ich greife das Signal vom Klingelknopf ab und schalte das AC Relais welches dann den Minus von der Shelly DC Versorung auf S am Shelly1 schaltet. Das Relais (12VAC) wird durch den Kontakt 7 und C geschaltet; beim klingeln springt dort die Spannung auf 13.2VAC.
Shelly1:
Mein Netzgleichrichter (NG402-0) liefert 12VAC und 9VDC; glücklicherweise läuft der Shelly 1/ShellyUNI auch mit den 9VDC stabil.
Shelly1 Kontakt L (-) verbunden mit 9 (Siedle). 9VDC + vom Netzgleichrichter verbunden mit N (+) (Shelly). Dann noch ein Kabel von L (-) geht zum geschalteten Kontakt am Relais was dann der an SW am Shelly1 geklemmt wird.
Relais (Finder 12VAC Typ 40.31):
Wie beschrieben Kontakte 7 und C (13.2VAC) schalten das Relais und leiten L (-) auf SW am Shelly.
Shelly1 Einstellungen:
Ich lasse alle Erklärungen aus wie z.B. der Shelly ins Netz gehängt wird oder wie man einen TelegramBot generiert. Des weiteren kann ich auch nur über die Einbindung in Domoticz Info geben; hoffe daß einer aus den Kreisen hier das vielleicht dann auch für OpenHab oder andere Automation machen kann.
Under Settings:
Power on default mode - "ON" - Configure Shelly device to turn ON, when it has power
Button Type - Edge Switch - Set Shelly device to be "Edge" switch. Changes state on every hit
Timer:
Auto Off - When On - Turn Off After 5 seconds
I/O URL actions:
OUTPUT SWITCHED ON URL:
Enabled
192.168.178.47:8080/json.htm?type=command&parm=switchlight&idx=59&switchcmd=On
OUTPUT SWITCHED OFF URL:
Enabled
192.168.178.47:8080/json.htm?type=command&parm=switchlight&idx=59&switchcmd=Off
Domoticz:
In Domoticz wird dann ein Dummy Device generiert und An/Aus Schalter hinzugefügt. Die IDX von dem Schalter muss dann oben in die On/Off ULR (in meinem Fall idx=59). Natürlich muß auch die IP Adresse von Domoticz entsprechend dem Setup angepasst werden.
Am Ende braucht es dann noch das Bash File (Siedle.sh - chmod +x nicht vergessen) was gestartet wird wenn das Relais schaltet und der Shelly das URL Kommando ausführt und den Schalter für die Zeit von 5 Sekunden auf ON hält . Hatte 5 Sekunden gewählt das bei zu schnellem Klingeln (hintereinander) nicht zu viele Nachrichten reinkommen.
Siedle.sh (Credit an die Kollegen aus dem Thread hier Domoticz)
#!/bin/sh
now=$(date +"%T")
SnapFileJPG="/var/tmp/frontdoor.jpg"
SnapFile="/var/tmp/frontdoorcam.mp4" # Temp name of the video, change it when using this script for multiple cams
VideoLength=8 # Seconds to record
WaitTime=10 # Seconds the script waits before it sends another video
User=xxxxxx # Username which has access to the RTSP stream
Password=xxxxxxx # Password for above provided user
rtspUrl="rtsp://$User:$Password@192.168.178.26:8096/videoSub" # Use https://sourceforge.net/projects/onvifdm/ to find your correct RTSP stream url
ChatID=xxxxxxxxxx # Telegram chat ID See https://www.domoticz.com/wiki/Installing_Telegram_Notification_System for setup instructions
TelegramAPIToken=xxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxx # Telegram API token
filedate=`stat -L --format %Y $SnapFile`
retc=$?
if [ $retc -eq 0 ] ; then
sec=$(( `date +%s`-$filedate))
echo file found and age is $sec seconds
else
sec=999
echo File not found $SnapFile
fi
if [ $sec -gt $WaitTime ] ; then
echo file older than $WaitTime seconds: $sec sending video
wget http://127.0.0.1:8080/camsnapshot.jpg?idx=4 && mv camsnapshot.jpg?idx=4 /var/tmp/frontdoor.jpg
curl -s -F chat_id=$ChatID -F photo="@$SnapFileJPG" https://api.telegram.org/bot$TelegramAPIToken/sendPhoto
ffmpeg -y -i $rtspUrl -r 30 -vcodec copy -an -t $VideoLength $SnapFile
curl -s -F chat_id=$ChatID -F video="@$SnapFile" -F caption="Doorbell ringing.." https://api.telegram.org/bot$TelegramAPIToken/sendVideo
else
echo There was another try within $WaitTime seconds: $sec
fi
Alles anzeigen