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

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}]

J’avais en effet raté l’étape,

{
  "brightness_pct": payload.brightness_pct
}

je vais adapter à mon besoin.
Merci @AlexHass

Merci à tous, voici ce que j’ai fait et qui fonctionne parfaitement.

Dans data du turn_on :

{
  "brightness_pct": payload.brightness_pct,
  "color_temp": payload.color_temp
}

Le flows json:
[{"id":"e747e193cdb9c0d8","type":"tab","label":"Tableau","disabled":false,"info":"","env":[]},{"id":"f44f98616ae946d6","type":"api-call-service","z":"e747e193cdb9c0d8","name":"Allumer lampe Ampli","server":"ab763e9f.9a91b","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.lampe_ampli","data":"{\t \"brightness_pct\": payload.brightness_pct,\t \"color_temp\": payload.color_temp\t}","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":760,"y":80,"wires":[[]]},{"id":"a9eb7e12daf6495f","type":"light-transition","z":"e747e193cdb9c0d8","name":"Allumage Progressif","startRGB":"#eeefff","transitionRGB":"#ffa34f","endRGB":"#f96e06","startMired":"200","endMired":"650","transitionTime":"5","transitionTimeUnits":"Minute","steps":"60","startBright":"8","endBright":"100","brightnessType":"Percent","transitionType":"Linear","colorTransitionType":"Weighted","x":400,"y":100,"wires":[["f44f98616ae946d6"],["6fd03b8ef13311b3"]]},{"id":"c4790c5e095def47","type":"api-call-service","z":"e747e193cdb9c0d8","name":"","server":"443ff1c5.63d78","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.lampe_ampli","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":410,"y":360,"wires":[[]]},{"id":"6fd03b8ef13311b3","type":"delay","z":"e747e193cdb9c0d8","name":"","pauseType":"delay","timeout":"60","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":360,"y":260,"wires":[["caad3a04c396a520"]]},{"id":"caad3a04c396a520","type":"light-transition","z":"e747e193cdb9c0d8","name":"Phase dégressive","startRGB":"#ff6e06","transitionRGB":"#ffa34f","endRGB":"#eeefff","startMired":"650","endMired":"200","transitionTime":"4","transitionTimeUnits":"Minute","steps":"40","startBright":"100","endBright":"8","brightnessType":"Percent","transitionType":"Linear","colorTransitionType":"Weighted","x":550,"y":260,"wires":[["f44f98616ae946d6"],["44f1fbe745885357"]]},{"id":"44f1fbe745885357","type":"delay","z":"e747e193cdb9c0d8","name":"","pauseType":"delay","timeout":"60","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":820,"y":280,"wires":[["a9eb7e12daf6495f"]]},{"id":"a39c553020a5ea26","type":"server-state-changed","z":"e747e193cdb9c0d8","name":"InpuStephanie","server":"443ff1c5.63d78","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.tableaustephanie","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":90,"y":100,"wires":[["a9eb7e12daf6495f"],["c4790c5e095def47"]]},{"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},{"id":"443ff1c5.63d78","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}]

C’est depuis un double interrupteur zigbee Aqara je je commande, j’ai créé uninput_bolean qui change d’état via une automatisation, et en fonction de cet état j’active le flow Node-red ou j’éteins la lampe.

J’ai voulu le faire plus simplement en utilisant le noeud device tracker mais il me manque un truc, je cherche ce soir et je complèterai ce post.


J’ai ajouté Node-RED Companion depuis HACS, je vois bien mon interrupteur et ses possibilités mais il manque un petit quelque chose.
node-red-device

Merci
Bob

Comment bien afficher le json ici ? :wink:

ça ne fonctionne pas parfaitement finalement :rofl:
J’éteins bien la lampe mais je n’arrête pas les boucles donc ça repart :shushing_face:

Salut, c’est prévu aussi dans le noeud light transition.
Quand tu veux arrêter, tu envoie un msg.payload avec la valeur « STOP » (de mémoire… faut voir la doc) au noeud transaction.
Ce qui le fait arrêter la boucle en cours.

Bonjour,
Oui c’est ce que j’ai vu et testé hier soir mais ma lampe s’est mise à faire un peu n’importe quoi, je reprends ce midi.
Merci

Pour le device tracker il me manquant l’intégration Node-Red,il faut lire jusqu’au bout Bob !
Le STOP fonctionne si je garde juste l’allumage progressif de la lampe mais vu la configuration souhaitée, progressif puis dégressif et ainsi de suite, quand j’envoie le « STOP », j’envoi un « complete » sur les deux noeuds et là ils repartent tous les deux ensemble. Sur la capture j’ai enlevé le lien entre « dégressif » et le turn_on :wink: .


Il faudrait que je puisse envoyer le « complete » uniquement si mon input_boolean est à « on » je pense.
Enfin, je poursuis :slight_smile:

