Best video doorbell for HA


I’m searching a new for replace my old konx KW02C, because sometimes is restarting or ignoring a call.

Now I have the KW02C integrated with HA but it wasn’t easy and isn’t the best way:

I would like to find a new one with easier integration with HA and robust and better manufacturing … and also I would like to improve the camera quality (to 1080).

Someone has experience with other video doorbells? After my search, this is the list of other doorbells:

  • KONX KW05
  • RING VideoDoorbell / PRO / Elite
  • NETATMO Doorbell (not yet for sale)
  • Nest Hello
  • Arlo Doorbell

A homekit capable doorbell, will be easy to integrate with HA using homekit?


I’m using Doorbird. They can be a bit expensive, but work well with HA through events. Here is a link:

Thanks for the feedback @jwilliams, one question about your Doorbird doorbell, what version are you using? this doorbell provided an RTSP LOCAL stream for video?


Have a look at SIP Doorbell, android tablet and HA integration
Using Grandstream GDS3710. Cheaper than doorbird but need a sip pbx to work nicely.

I wonder if this is integratable (is that a word?)

€ 20,71 20%OFF | EKEN V5 Smart WiFi Video Deurbel Camera Visuele Intercom Met Chime nachtzicht IP Deurbel Draadloze Home Security Camera

1 Like

I’m using the D101S. The doorbell supports RTSP, but I haven’t implemented that yet. Right now I can livestream the video and I have it configured to take a picture when the button is pressed or motion is detected. I do plan to implement RTSP with my Synology NAS, just haven’t got around to it yet :slight_smile:

That amazing… my doorbell is like so too… can you share your mail2mqtt script?


Is a really fast script but here is:

#!/usr/bin/env python

import secure_smtpd
import json
import paho.mqtt.client as mqtt
import argparse
import email

from secure_smtpd import SMTPServer, LOG_NAME

parser = argparse.ArgumentParser()
parser.add_argument("-N", "--name", help="doorbell name")
parser.add_argument("-M", "--mqtthost", help="mqtt host")
parser.add_argument("-P", "--mqttport", help="mqtt port", type=int)
parser.add_argument("-U", "--mqttusername", help="mqtt username")
parser.add_argument("-W", "--mqttpassword", help="mqtt password")
args = parser.parse_args()

class SMTPServer(SMTPServer):
    def process_message(self, peer, mailfrom, rcpttos, message_data):
        client = mqtt.Client(client_id="", clean_session=True, userdata=None,
        client.username_pw_set(args.mqttusername, args.mqttpassword)
        client.connect(args.mqtthost, 1883, 60)
        data = {}
        data['peer'] = peer
        data['mailfrom'] = mailfrom
        data['rcpttos'] = rcpttos
        data['bell'] = 'on'
        json_data = json.dumps(data)
        print (json_data)

        msg = email.message_from_string(message_data)

        #print (msg)
        attachment = msg.get_payload()[1]
        open('/var/www/html/doorbell/doorbell-1.jpg', 'wb').write(attachment.get_payload(decode=True))
        attachment = msg.get_payload()[2]
        open('/var/www/html/doorbell/doorbell-2.jpg', 'wb').write(attachment.get_payload(decode=True))
        attachment = msg.get_payload()[3]
        open('/var/www/html/doorbell/doorbell-3.jpg', 'wb').write(attachment.get_payload(decode=True))

        client.publish("doorbell/", json_data, qos=0)

class FakeCredentialValidator(object):

    def validate(self, username, password):

        return True

server = SMTPServer(
    ('', 1125),

print('server run')

My doorbell send 3 images in the email, so I save it in /var/www/html/doorbell …

How to run the script:

/etc/home-assistance/ -N entrada  -M -P 1883 -U <mqttuser> -W <mqttpassword>

The Mqtt sensor:

- platform: mqtt
  state_topic: "doorbell/entrada"
  name: Doorbell Ring
  qos: 0
  value_template: '{% if value_json.bell == "on" %} on {% else %} off {% endif %}'

And this automation for set off the doorbell_ring:

alias: 'Enviar Payload a OFF al pulsar VideoPortero'
hide_entity: True
initial_state: 'on'
  - platform: state
    entity_id: sensor.doorbell_ring
    to: 'on'
  - service: mqtt.publish
      topic: 'doorbell/entrada'
      payload: '{"bell":"off"}'

And one automation example for telegram notification:

alias: 'Notificar Telegram al Pulsar VideoPortero'
hide_entity: True
initial_state: 'on'
  - platform: state
    entity_id: sensor.doorbell_ring
    to: 'on'
  - service: notify.telegram_bot
      message: '\U0001F514 Llamada desde el Videoportero'
          - file: /var/www/html/doorbell/doorbell-1.jpg
          - file: /var/www/html/doorbell/doorbell-2.jpg
          - file: /var/www/html/doorbell/doorbell-3.jpg
          - 'Abrir la puerta:/desactivar-alarma'

Other one for HA iOS Notification:

alias: 'Notificar iOS al Pulsar VideoPortero'
hide_entity: True
initial_state: 'on'
  - platform: state
    entity_id: sensor.doorbell_ring
    to: 'on'
  - service: notify.iphone_todos
      message: "Llamada Videoportero"
          content-type: jpeg
          category: camera
          thread-id: "doorbell-notification-group"
        entity_id: camera.calle

Hello jgon
I also bought konx KW02 intercom and right now I have to facing with HA integration.
could you share with your project details?


For get ring notifications:

  • (OPTION 1): Using SMTP2MQTT*

You can find an update for smtp2mqtt for konx here:

  • (OPTION 2): Using SONOFF 433 receiver

For open the door:

  • (OPTION 1): Send UDP message:
    Example for my shell_command:

open_entrance_door: cat /etc/home-assistance/config/opendoorbellbuena.bin | nc -4u -q1 51880

hey, thank you for reply i will go frward your tip.
om more how did you solve problem with camera? UDP protocol?
can you show me configuration of camera?

I used solution as follow:

  • to open door I used wemos with tasmota and switch. it works fine.

  • for notification i have USB bell delivered with KONX - it is ok

my bigest problem is camera - onvif configuration (TCP defaut) send 1 frame every 10 seconds.

I tried to solve that using zone minder I took stream fron that but is not sufficient solution…

I’m using the camera from zoneminder so I can’t help you.

same thing. thank you for your help.

hasta luego

What doorbell camera are you using with zoneminder, I have a la view now buy the WiFi drops often and sometimes is just freezes up.

Good day
How do we install the python scrip.
Can we not save it in ha python_scrypts and run it with some automation?
Thank you

Hey guys! Anything new on this topic? Doorbirds are pretty expensive
Is there anything for integration (rtsp, button, and maybe motion too)?

Yes, I just installed this:
$68 from AliExpress
rtsp feed, etc
Comes with a rf chime, which with bit of diy you can relay button press to homeassistant.

1 Like

Does it send 433mhz signal? Can I read it with broadlink, or I need to get something else?

No. I tried. Read other post and it emits on 433.9xx something. I tried sonoff rfbridge and not possible.
The way is to weld 3 wires from the chime to a wemos d1 mini

1 Like

Does this rely on a cloud? With or without Subscription? Can it work “standalone” with an app?