Die Shellskripte reiche ich noch nach.
Uppala, ganz verpennt.
Bash: Klingel.sh
#!/bin/bash
# IP-Adressen
CCU_IP=xxx.xxx.xxx.xxx # IP-Adresse der CCU
LBoxPi_IP=xxx.xxx.xxx.xxx # IP-Adresse des LBoxPi
# Telegram Benutzer 1
HMinfo1=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Info"
ChatId1=xxxxxxxxx # Telegram Chat-ID
# Telegram Benutzer 2
HMinfo2=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Info"
ChatId2=xxxxxxxxx # Telegram Chat-ID
# HomeMatic CCU ISE_IDs
HMiseid1=xxxxx # "Haus SV Anwesendheit"
HMiseid2=xxxxx # "EG Briefkasten VT Klingel"
# CCU-Systemvariable "Haus SV Anwesendheit" auslesen
present=$(curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(${HMiseid1}).Value()")
present=${present##*<x>}
present=${present%%</x>*}
# echo $present
if [ "$present" == "true" ] # Anwesenheit
then
# virtuellen CCU-Schalter "EG Briefkasten VT Klingel" betätigen
curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(${HMiseid2}).DPByHssDP('PRESS_SHORT').State(1)"
# Push-Nachricht senden
curl -s -k "https://api.telegram.org/bot${HMinfo1}/sendMessage" -d text="<b>Haustürklingel in Anwesenheit betätigt.</b>" -d chat_id=$ChatId1 -d parse_mode=html
curl -s -k "https://api.telegram.org/bot${HMinfo2}/sendMessage" -d text="<b>Haustürklingel in Anwesenheit betätigt.</b>" -d chat_id=$ChatId2 -d parse_mode=html
elif [ "$present" == "false" ] # Abwesenheit
then
# Push-Nachricht senden
curl -s -k "https://api.telegram.org/bot${HMinfo1}/sendMessage" -d text="Haustürklingel in Abwesenheit betätigt." -d chat_id=$ChatId1
curl -s -k "https://api.telegram.org/bot${HMinfo2}/sendMessage" -d text="Haustürklingel in Abwesenheit betätigt." -d chat_id=$ChatId2
# Snapshot senden
wget -O /home/pi/Haustürklingel.jpg http://${LBoxPi_IP}:80/cam.jpg
curl -s -k "https://api.telegram.org/bot${HMinfo1}/sendPhoto" -F chat_id=$ChatId1 -F disable_notifications=1 -F photo="@/home/pi/Haustürklingel.jpg"
curl -s -k "https://api.telegram.org/bot${HMinfo2}/sendPhoto" -F chat_id=$ChatId2 -F disable_notifications=1 -F photo="@/home/pi/Haustürklingel.jpg"
fi
exit 0
Alles anzeigen
Bash: StartDoorPi.sh
#!/bin/bash
# Telegram Benutzer 1
HMinfo1=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Info"
ChatId1=xxxxxxxxxx # Telegram Chat-ID
# Push-Nachricht senden
curl -s -k "https://api.telegram.org/bot${HMinfo1}/sendMessage" -d text="DoorPi gestartet." -d chat_id=$ChatId1
exit 0
Alles anzeigen
Bash: StopDoorPi.sh
#!/bin/bash
# IP-Adressen
CCU_IP=xxx.xxx.xxx.xxx # IP-Adresse der CCU
LBoxPi_IP=xxx.xxx.xxx.xxx # IP-Adresse des LBoxPi
# Telegram Benutzer 1
HMinfo1=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Warnung"
HMwarnung1=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Warnung"
ChatId1=xxxxxxxxxxx # Telegram Chat-ID
# HomeMatic CCU ISE_IDs
HMiseid1=xxxxx # "Haus SV Anwesendheit"
# CCU-Systemvariable "Haus SV Anwesendheit" auslesen
present=$(curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(${HMiseid1}).Value()")
present=${present##*<x>}
present=${present%%</x>*}
# echo $present
if [ "$present" == "true" ] # Anwesenheit
then
# Push-Nachricht senden
curl -s -k "https://api.telegram.org/bot${HMinfo1}/sendMessage" -d text="<b>Achtung, DoorPi gestoppt!</b>" -d chat_id=$ChatId1 -d parse_mode=html
elif [ "$present" == "false" ] # Abwesenheit
then
# Push-Nachricht senden
curl -s -k "https://api.telegram.org/bot${HMwarnung1}/sendMessage" -d text="<b>Achtung, DoorPi gestoppt!</b>" -d chat_id=$ChatId1 -d parse_mode=html
fi
exit 0
Alles anzeigen
Bash: Briefkasten.sh
#!/bin/bash
# IP-Adressen
CCU_IP=xxx.xxx.xxx.xxx # IP-Adresse der CCU
LBoxPi_IP=xxx.xxx.xxx.xxx # IP-Adresse des LBoxPi
# Telegram Benutzer 1
HMinfo1=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Info" Benutzer 1
ChatId1=xxxxxxxxxx # Telegram Chat-ID Benutzer 1
# Telegram Benutzer 2
HMinfo2=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Info" Benutzer 2
ChatId2=xxxxxxxxxx # Telegram Chat-ID Benutzer 2
# HomeMatic CCU ISE_IDs
HMiseid1=xxxxx # "EG Briefkasten VT Klappe"
# virtuelle CCU-Taste "EG Briefkasten VT Klappe" betätigen
curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(${HMiseid1}).DPByHssDP('PRESS_SHORT').State(1)"
# Snapshot senden
wget -O /home/pi/Briefkasteneinwurf.jpg http://${LBoxPi_IP}:80/cam.jpg
sleep 1
curl -s -k "https://api.telegram.org/bot${HMinfo1}/sendPhoto" -F chat_id=$ChatId1 -F disable_notifications=1 -F photo="@/home/pi/Briefkasteneinwurf.jpg"
curl -s -k "https://api.telegram.org/bot${HMinfo2}/sendPhoto" -F chat_id=$ChatId2 -F disable_notifications=1 -F photo="@/home/pi/Briefkasteneinwurf.jpg"
exit 0
Alles anzeigen
Bash: BriefkastenReset.sh
#!/bin/bash
# IP-Adressen
CCU_IP=xxx.xxx.xxx.xxx # IP-Adresse der CCU
# HomeMatic CCU ISE_IDs
HMiseid1=xxxxx # "EG Briefkasten VT Tür"
# virtuelle CCU-Taste "EG Briefkasten VT Tür" betätigen
curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(${HMiseid1}).DPByHssDP('PRESS_SHORT').State(1)"
exit 0
Alles anzeigen
Bash: BriefkastenSabotage.sh
#!/bin/bash
# IP-Adressen
CCU_IP=xxx.xxx.xxx.xxx # IP-Adresse der CCU
LBoxPi_IP=xxx.xxx.xxx.xxx # IP-Adresse des LBoxPi
# Telegram Benutzer 1
HMinfo1=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Info"
HMalarm1=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Alarm"
ChatId1=xxxxxxxxx # Telegram Chat-ID
# Telegram Benutzer 2
HMinfo2=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Info"
HMalarm2=xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Telegram Bot Token "HomeMatic Alarm"
ChatId2=xxxxxxxxx # Telegram Chat-ID
# HomeMatic CCU ISE_IDs
HMiseid1=xxxxx # "Haus SV Anwesendheit"
# CCU-Systemvariable "Haus SV Anwesendheit" auslesen
present=$(curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(${HMiseid1}).Value()")
present=${present##*<x>}
present=${present%%</x>*}
# echo $present
if [ "$present" == "true" ] # Anwesenheit
then
# Push-Nachricht senden
curl -s -k "https://api.telegram.org/bot${HMinfo1}/sendMessage" -d text="<b>Briefkasten-Serviceklappe in Anwesenheit geöffnet.</b>" -d chat_id=$ChatId1 -d parse_mode=html
elif [ "$present" == "false" ] # Abwesenheit
then
# Push-Nachricht senden
curl -s -k "https://api.telegram.org/bot${HMalarm1}/sendMessage" -d text="<b>ACHTUNG - Sabotage am Briefkasten!</b>" -d chat_id=$ChatId1 -d parse_mode=html
curl -s -k "https://api.telegram.org/bot${HMalarm2}/sendMessage" -d text="<b>ACHTUNG - Sabotage am Briefkasten!</b>" -d chat_id=$ChatId2 -d parse_mode=html
# Snapshot senden
wget -O /home/pi/Haustürklingel.jpg http://${LBoxPi_IP}:80/cam.jpg
curl -s -k "https://api.telegram.org/bot${HMinfo1}/sendPhoto" -F chat_id=$ChatId1 -F disable_notifications=1 -F photo="@/home/pi/Haustürklingel.jpg"
curl -s -k "https://api.telegram.org/bot${HMinfo2}/sendPhoto" -F chat_id=$ChatId2 -F disable_notifications=1 -F photo="@/home/pi/Haustürklingel.jpg"
fi
exit 0
Alles anzeigen
Bash: LichtAn.sh
#!/bin/bash
# IP-Adressen
CCU_IP=xxx.xxx.xxx.xxx # IP-Adresse der CCU
# HomeMatic CCU ISE_IDs
HMiseid_light=xxxx # "EG Haustür Licht"
HMiseid_brightness=xxxx # "EG Flur Bewegungsmelder"
# Helligkeit des Bewegungsmelders im Flur des EG abfragen
brightness=$(curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(${HMiseid_brightness}).DPByHssDP('BRIGHTNESS').Value()")
brightness=${brightness##*<x>}
brightness=${brightness%%</x>*}
# HM-Aktor "EG Hautür Licht" einschalten, wenn Helligkeitsschwelle unterschritten
if [ "$brightness" -lt 40 ]
then
curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(${HMiseid_light}).State(1)"
fi
exit 0
Alles anzeigen
Bash: LichtAus.sh
#!/bin/bash
# IP-Adressen
CCU_IP=xxx.xxx.xxx.xxx # IP-Adresse der CCU
# HomeMatic CCU ISE_IDs
HMiseid1=xxxxx # "EG Hautür Licht"
# HM-Aktor "EG Hautür Licht" ausschalten
curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(${HMiseid1}).State(0)"
exit 0
Alles anzeigen
Gruß,
Thorsten