Ouch :wink:
Ouais je pense qu’il faudrait te faire la sequence sur papier en pensant à ces choses et la façon dont tu veux que ça marche.
Là c’est clair que tu risques d’entrer dans des boucles incontrôlables, sur tout avec le complete qui relance la sequence suivante.

Oui ça boucle de fou :slight_smile:
J’espère pouvoir poursuivre ce soir et trouver la solution mais je suis preneur d’astuce :wink:

Comme souvent il fallait faire simple :slight_smile:
J’ai mis un switch qui laisse passer le « complete » mais pas le « stopped ».


image

Le flow :
[{"id":"e747e193cdb9c0d8","type":"tab","label":"Tableau","disabled":false,"info":"","env":[]},{"id":"f44f98616ae946d6","type":"api-call-service","z":"e747e193cdb9c0d8","name":"Allumer lampe Ampli","server":"ab763e9f.9a91b","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.lampe_ampli","data":"{\t \"brightness_pct\": payload.brightness_pct,\t \"color_temp\": payload.color_temp\t}","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1000,"y":100,"wires":[[]]},{"id":"a9eb7e12daf6495f","type":"light-transition","z":"e747e193cdb9c0d8","name":"Allumage Progressif","startRGB":"#eeefff","transitionRGB":"#ffa34f","endRGB":"#f96e06","startMired":"200","endMired":"650","transitionTime":"4","transitionTimeUnits":"Minute","steps":"60","startBright":"8","endBright":"100","brightnessType":"Percent","transitionType":"Linear","colorTransitionType":"Weighted","x":540,"y":100,"wires":[["f44f98616ae946d6","1dcec1011653e2da"],["d7896b2d15d06709"]]},{"id":"caad3a04c396a520","type":"light-transition","z":"e747e193cdb9c0d8","name":"Phase dégressive","startRGB":"#ff6e06","transitionRGB":"#ffa34f","endRGB":"#eeefff","startMired":"650","endMired":"200","transitionTime":"3","transitionTimeUnits":"Minute","steps":"30","startBright":"100","endBright":"8","brightnessType":"Percent","transitionType":"Linear","colorTransitionType":"Weighted","x":530,"y":360,"wires":[["f44f98616ae946d6","1dcec1011653e2da"],["df3dca4a67810379"]]},{"id":"a39c553020a5ea26","type":"server-state-changed","z":"e747e193cdb9c0d8","name":"InpuStephanie","server":"443ff1c5.63d78","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.tableaustephanie","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":90,"y":100,"wires":[["a9eb7e12daf6495f"],["22b0f09ff8e4f4af"]]},{"id":"22b0f09ff8e4f4af","type":"change","z":"e747e193cdb9c0d8","name":"STOP","rules":[{"t":"set","p":"payload","pt":"msg","to":"STOP","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":110,"y":240,"wires":[["caad3a04c396a520","c84ce42267e1f515","a9eb7e12daf6495f","02dbe46506fcd8ba"]]},{"id":"c84ce42267e1f515","type":"api-call-service","z":"e747e193cdb9c0d8","name":"Eteindre Lampe Ampli","server":"443ff1c5.63d78","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.lampe_ampli","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":540,"y":420,"wires":[[]]},{"id":"1dcec1011653e2da","type":"api-call-service","z":"e747e193cdb9c0d8","name":"Allumer lampe Ruban","server":"443ff1c5.63d78","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.ruban_led_color_light_21","data":"{\t \"brightness_pct\": payload.brightness_pct,\t \"color_temp\": payload.color_temp\t}","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1000,"y":220,"wires":[[]]},{"id":"02dbe46506fcd8ba","type":"api-call-service","z":"e747e193cdb9c0d8","name":"Eteindre Lampe Ruban","server":"443ff1c5.63d78","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.ruban_led_color_light_21","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":550,"y":480,"wires":[[]]},{"id":"df3dca4a67810379","type":"switch","z":"e747e193cdb9c0d8","name":"complete/stopped","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"complete","vt":"str"},{"t":"eq","v":"stopped","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":240,"wires":[["a9eb7e12daf6495f"],[]]},{"id":"d7896b2d15d06709","type":"switch","z":"e747e193cdb9c0d8","name":"complete/stopped","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"complete","vt":"str"},{"t":"eq","v":"stopped","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":650,"y":180,"wires":[["a2ab9b2d14db28d4"],[]]},{"id":"a2ab9b2d14db28d4","type":"delay","z":"e747e193cdb9c0d8","name":"","pauseType":"delay","timeout":"45","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":620,"y":240,"wires":[["caad3a04c396a520"]]},{"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},{"id":"443ff1c5.63d78","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}]

On peut toujours faire mieux, j’avais tendance à éteindre toutes mes lumières en arrivant dans ma chambre le soir et mon flow Node-Red lui repartait pour la nuit, donc j’ai complété un peu pour stopper le flow si j’éteins les lampes pilotées par le flow.

Bob