Recolección de basura en Home Assistant

El componente Recolección de basura o garbage_collection en inglés, es un sensor personalizado Home Assistant para monitorear el programa regular de recolección de basura. El sensor se puede configurar para varios horarios diferentes:

  • weekly horario (incluidos varios días de recogida, por ejemplo, martes y jueves)
  • every-n-weeks se repite cada una period de las semanas, comenzando por el número de la semana first_week. Utiliza el número de la semana; por lo tanto, se reinicia cada año, ya que los números de la semana comienzan de nuevo desde 1.
  • quincenalmente en even-weeksodd-weeks(técnicamente, es lo mismo que cada 2 semanas con la  o la  first_week )
  • every-n-days (se repite regularmente desde la primera fecha indicada). Si n es multiplicado por 7, funciona de manera similar a every-n-weeks, con la diferencia de que no usa los números de semana (que se reinician cada año) sino que continúa infinitamente desde la fecha inicial.
  • monthl y horario (n º día de la semana de cada mes), o un día de la semana específico de cada n º semana. El uso también period podría ser cada  , 3º, etc. meses.
  • annually (por ejemplo, cumpleaños). Esto es una vez al año. Con incluir fechas, puede agregar fechas adicionales manualmente. También puede configurar calendarios estacionales (por ejemplo, para la recogida de biorresiduos), configurando el primer y el último mes. Y puede group entidades, que fusionarán múltiples horarios en un sensor.

Estos son algunos ejemplos que utilizan este sensor. Los ejemplos de configuración de Lovelace se incluyen a continuación. 

Recolección de basura
Recolección de basura – verbose_state: true
Recolección de basura
Recolección de basura – verbose_state: false

Para la tarjeta entidades podemos configurar la opción verbose_state: false o true. Si lo ponemos en true obtendremos cómo resultado la imagen de arriba dónde el sensor nos muestra la fecha de la próxima recogida, si es hoy o mañana. En la segunda imagen, la opción está en false y nos muestra los tres estados del sensor. 0=hoy 1=mañana, 2=2 o más días.

INSTALACIÓN VÍA HACS (Recomendada)

  1. Asegúrese de que HACS esté instalado.
  2. Busque e instale la integración «Garbage Collection».
  3. Configure el sensor garbage_collection .
  4. Reinicie Home Assistant.

INSTALACIÓN MANUAL

  1. Descargue la última versión .
  2. Desempaquete la versión y copie la carpeta custom_components/garbage_collection en la carpeta custom_components de la instalación de Home Assistant.
  3. Configure el sensor garbage_collection.
  4. Reinicie Home Assistant.

Hay 2 formas de configurar la integración:

  1. Usando Config Flow : Configuration/Integrations haga clic en el botón +, seleccione Garbage Collectiony configure el sensor. Si configura Garbage Collection usando Config Flow, puede cambiar el entity_name, el nombre y cambiar los parámetros del sensor desde la configuración de Integraciones. Los cambios son instantáneos y no requieren reinicio de HA.
    Si desea agregar más de 1 programa de recolección, haga clic en el botón + nuevamente y agregue otra configuración Garbage Collection de integración para otro periodo de recolección.
  2. Usando YAML (obsoleto pero aún funciona. Es más, a mí me ha funcionado mejor así que de la otra forma): agregue integración garbage_collection en su configuration.yaml y agregue sensores individuales.
  3. Si cómo yo no lo quieres poner en el configuration.yaml, puedes crear el archivo garbage_collection.yaml y crear el vinculo a este archivo cómo se hace habitualmente. (si no sabes hacerlo, en el vídeo de más abajo lo explico)

Ejemplos de configuración manual

  sensors:
  - name: "Envases" #Envases ligeros todos los lunes y viernes
    frequency: "weekly"
    collection_days:
    - mon
    - sat
    expire_after: '21:00'
    exclude_dates:
    - '2021-12-31'
    include_dates:
    - '2021-01-02'
    verbose_state: false

  - name: "Papel y cartón" # Papel y cartón todos los martes del año
    first_month: "jan"
    last_month: "dec"
    collection_days: "tue"
    verbose_state: false

  - name: "Orgánico" # todos los martes, jueves y domingos
    collection_days: 
    - tue
    - thu
    - sun
    verbose_state: false
    

  - name: "Cristal" # Papel y cartón todos los martes del año
    frequency: "odd-weeks"
    first_month: "jan"
    last_month: "dec"
    collection_days: "wed"
    verbose_state: false
    

  - name: "Residuos" # Papel y cartón todos los martes del año
    frequency: "even-weeks"
    collection_days: "wed"
    verbose_state: false

