Résultats de recherche (Recherche de : 16mb)
- Joebart81
12 Jui 2025 11:55
Réponse de Joebart81 sur le sujet TUTO CARTE WIFI WEMOS D1 PRO et Carte SD (avec ou sans Horloge)
TUTO CARTE WIFI WEMOS D1 PRO et Carte SD (avec ou sans Horloge)
Catégorie : Support technique
J'essaierai mais j'ai acheté la carte avant que tu fasses le tuto, ça fait un petit moment que je dois faire ce changement car de gros problème de perte wifi depuis le début (au mois de mars).
Je ne sais pas si la compilation est la même pour la version 4 et la 16MB, j'en doute, peut-être ça le soucis.
IL faut que je trouve le temps d'essayer cette mise a jour.
Je ne sais pas si la compilation est la même pour la version 4 et la 16MB, j'en doute, peut-être ça le soucis.
IL faut que je trouve le temps d'essayer cette mise a jour.
- Rob_27
12 Jui 2025 10:16
Réponse de Rob_27 sur le sujet TUTO CARTE WIFI WEMOS D1 PRO et Carte SD (avec ou sans Horloge)
TUTO CARTE WIFI WEMOS D1 PRO et Carte SD (avec ou sans Horloge)
Catégorie : Support technique
Bonjour,
Dans le tuto j'indiquais:
Et sur un autre post:
ard-tek.com/index.php/forum/recherche?qu...atrick&childforums=1
Mais puisque tu as la carte, essaie si cela fonctionne, tu seras vite fixé avec l'outil MsunPV USB Tool.
Peut être que j'ai pas eu de chance avec une carte HS.
Et si ça marche pas.....ben c'est pas très cher non plus.
Tiens nous au courant.
Cdlt.
Dans le tuto j'indiquais:
Pour info, j’avais fait un premier essai avec une autre carte WEMOS 16Mb, mais impossible de me connecter
au routeur ; mauvaise série , les 16Mb???
Et sur un autre post:
ard-tek.com/index.php/forum/recherche?qu...atrick&childforums=1
Mais puisque tu as la carte, essaie si cela fonctionne, tu seras vite fixé avec l'outil MsunPV USB Tool.
Peut être que j'ai pas eu de chance avec une carte HS.
Et si ça marche pas.....ben c'est pas très cher non plus.
Tiens nous au courant.
Cdlt.
- Joebart81
12 Jui 2025 10:04
Réponse de Joebart81 sur le sujet TUTO CARTE WIFI WEMOS D1 PRO et Carte SD (avec ou sans Horloge)
TUTO CARTE WIFI WEMOS D1 PRO et Carte SD (avec ou sans Horloge)
Catégorie : Support technique
Bonjour,
J'ai fait l'erreur d'acheter une carte WEMOS D1 PRO mais en version 16MB, suis-je obliger de racheter une autre carte de 4MB ou je peux utiliser ma carte 16MB ?
Merci
J'ai fait l'erreur d'acheter une carte WEMOS D1 PRO mais en version 16MB, suis-je obliger de racheter une autre carte de 4MB ou je peux utiliser ma carte 16MB ?
Merci
- patrick
16 Mai 2025 18:11
Réponse de patrick sur le sujet Mise à jour 105b
Mise à jour 105b
Catégorie : News
Bonsoir Robin, Michel,
Pas testé mais pratiquement sûr que les mémoires 16Mb ne sont pas compatibles avec les firmwares compilés pour les mémoires 4Mb.Soit ma carte précédente, pourtant neuve, était HS, soit parce qu'elle avait 16Mb de mémoire. J'y crois pas mais dans le doute celle que j'ai achetée ne dispose que de 4Mb.
- Rob_27
16 Mai 2025 16:31
Réponse de Rob_27 sur le sujet Mise à jour 105b
Mise à jour 105b
Catégorie : News
Bonjour,
Pour donner suite à la MAJ 105b sur WEMOS D1 PRO.
Je n'ai pas pu acheter la carte testée par Patrick, du coup je me suis rabattu sur une autre.
Mise à jour réussie du premier coup, identifiants rentrés par l'interface WEb lors de la connexion au réseau Msunpv.
Soit ma carte précédente, pourtant neuve, était HS, soit parce qu'elle avait 16Mb de mémoire. J'y crois pas mais dans le doute celle que j'ai achetée ne dispose que de 4Mb.
Reste plus qu'à l'installer ce soir avec sa carte SD+horloge et faire les tests.
Selon les résultats, un tuto sera mis en ligne.
Cdlt.
Pour donner suite à la MAJ 105b sur WEMOS D1 PRO.
Je n'ai pas pu acheter la carte testée par Patrick, du coup je me suis rabattu sur une autre.
Mise à jour réussie du premier coup, identifiants rentrés par l'interface WEb lors de la connexion au réseau Msunpv.
Soit ma carte précédente, pourtant neuve, était HS, soit parce qu'elle avait 16Mb de mémoire. J'y crois pas mais dans le doute celle que j'ai achetée ne dispose que de 4Mb.
Reste plus qu'à l'installer ce soir avec sa carte SD+horloge et faire les tests.
Selon les résultats, un tuto sera mis en ligne.
Cdlt.
- M@tt
01 Déc 2024 13:51
Réponse de M@tt sur le sujet Afficheur déporté Lyligo S3 / esphome / Home assistant
Afficheur déporté Lyligo S3 / esphome / Home assistant
Catégorie : News
Voilà mon code
esphome:
name: lilygo-s3
friendly_name: Lilygo_S3
platformio_options:
board_build.f_flash: 80000000L
board_build.partitions: default_16MB.csv
board_build.arduino.memory_type: qio_opi
external_components:
- source: github://landonr/lilygo-tdisplays3-esphome
components: [tdisplays3]
esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
framework:
type: arduino
flash_size: 16MB
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: ************************
ota:
- platform: esphome
password: ***********************
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Lilygo-S3 Fallback Hotspot"
password: ****************
captive_portal:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
inverted: true
name: "Button 1"
on_press:
then:
- light.turn_on: backlight
- platform: gpio
pin:
number: GPIO14
inverted: true
name: "Button 2"
on_press:
then:
- light.turn_on: backlight
output:
- platform: ledc
pin: GPIO38
id: gpio38
frequency: 2000
light:
- platform: monochromatic
output: gpio38
id: backlight
name: "Backlight"
restore_mode: RESTORE_DEFAULT_ON
interval:
- interval: 60s
then:
- if:
condition:
lambda: 'return id(calcul_enpv_instant_positif).state < 10;'
then:
- light.turn_off: backlight
- if:
condition:
lambda: 'return id(calcul_enpv_instant_positif).state > 11;'
then:
- light.turn_on: backlight
display:
- platform: tdisplays3
id: disp
update_interval: 10s
rotation: 90
lambda: |-
// Dessiner les cadres en blanc pour les données
it.rectangle(10, 5, 240, 55, Color(255, 255, 255)); // Rectangle 1
it.rectangle(10, 60, 240, 55, Color(255, 255, 255)); // Rectangle 2
it.rectangle(10, 115, 240, 55, Color(255, 255, 255)); // Rectangle 3
// Dessiner le cadre pour l'heure et la date
it.rectangle(248, 5, 66, 55, Color(255, 255, 255)); // Rectangle pour l'heure et la date combinées
// Colorier le rond de la température du cumulus selon les conditions
if (id(shelly_temperature).has_state()) {
if (id(shelly_temperature).state < 20) {
it.circle(40, 88, 23, Color(255, 255, 255)); // Blanc si température inférieure à 20°
} else if (id(shelly_temperature).state >= 20.1 && id(shelly_temperature).state <= 44.9) {
it.circle(40, 88, 23, Color(0, 0, 255)); // Bleu si température entre 20.1° et 44.9°
} else if (id(shelly_temperature).state >= 45 && id(shelly_temperature).state <= 65) {
it.circle(40, 88, 23, Color(0, 255, 0)); // Vert si température entre 45° et 65°
} else if (id(shelly_temperature).state >= 65.1) {
it.circle(40, 88, 23, Color(255, 0, 0)); // Rouge si température supérieure à 65°
}
}
// Afficher la valeur de la température du cumulus dans le rond
it.printf(23, 80, id(roboto_smaller), Color(255, 255, 255), "%.1f °", id(shelly_temperature).state);
// Colorer le rectangle du milieu en fonction du capteur rte_tempo_couleur_actuelle
if (id(rte_tempo_couleur_actuelle).has_state()) {
if (id(rte_tempo_couleur_actuelle).state == 1) {
it.rectangle(248, 60, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 62, 62, 51, Color(0, 0, 255)); // Bleu
} else if (id(rte_tempo_couleur_actuelle).state == 2) {
it.rectangle(248, 60, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 62, 62, 51, Color(255, 255, 255)); // Blanc
} else if (id(rte_tempo_couleur_actuelle).state == 3) {
it.rectangle(248, 60, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 62, 62, 51, Color(255, 0, 0)); // Rouge
} else if (id(rte_tempo_couleur_actuelle).state == 4) {
it.rectangle(248, 60, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 62, 62, 51, Color(255, 255, 0)); // Jaune si couleur inconnue
}
} else {
it.rectangle(248, 60, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 62, 62, 51, Color(255, 255, 0)); // Jaune si aucune donnée
}
// Afficher la valeur de la prévision Solcast jour dans le rectangle du milieu
it.printf(275, 62, id(roboto_smaller), Color(255, 255, 255), "J");
it.printf(265, 85, id(roboto_large), Color(255, 255, 255), "%.1f", id(solcast_pv_forecast_previsions_pour_aujourd_hui).state);
// Colorer le rectangle du bas en fonction du capteur rte_tempo_prochaine_couleur
if (id(rte_tempo_prochaine_couleur).has_state()) {
if (id(rte_tempo_prochaine_couleur).state == 1) {
it.rectangle(248, 115, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 117, 62, 51, Color(0, 0, 255)); // Bleu
} else if (id(rte_tempo_prochaine_couleur).state == 2) {
it.rectangle(248, 115, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 117, 62, 51, Color(255, 255, 255)); // Blanc
} else if (id(rte_tempo_prochaine_couleur).state == 3) {
it.rectangle(248, 115, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 117, 62, 51, Color(255, 0, 0)); // Rouge
} else if (id(rte_tempo_prochaine_couleur).state == 4) {
it.rectangle(248, 115, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 117, 62, 51, Color(255, 255, 0)); // Jaune si couleur inconnue
}
} else {
it.rectangle(248, 115, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 117, 62, 51, Color(255, 255, 0)); // Jaune si aucune donnée
}
// Afficher la valeur de la prévision Solcast demain dans le rectangle du bas
it.printf(270, 120, id(roboto_smaller), Color(255, 255, 255), "J+1");
it.printf(265, 140, id(roboto_large), Color(255, 255, 255), "%.1f", id(solcast_pv_forecast_previsions_pour_demain).state);
// Centrer les titres et les valeurs
// Afficher les Panneaux PV
it.printf(85, 10, id(roboto_smaller), Color(0, 255, 0), "PANNEAUX PV:");
it.printf(110, 28, id(roboto_large), Color(0, 255, 0), "%.1f W", id(calcul_enpv_instant_positif).state);
// Afficher le Cumulus
it.printf(105, 65, id(roboto_smaller), Color(255, 165, 0), "CUMULUS:");
it.printf(110, 83, id(roboto_large), Color(255, 165, 0), "%.1f W", id(msunpv_outbal).state);
// Centrer le titre et la valeur pour la Consommation EDF
it.printf(55, 120, id(roboto_smaller), Color(128, 128, 128), "CONSOMMATION EDF:");
it.printf(95, 138, id(roboto_large), Color(128, 128, 128), "%.1f W", id(msunpv_powreso).state);
// Afficher l'heure et la date dans le même rectangle en blanc
it.strftime(252, 8, id(roboto_medium), Color(255, 255, 255), "%H:%M", id(ha_time).now());
it.strftime(258, 40, id(roboto_smaller), Color(255, 255, 255), "%d %b", id(ha_time).now());
font:
- file: "gfonts://Roboto"
id: roboto
size: 30
- file: "gfonts://Roboto"
id: roboto_small
size: 20
- file: "gfonts://Roboto"
id: roboto_smaller
size: 15
- file: "gfonts://Roboto"
id: roboto_medium
size: 23
- file: "gfonts://Roboto"
id: roboto_large
size: 25
time:
- platform: homeassistant
id: ha_time
sensor:
- platform: homeassistant
entity_id: sensor.msunpv_powpv
id: calcul_enpv_instant_positif
- platform: homeassistant
entity_id: sensor.msunpv_powbal
id: msunpv_outbal
- platform: homeassistant
entity_id: sensor.msunpv_powreso
id: msunpv_powreso
- platform: homeassistant
entity_id: sensor.msunpv_t_sdb
id: shelly_temperature
- platform: homeassistant
entity_id: sensor.rte_tempo_couleur_actuelle
id: rte_tempo_couleur_actuelle
- platform: homeassistant
entity_id: sensor.solcast_pv_forecast_forecast_today
id: solcast_pv_forecast_previsions_pour_aujourd_hui
- platform: homeassistant
entity_id: sensor.rte_tempo_prochaine_couleur
id: rte_tempo_prochaine_couleur
- platform: homeassistant
entity_id: sensor.solcast_pv_forecast_forecast_tomorrow
id: solcast_pv_forecast_previsions_pour_demain
- Paps42
28 Nov 2024 12:13
Réponse de Paps42 sur le sujet Afficheur déporté Lyligo S3 / esphome / Home assistant
Afficheur déporté Lyligo S3 / esphome / Home assistant
Catégorie : News
pour utiliser cet afficheur dans ESP home avec le code donné plus haut, il faut respecter quelques étapes :
1 / intégrer ton esp32 display s3 (Lyligo) dans esphome (une fois fait et connecté normalement l'écran n'affiche rien mais la carte est indiqué Online)
il y a des tonnes de tuto sur ca et maintenant avec les mises a jour c'est plutot intuitif.
2/ Editer le code de ton ESP et recopier le code donné en début de post en faisant attention de conserver :+
ensuite tout est dans la suite du code pour le paramétrage selon vos données HA.
il y a des commentaires sur chaque lignes donc c'est assez facile de s'y retrouver et de savoir ce a quoi les codes servent.
si tu n'as pas besoin de la fonction, il suffit de mettre # devant la ligne et elle ne sera pas lu.
il faudra aussi mettre a jour la partie sensor en fonction des sensors de ton HA.
modifie que la partie ID comme ca les liens dans les lignes supérieurs ne seront pas cassé, sinon il faudra faire le lien.
exemple si ton sensor température chauffe eau dans HA s'appelle sensor.toto
tu remplace dans entity_id: sensor.shelly_1_temperature par entity_id: sensor.toto
et idem pour les autres
espérant t'avoir aider a comprendre le principe.
bonne intégration
1 / intégrer ton esp32 display s3 (Lyligo) dans esphome (une fois fait et connecté normalement l'écran n'affiche rien mais la carte est indiqué Online)
il y a des tonnes de tuto sur ca et maintenant avec les mises a jour c'est plutot intuitif.
2/ Editer le code de ton ESP et recopier le code donné en début de post en faisant attention de conserver :
esphome:
name: lilygo-s3
friendly_name: Lilygo_S3
esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
framework:
type: arduino
flash_size: 16MB
logger:
api:
encryption:
key: "gcJyhpMWcWhK5am0SqVwad6DFn2nkE2ELD6ukcWBAC0="
ota:
platform: esphome
password: "xxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Lilygo-S3 Fallback Hotspot"
password: "xxxxxxxxxxxxxxxxxxxxxx"
ensuite tout est dans la suite du code pour le paramétrage selon vos données HA.
il y a des commentaires sur chaque lignes donc c'est assez facile de s'y retrouver et de savoir ce a quoi les codes servent.
si tu n'as pas besoin de la fonction, il suffit de mettre # devant la ligne et elle ne sera pas lu.
il faudra aussi mettre a jour la partie sensor en fonction des sensors de ton HA.
modifie que la partie ID comme ca les liens dans les lignes supérieurs ne seront pas cassé, sinon il faudra faire le lien.
exemple si ton sensor température chauffe eau dans HA s'appelle sensor.toto
tu remplace dans entity_id: sensor.shelly_1_temperature par entity_id: sensor.toto
et idem pour les autres
sensor:
- platform: homeassistant
entity_id: sensor.calcul_enpv_instant_positif
id: calcul_enpv_instant_positif
- platform: homeassistant
entity_id: sensor.msunpv_outbal
id: msunpv_outbal
- platform: homeassistant
entity_id: sensor.msunpv_powreso
id: msunpv_powreso
- platform: homeassistant
entity_id: sensor.shelly_1_temperature
id: shelly_temperature
- platform: homeassistant
entity_id: sensor.tempo_couleur_numerique_jour
id: rte_tempo_couleur_actuelle
- platform: homeassistant
entity_id: sensor.solcast_pv_forecast_previsions_pour_aujourd_hui
id: solcast_pv_forecast_previsions_pour_aujourd_hui
- platform: homeassistant
entity_id: sensor.tempo_couleur_numerique_demain
id: rte_tempo_prochaine_couleur
- platform: homeassistant
entity_id: sensor.solcast_pv_forecast_previsions_pour_demain
id: solcast_pv_forecast_previsions_pour_demain
- platform: homeassistant
entity_id: sensor.temperature_max_cumulus_shelly_12heures
id: temperature_max_cumulus_shelly_12heures
espérant t'avoir aider a comprendre le principe.
bonne intégration
- Paps42
24 Nov 2024 18:49 - 02 Jan 2025 10:17
Afficheur déporté Lyligo S3 / esphome / Home assistant a été créé par Paps42
Afficheur déporté Lyligo S3 / esphome / Home assistant
Catégorie : News
Bonjour,
Après quelques galères sur la version afficheur déporté sous Arduino IDE, pb de bibliothèque ... ,
j'ai copié le type d'affichage de Baroudeur en la passant sur Esphome et récupération des données direct dans home assistant.
je partage ainsi ma version si d'autres personnes décident de faire de même.
cette version intègre la récupération des couleurs tempo RTE du jour et du lendemain.
également les prévisions solaires en J et J 1.
ceci effectivement en fonction de la config HA, ici récupération des prévisions solaire via Solcast: www.solcast.com/
récupération des couleurs tempo via HACS : RTE TEMPO
il faudra remplacer les passwords par les votre ainsi que mettre à jour suivant vos sensors.
par simplicité vous pouvez ne changer que les "entity_id" dans la partie sensor, cela vous evite de changer les id aussi dans le code.
Aucune invention, simplement une autre façon d'utiliser un lyligo S3 display via ESPHOME
je met ma config ci dessous.
Edit du 21/12/2024 : J'ai mis a jour le code pour que l'écran se rallume a 100% de luminosité + bouton 1, allume l'écran et bouton 2 éteint l'écran.(bouton a droite de l'écran)
Edit du 01/01/2024: maj restore_mode: ALWAYS_ON (pb écran qui ne se rallume pas a la luminosité max le matin) + a la demande de Samourai47 affichage des puissances en nombre entier + maj de la photo
Après quelques galères sur la version afficheur déporté sous Arduino IDE, pb de bibliothèque ... ,
j'ai copié le type d'affichage de Baroudeur en la passant sur Esphome et récupération des données direct dans home assistant.
je partage ainsi ma version si d'autres personnes décident de faire de même.
cette version intègre la récupération des couleurs tempo RTE du jour et du lendemain.
également les prévisions solaires en J et J 1.
ceci effectivement en fonction de la config HA, ici récupération des prévisions solaire via Solcast: www.solcast.com/
récupération des couleurs tempo via HACS : RTE TEMPO
il faudra remplacer les passwords par les votre ainsi que mettre à jour suivant vos sensors.
par simplicité vous pouvez ne changer que les "entity_id" dans la partie sensor, cela vous evite de changer les id aussi dans le code.
Aucune invention, simplement une autre façon d'utiliser un lyligo S3 display via ESPHOME
je met ma config ci dessous.
esphome:
name: lilygo-s3
friendly_name: Lilygo_S3
platformio_options:
board_build.f_flash: 80000000L
board_build.partitions: default_16MB.csv
board_build.arduino.memory_type: qio_opi
external_components:
- source: github://landonr/lilygo-tdisplays3-esphome
components: [tdisplays3]
esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
framework:
type: arduino
flash_size: 16MB
logger:
api:
encryption:
key: "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
ota:
platform: esphome
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Lilygo-S3 Fallback Hotspot"
password: "xxxxxxxxxxxxxxxxxxxxxxxxx"
captive_portal:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
inverted: true
name: "Button 1"
on_press:
then:
- light.turn_off: backlight
- platform: gpio
pin:
number: GPIO14
inverted: true
name: "Button 2"
on_press:
then:
- light.turn_on:
id: backlight
brightness: 1.0 # 100% de luminosité
output:
- platform: ledc
pin: GPIO38
id: gpio38
frequency: 2000
light:
- platform: monochromatic
output: gpio38
id: backlight
name: "Backlight"
restore_mode: ALWAYS_ON
interval:
- interval: 60s
then:
- if:
condition:
lambda: 'return id(calcul_enpv_instant_positif).state < 10;'
then:
- light.turn_off: backlight
- if:
condition:
lambda: 'return id(calcul_enpv_instant_positif).state > 11;'
then:
- light.turn_on:
id: backlight
brightness: 1.0 # 100% de luminosité
display:
- platform: tdisplays3
id: disp
update_interval: 10s
rotation: 90
lambda: |-
// Dessiner les cadres en blanc pour les données
it.rectangle(10, 5, 240, 55, Color(255, 255, 255)); // Rectangle 1
it.rectangle(10, 60, 240, 55, Color(255, 255, 255)); // Rectangle 2
it.rectangle(10, 115, 240, 55, Color(255, 255, 255)); // Rectangle 3
// Dessiner le cadre pour l'heure et la date
it.rectangle(248, 5, 66, 55, Color(255, 255, 255)); // Rectangle pour l'heure et la date combinées
// Colorier le rond de la température du cumulus selon les conditions
if (id(temperature_max_cumulus_shelly_12heures).has_state()) {
if (id(temperature_max_cumulus_shelly_12heures).state < 20) {
it.circle(40, 88, 23, Color(255, 255, 255)); // Blanc si température inférieure à 20°
} else if (id(temperature_max_cumulus_shelly_12heures).state >= 20.1 && id(temperature_max_cumulus_shelly_12heures).state <= 44.9) {
it.circle(40, 88, 23, Color(0, 0, 255)); // Bleu si température entre 20.1° et 44.9°
} else if (id(temperature_max_cumulus_shelly_12heures).state >= 45 && id(temperature_max_cumulus_shelly_12heures).state <= 65) {
it.circle(40, 88, 23, Color(0, 255, 0)); // Vert si température entre 45° et 65°
} else if (id(temperature_max_cumulus_shelly_12heures).state >= 65.1) {
it.circle(40, 88, 23, Color(255, 0, 0)); // Rouge si température supérieure à 65°
}
}
// Afficher la valeur de la température du cumulus dans le rond
it.printf(23, 80, id(roboto_smaller), Color(255, 255, 255), "%.1f °", id(shelly_temperature).state);
// Colorer le rectangle du milieu en fonction du capteur rte_tempo_couleur_actuelle
if (id(rte_tempo_couleur_actuelle).has_state()) {
if (id(rte_tempo_couleur_actuelle).state == "Bleu") {
it.rectangle(248, 60, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 62, 62, 51, Color(0, 0, 255)); // Bleu
} else if (id(rte_tempo_couleur_actuelle).state == "Blanc") {
it.rectangle(248, 60, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 62, 62, 51, Color(255, 255, 255)); // Blanc
} else if (id(rte_tempo_couleur_actuelle).state == "Rouge") {
it.rectangle(248, 60, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 62, 62, 51, Color(255, 0, 0)); // Rouge
} else if (id(rte_tempo_couleur_actuelle).state == "inconnu") {
it.rectangle(248, 60, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 62, 62, 51, Color(255, 255, 0)); // Jaune si couleur inconnue
}
} else {
it.rectangle(248, 60, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 62, 62, 51, Color(255, 255, 0)); // Jaune si aucune donnée
}
// Afficher la valeur de la prévision Solcast jour dans le rectangle du milieu
it.printf(275, 62, id(roboto_smaller), Color(0, 0, 0), "J");
it.printf(265, 85, id(roboto_large), Color(0, 0, 0), "%.1f", id(solcast_pv_forecast_previsions_pour_aujourd_hui).state);
// Afficher la valeur max de la température du cumulus à droite du rectangle gauche du milieu
it.printf(200, 78, id(roboto_smaller), Color(255, 255, 255), "Max");
it.printf(200, 95, id(roboto_smaller), Color(255, 255, 255), "%.1f °", id(temperature_max_cumulus_shelly_12heures).state);
// Colorer le rectangle du bas en fonction du capteur rte_tempo_prochaine_couleur
if (id(rte_tempo_prochaine_couleur).has_state()) {
if (id(rte_tempo_prochaine_couleur).state == "Bleu") {
it.rectangle(248, 115, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 117, 62, 51, Color(0, 0, 255)); // Bleu
} else if (id(rte_tempo_prochaine_couleur).state == "Blanc") {
it.rectangle(248, 115, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 117, 62, 51, Color(255, 255, 255)); // Blanc
} else if (id(rte_tempo_prochaine_couleur).state == "Rouge") {
it.rectangle(248, 115, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 117, 62, 51, Color(255, 0, 0)); // Rouge
} else if (id(rte_tempo_prochaine_couleur).state == "inconnu") {
it.rectangle(248, 115, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 117, 62, 51, Color(255, 255, 0)); // Jaune si couleur inconnue
}
} else {
it.rectangle(248, 115, 66, 55, Color(255, 255, 255)); // Ajouter un cadre blanc
it.filled_rectangle(250, 117, 62, 51, Color(255, 255, 0)); // Jaune si aucune donnée
}
// Afficher la valeur de la prévision Solcast demain dans le rectangle du bas
it.printf(270, 120, id(roboto_smaller), Color(0, 0, 0), "J+1");
it.printf(265, 140, id(roboto_large), Color(0, 0, 0), "%.1f", id(solcast_pv_forecast_previsions_pour_demain).state);
// Afficher les Panneaux PV
it.printf(85, 10, id(roboto_smaller), Color(0, 255, 0), "PANNEAUX PV:");
it.printf(110, 28, id(roboto_large), Color(0, 255, 0), "%.0f W", id(calcul_enpv_instant_positif).state);
// Afficher le Cumulus
it.printf(105, 65, id(roboto_smaller), Color(255, 165, 0), "CUMULUS:");
it.printf(110, 83, id(roboto_large), Color(255, 165, 0), "%.0f W", id(msunpv_outbal).state);
// Centrer le titre et la valeur pour la Consommation EDF
it.printf(55, 120, id(roboto_smaller), Color(128, 128, 128), "CONSOMMATION EDF:");
it.printf(110, 138, id(roboto_large), Color(128, 128, 128), "%.0f W", id(msunpv_powreso).state);
// Afficher l'heure et la date dans le même rectangle en blanc
it.strftime(252, 8, id(roboto_medium), Color(255, 255, 255), "%H:%M", id(ha_time).now());
it.strftime(258, 40, id(roboto_smaller), Color(255, 255, 255), "%d %b", id(ha_time).now());
font:
- file: "gfonts://Roboto"
id: roboto
size: 30
- file: "gfonts://Roboto"
id: roboto_small
size: 20
- file: "gfonts://Roboto"
id: roboto_smaller
size: 15
- file: "gfonts://Roboto"
id: roboto_medium
size: 23
- file: "gfonts://Roboto"
id: roboto_large
size: 25
time:
- platform: homeassistant
id: ha_time
sensor:
- platform: homeassistant
entity_id: sensor.calcul_enpv_instant_positif
id: calcul_enpv_instant_positif
- platform: homeassistant
entity_id: sensor.msunpv_outbal
id: msunpv_outbal
- platform: homeassistant
entity_id: sensor.msunpv_powreso
id: msunpv_powreso
- platform: homeassistant
entity_id: sensor.shelly_1_temperature
id: shelly_temperature
- platform: homeassistant
entity_id: sensor.solcast_pv_forecast_previsions_pour_aujourd_hui
id: solcast_pv_forecast_previsions_pour_aujourd_hui
- platform: homeassistant
entity_id: sensor.solcast_pv_forecast_previsions_pour_demain
id: solcast_pv_forecast_previsions_pour_demain
- platform: homeassistant
entity_id: sensor.temperature_max_cumulus_shelly_12heures
id: temperature_max_cumulus_shelly_12heures
text_sensor:
- platform: homeassistant
entity_id: sensor.rte_tempo_couleur_actuelle
id: rte_tempo_couleur_actuelle
- platform: homeassistant
entity_id: sensor.rte_tempo_prochaine_couleur
id: rte_tempo_prochaine_couleur
web_server:
port: 80
Edit du 21/12/2024 : J'ai mis a jour le code pour que l'écran se rallume a 100% de luminosité + bouton 1, allume l'écran et bouton 2 éteint l'écran.(bouton a droite de l'écran)
Edit du 01/01/2024: maj restore_mode: ALWAYS_ON (pb écran qui ne se rallume pas a la luminosité max le matin) + a la demande de Samourai47 affichage des puissances en nombre entier + maj de la photo