################################################################# # Sections below should be added to config.yaml file # # Indego sensor names must be updated to actual names used ################################################################# #---------------------------------------------------------- # Local Date and time #---------------------------------------------------------- sensor: - platform: time_date display_options: - "time" - "date" - "date_time" - "time_date" - "time_utc" scan_interval: 55 #once every 55 second #---------------------------------------------------------- # Fix Indego date formats and add countdown to next mow #---------------------------------------------------------- - platform: template sensors: indego_last_mow: value_template: "{{ as_timestamp(states('sensor.indego_XXXXXXXX_last_completed')) | timestamp_custom('%d.%m.%y %H:%M') }}" indego_next_mow: value_template: "{{ states('sensor.time') and as_timestamp(states('sensor.indego_XXXXXXXX_next_mow')) | timestamp_custom('%d.%m.%y %H:%M')}}" indego_next_mow_countdown: value_template: >- {% set day_diff = (( states('sensor.time') and as_timestamp(states('sensor.indego_XXXXXXXX_next_mow')) - as_timestamp(now()) )/ (3600*24)) | int %} {% set hour_diff =(( states('sensor.time') and as_timestamp(states('sensor.indego_XXXXXXXX_next_mow')) - as_timestamp(now()) - (24*day_diff*3600) )/ (3600)) | int %} {% set min_diff =(( states('sensor.time') and as_timestamp(states('sensor.indego_XXXXXXXX_next_mow')) - as_timestamp(now()) - (24*day_diff*3600) - (3600*hour_diff) )/ (60)) | int %} {% if day_diff>1 %} {{ day_diff }} dage, {% elif day_diff==1 %}{{ day_diff }} dag, {% endif %}{% if hour_diff>1 %}{{ hour_diff }} timer og {{ min_diff }} min. {% elif hour_diff==1 %}{{ hour_diff }} time og {{ min_diff }} min.{% else %}{{ min_diff }} min.{% endif %} #---------------------------------------------------------- # Limit log entries # (e.g do not store history for date/time sensors) #---------------------------------------------------------- recorder: exclude: entities: - sensor.date - sensor.time - sensor.local_time - sensor.date_time - sensor.time - sensor.time_date - sensor.time_utc - sun.sun - sensor.indego_next_mow - sensor.indego_next_mow_countdown ################################################################# # Below must be added to your Lovelace file # # Indego sensor names must be updated to actual names used ################################################################# #--------------------------------------------------------------- # Bosch Indego 400 Connect lawnmover #--------------------------------------------------------------- - image: /local/assets/indego.jpg # source: https://community-assets.home-assistant.io/original/3X/2/8/28547e0f7f61dcd441b4f2414861ceab4eac9392.jpeg state_filter: - null type: picture-elements elements: # Lawn completion percentage - type: icon icon: mdi:progress-check title: Lawn completion percentage style: top: 12% left: 20px '--iron-icon-fill-color': '#FFFFFF' '--iron-icon-height': 40px '--iron-icon-width': 40px - type: state-label entity: sensor.indego_XXXXXXXXX_lawm_mowed style: top: 12% left: 50px font-size: 15px max-width: 50px # Remaining battery percentage - type: icon icon: mdi:battery-80 style: top: 12% left: 90px - type: state-label entity: sensor.indego_XXXXXXXXX_battery_percentage style: top: 12% left: 120px font-size: 15px max-width: 50px # Total mow time - type: icon icon: mdi:update #mdi:calendar-arrow-right style: top: 12% left: 160px - type: state-label entity: sensor.indego_XXXXXXXXX_runtime_total style: top: 12% left: 170px font-size: 15px max-width: 1px # Start mow command - type: icon title: Mow icon: 'mdi:play' entity: input_boolean.indego_mow tap_action: action: call-service service: indego.command service_data: command: mow style: top: 12% left: 60% '--iron-icon-fill-color': '#FFFFFF' '--iron-icon-height': 40px '--iron-icon-width': 40px # Pause mow command - type: icon title: Pause icon: 'mdi:pause' entity: input_boolean.indego_pause tap_action: action: call-service service: indego.command service_data: command: pause style: top: 12% left: 73% '--iron-icon-fill-color': '#FFFFFF' '--iron-icon-height': 40px '--iron-icon-width': 40px # Dock command - type: icon title: Home icon: 'mdi:home' entity: input_boolean.indego_home tap_action: action: call-service service: indego.command service_data: command: returnToDock style: top: 12% left: 85% '--iron-icon-fill-color': '#FFFFFF' '--iron-icon-height': 40px '--iron-icon-width': 40px # Current status / state - type: state-label entity: sensor.indego_XXXXXXXXX_mower_state_detail style: top: 26% left: 5px font-size: 15px max-width: 1px text-align: left # Moving mode - type: state-label entity: sensor.indego_XXXXXXXXX_mowing_mode style: top: 26% left: 60% font-size: 15px max-width: 30px # Last mow completion date/time - type: icon icon: mdi:calendar-check style: top: 68% left: 5% - type: state-label entity: sensor.indego_last_mow style: top: 68% left: 30px font-size: 15px max-width: 1px # Next scheduled mow date/time - type: icon icon: mdi:calendar-arrow-right style: top: 82% left: 5% - type: state-label entity: sensor.indego_next_mow_countdown style: top: 82% left: 30px font-size: 15px max-width: 1px