PARAMETROS DE CONFIGURACION

PARAMETROS DEL SENSOR

AtributoRequeridoDescripción
nameNombre descriptivo del sensor
frequency"weekly""even-weeks""odd-weeks""every-n-weeks""every-n-days""monthly""annual"O"group"
offsetNoDesplazamiento de la fecha calculada por offset días (tiene más sentido para la frecuencia mensual). Ejemplos de uso:
para la última Semana de cada mes, configure primer sábado de cada mes con offset: -7
por 1 miércoles en la semana completa, configure primer lunes de cada mes con offset: 2
(número entero entre -31 y 31) por defecto : 0
hiddenNoOcultar en calendario (útil para sensores que se utilizan en grupos)
Predeterminado :False
icon_normalNoIcono predeterminado Predeterminado : mdi:trash-can
icon_todayNoIcono si la colección es hoy por defecto :mdi:delete-restore
icon_tomorrowNoIcono si la colección es mañana Predeterminado :mdi:delete-circle
expire_afterNoHora en formato de formato HH:MM. Si la recolección vence hoy, comience a buscar la próxima ocurrencia después de esta hora (es decir, si la recolección semanal es por la mañana, cambie el estado de ‘hoy’ a la próxima semana por la tarde)
verbose_stateNoEl estado del sensor mostrará la fecha de recolección y los días restantes, en lugar del número. Predeterminado :False
verbose_formatNo(relevante cuando verbose_statees True). Cadena de formato de estado detallada. Puede utilizar marcadores de posición {date}{days}mostrar la fecha de la próxima recopilación y los días restantes. Predeterminado : 'on {date}, in {days} days'
cuando la colección sea hoy o mañana, se mostrará TodayTomorrow
(actualmente en inglés, francés, checo e italiano).
date_formatNoEn el verbose_format, puede configurar el formato de fecha (usando el formato strftime ) Predeterminado :'%d-%b-%Y'

PARÁMETROS PARA TODAS LAS FRECUENCIAS EXCEPTO ANUAL Y GRUPO

