c’est le cas… Bingo c’était bien ça! ça fonctionne!! Merci!!!
@WarC0zes Pourquoi la customisation fonctionnait avec la lune mais pas avec le soleil ou les saisons? je comprends que ce n’est pas au même endroit que c’est fait mais…?
Pour la lune c’est un template sensor.
Pour le soleil et les saisons, c’est un customize qui utilise un template. C’est custom-ui qui permet d’utiliser des templates pour customize. Par défaut on peut pas.
Ok, merci pour ces explications et pour ton aide.
WOW ! Je viens de tomber sur ce sujet ! et j’adore !!!
ça t’es déjà passé à l’idée de présenter tout ton dashboard @WarC0zes ?
J’ai pas présenter tout mon dashboard, mais j’ai partager des cartes issue de mon dashboard.
Bonjour tout le monde,
est ce que l’option pour passer en hourly est toujours présente sur api météofrance ?
D’après la doc, il faut cliquer sur le nom de ville, mais pas possible chez moi =>
Merci et bon dimanche.
Bonjour,
c’est plus possible depuis la 2023.09.x., faut passer par un template en attendant que la carte MF soit a jour pour gérer ca. Maintenait c’est la carte qui doit te permettre de choisir heure/jours, il y a celle par défaut de HA qui le fait.
pour le template:
Hello,
Merci, j’ai réussi à reproduire quelque chose :
template:
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecast
data:
type: hourly
target:
entity_id: weather.fouquieres_les_lens
response_variable: hourly
sensor:
- name: "Weather Forecast Hourly"
unique_id: weather_forecast_hourly
state: "{{ now().isoformat() }}"
attributes:
forecast: "{{ hourly.forecast }}"
Par contre, il doit me manquer une info en haut de la carte :
Une question, comme je suis aussi perdu dans le découpage des fichiers yaml, si je veux déplacer la partie citée en haut dans sensors.yaml ou template.yaml, comment je dois modifier la syntaxe ? est-ce qu’il y a un tuto quelque part concernant la syntaxe ?
Dans sensors.yaml, je vais essayer ça :
- platform: template
trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecast
data:
type: hourly
target:
entity_id: weather.fouquieres_les_lens
response_variable: hourly
sensor:
- name: "Weather Forecast Hourly"
unique_id: weather_forecast_hourly
state: "{{ now().isoformat() }}"
attributes:
forecast: "{{ hourly.forecast }}"
Merci.
C’est un template, on le met dans template.yaml et ajoute template: !include template.yaml
dans ton configuration.yaml.
tu créer un fichier template.yaml dans /config/.
faut enelever le template:
au début du code et met le reste.
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecast
data:
type: hourly
target:
entity_id: weather.fouquieres_les_lens
response_variable: hourly
sensor:
- name: "Weather Forecast Hourly"
unique_id: weather_forecast_hourly
state: "{{ now().isoformat() }}"
attributes:
forecast: "{{ hourly.forecast }}"
j’utilise pas ce template, je saurais te dire.
Peu être que @vingerha en saura plus.
Je ne sais pas ce que tu manque mais ici la mienne, j; ai ajoute ‹ swipe › pour aussi swiper les jours …sur mobile très utile.
type: custom:stack-in-card
mode: vertical
style: |
ha-card {
border-width: 0px !important;
background: none
}
cards:
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:card-templater
card:
type: custom:compass-card
card_mod:
style: |
ha-card {--ha-card-border-width: 0;
background: none }
indicator_sensors:
- sensor_template: |
{% if states('sun.sun') == "below_horizon" %}
sensor.moon_api
{% else %}
sun.sun
{% endif %}
attribute_template: |
{% if states('sun.sun') == "below_horizon" %}
moon_azimuth
{% else %}
azimuth
{% endif %}
indicator:
type: circle
color_template: |
{% if states('sun.sun') == "below_horizon" %}
black
{% else %}
orange
{% endif %}
show: true
state_abbreviation:
show: false
value_sensors:
- sensor_template: |
{% if states('sun.sun') == "below_horizon" %}
sensor.moon_api
{% else %}
sun.sun
{% endif %}
attribute_template: |
{% if states('sun.sun') == "below_horizon" %}
moon_altitude
{% else %}
elevation
{% endif %}
decimals: 1
state_value:
show: true
color: white
compass:
circle:
background_image_template: |
{% if states('sun.sun') == "below_horizon" %}
/local/pictures/moon_phases/{{states.sensor.moon_phase.state}}.png
{% else %}
/local/pictures/house_abcd.jpg
{% endif %}
background_opacity: 0.7
north:
show: true
east:
show: true
west:
show: true
south:
show: true
entities:
- entity: sensor.moon_phase
- entity: sun.sun
- type: custom:horizon-card
name: Sun
card_mod:
style: |
.sun-card-footer .sun-card-text-subtitle {
font-size: 1rem !important;
color: var(--primary-text-color) !important;
}
.sun-card-header .sun-card-text-subtitle {
font-size: 1rem !important;
color: var(--primary-text-color) !important;
}
.sun-card-header .sun-card-text-time {
font-size: 1.1rem !important;
color: var(--primary-text-color) !important;
}
.sun-card-footer .sun-card-text-time {
font-size: 1.1rem !important;
color: var(--primary-text-color) !important;
}
ha-card {
border-width: 0px !important;
background: none }
}
- type: custom:mod-card
card:
style: |
ha-card {
border-width: 0px !important;
background: none
}
type: custom:meteofrance-weather-card
entity: weather.abcd
number_of_forecasts: '7'
name: abcd
details: true
one_hour_forecast: true
alert_forecast: true
forecast: false
hourlyforecast: false
current: true
static_icons: true
- type: custom:text-divider-row
text: Swipe for next 7 days
align: center
- type: custom:swipe-card
reset_after: 10
parameters:
autoHeight: false
initialSlide: 0
centeredSlides: true
loop: false
followfinger: true
cards:
- type: custom:meteofrance-weather-card
entity: weather.abcd
number_of_forecasts: '14'
current: false
details: false
alert_forecast: false
animated_icons: true
wind_forecast_icons: false
forecast: true
one_hour_forecast: false
card_mod:
style: |
ha-card {--ha-card-border-width: 0;
background: none }
ha-card > ul > li:nth-child(7) {
border-right: 0px !important;
}
ha-card > ul > li:nth-child(8) {
display: none;
}
ha-card > ul > li:nth-child(9) {
display: none;
}
ha-card > ul > li:nth-child(10) {
display: none;
}
ha-card > ul > li:nth-child(11) {
display: none;
}
ha-card > ul > li:nth-child(12) {
display: none;
}
ha-card > ul > li:nth-child(13) {
display: none;
}
ha-card > ul > li:nth-child(14) {
display: none;
}
- type: custom:meteofrance-weather-card
entity: weather.abcd
number_of_forecasts: '14'
current: false
details: false
alert_forecast: false
animated_icons: true
wind_forecast_icons: false
forecast: true
one_hour_forecast: false
card_mod:
style: |
ha-card > ul > li:nth-child(1) {
display: none;
}
ha-card > ul > li:nth-child(2) {
display: none;
}
ha-card > ul > li:nth-child(3) {
display: none;
}
ha-card > ul > li:nth-child(4) {
display: none;
}
ha-card > ul > li:nth-child(5) {
display: none;
}
ha-card > ul > li:nth-child(6) {
display: none;
}
ha-card > ul > li:nth-child(7) {
display: none;
}
ha-card {
border-width: 0px !important;
background: none
}
- type: custom:meteofrance-weather-card
entity: sensor.weather_forecast_hourly
number_of_forecasts: '14'
current: false
details: false
alert_forecast: false
animated_icons: true
wind_forecast_icons: false
forecast: true
one_hour_forecast: false
card_mod:
style: |
ha-card > ul > li:nth-child(7) {
border-right: 0px !important;
}
ha-card > ul > li:nth-child(8) {
display: none;
}
ha-card > ul > li:nth-child(9) {
display: none;
}
ha-card > ul > li:nth-child(10) {
display: none;
}
ha-card > ul > li:nth-child(11) {
display: none;
}
ha-card > ul > li:nth-child(12) {
display: none;
}
ha-card > ul > li:nth-child(13) {
display: none;
}
ha-card > ul > li:nth-child(14) {
display: none;
}
ha-card {
border-width: 0px !important;
background: none
}
- type: custom:meteofrance-weather-card
entity: sensor.weather_forecast_hourly
number_of_forecasts: '14'
current: false
details: false
alert_forecast: false
animated_icons: true
wind_forecast_icons: false
forecast: true
one_hour_forecast: false
card_mod:
style: |
ha-card > ul > li:nth-child(1) {
display: none;
}
ha-card > ul > li:nth-child(2) {
display: none;
}
ha-card > ul > li:nth-child(3) {
display: none;
}
ha-card > ul > li:nth-child(4) {
display: none;
}
ha-card > ul > li:nth-child(5) {
display: none;
}
ha-card > ul > li:nth-child(6) {
display: none;
}
ha-card > ul > li:nth-child(7) {
display: none;
}
ha-card {
border-width: 0px !important;
background: none
}
bonjour,
tu pourrais me dire qu’elle carte tu utilise pour ça ? et si possible partager le code ?
merci
Bonjour, toutes les cartes utilisées sont décrites plus haut et tous les codes sont partagés
Je n’avais pas encore testé la carte windrose-card que nous présentait @MichelJ et bien c’est chose faite avec mon anémomètre Netatmo…
Voici le github pour rappel :
le code de la carte :
type: custom:windrose-card
title: Direction rafales vent (24h)
data_period:
hours_to_show: 24
max_width: 300
windspeed_bar_location: bottom
windspeed_bar_full: true
wind_direction_entity:
entity: sensor.anemometre_angle
windspeed_entities:
- entity: sensor.anemometre_wind_strength
name: moyenne
use_statistics: false
render_relative_scale: false
- entity: sensor.anemometre_gust_strength
name: rafale
wind_direction_unit: degrees
input_speed_unit: kph
output_speed_unit: kph
direction_compensation: 0
cardinal_direction_letters: NESW
matching_strategy: direction-first
direction_speed_time_diff: 1
speed_range_beaufort: false
speed_range_step: 10
speed_range_max: 100
center_calm_percentage: false
colors:
rose_lines: rgb(0,255,0)
rose_direction_letters: white
rose_percentages: yellow
bar_border: hsl(200, 100%, 60%)
bar_unit_name: white
bar_name: yellow
bar_unit_values: white
bar_percentages: orange
Salut,
Petit commentaire, vous pouvez spécifier les point cardinaux en français avec le paramètre suivant:
cardinal_direction_letters: NESO
merci je remarque que dans le code decrit ils utilisent une carte glance avec le nom de l’entité en haut et la valeur en bas toi tu as tout en bas
c’est pour cela que je me posé la question de la carte que tu avais employé car visiblement ce n’est pas la même ?
merci
Bonjour,
le code avec le nom et état en bas ce trouve dans la V2.
voici le code:
- type: custom:mod-card
card_mod:
style:
.: |
:host {
--text-divider-color: rgb(68, 115, 158);
--text-divider-line-size: 1px;
}
ha-card {
top: -30px;
}
card:
type: custom:text-divider-row
text: CYCLES
align: left
- type: grid
columns: 3
square: false
cards:
- type: custom:button-card
entity: sensor.lune
show_state: true
show_icon: false
show_entity_picture: true
aspect_ratio: 1.5/1
size: 23%
styles:
card:
- '--mdc-ripple-color': rgb(68, 115, 158)
- '--mdc-ripple-press-opacity': 0.5
- border-radius: 8px
state:
- font-size: 13px
card_mod:
style: |
ha-card {
margin-top: -45px
}
- type: custom:button-card
entity: sun.sun
name: Soleil
show_state: true
show_icon: false
show_entity_picture: true
aspect_ratio: 1.5/1
size: 36%
state_display: |
[[[
if (entity.state === 'below_horizon') return "Sous l'horizon";
else return "Au-dessus de l'horizon";
]]]
styles:
card:
- '--mdc-ripple-color': rgb(68, 115, 158)
- '--mdc-ripple-press-opacity': 0.5
- border-radius: 8px
state:
- font-size: 13px
card_mod:
style: |
ha-card {
margin-top: -45px
}
- type: custom:button-card
entity: sensor.season
name: Saison
show_state: true
show_icon: false
show_entity_picture: true
aspect_ratio: 1.5/1
size: 28%
state_display: |
[[[
if (entity.state === 'summer') return 'été';
if (entity.state === 'winter') return 'Hiver';
if (entity.state === 'autumn') return 'Automne';
else return 'Printemps';
]]]
styles:
card:
- '--mdc-ripple-color': rgb(68, 115, 158)
- '--mdc-ripple-press-opacity': 0.5
- border-radius: 8px
state:
- font-size: 13px
card_mod:
style: |
ha-card {
margin-top: -45px
}
Ah d’accord merci beaucoup et désolé du coup