pergolafabio / Hikvision-Addons

Home Assistant: Hikvision Doorbell
179 stars 41 forks source link

DS-HD2 Door Bell Support? #203

Closed MrrZed0 closed 5 months ago

MrrZed0 commented 5 months ago

Is there an existing feature request for this?

Add-on

Hikvision Doorbell for Home Assistant. Using Home Assistant x86 On A SSD & Mini PC

Your feature request

When i try to add the Hikvision DS-HD2 Door bell it will just give me the following error. I do have a Hikvision Camera and tried to add that and it works but the doorbell with normal and beta versions will give me this error and stop running.

any chance it can be added to support the DS-HD2

2024-05-04 22:17:48.975 | INFO | sdk.utils:loadSDK:44 - Using OS: Linux with architecture: x86_64 loop[2] find 2 mac and 0 ip 2024-05-04 22:17:49.187 | INFO | doorbell:authenticate:79 - Connected to doorbell: Doorbell 2024-05-04 22:17:49.206 | INFO | doorbell:authenticate:79 - Connected to doorbell: Driveway 2024-05-04 22:17:49.206 | INFO | event:__init__:87 - Setting up event handler: Console stdout 2024-05-04 22:17:49.207 | INFO | mqtt:__init__:117 - Setting up event handler: MQTT Traceback (most recent call last): File "/app/main.py", line 96, in <module> asyncio.run(main()) File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/app/main.py", line 57, in main mqtt = MQTTHandler(config.mqtt, doorbell_registry) File "/app/mqtt.py", line 134, in __init__ device = extract_device_info(doorbell) File "/app/mqtt.py", line 34, in extract_device_info device_info = doorbell.get_device_info() File "/app/doorbell.py", line 365, in get_device_info xml_string = self._call_isapi("GET", "/ISAPI/System/deviceInfo") File "/app/doorbell.py", line 189, in _call_isapi output = call_ISAPI(self._sdk, self.user_id, http_method, url, requestBody) File "/app/sdk/utils.py", line 162, in call_ISAPI logger.debug("Response status: {}", responseStatusBuffer.value.decode("utf-8")) UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 1: invalid start byte

MrrZed0 commented 5 months ago

Untitled

pergolafabio commented 5 months ago

Yeah, I'm not sure if those DS-HD models are working, I don't think they are supporting ISAPi commands at all... I have someone using it an DS-HD1, it didn't work either

pergolafabio commented 5 months ago

Can you try with ssh some basic isapi commands?


curl -i --digest -u admin:xxx http://192.168.0.x/ISAPI/VideoIntercom/callStatus?format=json
curl -i --digest -u admin:xxx -X PUT -d '<RemoteControlDoor><cmd>open</cmd></RemoteControlDoor>' http://192.168.0.x/ISAPI/AccessControl/RemoteControl/door/1
curl -i --digest -u admin:xxx -X PUT -d '' http://192.168.0.x/ISAPI/System/reboot
curl -i --digest -u admin:xxx  -d '{"CallSignal":{"cmdType":"reject"}}' -H "Content-Type: application/json" -X PUT http://192.168.0.x/ISAPI/VideoIntercom/callSignal?format=json
# Two Way Audio:
curl -i --digest -u admin:xxx -X PUT http://192.168.0.x/ISAPI/System/TwoWayAudio/channels/1/open
curl -i --digest -u admin:xxx http://192.168.0.x/ISAPI/System/TwoWayAudio/channels/1/audioData
curl -i --digest -u admin:xxx -X PUT -d '' http://192.168.0.x/ISAPI/System/TwoWayAudio/channels/1/audioData
curl -i --digest -u admin:xxx -X PUT  http://192.168.0.x/ISAPI/System/TwoWayAudio/channels/1/close
'
pergolafabio commented 5 months ago

Try also this one:

curl -i --digest -u admin:xxx http://192.168.0.x/ISAPI/System/deviceInfo

MrrZed0 commented 5 months ago

sure i'll give it a try, i know the camera has onvif and have access to rtsp, also if i use onvif or hikconnect i can get only motion showing but the button does not show at all and that is the main reason trying to get this to work.

There is no web GUI from what i can tell, but i can use ivms-4200 with port 8000 like other hikvision camera and access the video feed and other stuff as well.

curl -i --digest -u admin:xxx http://192.168.0.x/ISAPI/System/deviceInfo `

Date: | Sat, 04 May 2024 23:19:18 GMT-3h 59m -- | -- Server: | webserver X-Frame-Options: | SAMEORIGIN Content-Security-Policy: | default-src 'self';frame-ancestors 'self' X-Content-Type-Options: | nosniff X-XSS-Protection: | 1; mode=block Referrer-Policy: | no-referrer X-Download-Options: | noopen X-Permitted-Cross-Domain-Policies: | master-only Content-Length: | 199 bytes Content-Type: | text/html Connection: | keep-alive Keep-Alive: | timeout=8, max=99

Date:
Sat, 04 May 2024 23:19:18 GMT-3h 59m Server: webserver X-Frame-Options: SAMEORIGIN Content-Security-Policy: default-src 'self';frame-ancestors 'self' X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Referrer-Policy: no-referrer X-Download-Options: noopen X-Permitted-Cross-Domain-Policies: master-only Content-Length: 199 bytes Content-Type: text/html Connection: keep-alive Keep-Alive: timeout=8, max=99`

`<!DOCTYPE html>

Document Error: Not Found

Access Error: 404 -- Not Found

Can't locate document: /ISAPI/AccessControl/RemoteControl/door/1

`
MrrZed0 commented 5 months ago

Do you happen to know a why to access the button on the DS-HD2 Doorbell into Home Assistant

i did find a post about using another firmware from another company on a DS-HD1 and was able to get this stuff to work but can not find much on the DS-HD2

pergolafabio commented 5 months ago

Yeah, I think this addon is quite useless for your device, since you don't have ISAPi... In Hacs, there is an hikconnect integration, that will be better for you I think

MrrZed0 commented 5 months ago

I have tried Hikconnect and another hikvision add-on and they add the motion sensors but no button sensor for the press so i was looking at this app.

Right now i think there is no way to get the button into home assistant so i ended up ordering a Hughes Sage Doorbell Sensor, its a zigbee that sits between the door bell and chime box, when the button is press it will send the signal to the sage box then using zigbee usb adapter i can added it to my home assistant.

Well thanks for all the help, ill just have to wait till the Hughes Sage Doorbell Sensor shows up

pergolafabio commented 5 months ago

Didn't you see an relay sensor on hikconnect integration? That should work normally... What other Hikvision addon did you try?

MrrZed0 commented 5 months ago

It shows three sensors but they are only the motion sensor, nothing for the button comes up in Home Assistant

pergolafabio commented 5 months ago

No events at all when you open door or ring ?

MrrZed0 commented 5 months ago

no just motion if i create the zone then the sensors will go off by the zone i create but when someone press the button nothing changes on any of the three sensors