De l'art : modifier l'éclairage d'un tableau

Bonsoir,

Avec les automatisations je peux allumer une ampoule et choisir le « brightness » mais à priori pas « color_temp ».
J’ai déjà fait quelques tests avec Node-Red et je m’oriente plutôt vers là.
Le but, allumer une lampe qui éclaire une peinture au couteau en modifiant graduellement la luminosité et la « température » pour avoir une vue différente de la peinture.
L’idée serait donc d’utiliser Node-red en passant comme data :

{
    "brightness": "122",
    "color_temp": "326"
}

D’utiliser un loop:

Et de boucler pour modifier toutes les x secondes les valeurs de « brightness » & « color_temp » avec une RegExp par exemple.
Mais avant de me lancer dans un truc de fou, je le suis unpeu :slight_smile: , j’aimerai vos avis car il y a peu être des nodes ou des blueprints qui permettent d’arriver à cela simplement.

Merci
Bob

Salut,
C’est surement réalisable avec les 2 solutions d’automatisation.
Le bouclage est surement plus facile avec NodeRed.

En revanche changer le température, ça se fera surement de la même façon avec les 2 solution, par un service dédié généralement, et ça dépendra de ce que propose la lampe et surtout sa plateforme d’intégration.

Exemples que j’ai chez moi:

  • Yeelight à un service qui permet de changer brightness et température un 1 seul appel.
  • Wled, expose des entités « select » et des « number » qui peuvent être changés par le service corespondant « select.select_option » ou « number.set_value »…

Service Yeelight:

Il me semble tout simplement que color_temp: 326 est une valeur qui n’existe pas. la valeur varie entre 0 et 255

Pour moi le réglage va de 140 à 650 mais je vais regarder de plus près dans l’outil de développement.
Yeelight et Wled sont des modules HACS ?

Non yeelight et wled c’est des intégration officielles, c’est juste un exemple pour te dire que la gestion de la température des ampoules dépend de la marque celles-ci, c’est juste que je n’ai que ces 2 exemples dans mon installation.

tu peux aussi utiliser « transition »

tu mets un noeud :

{
    "brightness": "255",
    "transition": "2",
    "rgb_color": [
        41,
        96,
        255
    ]
}

suivi d’une pause (noeud Delay) de 20sec (correspondant à la transition) + 60 sec (pour profiter de cette eclairage pendant 60sec) donc un noeud pause de 80 sec par exemple
puis tu raccordes ce noeud pause avec ton premier noeud

ca devrait marcher :slight_smile:
pour « Color temp » a toi de voir s’il se trouve bien dans les attribut de l’entité de ton ampoule via les outils de dev
ca donnerai un truc comme ca :

image

bon y a surment mieux, mais ca fait le taf :wink:

Où as tu trouvé ces valeurs ??? la commande brightness est un taux il me semble et comme beaucoup de matériel électronique est géré sur 256 bits (0 à 255). C’est pareil pour la couleur …

Dans l’outil de développement et les valeurs s’affichent lorsque je règle la lumière dans l’interface.

 min_mireds: 140
max_mireds: 650
supported_color_modes:
  - color_temp
color_mode: color_temp
brightness: 254
color_temp: 370
hs_color:
  - 28.391
  - 65.659
rgb_color:
  - 255
  - 166
  - 87
xy_color:
  - 0.526
  - 0.387
is_deconz_group: false
icon: mdi:lamp
friendly_name: LampeAmpli
supported_features: 40

Merci @jybi89
Je vaistester ça :wink:

1 « J'aime »

ok ok

peux tu nous donner la marque et modèle de tes lampes s’il te plait

J’ai trois marques différentes, celle dont j’ai mis les données c’est une Lidl je crois.

  • Xiaomi Aqara – ampoule LED intelligente Zigbee 9W E27
  • ENKI LEXMAN Leroy Merlin Ampoule zigbee E27 intensité + blanc variables
  • Lidl E27 intensité+blanc variables

ok donc je te confirme que la valeur de brightness pour les ampoules lidl, va de 0 à 255.

Par contre pour les autres ampoules, je n’en possède pas, donc je peux pas tester. Désolé

Oui, c’est bien ça, c’est le color_temp: qui va de 140 à 650 mais il y a aussi :hs_color, rgb_color et xy_color.
Il faut que j’approfondisse, je vais déjà m’occuper de la luminosité, j’espère avoir du temps ce soir :slight_smile:
Bob

@jybi89
j’ai tenté mais sans résultat.
J’ai trouvé ça et j’ai ajouté les node, je vois les consignes changer dans le debug mais pas la luminosité.

node-red-contrib-light-transition (node) - Node-RED.

Quelqu"un aurait un export json d’un flow Node-Red decette solution ?

@Bob

Mais est-ce que tu vois les appels à light.turn_on se faire?
Ca devrait laisser une trace dans node red.

Je regarde dès que je rentre, merci

Salut,
pour info, je l’utilise le noeud light transition.
Et ça marche bien. Je ne change que la brightness cela dit, mais il n’y a pas de raison que la température ne marche pas non plus

Un petit truc auquel je pense :brain: quand j’avais fait ma première commande de lampe sous node-red, je me suis rendu compte que pour envoyer une commande de luminosité ou température, il fallait auparavant envoyer une commande d’allumage sinon ce n’était pas pris en compte.

non pas specialement, ou alors ca depends des lampes peut etre… mais dans mon exemple ci dessus, c’est un light turn avec dans data la transition, le brightness et le rgb

@AlexHass,
Tu pourrais partager ton flow en json, j’ai peut-être mal configurer des noeuds.
Je regarderai dès que possible.
Bob

J’ai mis tout mon flow en bas.
Ce n’est que 3 nodes: un Inject à heure fixe, un light transition et un Call Service.
Le seul endroit à ne pas rater c’est les données du noeud call service, c’est ça qui est appelé toutes les x secondes pour mettre à our la valeur.
Tu appelles « light.turn_on » sur ton entité lampe. Et dans les data tu met les caractéristiques que tu veux faire varier.

Le contenu du data du call service:

{
  "brightness_pct": payload.brightness_pct
}

Voilà le flow complet:

[{"id":"e747e193cdb9c0d8","type":"tab","label":"Reveil","disabled":false,"info":"","env":[]},{"id":"f44f98616ae946d6","type":"api-call-service","z":"e747e193cdb9c0d8","name":"Allumer lampe de chevet","server":"ab763e9f.9a91b","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.lampe_de_chevet","data":"{\t  \"brightness_pct\": payload.brightness_pct\t}","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":570,"y":160,"wires":[[]]},{"id":"5f26550a700b8435","type":"inject","z":"e747e193cdb9c0d8","name":"A 8h","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 08 * * 5","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":90,"y":160,"wires":[["a9eb7e12daf6495f"]]},{"id":"a9eb7e12daf6495f","type":"light-transition","z":"e747e193cdb9c0d8","name":"Allumage Progressif","startRGB":"#ffffff","transitionRGB":"#ffc864","endRGB":"#ffffff","startMired":"","endMired":"","transitionTime":"10","transitionTimeUnits":"Minute","steps":"30","startBright":"1","endBright":"100","brightnessType":"Percent","transitionType":"Linear","colorTransitionType":"Weighted","x":320,"y":160,"wires":[["f44f98616ae946d6"],[]]},{"id":"ab763e9f.9a91b","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]