Baldhor / Homey-ESPhome-Enhanced

This is an Homey app which adds support for ESPHome devices. ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. More information on their homepage: https://www.esphome.io/
GNU General Public License v3.0
5 stars 3 forks source link

ESPhome components support #60

Open Baldhor opened 7 months ago

Baldhor commented 7 months ago

Just a list of all ESPhome components supported by the low level client and their current supported state in the application ESPhome for Homey.

It doesn't means I plan to support them or not, it's just a list :) Also, even if supported, some kinds of components may have issues or need edge cases to be implemented.

Standard limitations apply:

Baldhor commented 7 months ago

This post will be updated with mock design for each component. The purpose of a mock is to simulate the component even if do not own a device that natively support it. Simulation is important to test the implementation before I publish.

As an exemple, in the current state, I cannot simulate Climate component, so I'm depend of users to test its implementation.


binary_sensor

/!\ This mock doesn't work for me, the sntp platform doesn't compile

time:
  - platform: sntp
    id: my_time
    on_time:
      - seconds: 10
        then:
          - binary_sensor.template.publish:
            id: random_boolean
            state: !lambda 'return (rand() % 2) == 1;'

binary_sensor:
  - platform: template
    name: "Random boolean"
    id: random_boolean


button

button:
  - id: Restart
    platform: restart
    name: Simple restart
    disabled_by_default: true


camera

not available


climate

not available


cover

not available, using my own cover


fan

not available


light

light:


lock

not available


media player

not available


number

number:
  - id: prefered_position
    platform: template
    name: "Prefered position in % (0% is closed, 100% is open)"
    disabled_by_default: true
    optimistic: true
    min_value: 0
    max_value: 100
    step: 1
    restore_value: true
    initial_value: 50
    mode: box
    entity_category: config


select

select:
  - platform: template
    name: "Random select"
    id: random_select
    set_action:
      - lambda: |-
          id(random_select).publish_state(x);
    options:
      - "one"
      - "two"
      - "three"
    lambda: |-
      return id(random_select).at(rand() % 3);
    update_interval: 10s


sensor

sensor:
  - platform: uptime
    name: "Uptime"
    disabled_by_default: true

  - platform: template
    name: "Random percentage"
    id: random_percentage
    unit_of_measurement: "%"
    lambda: |-
      return (rand() % 10000) / 100;
    update_interval: 60s

  - platform: template
    name: "Random temperature1"
    id: random_temperature1
    unit_of_measurement: "°c"
    lambda: |-
      return (rand() % 2000) / 100.00 + 5;
    update_interval: 10s


siren

not available


switch

not available, using my own switch


text_sensor

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "IP Address"
      disabled_by_default: true
Baldhor commented 7 months ago

Keep talk here about mock please, not "request", "enhancement" or 'support of whatever'