xirixiz / homeassistant-afvalwijzer

Provides sensors for some Dutch waste collectors
MIT License
174 stars 66 forks source link

Dates not showing up in glance tiles #291

Open mariobrosch opened 3 weeks ago

mariobrosch commented 3 weeks ago

The problem

Since the last update I dont have dates in my card, but only textual visualisations. Please advice, because this doesnt help me anymore.

image

- type: custom:auto-entities
    card:
      type: glance
    filter:
      include:
        - entity_id: sensor.afvalwijzer_gft
        - entity_id: sensor.afvalwijzer_papier
        - entity_id: sensor.afvalwijzer_pmd
        - entity_id: sensor.afvalwijzer_restafval
    sort:
      attribute: days_until_collection_date
      method: attribute
      numeric: true

How can I get back to displaying dates below the icons?

Version of afvalwijzer integration having the issue?

2024.06.02

Version of Home Assistant Core having the issue?

latest

Anything in the logs that might be useful for us?

No response

Additional information

No response

gielk commented 3 weeks ago

image

Mine shows "Unavailable"

type: entities
entities:
  - entity: sensor.gft_dagen_tot_afhaal
    name: Dagen tot Groen
  - entity: sensor.papier_dagen_tot_afhaal
    name: Dagen tot Papier
  - entity: sensor.pmd_dagen_tot_afhaal
    name: Dagen tot Plastic
  - entity: input_boolean.waste_reminder
    name: Afval melding
    icon: mdi:bell-ring-outline
  - entity: input_boolean.waste_moved
    name: Afval staat buiten
gielk commented 3 weeks ago

Dit heb ik gevonden in de log

