man meteo
Interface météo allergie HA
Configuration interface météo et niveau allergènes
Introduction
Mise en page
J’utilise le mode “sections” avec 4 colonnes et l’en-tête. Dans les faits, la troisième colonne est en fait double : il s’agit de cartes météo qui gagnent à prendre un peu plus d’espace.
L’en-tête
L’en-tête, ou header est la portion située en haut de l’onglet. Elle est limitée en terme de fonctionnalités, mais c’est la première chose qu’on voit : idéale donc pour les alertes météo ou les allergies. Afin d’éviter un encombrement, on crée des cartes conditionnelles qui ne s’affichent que lorsque l’entité choisie est active.
Source ?
J’utilise l’intégration de l’IRM, puisque je suis belge. Pour les autres, AccuWeather fourni les concentrations précises et le niveau de danger associé.

Chacun des pollens mesurés possède son propre badge, dont voici le code :
type: entity # Simple badge entitéshow_name: true # On affiche le nom du pollen incriminéshow_state: false # Le nom suffit, pas besoin de la valeur préciseshow_icon: true # Parce que c'est plus sympa avecentity: sensor.maison_grasses_level # Attention ici, si on utilise AccuWeather, le senseur aura une forme de type "sensor.maison_grass_pollen_day_0" (*maison* étant le nom de l'intégration Accuweather dans mon cas, *0* étant le jour d'aujourd'hui)name: Graminées # On précise le nom françaisshow_entity_picture: false # Pas besoincolor: pink # Plus contrasté que le rouge, je le préfère pour les dangers.visibility: # On modifie la visibilité ici pour qu'il ne s'affiche que si le capteur est différent de *none* (aucun), unavalaible (indisponible) ou unknown (inconnu). En gros : s'il est actif. - condition: state entity: sensor.maison_grasses_level state_not: none - condition: state entity: sensor.maison_grasses_level state_not: unavailable - condition: state entity: sensor.maison_grasses_level state_not: unknownPremière colonne : Météo temps réel et prévisions

La météo actuelle est donnée par l’intégration IRM (disponible sur HACS). Météo-France fourni à peu près les mêmes informations. Les informations manquantes depuis l’IRM sont récupérées par tomorrow.io et AccuWeather. Enfin, la carte est la Platinium Weather Card, disponible sur HACS.
Trop de code tue le code
custom1_icon: mdi:cloudcustom1_units: "%"custom1_value: sensor.maison_couverture_nuageuseentity_apparent_temp: sensor.maison_temperature_apparenteentity_fire_danger: sensor.tomorrow_io_maison_indice_d_incendieentity_forecast_icon: weather.maisonentity_forecast_max: sensor.maison_realfeel_temperature_max_day_0entity_forecast_min: sensor.maison_realfeel_temperature_min_day_0entity_humidity: sensor.namur_belgium_humiditeentity_pop: sensor.maison_precipitationentity_pos: sensor.maison_precipitationentity_pressure: sensor.maison_current_pressureentity_summary: sensor.maison_condition_day_0entity_sun: sun.sunentity_temperature: sensor.maison_temperatureentity_uv_alert_summary: sensor.maison_current_uv_indexentity_wind_bearing: sensor.maison_current_wind_bearingentity_wind_gust: sensor.maison_vitesse_des_rafalesentity_wind_speed: sensor.maison_current_wind_speedoption_locale: frsection_order: - overview - extended - slots - daily_forecastshow_section_extended: falseslot_l1: forecast_maxslot_l2: pressureslot_l3: sun_nextslot_l4: windslot_l5: removeslot_l6: removeslot_l7: removeslot_l8: removeslot_r1: forecast_minslot_r2: popforecastslot_r3: sun_followingslot_r4: custom1slot_r5: removeslot_r6: removeslot_r7: removeslot_r8: removetext_card_title: Météo actuelletype: custom:platinum-weather-cardLes prévisions sont séparées en deux cartes: l’une pour les prochaines heures, l’autre pour les jours suivants. Dans les deux cas, la carte est fournie par Weather Chart Card, disponible sur HACS.
Les prévisions pour les prochaines heures sont fournies par tomorrow.io, que je trouve plus proche de la réalité.

