Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESPhome components support #60

Open
Baldhor opened this issue Oct 14, 2023 · 2 comments
Open

ESPhome components support #60

Baldhor opened this issue Oct 14, 2023 · 2 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@Baldhor
Copy link
Owner

Baldhor commented Oct 14, 2023

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.

  • binary_sensor: YES
  • button: YES
  • camera: NO
  • climate: YES
  • cover: YES
  • fan: ???
  • light: ???
  • lock: ???
  • media player: NO
  • number: YES
  • select: YES
  • sensor: YES
  • siren: ???
  • switch: YES
  • text_sensor: YES

Standard limitations apply:

  • Homey doesn't support dynamic enum values (impact select and climate components)
@Baldhor Baldhor self-assigned this Oct 14, 2023
@Baldhor Baldhor added the documentation Improvements or additions to documentation label Oct 14, 2023
@Baldhor Baldhor changed the title ESPhome components todo list ESPhome components support Oct 14, 2023
@Baldhor
Copy link
Owner Author

Baldhor commented Oct 14, 2023

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:

  • id: led_test
    name: led_test
    platform: monochromatic
    disabled_by_default: true
    output: button_led1
    default_transition_length: 500ms

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
Copy link
Owner Author

Baldhor commented Oct 15, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant