HA Client for Esphome Web Server API?

Hi

I use an esp2866 with four sdm_meter sensors with one uart-modbus.
All sensors updated via time.homeassist.

captive_portal:
  
time:
  - platform: sntp
    id: sntp_time
    servers: 192.168.66.1

  - platform: homeassistant
    id: homeassistant_time   
    on_time:
      - seconds: /2
        then:
          - logger.log: 
              format: "start modbus update()"
              level: INFO
          - lambda: !lambda |-    
              id(sdm_meter_3).update();
          - delay: 250ms
          - lambda: !lambda |-    
              id(sdm_meter_4).update();
          - delay: 250ms
          - lambda: !lambda |-    
              id(sdm_meter_5).update();
          - delay: 250ms
          - lambda: !lambda |-    
              id(sdm_meter_11).update();
          - delay: 250ms
          - logger.log: 
              format: "end modbus update()"
              level: INFO

api:
  password: !secret api_key
  reboot_timeout: 5min
  
web_server:
  port: 80  
  version: 1
  include_internal: true

It works, but the connection to homeassistant is very unstable.
The connection drops several hours and does not reconnect.
It is not usable.

Http seems to work more reliably to me, and there is also the bulk update there, which is certainly better with many sensors.

How can I catch data from web event api in homeassistant?
(http://esphome.local/events)?

It is json, use a rest sensor.