Skip to content
Snippets Groups Projects
Select Git revision
  • 9963f24159207a735eefd74749b21c284265a608
  • main default protected
  • growscreen
3 results

fan_power.yaml

Blame
  • fan_power.yaml 886 B
    esphome:
      on_boot:
        priority: -200
        then:
          - wait_until:
              wifi.connected:
          - lambda: |-
              id(fan_power_state).execute();
    
    switch:
      - platform: template
        id: power_fan
        name: "Fan: Power"
        optimistic: true
        turn_on_action:
          - http_request.post: http://${hostname_fan}/switch/power/turn_on
        turn_off_action:
          - http_request.post: http://${hostname_fan}/switch/power/turn_off
    
    script:
      - id: fan_power_state
        then: 
          - http_request.get:
              url: "http://${hostname_fan}/switch/power"
              on_response:
                then:
                  - lambda: |-
                      json::parse_json(id(http_request_data).get_string(), [](JsonObject root) {
                        id(power_fan).publish_state(root["value"]);
                      });
    
    prometheus:
      relabel:
        power_fan:
          id: power_fan
          name: "Power Fan"