Bonjour j’ai acheter un thermostat zigbee il est connecté a HA
J’aimerais pouvoir le gerer avec node red mais je n’arrive pas a recupérer la température dans HA ni le bouton on/off sur HA
Merci pour votre aide
Bonjour j’ai acheter un thermostat zigbee il est connecté a HA
J’aimerais pouvoir le gerer avec node red mais je n’arrive pas a recupérer la température dans HA ni le bouton on/off sur HA
Merci pour votre aide
J’ai un peu avancer j’ai fait assez simple
je modifie bien la consigne dans node-red et dans états la température est modifier mais par sur mon thermostat ?
y a t’il une erreur dans mon code?
[
{
"id": "75662cc50755d7dd",
"type": "tab",
"label": "Flux 2",
"disabled": false,
"info": "",
"env": []
},
{
"id": "f9b78b19f361ae14",
"type": "inject",
"z": "75662cc50755d7dd",
"name": "Température cible",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "15",
"payloadType": "num",
"x": 310,
"y": 440,
"wires": [
[
"efca71afcb224d3b",
"1dbf4ade176946cf"
]
]
},
{
"id": "efca71afcb224d3b",
"type": "api-call-service",
"z": "75662cc50755d7dd",
"name": "Envoyer température",
"server": "b4a0da5d.eb0d98",
"version": 7,
"debugenabled": false,
"action": "climate.set_temperature",
"floorId": [],
"areaId": [],
"deviceId": [],
"entityId": [],
"labelId": [],
"data": "{\"entity_id\": \"climate.thermostat_chauffage\", \"temperature\": 15}",
"dataType": "json",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"blockInputOverrides": false,
"domain": "climate",
"service": "set_temperature",
"output_location": "",
"output_location_type": "none",
"x": 560,
"y": 440,
"wires": [
[
"f16a951facc50daf"
]
]
},
{
"id": "f16a951facc50daf",
"type": "debug",
"z": "75662cc50755d7dd",
"name": "debug 21",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 840,
"y": 460,
"wires": []
},
{
"id": "1dbf4ade176946cf",
"type": "debug",
"z": "75662cc50755d7dd",
"name": "debug 22",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 520,
"y": 520,
"wires": []
},
{
"id": "b4a0da5d.eb0d98",
"type": "server",
"name": "Home Assistant ok",
"addon": true,
"rejectUnauthorizedCerts": true,
"ha_boolean": "",
"connectionDelay": false,
"cacheJson": false,
"heartbeat": false,
"heartbeatInterval": "",
"statusSeparator": "",
"enableGlobalContextStore": false
},
{
"id": "8912b6d02559358b",
"type": "global-config",
"env": [],
"modules": {
"node-red-contrib-home-assistant-websocket": "0.80.3"
}
}
]
Bonsoir @steevy
Donne le modèle du thermostat stp ![]()
ça te dit quoi dans les outils de DEV
Si tu as bien ça alors dans outils de DEV → Modèles essaie ça :
{{ state_attr('climate.thermostat_chauffage', 'current_temperature') }}
Si OK, tu fais une entrée template avec.
Bob
merci pour ton retour
{{ state_attr('climate.thermostat_chaffage', 'current_temperature') }}
si je fais ça je recupere la température intérieur
Tu verras si la récupération de la mesure faite par ton Thermostat est OK:
le modèle du Thermostat STP ![]()
Bob
Tu l’as ajouté graphiquement ?
je ne suis pas un pro de node red
je sais faire les choses Basic je pilote les volets, recuperer des valeurs, gérer la fin des machines et sèche linge…
après je suis ouvert c’est pas obliger de passer par node red si c’est plus simple autrement
[
{
"id": "75662cc50755d7dd",
"type": "tab",
"label": "Flux 2",
"disabled": false,
"info": "",
"env": []
},
{
"id": "f9b78b19f361ae14",
"type": "inject",
"z": "75662cc50755d7dd",
"name": "Température cible",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "25",
"payloadType": "num",
"x": 310,
"y": 440,
"wires": [
[
"efca71afcb224d3b",
"1dbf4ade176946cf"
]
]
},
{
"id": "efca71afcb224d3b",
"type": "api-call-service",
"z": "75662cc50755d7dd",
"name": "Envoyer température",
"server": "b4a0da5d.eb0d98",
"version": 7,
"debugenabled": false,
"action": "climate.set_temperature",
"floorId": [],
"areaId": [],
"deviceId": [],
"entityId": [],
"labelId": [],
"data": "{\"entity_id\": \"climate.thermostat_chauffage\", \"temperature\": 25}",
"dataType": "json",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"blockInputOverrides": false,
"domain": "climate",
"service": "set_temperature",
"output_location": "",
"output_location_type": "none",
"x": 560,
"y": 440,
"wires": [
[
"f16a951facc50daf"
]
]
},
{
"id": "f16a951facc50daf",
"type": "debug",
"z": "75662cc50755d7dd",
"name": "debug 21",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 840,
"y": 460,
"wires": []
},
{
"id": "1dbf4ade176946cf",
"type": "debug",
"z": "75662cc50755d7dd",
"name": "debug 22",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 520,
"y": 520,
"wires": []
},
{
"id": "b4a0da5d.eb0d98",
"type": "server",
"name": "Home Assistant ok",
"addon": true,
"rejectUnauthorizedCerts": true,
"ha_boolean": "",
"connectionDelay": false,
"cacheJson": false,
"heartbeat": false,
"heartbeatInterval": "",
"statusSeparator": "",
"enableGlobalContextStore": false
},
{
"id": "bf70410f8f12ea2d",
"type": "global-config",
"env": [],
"modules": {
"node-red-contrib-home-assistant-websocket": "0.80.3"
}
}
]
j’ai fait un test assez simple mais la valeur ne se modifie pas sur mon thermostat
C’est normal, la valeur est une mesure du capteur de température intégré au Thermostat.
Si tu veux modifier la température de consigne il faut une autre entrée:
{{ state_attr('climate.thermostat_chauffage', 'temperature') }}
EDIT : j’ai un thermostat Zigbee Moes mais je ne l’ai jamais utilisé, j’utilise des thermostats génériques HA !
Bob
oui ça j’ai récupérer mais comment envoyer la valeur sur mon thermostat
avec node red je fais ça
{"entity_id": "climate.thermostat_chauffage", "temperature": 25}
mais la valeur ne se modifie pas
J’ai créé une nouvelle entrée nombre avec la consigne :
OK sur la carte:

