Page 1 sur 1

caméra ip avec surveillance station synology et domoticz ?

Publié : 20 déc. 2016, 22:18
par cyberbob
bonjour,

serais-t'il possible que domoticz envoie une commande (script ou lua) pour démarrer la surveillance par les caméra ip controlée par synology avec surveillance station, lorsqu'un interrupteur virtuel passe en On ou Off ?

En effet, surveillance station permet de définir une plage horaire sur une semaine pour la surveillance et détection de mouvement, de stoker les enregistrement sur le nas et d'envoyer un email en cas de détection, mais l'idée est que ce soit Domoticz qui commande le démarrage de la surveillance lorsque l'on quitte la maison, par exemple avec la détection du wifi du smartphone, et qui l’arrête lorsque l'on reviens dans la maison, au lieux de définir une plage horaire hebdomadaire dans le synology surveillance station.

Au final, l'idée serais lorsque le ou les smarphones est hors wifi, que domoticz met en off les éclairage, le chauffage, et actionne la surveillance caméra.

Re: caméra ip avec surveillance station synology et domoticz ?

Publié : 04 janv. 2017, 10:19
par xavierlp
Oui c'est possible c'est ce que je fait! Lorsque les 4 smartphones sont à plus de 200 mètres de la maison les caméras s'activent et si l'un des smartphone est prèsent les caméras sont désactivées. J'ai trouvé le script sur Google mais je peux te le poster si tu souhaites quand je serai face au syno


Envoyé de mon iPhone en utilisant Tapatalk

Re: caméra ip avec surveillance station synology et domoticz ?

Publié : 04 janv. 2017, 18:18
par cyberbob
peux-tu poster tes script qui font fonctionner ton systheme domoticz je vais regarder pour voir comment tu as fait.
merci.

Re: caméra ip avec surveillance station synology et domoticz ?

Publié : 04 janv. 2017, 21:45
par xavierlp
Bonsoir cyberbob

voici le lien avec lequel je suis parti
https://www.stephanerochat.ch/wordpress ... -un-dummy/

Le hic c'est qu'avec la mise à jour de surveillance station les requêtes doivent être modifiées et y ajouter le session ID.
Ne connaissant pas ta version je te laisse tester et selon je te donnerais ce que j'ai modifié.

Bon test.

Xavier

Re: caméra ip avec surveillance station synology et domoticz ?

Publié : 14 mai 2019, 20:02
par lolautruche
Bonjour

Tu peux gérer ça désormais avec le "HomeMode" de SurveillanceStation.
J'ai écrit un plugin pour cela : https://github.com/lolautruche/Surveill ... onDomoticz . Ce plugin ajoute un switch permettant d'activer/désactiver le HomeMode (quand actif, ça enregistre, à configurer dans SurveillanceStation).

Tu peux trouver un exemple de manipulation en Lua sur mon script d'alarme : https://github.com/lolautruche/Domoticz ... ua#L71-L83

Re: caméra ip avec surveillance station synology et domoticz ?

Publié : 10 janv. 2023, 19:43
par mercusot
Un péripherique virtuel par camera dna sle quel tu mets pour "On Action" script://script_synoCamerasMngt.sh enable 2 16
et dans "Off action" script://script_synoCamerasMngt.sh disable 2 16

Ici 2 c'est l'ID de la camera sous Synology et 16 l'IDX du device virtuel sous Domoticz.


Puis dans ton répertoire script le shell suivant (à paramétrer en fonction de ton environnement). Et le tour est joué. Tu actives ou désactives une camera Synology à la demande.

Code : Tout sélectionner

#!/bin/bash

# PARAMS
# 1 : enable | disable | check
# 2 : ID(s) of camera(s), if more than one (Only for enable and disable actions) : coma separed (eg : 1,4)
# 3 : IDx of domoticz dummy switch

# No idx given = stop script
[[ -z "$1" ]] && { echo "Parameter 1 is empty" ; exit 1; }
[[ -z "$2" ]] && { echo "Parameter 2 is empty" ; exit 1; }
[[ -z "$3" ]] && { echo "Parameter 3 is empty" ; exit 1; }

