Sure @djfanatix ! Here it is. Nothing particularly fancy, except for the hack to launch the mobile app with a single tap:
type: grid
cards:
- type: heading
icon: ""
heading_style: subtitle
badges:
- type: entity
show_state: true
show_icon: true
entity: binary_sensor.constant_true
state_content: name
name: Click to open the Navimow app
tap_action:
action: perform-action
perform_action: script.launch_mobile_app
target: {}
data:
app_package_name: com.segway.mower
icon: mdi:chevron-right
- type: heading
icon: mdi:robot-mower
heading: Navimow i105E
heading_style: title
badges:
- type: entity
show_state: true
show_icon: true
entity: sensor.navimow_i105_status
tap_action:
action: more-info
state_content:
- state
- last_changed
icon: mdi:information-outline
- type: entity
show_state: true
show_icon: true
entity: sensor.navimow_i105_battery_level
color: state
tap_action:
action: more-info
- type: tile
features_position: bottom
vertical: false
entity: automation.navimow_i105_get_status
tap_action:
action: perform-action
perform_action: automation.trigger
target:
entity_id: automation.navimow_i105_get_status
data:
skip_condition: true
icon_tap_action:
action: perform-action
perform_action: automation.trigger
target:
entity_id: automation.navimow_i105_get_status
data:
skip_condition: true
icon: mdi:refresh
grid_options:
columns: full
name: Latest update (tap to refresh)
hide_state: false
state_content: last_triggered
color: primary
- show_name: true
show_icon: true
type: button
tap_action:
action: perform-action
perform_action: script.navimow_i105_send_command
target: {}
data:
command: start Navimow i105
entity: binary_sensor.constant_false
icon: mdi:robot-mower
name: Start
- show_name: true
show_icon: true
type: button
tap_action:
action: perform-action
perform_action: script.navimow_i105_send_command
target: {}
data:
command: dock Navimow i105
entity: binary_sensor.constant_false
icon: mdi:home-import-outline
name: Dock
- show_name: true
show_icon: true
type: button
tap_action:
action: perform-action
perform_action: script.navimow_i105_send_command
target: {}
data:
command: pause Navimow i105
entity: binary_sensor.constant_false
icon: mdi:pause
name: Pause
- show_name: true
show_icon: true
type: button
tap_action:
action: perform-action
perform_action: script.navimow_i105_send_command
target: {}
data:
command: resume Navimow i105
entity: binary_sensor.constant_false
icon: mdi:play
name: Resume
And the script (navimow_i105_send_command) simply sends the command and forces a state refresh shortly after (to mitigate the fact that we normally only refresh the state every 5 minutes):
sequence:
- action: google_assistant_sdk_custom.send_text_command
metadata: {}
data:
command: "{{ command }}"
- delay:
hours: 0
minutes: 0
seconds: 1
milliseconds: 0
- action: automation.trigger
metadata: {}
data:
skip_condition: true
target:
entity_id: automation.navimow_i105_get_status
alias: Navimow i105 - Send command
description: ""
mode: restart
fields:
command:
selector:
text: null
name: command
description: Command
required: true
Edit 2025-04-24: and here’s the definition for the “constant_true” / “constant_false” template binary sensors. They act as simple placeholders that help make a button’s icon appear constantly “on” (yellow) or “off” (blue):
template:
(...)
- binary_sensor:
- name: "Constant: True"
unique_id: constant_true
state: "on"
- name: "Constant: False"
unique_id: constant_false
state: "off"