Closed jone9618 closed 2 years ago
Copy these lines from your Lovelace:
- type: custom:fold-entity-row
head:
type: section
label: Automatisierungen
entities:
- entity: automation.mower_notify_error
- entity: automation.mower_notify_status
- entity: automation.mower_sync_values
and past here
These are the lines from my lovelace:
- type: custom:fold-entity-row
head:
type: section
label: Automations
entities:
- entity: automation.mower_notify_error
- entity: automation.mower_notify_status
- entity: automation.mower_sync_values
I checked package again andI cannot confirm the error. Could you post your landroid.yaml, landroid_en.yaml and lovelace card?
I have the same problem, was there any root-cause know? Many thanks for your hard work!
Change aliases to
- id: mower_notify_status
alias: Mower Notify Status
and
- id: mower_notify_error
alias: Mower Notify Error
automation:
- id: mower_notify_status
alias: Mower Notify Status
initial_state: false
trigger:
- platform: state
entity_id: sensor.landroid_mower_status
condition:
- condition: template
value_template: "{{ trigger.to_state.state != trigger.from_state.state }}"
action:
- service: persistent_notification.create
data:
title: 🏎️ Lanroid M500
message: "{{ trigger.from_state.state }} -> {{ trigger.to_state.state }} - {{ states('sensor.date_time') }}"
- id: mower_notify_error
alias: Mower Notify Error
initial_state: true
trigger:
- platform: state
entity_id: sensor.landroid_mower_error
condition:
- condition: template
value_template: "{{ trigger.to_state.state != trigger.from_state.state }}"
action:
- service: persistent_notification.create
data:
title: 🏎️ Lanroid M500
message: "{{ trigger.from_state.state }} -> {{ trigger.to_state.state }} - {{ states('sensor.date_time') }}"
Hello
I’m sorry it has taken me so long to respond. This is still not working. Here are the three files (I have amended the Landroid.yaml file as you suggested om 13.12.21, but with no success.
Landroid.yaml: ´´´
landroid_cloud: email: !secret mower_mail password: !secret mower_pass
recorder: exclude: entities:
#- swith.mower_mowing
#- swith.mower_home
#- swith.mower_edgecut
#- swith.mower_partymode
#- swith.mower_lock
# Sensors ###############
- sensor.mower_ip
#- sensor.mower_bladetime
#- sensor.mower_current bladetime
#- sensor.mower_totaltime
#- sensor.mower_distance
#- sensor.mower_lastupdate
#- sensor.mower_wifi
#- sensor.mower_yaw
#- sensor.mower_roll
#- sensor.mower_pitch
# Input selects #########
- input_select.mower_zone
# Input numbers #########
- input_number.mower_raindelay
- input_number.mower_timeextension
- input_number.mower_zone0_distance
- input_number.mower_zone1_distance
- input_number.mower_zone2_distance
- input_number.mower_zone3_distance
- input_number.mower_zone0_probability
- input_number.mower_zone1_probability
- input_number.mower_zone2_probability
- input_number.mower_zone3_probability
# Input booleans ########
- input_boolean.mower_sched_settings
- input_boolean.mower_info_toggle
- input_boolean.mower_zone_enable
- input_boolean.mower_view_config
- input_boolean.mower_view_setzones
# Automations ######
- automation.mower_notify_status
- automation.mower_notify_error
- automation.mower_sync_values
- automation.mower_views_switch
# Scripts ##########
- script.mower_set_config
- script.mower_setzone
- script.mower_setzones
- script.mower_views_toggle
logbook: exclude: entities:
#- swith.mower_mowing
#- swith.mower_home
#- swith.mower_edgecut
#- swith.mower_partymode
#- swith.mower_lock
# Sensors ###############
- sensor.mower_ip
#- sensor.mower_bladetime
#- sensor.mower_current bladetime
#- sensor.mower_totaltime
#- sensor.mower_distance
#- sensor.mower_lastupdate
#- sensor.mower_wifi
#- sensor.mower_yaw
#- sensor.mower_roll
#- sensor.mower_pitch
# Input selects #########
- input_select.mower_zone
# Input numbers #########
- input_number.mower_raindelay
- input_number.mower_timeextension
- input_number.mower_zone0_distance
- input_number.mower_zone1_distance
- input_number.mower_zone2_distance
- input_number.mower_zone3_distance
- input_number.mower_zone0_probability
- input_number.mower_zone1_probability
- input_number.mower_zone2_probability
- input_number.mower_zone3_probability
# Input booleans ########
- input_boolean.mower_sched_settings
- input_boolean.mower_info_toggle
- input_boolean.mower_zone_enable
- input_boolean.mower_view_config
- input_boolean.mower_view_setzones
# Automations ######
- automation.mower_notify_status
- automation.mower_notify_error
- automation.mower_sync_values
- automation.mower_views_switch
# Scripts ##########
- script.mower_set_config
- script.mower_setzone
- script.mower_setzones
- script.mower_views_toggle
switch:
platform: template switches: mower_mowing: unique_id: mower_mowing value_template: "{{ is_state_attr('sensor.landroid_mower_status', 'status_id', 7) }}" turn_on: service: landroid_cloud.start data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" turn_off: service: landroid_cloud.pause data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" icon_template: >- {% if is_state_attr('sensor.landroid_mower_status', 'status_id', 2) or is_state_attr('sensor.landroid_mower_status', 'status_id', 3) or is_state_attr('sensor.landroid_mower_status', 'status_id', 4) or is_state_attr('sensor.landroid_mower_status', 'status_id', 5) or is_state_attr('sensor.landroid_mower_status', 'status_id', 6) or is_state_attr('sensor.landroid_mower_status', 'status_id', 7) or is_state_attr('sensor.landroid_mower_status', 'status_id', 30) or is_state_attr('sensor.landroid_mower_status', 'status_id', 32) or is_state_attr('sensor.landroid_mower_status', 'status_id', 33) %} mdi:pause {% else %} mdi:play {% endif %}
mower_home: unique_id: mower_home value_template: >- {{ is_state_attr('sensor.landroid_mower_status', 'status_id', 4) or is_state_attr('sensor.landroid_mower_status', 'status_id', 5) or is_state_attr('sensor.landroid_mower_status', 'status_id', 6) or is_state_attr('sensor.landroid_mower_status', 'status_id', 30) }} turn_on: service: landroid_cloud.home data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" turn_off: service: landroid_cloud.pause data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" icon_template: >- {% if is_state_attr('sensor.landroid_mower_status', 'status_id', 1) %} mdi:home {% else %} mdi:home-import-outline {% endif %}
mower_edgecut: unique_id: mower_edgecut value_template: "{{ is_state_attr('sensor.landroid_mower_status', 'status_id', 32) }}" turn_on: service: landroid_cloud.edgecut data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" turn_off: service: landroid_cloud.pause data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" icon_template: >- {% if is_state_attr('sensor.landroid_mower_status', 'status_id', 32) %} mdi:motion-pause {% else %} mdi:motion-play {% endif %}
# {% if is_state_attr('sensor.landroid_mower_status', 'status_id', 32) %}
# /local/mower/cut-to-edge-on.png
# {% else %}
# /local/mower/cut-to-edge.png
# {% endif %}
mower_partymode: unique_id: mower_partymode value_template: "{{ is_state_attr('sensor.landroid_mower_status', 'partymode_enabled', true) }}" turn_on: service: landroid_cloud.partymode data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" enable: true turn_off: service: landroid_cloud.partymode data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" enable: false icon_template: >- {% if is_state_attr('sensor.landroid_mower_status', 'partymode_enabled', true) %} mdi:sleep-off {% else %} mdi:sleep {% endif %}
mower_lock: unique_id: mower_lock value_template: "{{ is_state_attr('sensor.landroid_mower_status', 'locked', true) }}" turn_on: service: landroid_cloud.lock data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" enable: true turn_off: service: landroid_cloud.lock data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" enable: false icon_template: >- {% if is_state_attr('sensor.landroid_mower_status', 'locked', true) %} mdi:lock {% else %} mdi:lock-open-variant {% endif %}
template: sensor:
- name: Mower IP
unique_id: mower_ip
state: !secret mower_ip
icon: mdi:ip-network
- name: Mower bladetime
unique_id: mower_bladetime
state: "{{ state_attr('sensor.landroid_mower_status', 'total_blade_time') }}"
icon: mdi:fan
unit_of_measurement: "min"
attributes:
time_formatted: >
{% set t = state_attr("sensor.landroid_mower_status", "total_blade_time") | int %}
{% if t != 0 %}
{{ "%0d Tg. %0.02d Std. %0.02d Min." | format(t // 1440, ((t % 1440) // 60), t % 60) }}
{%- else -%}
{{ '0 min' }}
{% endif %}
- name: Mower current bladetime
unique_id: mower_current_bladetime
state: "{{ state_attr('sensor.landroid_mower_status', 'current_blade_time') }}"
icon: mdi:fan
unit_of_measurement: "min"
attributes:
time_formatted: >
{% set t = state_attr("sensor.landroid_mower_status", "current_blade_time") | int %}
{% if t != 0 %}
{{ "%0d Tg. %0.02d Std. %0.02d Min." | format(t // 1440, ((t % 1440) // 60), t % 60) }}
{%- else -%}
{{ '0 min' }}
{% endif %}
- name: Mower totaltime
unique_id: mower_totaltime
state: "{{ state_attr('sensor.landroid_mower_status', 'work_time') }}"
icon: mdi:bus-clock
unit_of_measurement: "min"
attributes:
time_formatted: >
{% set t = state_attr("sensor.landroid_mower_status", "work_time") | int %}
{% if t != 0 %}
{{ "%0d Tg. %0.02d Std. %0.02d Min." | format(t // 1440, ((t % 1440) // 60), t % 60) }}
{%- else -%}
{{ '0 min' }}
{% endif %}
- name: Mower distance
unique_id: mower_distance
state: "{{ (state_attr('sensor.landroid_mower_status', 'distance') | float) / 1000 }}"
icon: mdi:map-marker-distance
unit_of_measurement: "km"
- name: Mower lastupdate
unique_id: mower_lastupdate
state: "{{ as_timestamp(strptime( state_attr('sensor.landroid_mower_status', 'last_update'), '%H:%M:%S %d/%m/%Y')) | timestamp_custom('%d.%m.%Y %H:%M:%S') }}"
icon: mdi:clock
- name: Mower WIFI
unique_id: mower_wifi
state: "{{ state_attr('sensor.landroid_mower_status', 'rssi') }}"
device_class: signal_strength
unit_of_measurement: "dBm"
icon: >-
{% set strength = state_attr("sensor.landroid_mower_status", "rssi") | float -%}
{%- if strength > -56 -%}mdi:wifi-strength-4
{% elif strength > -67 -%}mdi:wifi-strength-3
{% elif strength > -78 -%}mdi:wifi-strength-2
{% elif strength > -89 -%}mdi:wifi-strength-1
{%- else -%}mdi:wifi-strength-outline
{%- endif %}
# -55 or higher: 4 bars
# -56 to -66: 3 bars
# -67 to -77: 2 bars
# -78 to -88: 1 bar
# -89 or lower: 0 bars
- name: Mower yaw
unique_id: mower_yaw
state: "{{ state_attr('sensor.landroid_mower_status', 'yaw') }}"
icon: mdi:axis-z-rotate-clockwise
unit_of_measurement: "°"
- name: Mower roll
unique_id: mower_roll
state: "{{ state_attr('sensor.landroid_mower_status', 'roll') }}"
icon: mdi:axis-x-rotate-clockwise
unit_of_measurement: "°"
- name: Mower pitch
unique_id: mower_pitch
state: "{{ state_attr('sensor.landroid_mower_status', 'pitch') }}"
icon: mdi:seat-flat-angled
unit_of_measurement: "°"
input_select: mower_zone: name: Mower zone initial: "0" options:
input_number: mower_raindelay: name: Rain delay initial: 150 min: 0 max: 300 step: 30 unit_of_measurement: "min" icon: mdi:weather-lightning-rainy
mower_timeextension: name: Time extension initial: 0 min: -100 max: 100 step: 10 unit_of_measurement: "%" icon: mdi:clock-out
mower_zone0_distance: name: "Zone 0: Distance" initial: 0 min: 0 max: 1000 step: 1 unit_of_measurement: "m" icon: mdi:numeric-0-box-outline mower_zone1_distance: name: "Zone 1: Distance" initial: 0 min: 0 max: 1000 step: 1 unit_of_measurement: "m" icon: mdi:numeric-1-box-outline mower_zone2_distance: name: "Zone 2: Distance" initial: 0 min: 0 max: 1000 step: 1 unit_of_measurement: "m" icon: mdi:numeric-2-box-outline mower_zone3_distance: name: "Zone 3: Distance" initial: 0 min: 0 max: 1000 step: 1 unit_of_measurement: "m" icon: mdi:numeric-3-box-outline
mower_zone0_probability: name: "Zone 0: Probability" initial: 0 min: 0 max: 100 step: 10 unit_of_measurement: "%" icon: mdi:numeric-0-circle-outline mower_zone1_probability: name: "Zone 1: Probability" initial: 0 min: 0 max: 100 step: 10 unit_of_measurement: "%" icon: mdi:numeric-1-circle-outline mower_zone2_probability: name: "Zone 2: Probability" initial: 0 min: 0 max: 100 step: 10 unit_of_measurement: "%" icon: mdi:numeric-2-circle-outline mower_zone3_probability: name: "Zone 3: Probability" initial: 0 min: 0 max: 100 step: 10 unit_of_measurement: "%" icon: mdi:numeric-3-circle-outline
input_boolean:
mower_sched_settings: name: Scheduler settings initial: false icon: mdi:timer
mower_info_toggle: name: Info toggle initial: false icon: mdi:information
mower_zone_enable: name: Enable multizone initial: false icon: mdi:vector-difference
mower_view_config: name: Configuration icon: mdi:tools mower_view_setzones: name: Multizone icon: mdi:vector-difference
automation:
id: mower_notify_status alias: Mower Notify Status initial_state: false trigger:
condition:
action:
id: mower_notify_error alias: Mower Notify Error initial_state: true trigger:
condition:
action:
id: mower_sync_values alias: Mower sync values trigger:
platform: homeassistant event: start
platform: state entity_id: sensor.mower_lastupdate
action:
script: mower_set_config: alias: Mower set rain delay and time extension sequence: service: landroid_cloud.config data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" raindelay: "{{ states('input_number.mower_raindelay') | int }}" timeextension: "{{ states('input_number.mower_timeextension') | int }}"
mower_setzone: alias: Mower set mowing zone mode: restart sequence:
service: input_select.select_next target: entity_id: input_select.mower_zone
delay: "00:00:03"
service: landroid_cloud.setzone data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" zone: "{{ states('input_select.mower_zone') | int }}"
mower_setzones: alias: Mower set multizone distances sequence: service: landroid_cloud.config data: id: "{{ state_attr('sensor.landroid_mower_status','id') }}" multizone_distances: >- {% if is_state('input_boolean.mower_zone_enable', 'on') -%} [{{ states('input_number.mower_zone0_distance') | int }}, {{ states('input_number.mower_zone1_distance') | int }}, {{ states('input_number.mower_zone2_distance') | int }}, {{ states('input_number.mower_zone3_distance') | int }}] {%- else -%} [0,0,0,0] {%- endif %} multizone_probabilities: >- {% if is_state('input_boolean.mower_zone_enable', 'on') -%} [{{ ((states('input_number.mower_zone0_probability') | int) / 10) | round(0) }}, {{ ((states('input_number.mower_zone1_probability') | int) / 10) | round(0) }}, {{ ((states('input_number.mower_zone2_probability') | int) / 10) | round(0) }}, {{ ((states('input_number.mower_zone3_probability') | int) / 10) | round(0) }}] {%- else -%} [0,0,0,0] {%- endif %}
mower_views_toggle: description: "View configuration panel like tabs" mode: restart fields: entity_id: description: "Current switch" example: "input_boolean.mower_view_config" sequence:
service: input_boolean.turn_off data: entity_id: > {% for item in states["input_boolean"] if item.object_id.startswith("mowerview") and item.entity_id != entity_id -%} {% if not loop.first %},{% endif %}{{ item.entity_id }} {%- endfor %}
service: input_boolean.turn_on data: entity_id: "{{ entity_id }}" ´´´ Landroid_en.yaml: ´´´
homeassistant: customize:
switch.mower_mowing: friendly_name: Mowing switch.mower_home: friendly_name: Home switch.mower_edgecut: friendly_name: Cut-to-edge switch.mower_partymode: friendly_name: Partymode switch.mower_lock: friendly_name: Lock
sensor.landroid_mower_battery: friendly_name: Battery charge device_class: battery sensor.landroid_mower_error: friendly_name: Error sensor.landroid_mower_status: friendly_name: Status
sensor.mower_ip: friendly_name: IP address
sensor.mower_bladetime: friendly_name: Bladetime sensor.mower_current_bladetime: friendly_name: Current bladetime sensor.mower_totaltime: friendly_name: Total time sensor.mower_distance: friendly_name: Distance sensor.mower_lastupdate: friendly_name: Last update icon: mdi:update sensor.mower_wifi: friendly_name: WiFi quality sensor.mower_yaw: friendly_name: Yaw sensor.mower_roll: friendly_name: Roll sensor.mower_pitch: friendly_name: Pitch
input_select.mower_zone: friendly_name: Mowing zone
input_number.mower_raindelay: friendly_name: Rain delay input_number.mower_timeextension: friendly_name: Time extension
input_number.mower_zone0_distance: friendly_name: "Mowing zone 0: Distance" input_number.mower_zone1_distance: friendly_name: "Mowing zone 1: Distance" input_number.mower_zone2_distance: friendly_name: "Mowing zone 2: Distance" input_number.mower_zone3_distance: friendly_name: "Mowing zone 3: Distance"
input_number.mower_zone0_probability: friendly_name: "Mowing zone 0: Probability" input_number.mower_zone1_probability: friendly_name: "Mowing zone 1: Probability" input_number.mower_zone2_probability: friendly_name: "Mowing zone 2: Probability" input_number.mower_zone3_probability: friendly_name: "Mowing zone 3: Probability"
input_boolean.mower_sched_settings: friendly_name: Settings input_boolean.mower_info_toggle: friendly_name: Information input_boolean.mower_zone_enable: friendly_name: Enable multizone
input_boolean.mower_view_config: friendly_name: Configuration input_boolean.mower_view_setzones: friendly_name: Multizone
automation.mower_notify_status: friendly_name: Status notification icon: mdi:bell automation.mower_notify_error: friendly_name: Error notification icon: mdi:bell
automation.mower_sync_values: friendly_name: Data synchronization icon: mdi:sync
script.mower_set_config:
friendly_name: Apply settings
icon: mdi:content-save-settings
script.mower_setzone:
friendly_name: Zone selection
icon: mdi:vector-difference
script.mower_setzones:
friendly_name: Apply multizone
icon: mdi:content-save-settings
script.mower_views_toggle:
friendly_name: Toggle tabs
icon: mdi:tab
´´´ Lovelace card: ´´´ type: vertical-stack cards:
Thanks
What are your automation.mower *
in the Developer Tools - States?
automation.mower_error_notificaion http://homeassistant:8123/developer-tools/state
Mower Notify Error
on
last_triggered: 2021-11-05T15:44:57.381892+00:00 mode: single current: 0 id: mower_notify_error friendly_name: Mower Notify Error
automation.mower_status_notificaion http://homeassistant:8123/developer-tools/state
Mower Notify Status
off
last_triggered: 2021-11-05T15:44:58.516757+00:00 mode: single current: 0 id: mower_notify_status friendly_name: Mower Notify Status
automation.mower_sync_values http://homeassistant:8123/developer-tools/state
Data synchronization
on
last_triggered: 2022-01-01T22:20:37.427939+00:00 mode: single current: 0 id: mower_sync_values friendly_name: Data synchronization icon: mdi:sync
(note the mower has been put away for the winter, so not in use at the moment)
From: Barma-lej @.> Sent: 01 January 2022 22:57 To: Barma-lej/halandroid @.> Cc: jone9618 @.>; Author @.> Subject: Re: [Barma-lej/halandroid] Automation errors (Issue #35)
What are your automation.mower * in the _Developer Tools - States`?
— Reply to this email directly, view it on GitHub https://github.com/Barma-lej/halandroid/issues/35#issuecomment-1003631508 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AUEMJJGDKHLF6UPIX4GIMWTUT6BEBANCNFSM5HOFB2QA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub . You are receiving this because you authored the thread. https://github.com/notifications/beacon/AUEMJJHBRO5MTRSTDOB2S2TUT6BEBA5CNFSM5HOFB2QKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHPJDHFA.gif Message ID: @. @.> >
You have three automations for mower
Rename these two
to
or change in your lovelace card these lines
- type: custom:fold-entity-row
head:
type: section
label: Automations
entities:
- entity: automation.mower_notify_error
- entity: automation.mower_notify_status
- entity: automation.mower_sync_values
to
- type: custom:fold-entity-row
head:
type: section
label: Automations
entities:
- entity: automation.mower_error_notificaion
- entity: automation.mower_status_notificaion
- entity: automation.mower_sync_values
Thank you so much. That did it. I changed the names of the automation entities from automation.mower_error_notificaion and automation.mower_status_notificaion to automation.mower_notify_error and automation.mower_notify_status.
Thank you once again.
From: Barma-lej @.> Sent: 03 January 2022 18:50 To: Barma-lej/halandroid @.> Cc: jone9618 @.>; Author @.> Subject: Re: [Barma-lej/halandroid] Automation errors (Issue #35)
You have three automations for mower
Rename these two
to
or change in your lovelace card these lines
- type: custom:fold-entity-row
head:
type: section
label: Automations
entities:
- entity: automation.mower_notify_error
- entity: automation.mower_notify_status
- entity: automation.mower_sync_values
to
- type: custom:fold-entity-row
head:
type: section
label: Automations
entities:
- entity: automation.mower_error_notificaion
- entity: automation.mower_status_notificaion
- entity: automation.mower_sync_values
— Reply to this email directly, view it on GitHub https://github.com/Barma-lej/halandroid/issues/35#issuecomment-1004286523 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AUEMJJAEFF42JUD4CNVP3P3UUHVW7ANCNFSM5HOFB2QA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub . You are receiving this because you authored the thread. https://github.com/notifications/beacon/AUEMJJDLL5NWFSK3W4T4WGDUUHVW7A5CNFSM5HOFB2QKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHPODEOY.gif Message ID: @. @.> >
Hello
I installed this package a few days ago - just after I upgraded to HA 2021.11.
All works well - great work. Only issue is that I get the following error on the card when displaying the automations:
I have used the landroid.yaml and landroid_en.yaml from github.
When I try to run either of the two "missing" automations from the automations dashboard in HA I have errors returned in my log, such as:
This is the section of my landroid.yaml which defines the two automations:
(as an aside - there is a typo in the alias of both automations - "notificaion" instead of of "notification")
Am I doing something wrong?