AtributoRequeridoDescripción
first_monthNoAbreviatura de tres letras del mes, p "jan". Ej. , "feb"
Predeterminado :"jan"
last_monthNoAbreviatura de tres letras del mes.
Por defecto :"dec"
exclude_datesNoLista de fechas sin recopilación (utilizando formato de fecha internacional 'yyyy-mm-dd'.
include_datesNoLista de colección extra (utilizando formato de fecha internacional 'yyyy-mm-dd'.
move_country_holidaysNoDías festivos: el código del país (consulte los días festivos para ver la lista de códigos de países válidos).
Mueva automáticamente la recolección de basura en días festivos al día siguiente.
Ejemplo: US
holiday_in_week_moveNoMueva la recolección de basura al día siguiente si es feriado en la semana.
Por defecto :false
holiday_move_offsetNoMover la colección por el número de días (entero -7..7) Predeterminado : 1
holiday_pop_namedNoNo haga caso de las vacaciones (lista de nombres de vacaciones) Ejemplo: "Columbus Day" ,"Veterans Day"
provNoVacaciones en el campo – provincia (ver vacaciones ).
stateNoVacaciones en el campo – estado (ver vacaciones ).
observedNoVacaciones en el campo – observadas (ver vacaciones ).

PARÁMETROS PARA TODAS LAS FRECUENCIAS EXCEPTO ANUAL, CADA N DÍAS y GRUPO

AtributoRequeridoDescripción
collection_daysDía abreviatura de tres letras, lista de "mon""tue""wed""thu""fri""sat""sun".

PARÁMETROS PARA LA RECOLECCIÓN CADA N SEMANAS

AtributoRequeridoDescripción
periodNoRecolección cada "period"semana (entero 1-53)
Predeterminado : 1
first_weekNoPrimera recopilación de la "first_week"semana (entero 1-53)
Predeterminado : 1
(El número de la semana usa la representación numérica ISO-8601 de la semana)

Nota: Este parámetro no se puede usar para establecer el comienzo del período de recopilación (use el first_monthparámetro para eso ). El propósito de first_weekes simplemente «compensar» el número de semana, de modo que la recopilación cada n semanas no siempre se active en números de semana que sean multiplicados por n. Técnicamente, el valor de este parámetro será menor que period, de lo contrario dará resultados extraños. También tenga en cuenta que los números de semana se reinician cada año. Utilice la every-n-daysfrecuencia si necesita un período constante a lo largo de los fines de año.

PARÁMETROS DE RECOGIDA CADA DÍA

AtributoRequeridoDescripción
first_dateSe repite cada n días a partir de esta primera fecha
(fecha en el formato ISO internacional 'yyyy-mm-dd').
periodNoRecolección todos los "period"días (advertencia: ¡en esta configuración son días, no semanas!)
Predeterminado : 1 (diario, lo cual no tiene sentido, supongo)

PARÁMETROS DE RECOGIDA MENSUAL

La programación mensual tiene dos sabores: puede activar ya sea en el º ocurrencia del día de la semana en un mes, o en el día de la semana en el º semana de cada mes.

AtributoRequeridoDescripción
weekday_order_numberSí/NoLista de números de semana de collection_day cada mes. Por ejemplo, si collection_day es "sat", 1 significará el primer sábado de cada mes (entero 1-5)
week_order_numberSí/NoSimilar a weekday_order_number, pero en lugar del día nº de la semana de cada mes, tome el día de la semana de la nº semana de cada mes.
Entonces, si el mes comienza el viernes, el miércoles de la primera semana sería en realidad el último miércoles del mes anterior y el miércoles de la segunda semana será el primer miércoles del mes.
periodNoSi period no está definido (1), el horario se repetirá mensualmente. Si period es 2, será cada 2 meseses. Si period es 3, será una vez por trimestre, y así sucesivamente.
A continuación, el parámetro first_month definirá el mes de inicio. Así que si el first_month es jan(o no definido), y period es 2, la colección estará en meses impares ( janmarmayjulsepnov). Si first_month es así feb, será en meses pares. (entero 1-12)
Predeterminado : 1

Uno de los parámetros weekday_order_numberweek_order_number debe definirse. Pero no puede combinar ambas opciones en un sensor.

PARÁMETROS DE RECOGIDA ANUAL

AtributoRequeridoDescripción
dateFecha de la colección usando formato 'mm/dd'(por ejemplo, ’11 / 24 ‘para el 24 de noviembre de cada año)

PARAMETROS PARA GRUPO

AtributoRequeridoDescripción
entitiesLista de entity_id para fusionar

IMPORTANTE: coloque las fechas de inclusión / exclusión entre comillas. Las fechas sin comillas pueden hacer que Home Assistant no cargue la configuración al comenzar, en caso de que la fecha no sea válida. La validación de fechas entre comillas funciona bien. Creo que esto es un error general, me estoy ocupando de eso. (Vea el ejemplo de arriba)

ESTADO Y ATRIBUTOS

Expresar

El estado puede ser uno de

ValorSignificado
0La colección es hoy
1La colección es mañana
2La colección es posterior

Si el verbose_stateparámetro está configurado, mostrará la fecha y los días restantes, por ejemplo, «Hoy» o «Mañana» o «el 10 de septiembre de 2019, en 2 días» (configurable)

Atributos

AtributoDescripción
next_dateLa fecha de la próxima colección.
daysDías hasta la próxima colección
holidaysLista de países usados ​​(mostrando este año)
last_collectionFecha y hora de la última colección

Servicios

garbage_collection.collect_garbage

Si la colección está programada para hoy, márquela como completada y busque la próxima colección. Establecerá el last_collectionatributo a la fecha y hora actuales.

AtributoDescripción
entity_idLa identificación de la entidad de recolección de gatbage (p sensor.general_waste. Ej. )

Ejemplos de configuración de Lovelace

Tarjeta personalizada de recolección de basura

Puede usar la tarjeta de recolección de basura personalizada desarrollada por @amaximus.

Reciclaje de basura Tarjeta personalizada
Tarjeta personalizada Recolección de basura
  - type: vertical-stack
    cards:
      - cards: null
        type: custom:garbage-collection-card
        entity: sensor.envases_varios
        icon_size: 40px
        icon_color: green
        hide_date: false
      - cards: null
        type: custom:garbage-collection-card
        entity: sensor.papel_carton
        icon_size: 40px
        icon_color: green
        hide_date: false
      - cards: null
        type: custom:garbage-collection-card
        entity: sensor.cristales
        icon_size: 40px
        icon_color: green
        hide_date: false
      - cards: null
        type: custom:garbage-collection-card
        entity: sensor.organicos
        icon_size: 40px
        icon_color: green
        hide_date: false
      - cards: null
        type: custom:garbage-collection-card
        entity: sensor.residuos
        icon_size: 40px
        icon_color: green
        hide_date: false

Recolección de basura con imágenes (entidad de imagen)

Esto es lo que uso (me gustan las imágenes). Utilizo una pila horizontal de entidades de imagen, con un card-templater complemento ( Lovelace Card Templater ) para mostrar el número de días:

Contenedores Recolección de basura
Recolecciónde basura – Contenedores

(El state está diseñado para usarse como semáforos, por eso tiene 3 valores. Obviamente no puedes usar esto con verbose_state)

Esta es la configuracion

type: vertical-stack
cards:
  - type: horizontal-stack
    cards:
      - type: custom:card-templater
        card:
          type: picture-entity
          name_template: '{{ states.sensor.envases_varios.attributes.days }} days'
          show_name: true
          show_state: false
          entity: sensor.envases_varios
          state_image:
            '0': /local/contenedores/envases.jpg
            '1': /local/contenedores/envases-1.jpg
            '2': /local/contenedores/envases-2.jpg
        entities:
          - sensor.envases_varios
      - type: custom:card-templater
        card:
          type: picture-entity
          name_template: '{{ states.sensor.papel_carton.attributes.days }} days'
          show_name: true
          show_state: false
          entity: sensor.papel_carton
          state_image:
            '0': /local/contenedores/papel.jpg
            '1': /local/contenedores/papel-1.jpg
            '2': /local/contenedores/papel-2.jpg
        entities:
          - sensor.papel_carton
      - type: custom:card-templater
        card:
          type: picture-entity
          name_template: '{{ states.sensor.cristales.attributes.days }} days'
          show_name: true
          show_state: false
          entity: sensor.cristales
          state_image:
            '0': /local/contenedores/cristal.jpg
            '1': /local/contenedores/cristal-1.jpg
            '2': /local/contenedores/cristal-2.jpg
        entities:
          - sensor.cristales
      - type: custom:card-templater
        card:
          type: picture-entity
          name_template: '{{ states.sensor.organicos.attributes.days }} days'
          show_name: true
          show_state: false
          entity: sensor.organicos
          state_image:
            '0': /local/contenedores/organico.jpg
            '1': /local/contenedores/organico-1.jpg
            '2': /local/contenedores/organico-2.jpg
        entities:
          - sensor.organicos
      - type: custom:card-templater
        card:
          type: picture-entity
          name_template: '{{ states.sensor.residuos.attributes.days }} days'
          show_name: true
          show_state: false
          entity: sensor.residuos
          state_image:
            '0': /local/contenedores/residuos.jpg
            '1': /local/contenedores/residuos-1.jpg
            '2': /local/contenedores/residuos-2.jpg
        entities:
          - sensor.residuos

Si quieres descargar las imágenes de estos contenedores para utilizar en tu Home Assistant, haz clic aquí

Configuración de Lovelace

Recolección de basura
type: entities
entities:
  - entity: sensor.envases_varios
  - entity: sensor.papel_carton
  - entity: sensor.cristales
  - entity: sensor.organicos
  - entity: sensor.residuos
title: Calendario de recolección

Sígueme a Youtube

Reciclaje de basura - Sígueme en Youtube
(Visited 366 times, 1 visits today)
EnglishDeutschEspañol