07-25-2025, 06:19 PM
Multumesc frumos am tot cautat asa ceva acum incerc sa-l instalez poate o sa am nevoie de ajutor sunt incepator
Codul pt card unde bagi?mersi
(Edited 07-25-2025, 06:51 PM by Tibrox.)
(06-20-2025, 07:02 PM)Andrei Wrote: Update:
-erori rezolvate cu municipiul Bucuresti (nu era afisat)
-eroare rezolvata cu codul rosu
Dacă folosești Home Assistant și vrei să fii cu un pas înaintea vremii, atunci integrarea avertizărilor meteo de la ANM (Administrația Națională de Meteorologie) e o mișcare deșteaptă.
Tot ce-ți trebuie este:
- Home Assistant funcțional
- Acces la fișierul configuration.yaml
Deschide fișierul configuration.yaml
Mergi în Home Assistant, intră în File Editor
Caută fișierul configuration.yaml
Dă scroll până găsești zona cu sensor: sau adaugă la finalul fișierului dacă nu există deja
Adaugă acest cod:
În cod se va înlocui TM cu codul județului dorit (in toate sectiunile de cod), de ex. CS MH GJ etc.
Code:sensor:
- platform: rest
name: met_alerta
resource: https://hass-forum.ro/api/meteo.php
value_template: "OK"
json_attributes:
- alerts
scan_interval: 2700
Salvează și dă un restart la Home Assistant
Mergi la Settings → System → Restart
Card
În cod se va înlocui TM cu codul județului dorit.
Code:type: markdown
content: >
{% set judet = 'TM' %} {% set alerts = state_attr('sensor.met_alerta',
'alerts') %}
{% macro bold_judet(judete, target) -%}
{%- for j in judete %}
{%- if j == target %}
<strong>{{ j }}</strong>{% if not loop.last %}, {% endif %}
{%- else %}
{{ j }}{% if not loop.last %}, {% endif %}
{%- endif %}
{%- endfor %}
{%- endmacro %}
{% if alerts | selectattr('Judete', 'defined') | selectattr('Judete',
'search', judet) | list | length > 0 %}
{% for alert in alerts if judet in alert['Judete'] %}
<div style="border: 2px solid #FF6F00; border-radius: 10px; padding: 15px;
margin-bottom: 15px; background: #FFF8E1; box-shadow: 0 3px 6px
rgba(0,0,0,0.1);">
<h3 style="color: #E65100; font-size: 18px; margin-top: 0;">⚠️ Cod {{ alert['Cod'] }}</h3>
<p><strong>? Fenomene:</strong> {{ alert['Fenomene'] }}</p>
<p><strong>? Perioadă:</strong> {{ alert['Interval'] }}</p>
<p><strong>? Județe afectate:</strong> {{ bold_judet(alert['Judete'], judet) }}</p>
</div>
{% endfor %}
{% else %} <div style="padding: 15px; border-radius: 10px; background:
#E0F2F1; color: #004D40;">
✅ Nicio alertă meteo pentru județul <strong>{{ judet }}</strong>.
</div> {% endif %}
Automatizari
Pentru automatizari vom avea nevoie de inca un senzor in configuration.yaml:
Code:template:
- sensor:
- name: "Avertizare Meteo"
unique_id: alerta_meteo_senzor
state: >
{% set judet = 'TM' %}
{% set alerts = state_attr('sensor.met_alerta', 'alerts') %}
{% set cod = namespace(val='off') %}
{% if alerts %}
{% for alert in alerts %}
{% if judet in alert['Judete'] %}
{% if 'Cod' in alert %}
{% set cod.val = alert['Cod'] %}
{% endif %}
{% break %}
{% endif %}
{% endfor %}
{% endif %}
{{ cod.val }}
attributes:
judet: TM
Cod automatizare (notificari):
Code:alias: "[Meteo] Notificare avertizare nouă"
description: "Gestionează toate notificările pentru avertizări meteo"
trigger:
- platform: state
entity_id: sensor.avertizare_meteo
not_from: "unavailable"
condition: []
action:
- choose:
- conditions:
- condition: template
value_template: "{{ trigger.from_state.state == 'off' and trigger.to_state.state != 'off' }}"
sequence:
- service: notify.notify
data:
title: "⚠ Avertizare Meteo Nouă ⚠"
message: "A apărut o nouă avertizare - COD: {{ trigger.to_state.state }}"
- conditions:
- condition: template
value_template: "{{ trigger.from_state.state != 'off' and trigger.to_state.state == 'off' }}"
sequence:
- service: notify.notify
data:
title: "✅ Avertizări încheiate"
message: "Toate avertizările meteo au expirat"
- conditions:
- condition: template
value_template: "{{ trigger.from_state.state != 'off' and trigger.to_state.state != 'off' and trigger.from_state.state != trigger.to_state.state }}"
sequence:
- service: notify.notify
data:
title: "? Actualizare Avertizare Meteo"
message: >-
Avertizare modificată:
{{ trigger.from_state.state }} → {{ trigger.to_state.state }}
default: []
mode: single
Codul pt card unde bagi?mersi
![[Image: alerta-1.png]](https://andreidima.ro/wp-content/uploads/2025/06/alerta-1.png)
![[Image: WhatsApp-Image-2025-06-28-at-13.48.04_75...68x670.jpg]](https://andreidima.ro/wp-content/uploads/2025/06/WhatsApp-Image-2025-06-28-at-13.48.04_7555fece-768x670.jpg)