Trop de code tue le code
type: custom:weather-chart-cardentity: weather.tomorrow_io_maison_dailyshow_main: falseshow_temperature: falseshow_current_condition: falseshow_attributes: falseshow_time: falseshow_time_seconds: falseshow_day: falseshow_date: falseshow_humidity: falseshow_pressure: falseshow_wind_direction: trueshow_wind_speed: trueshow_sun: trueshow_feels_like: falseshow_dew_point: falseshow_wind_gust_speed: falseshow_visibility: falseshow_last_changed: falseuse_12hour_format: falseicons_size: 25animated_icons: trueicon_style: style1autoscroll: trueforecast: precipitation_type: rainfall show_probability: false labels_font_size: "11" precip_bar_size: "100" style: style1 show_wind_forecast: true condition_icons: true round_temp: false type: hourly number_of_forecasts: "0" disable_animation: falseunits: speed: ""Les prévisions pour les prochains jours sont fournies, elles, par AccuWeather, généralement plus pertinent sur le moyen terme. La carte est exactement la même, il suffit d’adapter le paramètre forecast:type.

Deuxième colonne : Environnement extérieur
Une jauge indique l’indice UV, maximum et actuel, mis à jour toutes les heures. Les données sont fournies par Open-UV, la carte étant une Gauge Card Pro.

Trop de code tue le code
type: custom:gauge-card-prosegments: - from: 0 color: var(--green-color) - from: 3 color: rgb(255, 255, 0) - from: 5 color: "#FFA500" - from: 7 color: redneedle: trueneedle_color: "#111"gradient: truemin: 0max: 10titles: primary: Indice UVgrid_options: columns: 6 rows: 3setpoint: value: "{{ states(entity2) }}" color: "#111" type: templateinner: mode: severity segments: - from: 0 color: var(--green-color) - from: 3 color: rgb(255, 255, 0) - from: 5 color: "#FFA500" - from: 7 color: red gradient: true gradient_resolution: mediumvalue_texts: primary_font_size_reduction: 5.5 primary: "Actuel : {{ states(entity) }}" secondary: "Max : {{ states(entity2) }}"gradient_resolution: mediumentity: sensor.openuv_indice_uv_actuelentity2: sensor.openuv_indice_uv_maximalPas d'auto-update
L’entité n’est pas mise à jour automatiquement. Pour cela, il suffit de créer une automatisation dans la section appropriée.
alias: Update OpenUVdescription: ""triggers: - trigger: time_pattern minutes: /60conditions: - condition: numeric_state entity_id: sun.sun value_template: "{{ state.attributes.elevation }}" above: 10actions: - action: homeassistant.update_entity target: entity_id: sensor.openuv_indice_uv_actuel data: {}La qualité de l’air est fournie par l’intégration WAQI. Les données sont mises en forme de manière un peu particulières: c’est une pile verticale, dans son titre une carte conditionnelle affiche le polluant principal, des Bubble Card indiquent, dans une pile horizontale, la concentration de chaque polluant. Ces données sont ensuite mises en forme au sein de la pile verticale par un graphique représentant les données des dernières 24H par Apex Charts Card.

Trop de code tue le code
type: vertical-stackcards: - type: heading icon: mdi:radioactive heading: Pollution de l'air heading_style: subtitle badges: - type: entity show_state: true show_icon: false entity: sensor.namur_belgium_dominant_pollutant name: Polluant principal color: accent state_content: - name - state - type: horizontal-stack cards: - type: custom:bubble-card card_type: button button_type: state entity: sensor.namur_belgium_pm2_5 name: PM2.5 force_icon: false show_icon: false show_attribute: false attribute: state_class card_layout: normal - type: custom:bubble-card card_type: button button_type: state entity: sensor.namur_belgium_pm10 name: PM10 force_icon: false show_icon: false show_attribute: false attribute: state_class card_layout: normal - type: custom:bubble-card card_type: button button_type: state entity: sensor.namur_belgium_ozone name: Ozone force_icon: false show_icon: false show_attribute: false attribute: state_class card_layout: normal - type: custom:bubble-card card_type: button button_type: state entity: sensor.namur_belgium_nitrogen_dioxide name: Nitrés force_icon: false show_icon: false show_attribute: false attribute: state_class card_layout: normal - type: custom:apexcharts-card header: show: false title: Pollution de l'air - Namur show_states: true colorize_states: true series: - entity: sensor.namur_belgium_pm2_5 name: PM2.5 show: legend_value: false - entity: sensor.namur_belgium_pm10 name: PM2.5 - entity: sensor.namur_belgium_ozone name: O3 - entity: sensor.namur_belgium_nitrogen_dioxide name: NO2Troisième et quatrième colonnes : Cartes en temps réél

J’utilise les cartes en temps réel fournies par le site Windy. Elles sont au nombre de 4 : Vents, Pluie, Températures et risques incendies, intégrées par un iframe.
type: iframeurl: >- https://embed.windy.com/embed.html?type=map&location=coordinates&metricRain=mm&metricTemp=°C&metricWind=m/s&zoom=9&overlay=wind&product=ecmwf&level=surface&lat=50.45&lon=4.9&detailLat=50.45&detailLon=4.9&marker=true&message=truegrid_options: columns: 12 rows: 6