Home Assistant Template und Sensor für Switchbot Curtain

Der Switchbot Curtain ist eines der beliebtesten Produkte aus dem Hause des Smarthome Anbieters. In meinem Youtube Video habe ich die das neue Modell vorgestellt und gezeigt, wie es in Home Assistant integriert werden kann. Anschließend habe ich viele Anfragen bekommen, wie sich das Gerät vollständig in Home Assistant abbilden lässt. Daher möchte ich hier meine YAML Konfiguration mit dir teilen.

Falls du deine Switchbot Geräte komplett lokal steuern und dazu noch auf die YAMl Konfiguration verzichten möchtest empfehle ich dir auch sehr mein Video zur Swichtbot Integration per ESP32 mittels Bluetooth Low Energy und MQTT.

Eine Übersicht aller bisherigen Switchbot Artikel findest du hier.

Nun aber zum Home Assistant Template und den Sensoren. In Summe sind es 3 Code Schnipsel, die du benötigst

REST API Sensor

rest_command:
  switchbot_device_command:
    url: "https://api.switch-bot.com/v1.0/devices/{{ deviceId }}/commands"
    method: post
    content_type: "application/json"
    headers:
      Authorization: !secret switchbot_api
    payload: '{"command": "{{ command }}","parameter": "{{ parameter }}"}'

Switchbot Cover Sensor

sensor:
  - platform: rest
    name: 'curtain links'
    resource: !secret switchbot_Vorhang_links_status_url
    method: GET
    scan_interval: 300
    headers:
      Authorization: !secret switchbot_api
      Content-Type: 'application/json'
    value_template: >
      {% if value_json.body.slidePosition > 95 %} 0
      {% elif value_json.body.slidePosition < 5 %} 100
      {% else %} {{100-value_json.body.slidePosition}}
      {% endif %}
    json_attributes_path: "$.body"
    json_attributes:
      - deviceId
      - deviceType
      - hubDeviceId
      - calibrate
      - group
      - moving
      - slidePosition

Home Assistant Template für Cover

cover:
  - platform: template
    covers:
      curtain_links:
        device_class: curtain
        friendly_name: "Vorhang Links"
        unique_id: curtain_left
        position_template: "{{states('sensor.curtain_links')}}"
        open_cover:
          service: rest_command.switchbot_device_command
          data:
            deviceId: !secret switchbot_Vorhang_links_deviceId
            command: "turnOn"
        close_cover:
          service: rest_command.switchbot_device_command
          data:
            deviceId: !secret switchbot_Vorhang_links_deviceId
            command: "turnOff"
        set_cover_position:
          service: rest_command.switchbot_device_command
          data:
            deviceId: !secret switchbot_Vorhang_links_deviceId
            command: "setPosition"
            parameter: "0,ff,{{100-position}}"

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.