# User defined vars
syno_user="xxxxxxxx"
syno_pwd="xxxxxxx"
syno_url="192.168.2.5:5000" # eg 192.168.1.100:5000
domoticz_url="127.0.0.1:8084" # eg 127.0.0.1:8080
vAuth=2
vCam=8
vList=1


# Get Paths (recommended by Synology for further update)
curlResult=$(curl -s "http://${syno_url}/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.Camera")
authPath=$(echo "$curlResult" | jq -r '.["data"]["SYNO.API.Auth"]["path"]')
surveillancePath=$(echo "$curlResult" | jq -r '.["data"]["SYNO.SurveillanceStation.Camera"]["path"]')

# Do login
curlResult=$(curl -s "http://${syno_url}/webapi/${authPath}?api=SYNO.API.Auth&method=Login&version=${vAuth}&account=${syno_user}&passwd=${syno_pwd}&session=SurveillanceStation&format=sid")
if [[ $(echo "$curlResult" | jq -r '.["success"]') == 'false' ]]; then 
	echo "Error on login to Surveillance Station to ${1} camera ${2}"
		exit 0
		fi
		# Storage of SID for further actions
		SID=$(echo "$curlResult" | jq -r '.["data"]["sid"]')

		# Do actions
		# Enable action
		if [[ $1 == 'enable' ]]; then
			# Enable trough DSM API
				curlResult=$(curl -s "http://${syno_url}/webapi/${surveillancePath}?api=SYNO.SurveillanceStation.Camera&method=Enable&version=${vCam}&cameraIds=${2}&_sid=${SID}")
if [[ $(echo "$curlResult" | jq -r '.["success"]') == 'false' ]]; then 
							curl -s "http://${syno_url}/webapi/${authPath}?api=SYNO.API.Auth&method=Logout&version=${vAuth}&_sid=${SID}" > /dev/null 2>&1
									echo "Error on enabling camera ${2}"
											exit 0
												fi

												# Disable action
												elif [[ $1 == 'disable' ]]; then
													# Enable trough DSM API
														curlResult=$(curl -s "http://${syno_url}/webapi/${surveillancePath}?api=SYNO.SurveillanceStation.Camera&method=Disable&version=${vCam}&cameraIds=${2}&_sid=${SID}")
															if [[ $(echo "$curlResult" | jq -r '.["success"]') == 'false' ]]; then 
																	curl -s "http://${syno_url}/webapi/${authPath}?api=SYNO.API.Auth&method=Logout&version=${vAuth}&_sid=${SID}" > /dev/null 2>&1
																			echo "Error on disabling camera ${2}"
																					exit 0
																						fi
# Check action
		elif [[ $1 == 'check' ]]; then
# Get status of the camera
curlResult=$(curl -s "http://${syno_url}/webapi/${surveillancePath}?api=SYNO.SurveillanceStation.Camera&method=List&version=${vList}&cameraIds=${2}&_sid=${SID}")
#echo "$curlResult"
#echo $curlResult |jq -r '.data.cameras[].enabled'
# Get status of the dummy switch
curlResultDomo=$(curl -s "http://${domoticz_url}/json.htm?type=devices&rid=${3}")
#echo $curlResultDomo | jq -r '.result[].Status'
# Camera is Off and dummy is On
if [ $(echo "$curlResult" | jq -r '.data.cameras[].enabled') == 'false' ] && [ $(echo "$curlResultDomo" | jq -r '.result[].Status') == 'On' ]; then 
curl -s "http://${domoticz_url}/json.htm?type=command&param=udevice&idx=${3}&nvalue=0&svalue=" > /dev/null 2>&1
# Cam is On and dummy is Off
elif [ $(echo "$curlResult" | jq -r '.data.cameras[].enabled') == 'true' ] && [ $(echo "$curlResultDomo" | jq -r '.result[].Status') == 'Off' ]; then 
curl -s "http://${domoticz_url}/json.htm?type=command&param=udevice&idx=${3}&nvalue=1&svalue=" > /dev/null 2>&1
fi
fi

# Do logoff
curl -s "http://${syno_url}/webapi/${authPath}?api=SYNO.API.Auth&method=Logout&version=${vAuth}&_sid=${SID}" > /dev/null 2>&1