Page 1 sur 1

Caméra dlink 5020

Publié : 18 avr. 2020, 10:44
par Wolfen38
Salut,

J'ai une caméra dlink 5020 que j'ai pu mettre dans dz.

Enfin, je vois l'image. Mais sachant que la caméra à des positions que l'on peut enregistrer, est il possible de faire un script qui dit
Si .....
Alors va à la position 1 sinon va a la position 2 ?

Merci.

Re: Caméra dlink 5020

Publié : 04 juil. 2020, 14:24
par Wolfen38
Bon, après avoir cherché des jours durant, j'ai trouvé cette commande qui fonctionne me permettant de faire déplacer ma cam à des positions prédéfinies.

Code : Tout sélectionner

commandArray['OpenURL']='USER:MDP@IPCAM/pantiltcontrol.cgi?PanTiltPresetPositionMove=1'
Ca fonctionne, mais me crée des erreurs dans les logs

Code : Tout sélectionner

2020-07-04 14:20:46.179 Status: EventSystem: Fetching URL USER:MDP@IPCAM/pantiltcontrol.cgi?PanTiltPresetPositionMove=2 after 0.2 seconds...
2020-07-04 14:20:46.179 Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_device_camera.lua
2020-07-04 14:20:46.522 Error: Error opening url: USER:MDP@IPCAM/pantiltcontrol.cgi?PanTiltPresetPositionMove=2
Quel peut être le problème ?

Merci

Re: Caméra dlink 5020

Publié : 04 juil. 2020, 22:15
par breizhcat
Hello

Merci pour cette URL ça marche nickel mais j'ai également le souci d'erreur. Du coup je suis passé par un script.

https://gist.github.com/BreizhCat/0e9e6 ... 9c3b457a95

Code : Tout sélectionner

--[[
author   = BreizhCat
create   = 04.07.2020
update   = 05.07.2020
filename = CameraSalon.lua

description = Utilisation des positions de la caméra DLink5020L
change      = 
    05.07.2020: Ajout varibles utilisateurs pour accès caméra
    
--]]

local __script_name__ = "CameraSalon"
local __version__     = "1.1"

return {
	on = {
		devices = { 114 }
	},
    logging = {
	    level = domoticz.LOG_INFO,
		marker = '['.. __script_name__ .. '-' .. __version__ .. ']' 
	},
	execute = function(dz, device)
	    local cam_user = dz.variables('cam_salon_user').value
	    local cam_pass = dz.variables('cam_salon_pass').value
	    local cam_ip   = dz.variables('cam_salon_ip').value
		local baseURL = 'http://'..cam_user..':'..cam_pass..'@'..cam_ip..'/pantiltcontrol.cgi?PanTiltPresetPositionMove='
		
		local tiltPosition = device.level / 10
		
		os.execute('curl '.. baseURL .. tiltPosition)
	end
}
Pour que ça fonctionne il faut un dummy device de type switch selector.
Le niveau dans le switch commence à 0 puis 10, 20... Cela correspond à mes positions au sein de la caméra divisé par 10.

Voilà

Re: Caméra dlink 5020

Publié : 05 juil. 2020, 12:09
par Wolfen38
Nickel ton script, plus d'erreur.

Merci.

Re: Caméra dlink 5020

Publié : 06 juil. 2020, 14:00
par breizhcat
Super !
Du coup de mon côté j'ai creusé un peu le sujet et j'ai trouvé ce dépôt (dlink-dcs-python-lib). La majorité des fonctions doivent être compatibles avec la DCS-5020L.

Je me suis donc fait un dummy switch pour activer / désactiver le mode surveillance via un script python.

Voici mon implémentation (Github).

Re: Caméra dlink 5020

Publié : 06 juil. 2020, 14:09
par Wolfen38
Bizarrement, chez moi, l'ouverture de l'URL pour activer la surveillance ne me renvoit pas d'erreur, c'était juste celle pour le déplacement

Envoyé de mon Mi 9T Pro en utilisant Tapatalk


Re: Caméra dlink 5020

Publié : 06 juil. 2020, 14:23
par breizhcat
Chez moi j'avais une erreur 401 sur la détection. C'est pour ça que je suis passé par python pour gérer au mieux la partie authentification et je suis tombé sur cette classe qui fait tout comme il faut :)