Segway Navimow

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"
3 Likes