j’utilise seulement la vidéo et l’ouverture maintenant, cela m’évite de rajouter un contact sec zigbee ou wifi juste pour ouvrir le portail.
le reste je le fais avec l’appli HIK qui marche très bien.
i used before also an ESPHome to get the calstatus, i linked it to a relay on indoor panel
i have a 9310 , it has a feature calling linkage
but dont use it anymore, i use now isapi
J’ai adapté le code de @pergolafabio concernant la récupération de la demande d’ouverture du portail. Cela fonctionne avec un virtuel dans jeedom.
from requests.auth import HTTPDigestAuth
from datetime import datetime
import requests
import time
import json
#Variables
#Config Hik
username = "admin"
password = "password"
url = "http://192.168.X.X/ISAPI/Event/notification/alertStream"
headers = {
'Authorization': 'Bearer XXXX',
'content-type': 'application/json',
}
#Config Jeedom (necessite de configurer au prealable un objet virtuel)
return_url = "http://192.168.X.X/core/api/jeeApi.php?type=virtual&apikey=xxxxxxxxxxxxxxxxxx"
virtuel_id = "XXXXX"
#Check Virtuel
try:
response = requests.get(return_url + "&id=" + virtuel_id + "&value=" + "off")
print("Check Virtuel on start script")
except:
print("Virtuel Check Failed")
while True:
try:
stream = requests.get(url, stream=True, auth=HTTPDigestAuth(username, password))
print("Status code: " , stream.status_code)
for line in stream.iter_lines(chunk_size=1):
str_line = line.decode("utf-8", "ignore")
print(str_line)
#Check for event
if str_line.find('"subEventType": 25') != -1:
result = str_line.find('eventState')
print("Found event!")
try:
response = requests.get(return_url + "&id=" + virtuel_id + "&value=" + "on")
print("Door Open")
#put the sensor "on" for 5 seconds
time.sleep(5)
response = requests.get(return_url + "&id=" + virtuel_id + "&value=" + "off")
print("Door Closed")
continue
except:
print("Updating virtuel failed")
continue
if stream.status_code == 401 or stream.status_code == 403:
time.sleep(5)
except (ValueError,requests.exceptions.ConnectionError,requests.exceptions.ChunkedEncodingError) as err:
print("Connection Failed")
continue
Par contre je le lance pour l’instant à la main python alertStream.py. Je ne sais pas comment l’intégrer dans jeedom sachant qu’il doit tourner en permanence. Je peux toujours faire un service mais ce n’est pas des plus simple à déployer. Des idées ?
Salut @NanoMaverick je suis un peut débutant dans le domaine donc désolé si mes questions paraissent ridicule
Mais je voulais savoir concernant le code de pergolafabio si la récupération d’ouverture du portail marchais avec les dernier firmware officiel 2.2.53 ou le custom firmware ?
Le retour de sonnette est tjrs impossible pour les 2.2.53?
Et derniere question comment lance t’on alertstream.py depuis jeedom ?! Aucun moyen de l’autimatisé pour plus le lancé manuellement ?
No, for DS-KD8003 owners, ISAPI only works with the custom firmware i provided
seems when you upgrade to latest official, there is no way to downgrade back
BUT
For Home Assistant users, i now created also an SDK add-on, i’m now able to retrieve events like callstatus/ swipe events/ motions events, based on the SDK, we use a python script for it
I dont have experience with Yeedom, but it should be easy to convert
it will work on all devices, no mather the firmware
Un petit retour pour les utilisateur du kv6113
j’ai bien le retour de sonnette avec le firmware officiel 2.2.53
{ "CallStatus": { "status": "idle" } }
J’ai le retour d’etat Idle, Ring ou Callon
mais je n’est pas les competence pour recupéré cette information et l’utilisé pour le lier a un virtuel
le lien est http://admin:XXXX@192.168.X.XX/ISAPI/VideoIntercom/callStatus?format=json
j’ai essayer de modifier le script de @NanoMaverick pour l’adapter a mon lien mais impossible de le faire fonctionné
Une idée pour ne pas utilisé Python ? Mais le plugin script toute les secondes ?
j’ai trouver mon bonheur …
J’ai bien la remontée de mon état Idle ou Ring
Il est possible de lancer le plugin script toute les secondes ?
Peur de surcharger Jeedom mais je vais quand même tester