Ring deurbel koppelen aan Domoticz

Als je een domotica systeem in je huis hebt, wil je ook een slimme camera deurbel daar aan gekoppeld hebben. Eerst hadden we een slimme camera deurbel uit het bekende Chinese warenhuis beginnende met een A. De drukknop daarvan werkte op de 433.92 mhz en werd dus door RFLink opgevangen, waardoor ik diverse acties kon triggeren, waaronder een melding naar Telegram.

De deurbel werkte niet altijd goed, dus de WAF werd steeds lager. Vervolgens ben ik voor een Ring wired gegaan. De installatie van de Ring spreekt verder voor zich en anders is daar elders genoeg over te vinden.

Met een werkende Ring ging ik zoeken op het internet en kwam ik het volgende tegen: https://github.com/tsightler/ring-mqtt/wiki. Ik heb voor de Docker installatie gekozen, omdat deze geadviseerd werd en ook de videostream integratie heeft.

Als iemand op de Ring drukt, triggerd dat onderstaande dzVents script:

return {
    on = {
            devices = {'Ring voordeur'}
        
         },
    
    execute = function(domoticz, item, info, timer, device, group)
 
        local deur = domoticz.devices('Ring voordeur')
        
        if deur.state == 'On' then
            domoticz.notify("Voordeur", "Deurbel voordeur", domoticz.PRIORITY_NORMAL,domoticz.SOUND_DEFAULT, "" , "")
            os.execute('/home/pi/domoticz/scripts/voorfoto.sh')
            os.execute('/home/pi/domoticz/scripts/voordeurvideo.sh')
          
        end
        
    end
}

De foto van het voorfoto.sh script is een foto van een camera met RTSP stream. Het script om een korte video van de Ring naar Telegram te sturen zie je hieronder:

#!/bin/sh
now=$(date +"%T")

SnapFile="/var/tmp/voordeur.mp4"    # Temp name of the video, change it when using this script for multiple cams
VideoLength=5     # Seconds to record
WaitTime=10       # Seconds the script waits before it sends another video
rtspUrl="rtsp://192.168.2.1:8554/343ea4dd2346_live"
ChatID="ZELF INVULLEN"    # Telegram chat ID
TelegramAPIToken="ZELF INVULLEN"    # Telegram API token

ffmpeg -y -i $rtspUrl -r 30 -vcodec copy -an -t $VideoLength $SnapFile
curl -s -F chat_id=$ChatID -F video="@$SnapFile" -F caption="$now Voordeur" https://api.telegram.org/bot$TelegramAPIToken/sendVideo

De rtspUrl is het IP adres van je MQTT server met poortnummer 8554 en het ID van de camera. Gebruik MQTT-Explorer om dit te achterhalen en test de stream in bijvoorbeeld VLC. Lees hier meer.

Bijgewerkt op 27 september 2024

Heeft dit artikel je geholpen?

Bedankt voor je feedback!

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

*