- Version
1.1.1 - OS/Interpreter: MicroPython
- Hardware: Raspberry Pi Pico W or Raspberry Pi Pico 2 W
Checks ISAPI API status of Hikvision DS-KV6113-WPE1(B) doorbell every few seconds and plays a sound if doorbell is ringing.
Note; Requires firmware version at least V2.2.53_230918 to add the Capture API endpoint in ISAPI for Pushover functionality.
Additional functionality to send a capture of the doorbell to Pushover.
Tested on MicroPython v1.19.1, you can download and setup MicroPython on the Pi Pico here: https://www.raspberrypi.com/documentation/microcontrollers/micropython.html
Thonny IDE is used to upload the firmware and to copy over the src files. The files from 'src' must be copied into the root directory on the Pi Pico.
Download up to date firmware here:
- Pico W (1st Gen): https://micropython.org/download/RPI_PICO_W/
- Pico W (2nd Gen): https://micropython.org/download/RPI_PICO2_W/
This Python code is run and used to check the ring status of the Hikvision DS-KV6113-WPE1(B) doorbell when used in stand-alone mode. If this ring status is ring then the doorbell sound will be played twice. There is then a timeout until the ring status check is performed again.
View my blog post for this project:
- https://ryanfitton.co.uk/blog/diy-doorbell-chime-for-hikvision-isapi-with-a-raspberry-pi-pico/ - Initial post in 2023
- https://ryanfitton.co.uk/blog/update-diy-doorbell-chime-for-hikvision-isapi-with-a-raspberry-pi-pico/ - Adding Pushover functionality, 2025.
To get started edit the config in src/main.py for the following fields:
ssid: WiFi network namessid_password: WiFi network password
api_username: Doorbell Admin userapi_password: Doorbell Admin user's passwordhost: The Doorbell's IP Address- Highly recommended to setup static DHCP mappings for this device on your router
use_pushover: Enable/Disable Pushover functionality, settrueorfalse. If true then also configure the below:pushover_token: The Pushover APP token - Register on https://pushover.net/ to generate a tokenpushover_user: The Pushover APP user or group key - Configure this on https://pushover.net/pushover_message: Message for the doorbell message
- RPI Pico version 1 or 2 Wireless with Headers
- Room Sensor Enclosure - Size 2 (with Pi HAT / 3A+ Mounts) - Vented (https://thepihut.com/products/room-sensor-enclosure-size-2-with-pi-3a-mounts?variant=39957973008579)
- Premium Female/Female Jumper Wires - 20 x 3" (75mm) (https://thepihut.com/products/premium-female-female-jumper-wires-20-x-3-75mm?variant=27739698577)
- Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A (https://thepihut.com/products/adafruit-i2s-3w-class-d-amplifier-breakout-max98357a?variant=27740275281)
- Stereo Enclosed Speaker Set - 3W 4 Ohm (https://thepihut.com/products/stereo-enclosed-speaker-set-3w-4-ohm?variant=27739539793)
You can run these curl commands on your computer to test the Hikvision DS-KV6113-WPE1(B) doorbell.
- Replace
YOUR_PASSWORDwith your doorbell admin user's password - Replace
YOUR_IPwith your doorbell IP address
curl -i --digest -u admin:YOUR_PASSWORD "http://YOUR_IP/ISAPI/VideoIntercom/callStatus?format=json"
Shows either idle, ring or onCall
curl -i --digest -u admin:YOUR_PASSWORD -d '{"CallSignal":{"cmdType":"hangUp"}}' -H "Content-Type: application/json" -X PUT "http://YOUR_IP/ISAPI/VideoIntercom/callSignal?format=json"
curl -i --digest -u admin:YOUR_PASSWORD "http://YOUR_IP/ISAPI/Streaming/channels/101/picture" >> example.txt
Watch the video here: Watch the video, or click the image below:

