Rademacher Homepilot in Home Assistant

Hallo Madib, was bekommst du wenn du im Browser

http://[Homepilot IP]/devices/1

aufrufst?

Da kommt ein internal Server error, error_code 5007

Allerdings bekomme bei …/devices/2 ein JSON Ergebnis:

{"error_description":"OK","error_code":0,"payload":{"device":{"capabilities":[{"name":"CURR_POS_CFG","value":"100","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":1611164772},{"name":"POS_UP_CMD","read_only":false,"timestamp":-1},{"name":"VERSION_CFG","value":"1.5-1","read_only":false,"timestamp":1611164772},{"name":"INC_CMD","read_only":false,"timestamp":-1},{"name":"PROD_CODE_DEVICE_LOC","value":"14234511","read_only":false,"timestamp":-1},{"name":"GOTO_VENTIL_POS_CMD","read_only":false,"timestamp":-1},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1611164772},{"name":"RESET_WO_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"NAME_DEVICE_LOC","value":"Schlafzimmer links","read_only":false,"timestamp":-1},{"name":"PROT_ID_DEVICE_LOC","value":"405bbd_1","read_only":false,"timestamp":-1},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false,"timestamp":-1},{"name":"GOTO_DAWN_POS_CMD","read_only":false,"timestamp":-1},{"name":"VENTIL_POS_MODE_CFG","value":"false","read_only":false,"timestamp":1611164772},{"name":"ICONSET_LOC","value":"iconset15","read_only":false,"timestamp":-1},{"name":"DEVICE_TYPE_LOC","value":"2","read_only":false,"timestamp":-1},{"name":"ICONSET_INV_LOC","value":"false","read_only":false,"timestamp":-1},{"name":"SUN_POS_CFG","value":"50","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":1611164772},{"name":"RMT_STOP_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"VOICE_CONTROLLED_LOC","value":"","read_only":false,"timestamp":-1},{"name":"DUSK_AUTO_CFG","value":"true","read_only":false,"timestamp":1611164772},{"name":"REQ_STATUS_CMD","read_only":false,"timestamp":-1},{"name":"AUTO_MODE_CFG","value":"true","read_only":false,"timestamp":1611164772},{"name":"VENTIL_POS_CFG","value":"80","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":1611164772},{"name":"DAWN_AUTO_CFG","value":"false","read_only":false,"timestamp":1611164772},{"name":"RESET_FULL_CMD","read_only":false,"timestamp":-1},{"name":"PUSH_CMD","read_only":false,"timestamp":-1},{"name":"PAIRING_CONFIRMED_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"ID_DEVICE_LOC","value":"2","read_only":false,"timestamp":-1},{"name":"PROTOCOL_ID_CFG","value":"405bbd","read_only":false,"timestamp":-1},{"name":"RMT_START_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"SUN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611164772},{"name":"GOTO_DUSK_POS_CMD","read_only":false,"timestamp":-1},{"name":"GOTO_POS_CMD","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":-1},{"name":"SUN_START_CMD","read_only":false,"timestamp":-1},{"name":"SUN_STOP_CMD","read_only":false,"timestamp":-1},{"name":"SUN_AUTO_CFG","value":"false","read_only":false,"timestamp":1611164772},{"name":"STOP_CMD","value":"false","read_only":false,"timestamp":-1},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"OBSTACLE_DET_EVT","value":"false","read_only":true,"timestamp":1611164772},{"name":"RMT_START_UNPAIR_CMD","read_only":false,"timestamp":-1},{"name":"BLOCK_DET_EVT","value":"false","read_only":true,"timestamp":1611164772},{"name":"POS_DOWN_CMD","read_only":false,"timestamp":-1},{"name":"DESCR_DEVICE_LOC","value":"Ihre Gerätebeschreibung","read_only":false,"timestamp":-1},{"name":"TIME_AUTO_CFG","value":"false","read_only":false,"timestamp":1611164772},{"name":"PING_CMD","read_only":false,"timestamp":-1},{"name":"DEC_CMD","read_only":false,"timestamp":-1}],"scenes":[{"id":8001,"name":"Abend","description":"Ihre Beschreibung"}]}}}

Das sieht gut aus, es scheint, als hättest du irgendwo die falschen Device IDs, oder Rademacher hat die Anzeige davon geändert.
Wenn du die Datei im Browser aufmachst, siehst du unter der Nummer 8 den Namen des Rollladens.
Versuche also die Integration ab ID 2. Die Nummern werden vermutlich dennoch aufsteigend sein.
Das kannst du unter http://homepilot/devices überprüfen, hier findest du eine Liste der Geräte.

Was mich hier verwirrt:
unter devices/2 steht:

{"error_description":"OK","error_code":0,"payload":{"device":{"capabilities":[{"name":"CURR_POS_CFG","value":"100","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":1611164772},{"name":"POS_UP_CMD","read_only":false,"timestamp":-1},{"name":"VERSION_CFG","value":"1.5-1","read_only":false,"timestamp":1611164772},{"name":"INC_CMD","read_only":false,"timestamp":-1},{"name":"PROD_CODE_DEVICE_LOC","value":"14234511","read_only":false,"timestamp":-1},{"name":"GOTO_VENTIL_POS_CMD","read_only":false,"timestamp":-1},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1611164772},{"name":"RESET_WO_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"NAME_DEVICE_LOC","value":"Schlafzimmer links","read_only":false,"timestamp":-1},{"name":"PROT_ID_DEVICE_LOC","value":"405bbd_1","read_only":false,"timestamp":-1},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false,"timestamp":-1},{"name":"GOTO_DAWN_POS_CMD","read_only":false,"timestamp":-1},{"name":"VENTIL_POS_MODE_CFG","value":"false","read_only":false,"timestamp":1611164772},{"name":"ICONSET_LOC","value":"iconset15","read_only":false,"timestamp":-1},{"name":"DEVICE_TYPE_LOC","value":"2","read_only":false,"timestamp":-1},{"name":"ICONSET_INV_LOC","value":"false","read_only":false,"timestamp":-1},{"name":"SUN_POS_CFG","value":"50","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":1611164772},{"name":"RMT_STOP_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"VOICE_CONTROLLED_LOC","value":"","read_only":false,"timestamp":-1},{"name":"DUSK_AUTO_CFG","value":"true","read_only":false,"timestamp":1611164772},{"name":"REQ_STATUS_CMD","read_only":false,"timestamp":-1},{"name":"AUTO_MODE_CFG","value":"true","read_only":false,"timestamp":1611164772},{"name":"VENTIL_POS_CFG","value":"80","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":1611164772},{"name":"DAWN_AUTO_CFG","value":"false","read_only":false,"timestamp":1611164772},{"name":"RESET_FULL_CMD","read_only":false,"timestamp":-1},{"name":"PUSH_CMD","read_only":false,"timestamp":-1},{"name":"PAIRING_CONFIRMED_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"ID_DEVICE_LOC","value":"2","read_only":false,"timestamp":-1},{"name":"PROTOCOL_ID_CFG","value":"405bbd","read_only":false,"timestamp":-1},{"name":"RMT_START_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"SUN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611164772},{"name":"GOTO_DUSK_POS_CMD","read_only":false,"timestamp":-1},{"name":"GOTO_POS_CMD","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":-1},{"name":"SUN_START_CMD","read_only":false,"timestamp":-1},{"name":"SUN_STOP_CMD","read_only":false,"timestamp":-1},{"name":"SUN_AUTO_CFG","value":"false","read_only":false,"timestamp":1611164772},{"name":"STOP_CMD","value":"false","read_only":false,"timestamp":-1},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"OBSTACLE_DET_EVT","value":"false","read_only":true,"timestamp":1611164772},{"name":"RMT_START_UNPAIR_CMD","read_only":false,"timestamp":-1},{"name":"BLOCK_DET_EVT","value":"false","read_only":true,"timestamp":1611164772},{"name":"POS_DOWN_CMD","read_only":false,"timestamp":-1},{"name":"DESCR_DEVICE_LOC","value":"Ihre Gerätebeschreibung","read_only":false,"timestamp":-1},{"name":"TIME_AUTO_CFG","value":"false","read_only":false,"timestamp":1611164772},{"name":"PING_CMD","read_only":false,"timestamp":-1},{"name":"DEC_CMD","read_only":false,"timestamp":-1}],"scenes":[{"id":8001,"name":"Abend","description":"Ihre Beschreibung"}]}}}

-> also Schlafzimmer_links

unter devices ist die device/2 aber als Wohnzimmer_links bezeichnet (kann stimmen, sind beide elektrisch)

{"error_description":"OK","error_code":0,"payload":{"devices":[{"capabilities":[{"name":"CURR_POS_CFG","value":"100","min_value":"0","max_value":"100","step_size":"1","read_only":false},{"name":"PROD_CODE_DEVICE_LOC","value":"14234511","read_only":false},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1611164772},{"name":"NAME_DEVICE_LOC","value":"Schlafzimmer links","read_only":false},{"name":"PROT_ID_DEVICE_LOC","value":"405bbd_1","read_only":false},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false},{"name":"ICONSET_LOC","value":"iconset15","read_only":false},{"name":"DEVICE_TYPE_LOC","value":"2","read_only":false},{"name":"ICONSET_INV_LOC","value":"false","read_only":false},{"name":"VOICE_CONTROLLED_LOC","value":"","read_only":false},{"name":"DUSK_AUTO_CFG","value":"true","read_only":false},{"name":"AUTO_MODE_CFG","value":"true","read_only":false},{"name":"DAWN_AUTO_CFG","value":"false","read_only":false},{"name":"ID_DEVICE_LOC","value":"2","read_only":false},{"name":"SUN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611164772},{"name":"SUN_AUTO_CFG","value":"false","read_only":false},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false},{"name":"OBSTACLE_DET_EVT","value":"false","read_only":true,"timestamp":1611164772},{"name":"BLOCK_DET_EVT","value":"false","read_only":true,"timestamp":1611164772},{"name":"DESCR_DEVICE_LOC","value":"Ihre Gerätebeschreibung","read_only":false},{"name":"TIME_AUTO_CFG","value":"false","read_only":false}]},{"capabilities":[{"name":"CURR_POS_CFG","value":"100","min_value":"0","max_value":"100","step_size":"1","read_only":false},{"name":"PROD_CODE_DEVICE_LOC","value":"14234511","read_only":false},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1611164745},{"name":"NAME_DEVICE_LOC","value":"Schlafzimmer rechts","read_only":false},{"name":"PROT_ID_DEVICE_LOC","value":"405b5b_1","read_only":false},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false},{"name":"ICONSET_LOC","value":"iconset15","read_only":false},{"name":"DEVICE_TYPE_LOC","value":"2","read_only":false},{"name":"ICONSET_INV_LOC","value":"false","read_only":false},{"name":"VOICE_CONTROLLED_LOC","value":"","read_only":false},{"name":"DUSK_AUTO_CFG","value":"true","read_only":false},{"name":"AUTO_MODE_CFG","value":"true","read_only":false},{"name":"DAWN_AUTO_CFG","value":"false","read_only":false},{"name":"ID_DEVICE_LOC","value":"3","read_only":false},{"name":"SUN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611164745},{"name":"SUN_AUTO_CFG","value":"false","read_only":false},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false},{"name":"OBSTACLE_DET_EVT","value":"false","read_only":true,"timestamp":1611164745},{"name":"BLOCK_DET_EVT","value":"false","read_only":true,"timestamp":1611164745},{"name":"DESCR_DEVICE_LOC","value":"Ihre Gerätebeschreibung","read_only":false},{"name":"TIME_AUTO_CFG","value":"false","read_only":false}]},{"capabilities":[{"name":"PROD_CODE_DEVICE_LOC","value":"27601565","read_only":false},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1611159929},{"name":"NAME_DEVICE_LOC","value":"Wohnzimmer links","read_only":false},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false},{"name":"WIND_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611159929},{"name":"AUTO_MODE_CFG","value":"true","read_only":false},{"name":"DAWN_AUTO_CFG","value":"true","read_only":false},{"name":"ID_DEVICE_LOC","value":"4","read_only":false},{"name":"SUN_AUTO_CFG","value":"false","read_only":false},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false},{"name":"WIND_AUTO_CFG","value":"false","read_only":false},{"name":"OBSTACLE_DET_EVT","value":"false","read_only":true,"timestamp":1611159929},{"name":"BLOCK_DET_EVT","value":"false","read_only":true,"timestamp":1611159929},{"name":"DESCR_DEVICE_LOC","value":"Ihre Gerätebeschreibung","read_only":false},{"name":"CURR_POS_CFG","value":"100","min_value":"0","max_value":"100","step_size":"1","read_only":false},{"name":"PROT_ID_DEVICE_LOC","value":"49a5a7_1","read_only":false},{"name":"ICONSET_LOC","value":"iconset15","read_only":false},{"name":"DEVICE_TYPE_LOC","value":"2","read_only":false},{"name":"ICONSET_INV_LOC","value":"false","read_only":false},{"name":"VOICE_CONTROLLED_LOC","value":"","read_only":false},{"name":"DUSK_AUTO_CFG","value":"true","read_only":false},{"name":"SUN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611159929},{"name":"RAIN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611159929},{"name":"RAIN_AUTO_CFG","value":"false","read_only":false},{"name":"TIME_AUTO_CFG","value":"true","read_only":false}]},{"capabilities":[{"name":"PROD_CODE_DEVICE_LOC","value":"27601565","read_only":false},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1611164723},{"name":"NAME_DEVICE_LOC","value":"Wohnzimmer mitte","read_only":false},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false},{"name":"WIND_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611164723},{"name":"AUTO_MODE_CFG","value":"false","read_only":false},{"name":"DAWN_AUTO_CFG","value":"false","read_only":false},{"name":"ID_DEVICE_LOC","value":"5","read_only":false},{"name":"SUN_AUTO_CFG","value":"false","read_only":false},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false},{"name":"WIND_AUTO_CFG","value":"false","read_only":false},{"name":"OBSTACLE_DET_EVT","value":"false","read_only":true,"timestamp":1611164723},{"name":"BLOCK_DET_EVT","value":"false","read_only":true,"timestamp":1611164723},{"name":"DESCR_DEVICE_LOC","value":"Ihre Gerätebeschreibung","read_only":false},{"name":"CURR_POS_CFG","value":"0","min_value":"0","max_value":"100","step_size":"1","read_only":false},{"name":"PROT_ID_DEVICE_LOC","value":"49a22a_1","read_only":false},{"name":"ICONSET_LOC","value":"iconset15","read_only":false},{"name":"DEVICE_TYPE_LOC","value":"2","read_only":false},{"name":"ICONSET_INV_LOC","value":"false","read_only":false},{"name":"VOICE_CONTROLLED_LOC","value":"","read_only":false},{"name":"DUSK_AUTO_CFG","value":"false","read_only":false},{"name":"SUN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611164723},{"name":"RAIN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611164723},{"name":"RAIN_AUTO_CFG","value":"false","read_only":false},{"name":"TIME_AUTO_CFG","value":"false","read_only":false}]},{"capabilities":[{"name":"PROD_CODE_DEVICE_LOC","value":"27601565","read_only":false},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1611159931},{"name":"NAME_DEVICE_LOC","value":"Wohnzimmer rechts","read_only":false},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false},{"name":"WIND_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611159931},{"name":"AUTO_MODE_CFG","value":"true","read_only":false},{"name":"DAWN_AUTO_CFG","value":"true","read_only":false},{"name":"ID_DEVICE_LOC","value":"6","read_only":false},{"name":"SUN_AUTO_CFG","value":"false","read_only":false},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false},{"name":"WIND_AUTO_CFG","value":"false","read_only":false},{"name":"OBSTACLE_DET_EVT","value":"false","read_only":true,"timestamp":1611159931},{"name":"BLOCK_DET_EVT","value":"false","read_only":true,"timestamp":1611159931},{"name":"DESCR_DEVICE_LOC","value":"Ihre Gerätebeschreibung","read_only":false},{"name":"CURR_POS_CFG","value":"100","min_value":"0","max_value":"100","step_size":"1","read_only":false},{"name":"PROT_ID_DEVICE_LOC","value":"49a225_1","read_only":false},{"name":"ICONSET_LOC","value":"iconset15","read_only":false},{"name":"DEVICE_TYPE_LOC","value":"2","read_only":false},{"name":"ICONSET_INV_LOC","value":"false","read_only":false},{"name":"VOICE_CONTROLLED_LOC","value":"","read_only":false},{"name":"DUSK_AUTO_CFG","value":"true","read_only":false},{"name":"SUN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611159931},{"name":"RAIN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611159931},{"name":"RAIN_AUTO_CFG","value":"false","read_only":false},{"name":"TIME_AUTO_CFG","value":"true","read_only":false}]},{"capabilities":[{"name":"CURR_POS_CFG","value":"100","min_value":"0","max_value":"100","step_size":"1","read_only":false},{"name":"PROD_CODE_DEVICE_LOC","value":"14234511","read_only":false},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1611159923},{"name":"NAME_DEVICE_LOC","value":"Rollo Henri","read_only":false},{"name":"PROT_ID_DEVICE_LOC","value":"4059b7_1","read_only":false},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false},{"name":"ICONSET_LOC","value":"iconset15","read_only":false},{"name":"DEVICE_TYPE_LOC","value":"2","read_only":false},{"name":"ICONSET_INV_LOC","value":"false","read_only":false},{"name":"VOICE_CONTROLLED_LOC","value":"","read_only":false},{"name":"DUSK_AUTO_CFG","value":"true","read_only":false},{"name":"AUTO_MODE_CFG","value":"true","read_only":false},{"name":"DAWN_AUTO_CFG","value":"false","read_only":false},{"name":"ID_DEVICE_LOC","value":"8","read_only":false},{"name":"SUN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611159923},{"name":"SUN_AUTO_CFG","value":"false","read_only":false},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false},{"name":"OBSTACLE_DET_EVT","value":"false","read_only":true,"timestamp":1611159923},{"name":"BLOCK_DET_EVT","value":"false","read_only":true,"timestamp":1611159923},{"name":"DESCR_DEVICE_LOC","value":"Ihre Gerätebeschreibung","read_only":false},{"name":"TIME_AUTO_CFG","value":"false","read_only":false}]},{"capabilities":[{"name":"CURR_POS_CFG","value":"100","min_value":"0","max_value":"100","step_size":"1","read_only":false},{"name":"PROD_CODE_DEVICE_LOC","value":"14234511","read_only":false},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1611164849},{"name":"NAME_DEVICE_LOC","value":"Rollo Oskar","read_only":false},{"name":"PROT_ID_DEVICE_LOC","value":"408ca0_1","read_only":false},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false},{"name":"ICONSET_LOC","value":"iconset15","read_only":false},{"name":"DEVICE_TYPE_LOC","value":"2","read_only":false},{"name":"ICONSET_INV_LOC","value":"false","read_only":false},{"name":"VOICE_CONTROLLED_LOC","value":"","read_only":false},{"name":"DUSK_AUTO_CFG","value":"true","read_only":false},{"name":"AUTO_MODE_CFG","value":"true","read_only":false},{"name":"DAWN_AUTO_CFG","value":"false","read_only":false},{"name":"ID_DEVICE_LOC","value":"9","read_only":false},{"name":"SUN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1611164849},{"name":"SUN_AUTO_CFG","value":"false","read_only":false},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false},{"name":"OBSTACLE_DET_EVT","value":"false","read_only":true,"timestamp":1611164849},{"name":"BLOCK_DET_EVT","value":"false","read_only":true,"timestamp":1611164849},{"name":"DESCR_DEVICE_LOC","value":"Ihre Gerätebeschreibung","read_only":false},{"name":"TIME_AUTO_CFG","value":"false","read_only":false}]}]}}

So sieht meine sensor.yaml aus:

- platform: rest
  name: "Schlafzimmer Links"
  resource: "http://192.168.188.51/devices/2"
  value_template: >-
    {% for item in value_json.payload.device.capabilities %}
      {%- if item.name == "CURR_POS_CFG" -%}
        {{ 100 - float(item.value) }}
      {%- endif -%}
    {% endfor %}
  scan_interval: 20
- platform: rest
  name: "Wohnzimmer Links"
  resource: "http://192.168.188.51/devices/4"
  value_template: '{{ 100 - float(value_json["payload"]["device"]["capabilities"][32]["value"]) }}'
  scan_interval: 20

Hab bei mir nochmal nachgeschaut, schau dir mal für jeden Eintrag bei /devices den Schlüssel ID_DEVICE_LOC an, das ist die verwendete ID :slightly_smiling_face:

Dank des Codes von michelde kannst du den oberen Teil deiner sensor.yaml für alle verwenden (das value_template meine ich).
Bei Updates des Homepilots kann sich die Position der CURR_POS_CFG ändern.

Ich habe den oberen value_template für beide eingesetzt, bekomme aber trotzdem immer den status “open” - für beide Rolläden.

Gibt es Fehlermeldungen im Log?
Was ist der state (Developer Tools - State) des Sensors?

Developer-Tools State (für beide gleich):
riendly_name: Jalousie Schlafzimmer links
supported_features: 15
device_class: shutter
State: open
(beide sind aktuell geschlossen)

Im Core Log habe ich das hier:
2021-01-20 20:52:50 ERROR (MainThread) [homeassistant.components.template.cover] could not convert string to float: ‘unknown’

Okay, wie ist der State des Sensors?
Falls “unknown” oder “unavailable” - Kannst du die Rollos denn steuern?

  • Falls nein - checke deine Firewall im Router / Netzwerkeinstellungen im Homepilot.
  • Falls ja - versuch’s mal hiermit für deine sensoren:
  value_template: '{{ 100 - float(value_json["payload"]["device"]["capabilities"][0]["value"]) }}'

Falls das keine Abhilfe bringt, stelle sicher, dass du Home Assistant nach der Änderung von sensor.yaml neustartest und sensor: !include sensor.yaml in deiner configuration.yaml enthalten ist.

Ich hatte tatsächlich die sensors nicht in der configuration.yaml eingetragen :see_no_evil:

Habe es eingetragen und neu gestartet, hat nicht so viel gebracht.Steuern geht immer noch nicht (nur schließen und stop)

Allerdings habe ich jetzt 2 Sensoren
sensor.schlafzimmer_links
sonsor.wohnzimmer_links

beide haben den Wert 0.0

Na das ist ja schon mal was :smiley:
Jetzt müsste es auch interessantere Fehler im Log geben - oder?

hmmm. sowas hier:

File "/usr/local/lib/python3.8/site-packages/urllib3/util/connection.py", line 96, in create_connection
    raise err
  File "/usr/local/lib/python3.8/site-packages/urllib3/util/connection.py", line 86, in create_connection
    sock.connect(sa)
OSError: [Errno 113] Host is unreachable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 234, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "/usr/local/lib/python3.8/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.8/http/client.py", line 950, in send
    self.connect()
  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 200, in connect
    conn = self._new_conn()
  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 181, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f5b6272a970>: Failed to establish a new connection: [Errno 113] Host is unreachable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 573, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='192.168.188.63', port=80): Max retries exceeded with url: /login_sid.lua (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5b6272a970>: Failed to establish a new connection: [Errno 113] Host is unreachable'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 236, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/fritzbox/__init__.py", line 79, in async_setup_entry
    await hass.async_add_executor_job(fritz.login)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.8/site-packages/pyfritzhome/fritzhome.py", line 111, in login
    (sid, challenge) = self._login_request()
  File "/usr/local/lib/python3.8/site-packages/pyfritzhome/fritzhome.py", line 62, in _login_request
    plain = self._request(url, params)
  File "/usr/local/lib/python3.8/site-packages/pyfritzhome/fritzhome.py", line 49, in _request
    rsp = self._session.get(url, params=params, timeout=timeout)
  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.188.63', port=80): Max retries exceeded with url: /login_sid.lua (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5b6272a970>: Failed to establish a new connection: [Errno 113] Host is unreachable'))

Im Core Log. Oder meinst du noch etwas anderes?

Hm, ne, das sind nur Fritz!Box Fehlermeldungen.
Bewege mal ein Rollo per Hand / Rademacher UI auf 50% und scnau mal ob sich einer der Werte verändert…

habe auf 74 % gestellt.

Der sensor.wohnzimmer_links zeigt jetzt 26.0

Super, die Sensoren funktionieren also :slight_smile:
Jetzt müssen die nur noch mit den covers verknüpft werden.
Überprüfe das position_template deiner Rolläden, und trage dort die korrekten Sensorennamen ein.

Funktioniert!!!

“# make sure to use the correct sensor name here” war für mich einfach nicht eindeutig genug :laughing:

Hatte die falschen Sensornamen eingetragen.

Oh man, vielen Dank! Hätte ich ohne deine Hilfe niemals hinbekommen!

1 Like

Awsome work here!!!

I totally love that example with the cover template. I somehow did not dare to touch such by myself w/o example. I learned a lot as well about the rest calls in HA.

Thanks!

However, I was not happy with the way how the status is polled from home pilot. Two issues:
• Every device calles every 20 sec to HomePilot. That is… inefficient. Yes, I’m aware that I am probably unable to actually measure a negative effect, but still…
• The 20 Sec Delay. Since the coverys disable “UP” while in the uppermost position, a short “down” “ stop” while accidentally moving the wrong one leaves you waiting until the up button gets reenabled.

So, I tried to make a different solution in NodeRed. Basically under “Config/Helpers” I defined an input_number for each blind and used this input_number instead of the sensor in the example above.
NodeRed now polls HomePilot and updates all input_numbers at once. My flow started quite simple and ended like that:


Basically, after a button of the cover template gets hit or every 5 Minutes HomePilot gets polled, reads all devices and fills the appropriate values to the matching inputNumbers.
In order to get the button presses I listen to all call_service events
image
And filter only the rest commands, which are up/down/stop&set

5 Delay in different times and one limiter, to avoid to many polls when several buttons are clicked.I limit the events, since clicking around for some times (9* down for me) would otherwise create a flood of events, contradicting my initial goal

The http Request reads all devices at once


URL is http://[YourHomePilotIP]/v4/devices
And now, per item the correct position is updated to the input number:

The magic String here is:
{ “value” : 100-payload.devices[did=10010].statusesMap.Position }

For me it works so far great…

1 Like

Hey Michael,

great solution! Yes, I thought about doing sth. similar.
You could also set up a simple automation that triggers on a *cover* event and calls homeassistant.update_entity with a delay of 1s in a loop x10 for example.
I just haven’t found the need since 99% of the time covers get moved automatically anyway.
Of course it would be best if Rademacher would finally document their API, maybe there would be sth. we can subscribe to to check for the current cover position.
And I 100% agree with you, polling the hub 3x every minute is very inefficient. However the requests are quite small and the Homepilot is pretty powerful (enough for Kodi in the last firmware version), so it can handle that very easily.
If I remember correctly, there is no “live tracking” of the cover position:

  • When you press a button on the device, it sends out the target state (i.e. you press on “close”, homepilot will show the cover as “closed” immediately)
  • Even if you set the position to let’s say 11 in the Homepilot UI and then stop it mid travel, the position will only get updated after a few seconds. Do you get the actual state of the cover at all times with the API?

I might reach out to them and ask for more information on their API, but I don’t think they’d even respond.

Another thing to watch out for is that HomePilot has a SSH server (and more) running on it(port 22 is open). So maybe if we could get into it somehow, we could listen to radio messages and publish that to Home Assistant.
But that’s just dreaming at this point. I’ve run some cracking attacks against it, no results so far however.

Well yes, the update comes ± imediately - to the target state. But that is ok, since i can almost immediately go back again, if i have clicked it by mistake. So it it ok not to be “live”.

The cool part of NodeRed was for me the update after 0.5/5/10/20/40 seconds, so i always get ab update before the next 5 minutes timer, if i press a button. But i will not get more then one update every 4 seconds, so no request flooding. No clue how to do it with normal yamml scripts…

Regarding the question, if there is something to subscribe: The Web ui by itself is obviously polling every 5 seconds, so i doubt something like that exists…