Door bell with automation and notification

i want to know how it is possible to connect a doorbell with my HA , but all the process will be through automation ,
the door bell switch which is outside my house is connected to a esphome node ,
and i want to connect two door bells which are connected to different esphome nodes ,
one in the 1st floor and the other in the 4th floor and both the bells rang at the same time ,
is that possible how ?
what type of entity should i use in esphome for the button and door bell speakers ?

and any hint about the automation ?

and if possible it can also send a notification too .

I have a similar set up. Binary sensor for the doorbell button and two switches for the bells (one upstairs one downstairs). I also have a security camera at the door to capture an image. Here’s my automation:

- id: doorbell_alert
  alias: 'Doorbell Alert'  #### To do - add do not disturb condition
  trigger:
    entity_id: binary_sensor.doorbell
    platform: state
    to: 'on'
  condition:
    condition: template # only trigger once every 6 seconds at most
    value_template: "{{ (as_timestamp(now()) - as_timestamp(state_attr('automation.doorbell_alert', 'last_triggered') | default(0)) | int > 5)}}"
  action:
  - service: switch.turn_on
    entity_id: switch.downstairs_doorbell
  - service: switch.turn_on
    entity_id: switch.upstairs_doorbell
  - service: camera.snapshot
    data:
      entity_id: camera.front
      filename: '/config/www/doorbell.jpg'
  - service: switch.turn_off
    entity_id: switch.downstairs_doorbell
  - service: switch.turn_off
    entity_id: switch.upstairs_doorbell
  - service: notify.ios_iphonex
    data:
      message: Someone has pressed the doorbell.
      data:
        push:
          sound: "Doorbell.wav"
        attachment:
          url: !secret doorbell_url
          content-type: jpg
          hide-thumbnail: false

I don’t have a delay between turning the bell switches on and off as they only need a momentary pulse to activate the full chime sound and the image capture action in-between provides enough time for the switches to be on.

Edit: these are the doorbells I use: https://www.ebay.com.au/itm/401586732761

They work on 5V (specification says 12V but there is a 3V regulator in the unit). The logic is 3V so the trigger wire hooks up directly to an ESP module. There is enough room to fit a Wemos D1 mini inside.

Edit2: Config for the Wemos doorbell node (still using mqtt, feel free to use the api instead):

esphomeyaml:
  name: doorbell_downstairs
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: 'YOUR_SSID_HERE'
  password: !secret wifi_pwd
  manual_ip:
    static_ip: 10.1.1.84
    gateway: 10.1.1.1
    subnet: 255.255.255.0

mqtt:
  broker: 10.1.1.100
  username: !secret mqtt_usr
  password: !secret mqtt_pwd

logger:
  level: WARN

ota:
  password: !secret esp_pwd

binary_sensor:
  - platform: status
    name: "Doorbell Downstairs Status"

sensor:
  - platform: wifi_signal
    name: "Doorbell Downstairs WiFi Signal"
    update_interval: 15s
    filters:
      - sliding_window_moving_average:
          window_size: 15
          send_every: 15
          send_first_at: 15

switch:
  - platform: gpio
    pin:
      number: D5
      mode: OUTPUT_OPEN_DRAIN
    name: "Downstairs Doorbell"

I can take a photo of the inside of mine later tonight if you are interested.

Can you post a picture or a name, that link didn’t last, I’m interested in something similar.

Search for “doorbell chime 12v wired”, lowest price first.