2024-06-27 09:44:13.871 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({%- set sensor  = 'sensor.afvalwijzer_papier' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}) renders=2>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2076, in as_datetime
    timestamp = float(value)
                ^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2081, in as_datetime
    return dt_util.parse_datetime(value, raise_on_error=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/util/dt.py", line 227, in parse_datetime
    return ciso8601.parse_datetime(dt_str)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: argument must be str

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 603, in async_render
    render_result = _render_with_context(self.template, compiled, **kwargs)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2616, in _render_with_context
    return template.render(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 1304, in render
    self.environment.handle_exception()
  File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 939, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "<template>", line 1, in top-level template code
  File "/usr/local/lib/python3.12/site-packages/jinja2/sandbox.py", line 394, in call
    return __context.call(__obj, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2088, in as_datetime
    raise_no_default("as_datetime", value)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1853, in raise_no_default
    raise ValueError(
ValueError: Template error: as_datetime got invalid input 'None' when rendering template '{%- set sensor  = 'sensor.afvalwijzer_papier' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 715, in async_render_to_info
    render_info._result = self.async_render(  # noqa: SLF001
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 605, in async_render
    raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: as_datetime got invalid input 'None' when rendering template '{%- set sensor  = 'sensor.afvalwijzer_papier' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}' but no default was specified
2024-06-27 09:44:13.882 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: as_datetime got invalid input 'None' when rendering template '{%- set sensor  = 'sensor.afvalwijzer_papier' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}' but no default was specified') while processing template 'Template<template=({%- set sensor  = 'sensor.afvalwijzer_papier' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.papier_dagen_tot_afhaal'
2024-06-27 09:44:13.883 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({%- set sensor  = 'sensor.afvalwijzer_gft' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}) renders=2>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2076, in as_datetime
    timestamp = float(value)
                ^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2081, in as_datetime
    return dt_util.parse_datetime(value, raise_on_error=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/util/dt.py", line 227, in parse_datetime
    return ciso8601.parse_datetime(dt_str)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: argument must be str

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 603, in async_render
    render_result = _render_with_context(self.template, compiled, **kwargs)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2616, in _render_with_context
    return template.render(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 1304, in render
    self.environment.handle_exception()
  File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 939, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "<template>", line 1, in top-level template code
  File "/usr/local/lib/python3.12/site-packages/jinja2/sandbox.py", line 394, in call
    return __context.call(__obj, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2088, in as_datetime
    raise_no_default("as_datetime", value)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1853, in raise_no_default
    raise ValueError(
ValueError: Template error: as_datetime got invalid input 'None' when rendering template '{%- set sensor  = 'sensor.afvalwijzer_gft' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 715, in async_render_to_info
    render_info._result = self.async_render(  # noqa: SLF001
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 605, in async_render
    raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: as_datetime got invalid input 'None' when rendering template '{%- set sensor  = 'sensor.afvalwijzer_gft' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}' but no default was specified
2024-06-27 09:44:13.886 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: as_datetime got invalid input 'None' when rendering template '{%- set sensor  = 'sensor.afvalwijzer_gft' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}' but no default was specified') while processing template 'Template<template=({%- set sensor  = 'sensor.afvalwijzer_gft' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.gft_dagen_tot_afhaal'
2024-06-27 09:44:13.887 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({%- set sensor  = 'sensor.afvalwijzer_plastic' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set w = (days_until / 7) | int  %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}) renders=2>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2076, in as_datetime
    timestamp = float(value)
                ^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2081, in as_datetime
    return dt_util.parse_datetime(value, raise_on_error=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/util/dt.py", line 227, in parse_datetime
    return ciso8601.parse_datetime(dt_str)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: argument must be str

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 603, in async_render
    render_result = _render_with_context(self.template, compiled, **kwargs)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2616, in _render_with_context
    return template.render(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 1304, in render
    self.environment.handle_exception()
  File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 939, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "<template>", line 1, in top-level template code
  File "/usr/local/lib/python3.12/site-packages/jinja2/sandbox.py", line 394, in call
    return __context.call(__obj, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2088, in as_datetime
    raise_no_default("as_datetime", value)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1853, in raise_no_default
    raise ValueError(
ValueError: Template error: as_datetime got invalid input 'None' when rendering template '{%- set sensor  = 'sensor.afvalwijzer_plastic' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set w = (days_until / 7) | int  %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 715, in async_render_to_info
    render_info._result = self.async_render(  # noqa: SLF001
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 605, in async_render
    raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: as_datetime got invalid input 'None' when rendering template '{%- set sensor  = 'sensor.afvalwijzer_plastic' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set w = (days_until / 7) | int  %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}' but no default was specified
2024-06-27 09:44:13.889 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: as_datetime got invalid input 'None' when rendering template '{%- set sensor  = 'sensor.afvalwijzer_plastic' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set w = (days_until / 7) | int  %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}' but no default was specified') while processing template 'Template<template=({%- set sensor  = 'sensor.afvalwijzer_plastic' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set w = (days_until / 7) | int  %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %}
  {{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
  {{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
  {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
  {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.pmd_dagen_tot_afhaal'
gielk commented 3 weeks ago

I found the problem, the date has been moved i think that is the problem for me. I fixed my issue.

  - platform: template
    sensors:
      papier_dagen_tot_afhaal:
        attribute_templates:
          numeric_days: "{{ state_attr('sensor.afvalwijzer_papier', 'days_until_collection_date') }}"
        value_template: >
          {%- set sensor  = 'sensor.afvalwijzer_papier' %}
          {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %}
          {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %}
          {%- set days_until = state_attr(sensor, 'days_until_collection_date') %}
          {% set ws = (days_until / 7) | int %}
          {% set w = 'een' if ws < 0 else ws %}
          {% set wk = 'week' if w < 2 else 'weken' %}
          {%- if days_until <= 1 %}
            {{ ['Vandaag', 'Morgen'][days_until] }}
          {%- elif days_until < 7 - now().isoweekday() %}
            {{ days[collection_date.weekday()] | title }}
          {%- elif days_until < 14 - now().isoweekday() %}
            {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
          {%- else %}
            {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
          {%- endif %}
        friendly_name: Dagen tot papier
        name: "Dagen tot papier"
      gft_dagen_tot_afhaal:
        attribute_templates:
          numeric_days: "{{ state_attr('sensor.afvalwijzer_gft', 'days_until_collection_date') }}"
        value_template: >
          {%- set sensor  = 'sensor.afvalwijzer_gft' %}
          {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %}
          {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %}
          {%- set days_until = state_attr(sensor, 'days_until_collection_date') %}
          {% set ws = (days_until / 7) | int %}
          {% set w = 'een' if ws < 0 else ws %}
          {% set wk = 'week' if w < 2 else 'weken' %}
          {%- if days_until <= 1 %}
            {{ ['Vandaag', 'Morgen'][days_until] }}
          {%- elif days_until < 7 - now().isoweekday() %}
            {{ days[collection_date.weekday()] | title }}
          {%- elif days_until < 14 - now().isoweekday() %}
            {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
          {%- else %}
            {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
          {%- endif %}
        friendly_name: Dagen tot GFT
        name: Dagen tot GFT
      pmd_dagen_tot_afhaal:
        attribute_templates:
          numeric_days: "{{ state_attr('sensor.afvalwijzer_plastic', 'days_until_collection_date') }}"
        value_template: >
          {%- set sensor  = 'sensor.afvalwijzer_plastic' %}
          {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %}
          {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %}
          {%- set days_until = state_attr(sensor, 'days_until_collection_date') %}
          {% set w = (days_until / 7) | int  %}
          {% set wk = 'week' if w < 2 else 'weken' %}
          {%- if days_until <= 1 %}
            {{ ['Vandaag', 'Morgen'][days_until] }}
          {%- elif days_until < 7 - now().isoweekday() %}
            {{ days[collection_date.weekday()] | title }}
          {%- elif days_until < 14 - now().isoweekday() %}
            {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
          {%- else %}
            {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
          {%- endif %}
        friendly_name: Dagen tot plastic
        name: Dagen tot plastic
videobuff commented 3 weeks ago

Bij mij doet ie het weer. Er leek wat gewijzigd te zijn in de naam. Via ontwikkelhulpmiddelen de entiteiten bekeken voor afvalwijzer en in de code de benaming aangepast. Hier mijn huidige code

cards:

Plaatjes van 28 juni 2024

Scherm­afbeelding 2024-06-28 om 21 25 30 Scherm­afbeelding 2024-06-28 om 21 46 33 Scherm­afbeelding 2024-06-28 om 21 47 52

`

timovd commented 2 weeks ago

@gielk What did you exactly change? The author's config (https://github.com/xirixiz/my-hass-config/blob/master/packages/waste.yaml#L51) hasn't been changed yet. I believe it's only the sensors that need a fix?

cranxi commented 2 weeks ago

Same issue for me, what did you change? I only see 'next week' etc.

rogervdh commented 2 weeks ago

I have the same issue since the update....

afval

cranxi commented 2 weeks ago

Bij mij doet ie het weer. Er leek wat gewijzigd te zijn in de naam. Via ontwikkelhulpmiddelen de entiteiten bekeken voor afvalwijzer en in de code de benaming aangepast. Hier mijn huidige code

cards:

  • cards:

    • entity: sensor.afvalwijzer_today_formatted show_name: false show_state: false state_image: GFT: /local/images/gft.png Geen: /local/images/geen_ophalen.png PMD: /local/images/pmd.png Papier: /local/images/papier.png Restafval: /local/images/rest.png type: picture-entity
    • entity: sensor.afvalwijzer_tomorrow_formatted show_name: false show_state: false state_image: GFT: /local/images/gft.png Geen: /local/images/geen_ophalen.png PMD: /local/images/pmd.png Papier: /local/images/papier.png Restafval: /local/images/rest.png type: picture-entity type: horizontal-stack
  • type: entities show_header_toggle: false entities:

    • entity: sensor.afvalwijzer_tm2_gft format: date
    • entity: sensor.afvalwijzer_tm2_papier format: date
    • entity: sensor.afvalwijzer_tm2_pmd format: date
    • entity: sensor.afvalwijzer_tm2_restafval format: date type: vertical-stack title: Vuilnis ophalen

Plaatjes van 28 juni 2024

Scherm­afbeelding 2024-06-28 om 21 25 30 Scherm­afbeelding 2024-06-28 om 21 46 33 Scherm­afbeelding 2024-06-28 om 21 47 52 `

Kan je uitleggen wat je veranderd had?

videobuff commented 2 weeks ago

Wat ik al schreef. Kijk in HA bij ontwikkelhulpmiddelen naar status en zoek uit he de entiteiten voor afvalwijzer nu heten.

Filter bij de statussen op bv afval en kijk hoe ze nu heten bij jou. Zie de plaatjes

En pas de yaml dan aan.

Erik

Op 3 jul 2024, om 21:23 heeft cranxi @.***> het volgende geschreven:

sensor.afvalwijzer_tm2

rogervdh commented 2 weeks ago

Bij mij zijn de entiteiten voor afvalwijzer in het geheel niet gewijzigd, dat had ikzelf al gecontroleerd. De states van de entiteiten is keurig de ophaaldatum. In de release notes staat wel "switch to device class timestamp - BREAKING - you might need to change some automation code", maar ik heb vooralsnog niet goed helder wat ik daarmee moet.

afvalwijzer-entiteiten

cranxi commented 2 weeks ago

Wat ik al schreef. Kijk in HA bij ontwikkelhulpmiddelen naar status en zoek uit he de entiteiten voor afvalwijzer nu heten. Filter bij de statussen op bv afval en kijk hoe ze nu heten bij jou. Zie de plaatjes En pas de yaml dan aan. Erik Op 3 jul 2024, om 21:23 heeft cranxi @.***> het volgende geschreven: sensor.afvalwijzer_tm2

Ik zie bij jou idd entiteiten met 'tm2' erin. Die heb ik niet, bij mij zijn er bij de entiteiten niks verandert:

image

videobuff commented 2 weeks ago

Tm2 is TwenteMilieu2. Ik gebruik voor testen meerdere afvalwijzers. Erik SchottOp 4 jul 2024 om 10:22 heeft cranxi @.***> het volgende geschreven:

Wat ik al schreef. Kijk in HA bij ontwikkelhulpmiddelen naar status en zoek uit he de entiteiten voor afvalwijzer nu heten. Filter bij de statussen op bv afval en kijk hoe ze nu heten bij jou. Zie de plaatjes En pas de yaml dan aan. Erik … Op 3 jul 2024, om 21:23 heeft cranxi @.***> het volgende geschreven: sensor.afvalwijzer_tm2

Ik zie bij jou idd entiteiten met 'tm2' erin. Die heb ik niet, bij mij zijn er bij de entiteiten niks verandert: image.png (view on web)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

cranxi commented 2 weeks ago

Tm2 is TwenteMilieu2. Ik gebruik voor testen meerdere afvalwijzers. Erik SchottOp 4 jul 2024 om 10:22 heeft cranxi @.> het volgende geschreven: Wat ik al schreef. Kijk in HA bij ontwikkelhulpmiddelen naar status en zoek uit he de entiteiten voor afvalwijzer nu heten. Filter bij de statussen op bv afval en kijk hoe ze nu heten bij jou. Zie de plaatjes En pas de yaml dan aan. Erik … Op 3 jul 2024, om 21:23 heeft cranxi @.> het volgende geschreven: sensor.afvalwijzer_tm2 Ik zie bij jou idd entiteiten met 'tm2' erin. Die heb ik niet, bij mij zijn er bij de entiteiten niks verandert: image.png (view on web) —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Oke, maar ik begrijp nog steeds niet wat je bedoelt. Het zal wel aan mij liggen.. :)

videobuff commented 2 weeks ago

Je kunt in afvalwijzer een of toekennen. Bij mij is dat tm1 en tm2. Tm1 is een andere database dan tm2. Erik SchottOp 5 jul 2024 om 16:12 heeft cranxi @.***> het volgende geschreven:

Tm2 is TwenteMilieu2. Ik gebruik voor testen meerdere afvalwijzers. Erik SchottOp 4 jul 2024 om 10:22 heeft cranxi @.> het volgende geschreven: Wat ik al schreef. Kijk in HA bij ontwikkelhulpmiddelen naar status en zoek uit he de entiteiten voor afvalwijzer nu heten. Filter bij de statussen op bv afval en kijk hoe ze nu heten bij jou. Zie de plaatjes En pas de yaml dan aan. Erik … Op 3 jul 2024, om 21:23 heeft cranxi @.> het volgende geschreven: sensor.afvalwijzer_tm2 Ik zie bij jou idd entiteiten met 'tm2' erin. Die heb ik niet, bij mij zijn er bij de entiteiten niks verandert: image.png (view on web) —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Oke, maar ik begrijp nog steeds niet wat je bedoelt. Het zal wel aan mij liggen.. :)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

videobuff commented 2 weeks ago

Of = id. Ben op vakantie met alleen telefoon. Erik SchottOp 5 jul 2024 om 22:42 heeft Erik Schott @.> het volgende geschreven:Je kunt in afvalwijzer een of toekennen. Bij mij is dat tm1 en tm2. Tm1 is een andere database dan tm2. Erik SchottOp 5 jul 2024 om 16:12 heeft cranxi @.> het volgende geschreven:

Tm2 is TwenteMilieu2. Ik gebruik voor testen meerdere afvalwijzers. Erik SchottOp 4 jul 2024 om 10:22 heeft cranxi @.> het volgende geschreven: Wat ik al schreef. Kijk in HA bij ontwikkelhulpmiddelen naar status en zoek uit he de entiteiten voor afvalwijzer nu heten. Filter bij de statussen op bv afval en kijk hoe ze nu heten bij jou. Zie de plaatjes En pas de yaml dan aan. Erik … Op 3 jul 2024, om 21:23 heeft cranxi @.> het volgende geschreven: sensor.afvalwijzer_tm2 Ik zie bij jou idd entiteiten met 'tm2' erin. Die heb ik niet, bij mij zijn er bij de entiteiten niks verandert: image.png (view on web) —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Oke, maar ik begrijp nog steeds niet wat je bedoelt. Het zal wel aan mij liggen.. :)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

RikJ01 commented 4 days ago

I found the problem, the date has been moved i think that is the problem for me. I fixed my issue.

  - platform: template
    sensors:
      papier_dagen_tot_afhaal:
        attribute_templates:
          numeric_days: "{{ state_attr('sensor.afvalwijzer_papier', 'days_until_collection_date') }}"
        value_template: >
          {%- set sensor  = 'sensor.afvalwijzer_papier' %}
          {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %}
          {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %}
          {%- set days_until = state_attr(sensor, 'days_until_collection_date') %}
          {% set ws = (days_until / 7) | int %}
          {% set w = 'een' if ws < 0 else ws %}
          {% set wk = 'week' if w < 2 else 'weken' %}
          {%- if days_until <= 1 %}
            {{ ['Vandaag', 'Morgen'][days_until] }}
          {%- elif days_until < 7 - now().isoweekday() %}
            {{ days[collection_date.weekday()] | title }}
          {%- elif days_until < 14 - now().isoweekday() %}
            {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
          {%- else %}
            {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
          {%- endif %}
        friendly_name: Dagen tot papier
        name: "Dagen tot papier"
      gft_dagen_tot_afhaal:
        attribute_templates:
          numeric_days: "{{ state_attr('sensor.afvalwijzer_gft', 'days_until_collection_date') }}"
        value_template: >
          {%- set sensor  = 'sensor.afvalwijzer_gft' %}
          {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %}
          {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %}
          {%- set days_until = state_attr(sensor, 'days_until_collection_date') %}
          {% set ws = (days_until / 7) | int %}
          {% set w = 'een' if ws < 0 else ws %}
          {% set wk = 'week' if w < 2 else 'weken' %}
          {%- if days_until <= 1 %}
            {{ ['Vandaag', 'Morgen'][days_until] }}
          {%- elif days_until < 7 - now().isoweekday() %}
            {{ days[collection_date.weekday()] | title }}
          {%- elif days_until < 14 - now().isoweekday() %}
            {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
          {%- else %}
            {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
          {%- endif %}
        friendly_name: Dagen tot GFT
        name: Dagen tot GFT
      pmd_dagen_tot_afhaal:
        attribute_templates:
          numeric_days: "{{ state_attr('sensor.afvalwijzer_plastic', 'days_until_collection_date') }}"
        value_template: >
          {%- set sensor  = 'sensor.afvalwijzer_plastic' %}
          {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %}
          {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %}
          {%- set days_until = state_attr(sensor, 'days_until_collection_date') %}
          {% set w = (days_until / 7) | int  %}
          {% set wk = 'week' if w < 2 else 'weken' %}
          {%- if days_until <= 1 %}
            {{ ['Vandaag', 'Morgen'][days_until] }}
          {%- elif days_until < 7 - now().isoweekday() %}
            {{ days[collection_date.weekday()] | title }}
          {%- elif days_until < 14 - now().isoweekday() %}
            {{ 'Volgende week ' ~ days[collection_date.weekday()] }}
          {%- else %}
            {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
          {%- endif %}
        friendly_name: Dagen tot plastic
        name: Dagen tot plastic

Could you please confirm your templates still work? I copied them, but they don't work in my case.

I believe the "set collection_date" is incorrect as there is no attribute "year_month_day_date" to the afval sensors, but I'm not capable to determine what the correct settings should be.

This is my error log for GFT: TemplateError('ValueError: Template error: as_datetime got invalid input 'None' when rendering template '{%- set sensor = 'sensor.afvalwijzer_gft' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %} {{ ['Vandaag', 'Morgen'][days_until] }} {%- elif days_until < 7 - now().isoweekday() %} {{ days[collection_date.weekday()] | title }} {%- elif days_until < 14 - now().isoweekday() %} {{ 'Volgende week ' ~ days[collection_date.weekday()] }} {%- else %} {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }} {%- endif %}' but no default was specified') while processing template 'Template<template=({%- set sensor = 'sensor.afvalwijzer_gft' %} {%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %} {%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %} {%- set days_until = state_attr(sensor, 'days_until_collection_date') %} {% set ws = (days_until / 7) | int %} {% set w = 'een' if ws < 0 else ws %} {% set wk = 'week' if w < 2 else 'weken' %} {%- if days_until <= 1 %} {{ ['Vandaag', 'Morgen'][days_until] }} {%- elif days_until < 7 - now().isoweekday() %} {{ days[collection_date.weekday()] | title }} {%- elif days_until < 14 - now().isoweekday() %} {{ 'Volgende week ' ~ days[collection_date.weekday()] }} {%- else %} {{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }} {%- endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.afval_gft'