Ich versuche für meinen Roborck S5Max eine Vacuum Card und “dahinter” ein Skript zu integrieren um dann die Räume zu saugen.
Im Skript habe ich das Feld “raume” definiert dieses Feld kann entweder einen einzelnen Raum oder mehrere Räume enthalten (zumindest das die Idee). Der Raum wird als Zahl übergeben. Im Skript will ich dann prüfen ob ich einen Raum oder mehrere übergeben habe. Aber daran scheitere ich schon, ich bekomme die folgende Fehlermeldung: “Fehler: UndefinedError: ‘int object’ has no attribute ‘split’” Ich bekomme es also nicht hin die Zahl des Raums als Area von Strings zu parsen und dann die Länge zu prüfen. Kann mir hier jemand helfen? Ach ja ich habe versucht ChatGPT zum erstellen des Skripts zu verwenden aber das klappt nur bedingt wie man sieht.
Skript:
alias: Sauge und Wische Erdgeschoss Räume
fields:
raume:
selector:
text:
multiple: true
name: Räume
description: Die Räume die gesaugt werden sollen
required: true
sequence:
- variables:
raume_liste: "{{ raume | string() }}"
raume_anzahl: "{{ raume_liste.split(',') | length }}"
- action: vacuum.set_fan_speed
metadata: {}
data:
fan_speed: balanced
target:
device_id: e2a67c09d8cd944dd57dcfe8cb616fe0
- choose:
- conditions:
- condition: template
value_template: "{{ raume_anzahl == 1 }}"
sequence:
- action: vacuum.send_command
metadata: {}
data:
command: app_segment_clean
params: "{{ raume }}"
target:
device_id: e2a67c09d8cd944dd57dcfe8cb616fe0
- conditions:
- condition: template
value_template: "{{ raume_anzahl > 1 }}"
sequence:
- action: vacuum.send_command
metadata: {}
data:
command: app_segment_clean
params:
segments: |
{% for raum in raume_liste.split(',') %}
- {{ raum.strip() }}
{% endfor %}
target:
device_id: e2a67c09d8cd944dd57dcfe8cb616fe0
description: Sauge die einzelnen Räume im Erdgeschoss
icon: phu:roborock
In der Vacuum Card bin ich auch nicht sicher wie ich die mehreren Räume richtig übergeben bekomme (service_data: raume: (“16”, “18”))?
Vacuum Card:
type: custom:vacuum-card
entity: vacuum.roborock_s5_max
map: image.roborock_s5_max_eg
map_refresh: 5
shortcuts:
- name: Sauge Wohnzimmer
service: script.sauge_und_wische_erdgeschoss_raume
service_data:
raume: "17"
icon: mdi:sofa
- name: Sauge Küche und Esszimmer
service: script.sauge_und_wische_erdgeschoss_raume
service_data:
raume: ("16", "18")
sub_titel: Küche
icon: mdi:silverware-fork-knife