Ive setup some REST with Roowifi:
- platform: rest
resource: !secret roomba_resource
authentication: basic
username: !secret roomba_username
password: !secret roomba_password
name: Roomba Status
value_template: >
{%- if value_json.response.r16.value < '-1' and value_json.response.r14.value == '0' or value_json.response.r14.value == '4' -%}
Cleaning
{%- elif value_json.response.r16.value > '-1' and (value_json.response.r14.value == '2' or value_json.response.r14.value == '1' or value_json.response.r14.value == '3' or value_json.response.r14.value == '2') -%}
Docked
{% else %}
Unknown
{%- endif -%}
- platform: rest
resource: !secret roomba_resource
authentication: basic
username: !secret roomba_username
password: !secret roomba_password
name: Roomba Charging State
value_template: >
{%- if value_json.response.r14.value == '0' -%}
Not charging
{%- elif value_json.response.r14.value == '1' -%}
Charging Recovery
{%- elif value_json.response.r14.value == '2' -%}
Charging
{%- elif value_json.response.r14.value == '3' -%}
Trickle Charging
{%- elif value_json.response.r14.value == '4' -%}
Waiting
{%- elif value_json.response.r14.value == '5' -%}
Charging Error
{% else %}
N/A
{%- endif -%}
- platform: rest
resource: !secret roomba_resource
authentication: basic
username: !secret roomba_username
password: !secret roomba_password
name: Roomba Current
value_template: "{{ value_json.response.r16.value }}"
unit_of_measurement: mA
- platform: rest
resource: !secret roomba_resource
authentication: basic
username: !secret roomba_username
password: !secret roomba_password
name: Roomba Charge
value_template: "{{ value_json.response.r18.value }}"
unit_of_measurement: mAh
- platform: rest
resource: !secret roomba_resource
authentication: basic
username: !secret roomba_username
password: !secret roomba_password
name: Roomba Capacity
value_template: "{{ value_json.response.r19.value }}"
unit_of_measurement: mAh
- platform: rest
resource: !secret roomba_resource
authentication: basic
username: !secret roomba_username
password: !secret roomba_password
name: Roomba Temperature
value_template: "{{ value_json.response.r17.value }}"
unit_of_measurement: C
- platform: rest
resource: !secret roomba_resource
authentication: basic
username: !secret roomba_username
password: !secret roomba_password
name: Roomba Charge Percent
value_template: "{{ (float(value_json.response.r18.value) / float(value_json.response.r19.value)) | multiply(100) | round(1) }}"
unit_of_measurement: '%'