Vérifie ça avant de tester dans Node red.
Bob
par contre si je modifie la valeur de température de chauffe rien ne se passe sur mon thermostat ni dans états ni sur mon thermostat
En fait si tu modifies la valeur sur le cercle de ton thermostat ça modifie la valeur du nombre mais l’inverse ne fonctionne pas.
Depuis Node Red il y a aussi un souci.
Depuis une automatisation ça fonctionne.
alias: Modif_Consigne_Thermostat_Moes
description: ""
triggers:
- trigger: state
entity_id:
- light.lampe_marine
from:
- "on"
to:
- "off"
conditions: []
actions:
- action: climate.set_temperature
metadata: {}
target:
entity_id: climate.thermostat_43
data:
temperature: 22
mode: single
Je teste autre chose depuis Node Red mais j’arrive au bout de mes connaissances NR, j’étais parti sur la récupération de température et depuis n8n m’attends ![]()
Bob
ok je dois essayer automatisme mais je ne mis connais pas comment faire …
je vais regarder ce que je peux faire
Hop pour Node Red :

[{"id":"54100bd2cf37360c","type":"tab","label":"Flux 3","disabled":false,"info":"","env":[]},{"id":"77cb872558d88a90","type":"debug","z":"54100bd2cf37360c","name":"debug 33","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":980,"y":320,"wires":[]},{"id":"eed4c0b0d710be3f","type":"inject","z":"54100bd2cf37360c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"22","payloadType":"num","x":650,"y":320,"wires":[["1b0d7930c6634d50"]]},{"id":"1b0d7930c6634d50","type":"api-call-service","z":"54100bd2cf37360c","name":"Test Bob","server":"443ff1c5.63d78","version":7,"debugenabled":false,"action":"climate.set_temperature","floorId":[],"areaId":[],"deviceId":["4d55ba28bced5da729b06194b2d0cb72"],"entityId":["climate.thermostat_43"],"labelId":[],"data":"{\"temperature\": payload}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","blockInputOverrides":true,"domain":"climate","service":"set_temperature","x":820,"y":320,"wires":[["77cb872558d88a90"]]},{"id":"443ff1c5.63d78","type":"server","name":"Home Assistant Bruno","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true},{"id":"0d99a14cf9e78d58","type":"global-config","env":[],"modules":{"node-red-contrib-home-assistant-websocket":"0.79.0"}}]
Il faut modifier les entités dans le noeud mais ici ça fonctionne:
Data en json:
{"temperature": payload}
EDIT : parfois ça fonctionne au deuxième clic, tu me diras.
Les deux entrées crées ne servent que pour un affichage sur le dasboard.
Bob
je viens de reconfigurer mon appareil et maintenant ça fonctionne…
Mon script Node red fonctionne également ![]()
maintenant plus qu’a améliorer tous ça merci
ça m’inquiete quand même si ma communication est pas bonne …
Ton system_mode est surprenant non ?
Voici ma conf (je rappelle que je n’utilise pas ce thermostat)
Bob
Je vais avoir une nouvelle solution pour Noel alors ![]()
Bob