06-19-2025, 09:28 AM
Cu toții am pățit-o: e vineri seara, te așezi liniștit la un film, și brusc îți amintești că trebuie scos gunoiul. Ca să nu mai uiți niciodată, iată o automatizare simplă și eficientă în Home Assistant care îți spune exact când e momentul să scoți gunoiul menajer sau reciclabil.
Ce face această funcție?
În exemplul de mai jos, acest template sensor, se activează (on) doar într-un interval precis:
returnează ziua săptămânii (0 = luni, 1 = marți, …, 4 = vineri, 5 = sâmbătă).
și
sunt ora curentă.
Să zicem că la tine se scoate gunoiul marți seara, după ora 20:00, și vrei ca senzorul să rămână activ și miercuri dimineața până la 08:30.
Atunci modifici codul așa:
[b]Modifici doar:[/b]
Dacă gunoiul menajer are un program clar săptămânal, pentru reciclabil lucrurile devin un pic mai complicate — poate vine [b]o dată la două săptămâni[/b], în anumite zile, la ore diferite. Dar cu un mic truc în Home Assistant, poți face un senzor care ține minte tot pentru tine.
Senzorul acesta se activează (on) doar [b]în zilele în care vine gunoiul reciclabil[/b], după cum urmează:
Cum funcționează?
Foarte simplu:
Dacă mai ai și alte tipuri de colectare (bio, voluminoase, sticlă etc.), poți face senzori similari pentru fiecare. Home Assistant le ține minte pe toate fără să uiți nimic.
Automatizare
Ce poți face mai departe?
Poți conecta senzorul la:
(Edited 06-25-2025, 09:32 AM by Andrei.)
![[Image: IMG_3135.jpeg]](https://andreidima.ro/wp-content/uploads/2025/06/IMG_3135.jpeg)
Ce face această funcție?
În exemplul de mai jos, acest template sensor, se activează (on) doar într-un interval precis:
- Vineri după ora 18:30 – adică atunci când te pregătești de weekend și e momentul perfect să scoți gunoiul;
- Sâmbătă dimineața până la ora 10:00 – dacă ai uitat cu o seară înainte, mai ai o șansă înainte să vină mașina de gunoi.
Code:
- sensor:
- name: "Gunoi Menajer"
state: >
{% set today = now().weekday() %}
{% set hour = now().hour %}
{% set minute = now().minute %}
{% if (today == 4 and (hour > 18 or (hour == 18 and minute >= 30))) or (today == 5 and hour < 10) %}
on
{% else %}
off
{% endif %}Code:
now().weekday()returnează ziua săptămânii (0 = luni, 1 = marți, …, 4 = vineri, 5 = sâmbătă).
Code:
hourși
Code:
minutesunt ora curentă.
Să zicem că la tine se scoate gunoiul marți seara, după ora 20:00, și vrei ca senzorul să rămână activ și miercuri dimineața până la 08:30.
Atunci modifici codul așa:
Code:
- sensor:
- name: "Gunoi Menajer"
state: >
{% set today = now().weekday() %}
{% set hour = now().hour %}
{% set minute = now().minute %}
{% if (today == 1 and (hour > 20 or (hour == 20 and minute >= 0)))
or (today == 2 and (hour < 8 or (hour == 8 and minute <= 30))) %}
on
{% else %}
off
{% endif %}[b]Modifici doar:[/b]
- → undeCode:
today == X
e ziua dorită (ex: marți = 1)Code:X
- șiCode:
hour
→ ora de început și de sfârșit a perioadei activeCode:minute
Dacă gunoiul menajer are un program clar săptămânal, pentru reciclabil lucrurile devin un pic mai complicate — poate vine [b]o dată la două săptămâni[/b], în anumite zile, la ore diferite. Dar cu un mic truc în Home Assistant, poți face un senzor care ține minte tot pentru tine.
Senzorul acesta se activează (on) doar [b]în zilele în care vine gunoiul reciclabil[/b], după cum urmează:
- La un [b]interval de 14 zile[/b], calculat de la o dată de referință (ex: 6 februarie 2025);
- Se aprinde [b]marți după ora 17:00[/b] (ca să-ți aduci aminte să scoți containerul);
- Rămâne activ [b]până miercuri la ora 11:00[/b], ca să te asiguri că nu uiți nici dimineața.
Code:
- sensor:
- name: "Gunoi Reciclabil"
state: >
{% set start = '2025-02-06' %}
{% set days_since = (now().date() - strptime(start, '%Y-%m-%d').date()).days %}
{% set cycle_day = (days_since // 14) * 14 == days_since %}
{% set today = now().weekday() %}
{% set hour = now().hour %}
{% if cycle_day and ((today == 1 and hour >= 17) or (today == 2 and hour < 11)) %}
on
{% else %}
off
{% endif %}Cum funcționează?
- e data de la care începe ciclul de 14 zile.Code:
start
- calculează câte zile au trecut.Code:
days_since
- verifică dacă [b]astăzi e o zi „activă”[/b] în acel ciclu (ex: exact la 14, 28, 42 de zile etc.).Code:
cycle_day
- Verifică dacă suntem în intervalul:
- [b]Marți seara după 17:00[/b], sau
- [b]Miercuri dimineața până la 11:00[/b].
- [b]Marți seara după 17:00[/b], sau
Foarte simplu:
- Vrei să schimbi [b]ziua de început[/b]? Modifici linia:
Code:{% set start = '2024-02-06' %} - Vrei alt [b]interval (ex: la 10 zile)?[/b] Schimbi
în:Code:14
Code:{% set cycle_day = (days_since // 10) * 10 == days_since %} - Schimbi ziua și ora în condiția de la final:
AiciCode:((today == 1 and hour >= 17) or (today == 2 and hour < 11))
e marți,Code:1
e miercuri — poți puneCode:2
pentru luni,
pentru joi etc.Code:3
Dacă mai ai și alte tipuri de colectare (bio, voluminoase, sticlă etc.), poți face senzori similari pentru fiecare. Home Assistant le ține minte pe toate fără să uiți nimic.
Automatizare
Code:
alias: Alertă - gunoi menajer
description: ""
triggers:
- trigger: state
entity_id:
- sensor.gunoi_menajer
to: "on"
conditions: []
actions:
- action: notify.notify
metadata: {}
data:
message: Nu uitați să scoateți gunoiul menajer.
title: Gunoi menajer
mode: singleCe poți face mai departe?
Poți conecta senzorul la:
- notificări pe telefon sau smartwatch
- aprinderea unei lumini LED colorate
- un mesaj pe ecranul TV sau display LCD