Roborock S50 zone cleaning with google assistant and webhooks integration

Hi,

So I’ve finally managed to get make a script to start the Roborock s50 vacuum to clean specific zones. But now I would like to tell google assitant to clean the kitchen, and the Roborock starts cleaning the kitchen.

Please note I had to use NGINX to get the SSL to work

This is what I have done so far:
configuration.yaml:

#Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

#Uncomment this if you are using SSL/TLS, running in Docker container, etc.
#http:
#base_url: https://My_domain.duckdns.org:8123
#ssl_certificate: /ssl/fullchain.pem
#ssl_key: /ssl/privkey.pem

ifttt:
key: My_ifttt key

#Text to speech
tts:

  • platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

#Stewie
vacuum:

  • platform: xiaomi_miio
    host: 192.168.86.20
    token: My_token
    name: Stewie

input_select:
vacuum_room_select:
name: Choose a room to clean
options:
- Kitchen
- Dining room
- Living room
- Hall
- All

Automations.yaml
trigger:
platform: event
event_type: ifttt_webhook_received
event_data:
action: call_service
action:
service_template: ‘{{ trigger.event.data.service }}’
data_template:
entity_id: ‘{{ trigger.event.data.entity_id }}’

Groups.yaml
vacuum:
name: Vacuum a room
entities:
- input_select.vacuum_room_select
- script.vacuum_room

Scripts.yaml
vacuum_room:
alias: “Start cleaning”
sequence:
- service: script.turn_on
data_template:
entity_id: >
{% if is_state(“input_select.vacuum_room_select”, “Kitchen”) %}
script.vacuum_kitchen
{% elif is_state(“input_select.vacuum_room_select”, “Dining area”) %}
script.vacuum_dining_area
{% elif is_state(“input_select.vacuum_room_select”, “Living room”) %}
script.vacuum_living_room
{% elif is_state(“input_select.vacuum_room_select”, “Hall”) %}
script.vacuum_hall
{% elif is_state(“input_select.vacuum_room_select”, “All”) %}
script.vacuum_all
{% endif %}

vacuum_kitchen:
alias: “Vacuum the kitchen”
sequence:
- service: xiaomi_miio.vacuum_clean_zone
data:
entity_id: vacuum.stewie
zone:
- - 26562
- 32574
- 29512
- 34324
repeats: 1

vacuum_dining_area:
alias: “Vacuum the dining area”
sequence:
- service: xiaomi_miio.vacuum_clean_zone
data:
entity_id: vacuum.stewie
zone:
- - 26180
- 28779
- 29780
- 32379
repeats: 1

vacuum_living_room:
alias: “Vacuum the living room”
sequence:
- service: xiaomi_miio.vacuum_clean_zone
data:
entity_id: vacuum.stewie
zone:
- - 22648
- 25074
- 29298

In IFTTT webhook applet i have the following setup
“What do you want to say: Clean the $” (PS I do not use the " in IFTTT)

Right now I’ve just set the webhook to trigger vacuum the kitchen script, but nothing happens. I don’t even see anything in the hassio log. I’m new to hassio, so not sure if I’m looking in the right logs? :slight_smile: The logs I’ve been looking in is under the developer tools. Has anybody got this to work?