And here is my home-assistant.log
2018-12-27 23:10:40 WARNING (MainThread) [homeassistant.components.mqtt] Data in your config entry is going to override your configuration.yaml: {'broker': '192.168.1.205', 'discovery': True, 'port': 1883}
2018-12-27 23:10:40 WARNING (MainThread) [homeassistant.components.http] legacy_api_password support has been enabled. If you don't require it, remove the 'api_password' from your http config.
2018-12-27 23:10:40 WARNING (MainThread) [homeassistant.components.mqtt] Data in your config entry is going to override your configuration.yaml: {'broker': 'core-mosquitto', 'discovery': True, 'password': 'kDrCXnQxoEQ4si5qkhzld0lYC-239t0_', 'port': 1883, 'protocol': '3.1.1', 'username': 'homeassistant'}
2018-12-27 23:10:44 WARNING (MainThread) [homeassistant.loader] You are using a custom component for media_player.alexa which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2018-12-27 23:10:45 WARNING (MainThread) [homeassistant.components.sensor.template] Template sensor pool_timer_power has no entity ids configured to track nor were we able to extract the entities to track from the value template(s). This entity will only be able to be updated manually.
2018-12-27 23:10:45 WARNING (MainThread) [homeassistant.components.sensor.template] Template sensor pool_timer_energy has no entity ids configured to track nor were we able to extract the entities to track from the value template(s). This entity will only be able to be updated manually.
2018-12-27 23:10:45 WARNING (MainThread) [homeassistant.components.sensor.template] Template sensor monoprice_plug_energy has no entity ids configured to track nor were we able to extract the entities to track from the value template(s). This entity will only be able to be updated manually.
2018-12-27 23:10:45 WARNING (MainThread) [homeassistant.components.sensor.template] Template sensor monoprice_plug_power has no entity ids configured to track nor were we able to extract the entities to track from the value template(s). This entity will only be able to be updated manually.
2018-12-27 23:10:49 ERROR (MainThread) [homeassistant.components.sensor.template] Could not render template Monoprice outlet Kwh: UndefinedError: 'switch' is undefined
2018-12-27 23:10:49 ERROR (MainThread) [homeassistant.components.sensor.template] Could not render template Pool timer W: UndefinedError: 'switch' is undefined
2018-12-27 23:10:49 ERROR (MainThread) [homeassistant.components.sensor.template] Could not render template Pool timer Kwh: UndefinedError: 'switch' is undefined
2018-12-27 23:10:49 ERROR (MainThread) [homeassistant.components.sensor.template] Could not render template Monoprice outlet W: UndefinedError: 'switch' is undefined
2018-12-27 23:23:29 ERROR (MainThread) [homeassistant.components.hassio] INFO:homeassistant.util.package:Attempting install of colorlog==3.1.4
Testing configuration at /config
Failed config
homeassistant:
- expected dict for dictionary value @ data['packages']['battery_alert']['retain']
- customize: [source /config/configuration.yaml:13]
elevation: 225
latitude:
longitude:
name: Home
packages: [source /config/configuration.yaml:14]
battery_alert: [source /config/packages/battery_alert.yaml:230]
automation: [source /config/packages/battery_alert.yaml:360]
- action: [source /config/packages/battery_alert.yaml:371]
- condition: template
value_template: {% macro battery_level() %} {% for entity_id in states.group.battery_status.attributes.entity_id if (
not is_state_attr(entity_id, 'battery_alert_disabled', true)
and states(entity_id) is not none
and (
(
(
states(entity_id) is number
or states(entity_id) | length == states(entity_id)| int | string | length
or states(entity_id) | length == states(entity_id)| float | string | length
)
and states(entity_id) | int < states.input_number.battery_alert_threshold_max.state | int
and states(entity_id) | int > states.input_number.battery_alert_threshold_min.state | int
)
or states(entity_id) | lower == 'low'
or states(entity_id) | lower == 'unknown'
)
) -%}
{{ state_attr(entity_id, "friendly_name") }} ({{ states(entity_id) }})
{% endfor -%} {% endmacro %} {{ battery_level() | trim != "" }}
- data_template: [source /config/packages/battery_alert.yaml:397]
message: {% macro battery_level() %} {% for entity_id in states.group.battery_status.attributes.entity_id if (
not is_state_attr(entity_id, 'battery_alert_disabled', true)
and states(entity_id) is not none
and (
(
(
states(entity_id) is number
or states(entity_id) | length == states(entity_id)| int | string | length
or states(entity_id) | length == states(entity_id)| float | string | length
)
and states(entity_id) | int < states.input_number.battery_alert_threshold_max.state | int
and states(entity_id) | int > states.input_number.battery_alert_threshold_min.state | int
)
or states(entity_id) | lower == 'low'
or states(entity_id) | lower == 'unknown'
)
) -%}
{{ state_attr(entity_id, "friendly_name") }} ({{ states(entity_id) }})
{% endfor -%} {% endmacro %} {{ battery_level() }}
notification_id: low_battery_alert
title: Low Battery Levels
service: persistent_notification.create
alias: battery_notification
initial_state: on
trigger: [source /config/packages/battery_alert.yaml:363]
- platform: time
minutes: /15
seconds: 0
- platform: state
entity_id: [source /config/packages/battery_alert.yaml:368]
- input_number.battery_alert_threshold_min
- input_number.battery_alert_threshold_max
- action: [source /config/packages/battery_alert.yaml:434]
- condition: template
value_template: {% macro battery_level() %} {% for entity_id in states.group.battery_status.attributes.entity_id if (
not is_state_attr(entity_id, 'battery_alert_disabled', true)
and states(entity_id) is not none
and (
(
(
states(entity_id) is number
or states(entity_id) | length == states(entity_id)| int | string | length
or states(entity_id) | length == states(entity_id)| float | string | length
)
and states(entity_id) | int < states.input_number.battery_alert_threshold_max.state | int
and states(entity_id) | int > states.input_number.battery_alert_threshold_min.state | int
)
or states(entity_id) | lower == 'low'
or states(entity_id) | lower == 'unknown'
)
) -%}
{{ state_attr(entity_id, "friendly_name") }} ({{ states(entity_id) }})
{% endfor -%} {% endmacro %} {{ battery_level() | trim == "" }}
- data: [source /config/packages/battery_alert.yaml:460]
notification_id: low_battery_alert
service: persistent_notification.dismiss
alias: battery_notification_clear
initial_state: on
trigger: [source /config/packages/battery_alert.yaml:426]
- platform: time
minutes: /15
seconds: 0
- platform: state
entity_id: [source /config/packages/battery_alert.yaml:431]
- input_number.battery_alert_threshold_min
- input_number.battery_alert_threshold_max
- action: [source /config/packages/battery_alert.yaml:474]
- condition: template
value_template: {% macro battery_level() %} {% for entity_id in states.group.battery_status.attributes.entity_id if (
not is_state_attr(entity_id, 'battery_alert_disabled', true)
and states(entity_id) is not none
and (
(
(
states(entity_id) is number
or states(entity_id) | length == states(entity_id)| int | string | length
or states(entity_id) | length == states(entity_id)| float | string | length
)
and states(entity_id) | int < states.input_number.battery_alert_threshold_max.state | int
and states(entity_id) | int > states.input_number.battery_alert_threshold_min.state | int
)
or states(entity_id) | lower == 'low'
or states(entity_id) | lower == 'unknown'
)
) -%}
{{ state_attr(entity_id, "friendly_name") }} ({{ states(entity_id) }})
{% endfor -%} {% endmacro %} {{ battery_level() | trim != "" }}
- data_template: [source /config/packages/battery_alert.yaml:478]
data: [source /config/packages/battery_alert.yaml:480]
attachments: [source /config/packages/battery_alert.yaml:481]
- color: #52c0f2
text: {% macro battery_level() %} {% for entity_id in states.group.battery_status.attributes.entity_id if (
not is_state_attr(entity_id, 'battery_alert_disabled', true)
and states(entity_id) is not none
and (
(
(
states(entity_id) is number
or states(entity_id) | length == states(entity_id)| int | string | length
or states(entity_id) | length == states(entity_id)| float | string | length
)
and states(entity_id) | int < states.input_number.battery_alert_threshold_max.state | int
and states(entity_id) | int > states.input_number.battery_alert_threshold_min.state | int
)
or states(entity_id) | lower == 'low'
or states(entity_id) | lower == 'unknown'
)
) -%}
{{ state_attr(entity_id, "friendly_name") }} ({{ states(entity_id) }})
{% endfor -%} {% endmacro %} {{ battery_level() }}
title: These devices have low battery levels
message: Low Battery Levels
service: notify.slack_notify
alias: battery_notification_slack
initial_state: on
trigger: [source /config/packages/battery_alert.yaml:465]
- platform: time
at: 10:00:00
- platform: time
at: 18:00:00
- platform: state
entity_id: [source /config/packages/battery_alert.yaml:471]
- input_number.battery_alert_threshold_min
- input_number.battery_alert_threshold_max
- action: [source /config/packages/battery_alert.yaml:497]
- condition: template
value_template: {% macro battery_level() %} {% for entity_id in states.group.battery_status.attributes.entity_id if (
not is_state_attr(entity_id, 'battery_alert_disabled', true)
and states(entity_id) is not none
and (
(
(
states(entity_id) is number
or states(entity_id) | length == states(entity_id)| int | string | length
or states(entity_id) | length == states(entity_id)| float | string | length
)
and states(entity_id) | int < states.input_number.battery_alert_threshold_max.state | int
and states(entity_id) | int > states.input_number.battery_alert_threshold_min.state | int
)
or states(entity_id) | lower == 'low'
or states(entity_id) | lower == 'unknown'
)
) -%}
{{ state_attr(entity_id, "friendly_name") }} ({{ states(entity_id) }})
{% endfor -%} {% endmacro %} {{ battery_level() | trim != "" }}
- data_template: [source /config/packages/battery_alert.yaml:501]
message: {% macro battery_level() %} {% for entity_id in states.group.battery_status.attributes.entity_id if (
not is_state_attr(entity_id, 'battery_alert_disabled', true)
and states(entity_id) is not none
and (
(
(
states(entity_id) is number
or states(entity_id) | length == states(entity_id)| int | string | length
or states(entity_id) | length == states(entity_id)| float | string | length
)
and states(entity_id) | int < states.input_number.battery_alert_threshold_max.state | int
and states(entity_id) | int > states.input_number.battery_alert_threshold_min.state | int
)
or states(entity_id) | lower == 'low'
or states(entity_id) | lower == 'unknown'
)
) -%}
{{ state_attr(entity_id, "friendly_name") }} ({{ states(entity_id) }})
{% endfor -%} {% endmacro %} {{ battery_level() }}
title: Low Battery Levels
service: notify.telegram
alias: battery_notification_telegram
initial_state: on
trigger: [source /config/packages/battery_alert.yaml:488]
- platform: time
at: 10:00:00
- platform: time
at: 18:00:00
- platform: state
entity_id: [source /config/packages/battery_alert.yaml:494]
- input_number.battery_alert_threshold_min
- input_number.battery_alert_threshold_max
- action: [source /config/packages/battery_alert.yaml:516]
- condition: template
value_template: {% macro battery_level() %} {% for entity_id in states.group.battery_status.attributes.entity_id if (
not is_state_attr(entity_id, 'battery_alert_disabled', true)
and states(entity_id) is not none
and (
(
(
states(entity_id) is number
or states(entity_id) | length == states(entity_id)| int | string | length
or states(entity_id) | length == states(entity_id)| float | string | length
)
and states(entity_id) | int < states.input_number.battery_alert_threshold_max.state | int
and states(entity_id) | int > states.input_number.battery_alert_threshold_min.state | int
)
or states(entity_id) | lower == 'low'
or states(entity_id) | lower == 'unknown'
)
) -%}
{{ state_attr(entity_id, "friendly_name") }} ({{ states(entity_id) }})
{% endfor -%} {% endmacro %} {{ battery_level() | trim != "" }}
- data_template: [source /config/packages/battery_alert.yaml:520]
message: {% macro battery_level() %} {% for entity_id in states.group.battery_status.attributes.entity_id if (
not is_state_attr(entity_id, 'battery_alert_disabled', true)
and states(entity_id) is not none
and (
(
(
states(entity_id) is number
or states(entity_id) | length == states(entity_id)| int | string | length
or states(entity_id) | length == states(entity_id)| float | string | length
)
and states(entity_id) | int < states.input_number.battery_alert_threshold_max.state | int
and states(entity_id) | int > states.input_number.battery_alert_threshold_min.state | int
)
or states(entity_id) | lower == 'low'
or states(entity_id) | lower == 'unknown'
)
) -%}
{{ state_attr(entity_id, "friendly_name") }} ({{ states(entity_id) }})
{% endfor -%} {% endmacro %} {{ battery_level() }}
title: Low Battery Levels
service: notify.pushover
alias: battery_notification_pushover
initial_state: on
trigger: [source /config/packages/battery_alert.yaml:507]
- platform: time
at: 10:00:00
- platform: time
at: 18:00:00
- platform: state
entity_id: [source /config/packages/battery_alert.yaml:513]
- input_number.battery_alert_threshold_min
- input_number.battery_alert_threshold_max
- action: [source /config/packages/battery_alert.yaml:554]
- data_template: [source /config/packages/battery_alert.yaml:556]
payload: {
{% if trigger.event.data.new_state.attributes.battery_level is defined -%}
{%- set attribname = 'battery_level' -%}
{%- elif trigger.event.data.new_state.attributes.battery is defined -%}
{%- set attribname = 'battery' -%}
{%- elif trigger.event.data.new_state.attributes['Battery numeric'] is defined -%}
{%- set attribname = 'Battery numeric' -%}
{%- endif -%}
"name": "{{ trigger.event.data.new_state.name }} Battery",
"state_topic": "homeassistant/sensor/{{ trigger.event.data.entity_id.split('.')[1] }}_battery/state",
{% if trigger.event.data.new_state.attributes.battery_template is defined -%}
"value_template": "{{ trigger.event.data.new_state.attributes.battery_template }}",
"unit_of_measurement": "%",
"device_class": "battery",
{% elif trigger.event.data.new_state.attributes.battery_template_string is defined -%}
"value_template": "{{ trigger.event.data.new_state.attributes.battery_template_string }}",
"icon": "mdi:battery",
{% else -%}
"value_template": "{{ "{{" }} value_json.value | int {{ "}}" }}",
"unit_of_measurement": "%",
"device_class": "battery",
{% endif -%}
"unique_id": "{{ trigger.event.data.entity_id.split('.')[1] }}_battery",
"json_attributes": [
"entity_id",
"{{ attribname }}",
"mqtt_config_topic",
"mqtt_state_topic"
]
}
retain: True
topic: homeassistant/sensor/{{ trigger.event.data.entity_id.split('.')[1] }}_battery/config
service: mqtt.publish
- data_template: [source /config/packages/battery_alert.yaml:591]
payload: {
{% if trigger.event.data.new_state.attributes.battery_level is defined -%}
{%- set attribval = trigger.event.data.new_state.attributes.battery_level -%}
{%- set attribname = 'battery_level' -%}
{%- elif trigger.event.data.new_state.attributes.battery is defined -%}
{%- set attribval = trigger.event.data.new_state.attributes.battery -%}
{%- set attribname = 'battery' -%}
{%- elif trigger.event.data.new_state.attributes['Battery numeric'] is defined -%}
{%- set attribval = (trigger.event.data.new_state.attributes['Battery numeric'] | int + 1) * 10 -%}
{%- set attribname = 'Battery numeric' -%}
{%- endif -%}
"value": {%- if attribval | int == attribval -%}
{{ attribval }}
{%- elif attribval | float == attribval -%}
{{ attribval }}
{%- elif attribval | length == attribval | float | string | length -%}
{{ attribval | float }}
{%- elif attribval | length == attribval | int | string | length -%}
{{ attribval | int }}
{%- else -%}
"{{ attribval }}"
{%- endif %},
"entity_id": "{{ trigger.event.data.entity_id }}",
{% if attribname is defined -%}
"{{ attribname }}": "{{ attribval }}",
{%- endif %}
"mqtt_config_topic": "homeassistant/sensor/{{ trigger.event.data.entity_id.split('.')[1] }}_battery/config",
"mqtt_state_topic": "homeassistant/sensor/{{ trigger.event.data.entity_id.split('.')[1] }}_battery/state"
}
retain: True
topic: homeassistant/sensor/{{ trigger.event.data.entity_id.split('.')[1] }}_battery/state
service: mqtt.publish
alias: battery_sensor_from_attributes
condition: [source /config/packages/battery_alert.yaml:529]
- condition: template
value_template: {{ trigger is not none }}
- condition: template
value_template: {{ trigger.event.data is not none }}
- condition: template
value_template: {{ trigger.event.data.old_state is not none }}
- condition: template
value_template: {{ trigger.event.data.new_state is not none }}
- condition: template
value_template: {{ trigger.event.data.new_state.attributes is not none }}
- condition: template
value_template: {{ 'battery' not in trigger.event.data.new_state.name | lower }}
- condition: template
value_template: {{ not is_state_attr(trigger.event.data.entity_id, 'device_class', 'battery') }}
- condition: template
value_template: {{ not is_state_attr(trigger.event.data.entity_id, 'battery_sensor_creation_disabled', true) }}
- condition: or
conditions: [source /config/packages/battery_alert.yaml:547]
- condition: template
value_template: {{ trigger.event.data.new_state.attributes.battery_level is defined }}
- condition: template
value_template: {{ trigger.event.data.new_state.attributes.battery is defined }}
- condition: template
value_template: {{ trigger.event.data.new_state.attributes['Battery numeric'] is defined }}
initial_state: on
trigger: [source /config/packages/battery_alert.yaml:526]
- platform: event
event_type: state_changed
- action: [source /config/packages/battery_alert.yaml:632]
- data_template: [source /config/packages/battery_alert.yaml:634]
entities: {%- for item in states.sensor if (
is_state_attr(item.entity_id, 'device_class', 'battery')
or 'battery' in item.attributes.icon | lower
or (item.entity_id | lower).endswith('_bat')
or (item.name | lower).endswith('_bat')
) or (
(
'battery' in item.entity_id | lower
or 'battery' in item.name | lower
) and (
item.attributes.icon is not defined
) and (
not is_state_attr(item.entity_id, 'battery_alert_disabled', true)
)
)
-%}
{{ item.entity_id }}{% if not loop.last %}, {% endif %}
{%- endfor -%}
object_id: battery_status
service: group.set
alias: update_battery_status_group_members
initial_state: on
trigger: [source /config/packages/battery_alert.yaml:626]
- platform: homeassistant
event: start
- platform: time
minutes: /5
seconds: 0
- action: [source /config/packages/battery_alert.yaml:664]
- data_template: [source /config/packages/battery_alert.yaml:666]
topic: {{ states.input_text.clear_mqtt_topic.state }}
service: mqtt.publish
alias: clear_mqtt_topic
condition: [source /config/packages/battery_alert.yaml:661]
- condition: template
value_template: {{ 'homeassistant/sensor/' in states.input_text.clear_mqtt_topic.state }}
initial_state: on
trigger: [source /config/packages/battery_alert.yaml:657]
- platform: state
entity_id: [source /config/packages/battery_alert.yaml:659]
- input_text.clear_mqtt_topic
group: [source /config/packages/battery_alert.yaml:306]
battery_alert: [source /config/packages/battery_alert.yaml:313]
control: hidden
entities: [source /config/packages/battery_alert.yaml:315]
- input_number.battery_alert_threshold_min
- input_number.battery_alert_threshold_max
- input_text.clear_mqtt_topic
- automation.battery_notification
- automation.battery_notification_clear
- automation.battery_notification_slack
- automation.battery_notification_telegram
- automation.battery_notification_pushover
- automation.battery_sensor_from_attributes
- automation.update_battery_status_group_members
- automation.clear_mqtt_topic
battery_view: [source /config/packages/battery_alert.yaml:307]
entities: [source /config/packages/battery_alert.yaml:309]
- group.battery_status
- group.battery_alert
view: True
homeassistant: [source /config/packages/battery_alert.yaml:231]
customize: [source /config/packages/battery_alert.yaml:235]
automation.battery_notification: [source /config/packages/battery_alert.yaml:263]
friendly_name: Battery Notification
icon: mdi:comment-alert-outline
package: battery_alert
automation.battery_notification_clear: [source /config/packages/battery_alert.yaml:268]
friendly_name: Battery Notification Clear
icon: mdi:comment-remove-outline
package: battery_alert
automation.battery_notification_pushover: [source /config/packages/battery_alert.yaml:283]
friendly_name: Battery Notification Pushover
icon: mdi:comment-alert-outline
package: battery_alert
automation.battery_notification_slack: [source /config/packages/battery_alert.yaml:273]
friendly_name: Battery Notification Slack
icon: mdi:comment-alert-outline
package: battery_alert
automation.battery_notification_telegram: [source /config/packages/battery_alert.yaml:278]
friendly_name: Battery Notification Telegram
icon: mdi:comment-alert-outline
package: battery_alert
automation.battery_sensor_from_attributes: [source /config/packages/battery_alert.yaml:288]
friendly_name: Create Battery Sensor from Attributes
icon: mdi:battery-charging-wireless-outline
package: battery_alert
automation.clear_mqtt_topic: [source /config/packages/battery_alert.yaml:298]
friendly_name: Clear a Retained MQTT Topic
icon: mdi:server-remove
package: battery_alert
automation.update_battery_status_group_members: [source /config/packages/battery_alert.yaml:293]
friendly_name: Update Battery Status Group Members
icon: mdi:group
package: battery_alert
group.battery_alert: [source /config/packages/battery_alert.yaml:248]
control: hidden
friendly_name: Battery Alert
icon: mdi:steam
package: battery_alert
group.battery_status: [source /config/packages/battery_alert.yaml:254]
control: hidden
friendly_name: Battery Status
icon: mdi:battery-charging
package: battery_alert
group.battery_view: [source /config/packages/battery_alert.yaml:243]
friendly_name: Batteries
icon: mdi:battery-alert
package: battery_alert
package.node_anchors: [source /config/packages/battery_alert.yaml:236]
customize: [source /config/packages/battery_alert.yaml:236]
package: battery_alert
input_number: [source /config/packages/battery_alert.yaml:331]
battery_alert_threshold_max: [source /config/packages/battery_alert.yaml:332]
icon: mdi:arrow-collapse-up
max: 100
min: -1
mode: slider
name: Max Alert Threshold
battery_alert_threshold_min: [source /config/packages/battery_alert.yaml:340]
icon: mdi:arrow-collapse-down
max: 100
min: -1
mode: slider
name: Min Alert Threshold
input_text: [source /config/packages/battery_alert.yaml:351]
clear_mqtt_topic: [source /config/packages/battery_alert.yaml:352]
initial:
mode: text
name: MQTT Topic to Clear
retain: True
time_zone: America/Los_Angeles
unit_system: imperial
Successful config (partial)
homeassistant:
Any ideas?
Thanks