Bonjour je débute avec No Red
J’aimerais faire une scène qui éteind la prise de la TV lorsque je ne suis pas présent.
J’ai commence avec no red mais je ne sais pas comment récupérer la valeur des personne dans no red.
ci joint la capture
Bonjour je débute avec No Red
J’aimerais faire une scène qui éteind la prise de la TV lorsque je ne suis pas présent.
J’ai commence avec no red mais je ne sais pas comment récupérer la valeur des personne dans no red.
ci joint la capture
Salut,
Les noeuds principaux pour lire les valeurs de HA c’est :
« Event : State » : A utiliser comme déclencheur, te permet de commencer un flux quand une entité donnée passe d’un état à un autre. Etats que tu peux spécifier.
« Current State » : A utiliser dans une flux pour récupérer l’état d’une autre entité.
Et ensuite accessoirement un des plus utilisés pour interagir avec une entité HA c’est « Call Service ».
Screenshots rapides des 3 que j’ai mentionné:
J’ajouterai les liens vers la doc…
Le cookbook de Node Red (pas No Red…): https://cookbook.nodered.org/
Et celui de la palette qui fait le lien entre HA et Node Red: node-red-contrib-home-assistant-websocket
Tout est toujours plus facile après avoir lu la doc officielle.
Bonsoir,
j’ajouterai que j’utilise comme ceci :

La sinthaxe : is → not_home ne fonctionnait pas et pourtant c’est ce que j’avais souvent vu.
Bob
Merci pour les infos
Effectivement avec Node Red je trouve plus de solution sur google qu’avec no Red ![]()
J’ai fait un petit essaie mais ça ne fonctionne pas.
je ne suis pas a la maison, ma prise est sur on je la mets sur off. Si je suis présent je la mets sur on
Dans mon debug rien ne s’affiche c’est normal?
Ça a l’air de fonctionner ![]()
Par contre si je veux rajouter Mme et les enfants je dois faire comment, je dois rajouter un variable ET?
J’ai fait un groupe avec les personnes ça fonctionne en mode développement
Par contre je dois faire quelques chose pour faire une vérification toutes les x min car si personne est a la maison la prise est toujours allumer
Il faudrait partager le flow en json pour avancer.
Je ne vois pas pourquoi tu doubles turn_on et turn_off, ni le prise on / off !
C’est ca le flow en json?
[
{
"id": "4d28e848c33178af",
"type": "tab",
"label": "Test presence",
"disabled": false,
"info": "",
"env": []
},
{
"id": "b29ef5e4f33e52bc",
"type": "debug",
"z": "4d28e848c33178af",
"name": "allumer",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 920,
"y": 160,
"wires": []
},
{
"id": "c54f115dc7e4681f",
"type": "debug",
"z": "4d28e848c33178af",
"name": "je l'ai eteind",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 870,
"y": 520,
"wires": []
},
{
"id": "06ed5fd7a93ca885",
"type": "api-current-state",
"z": "4d28e848c33178af",
"name": "Prise on",
"server": "b4a0da5d.eb0d98",
"version": 3,
"outputs": 2,
"halt_if": "on",
"halt_if_type": "str",
"halt_if_compare": "is",
"entity_id": "switch.prise_rdc_couloir_switch",
"state_type": "str",
"blockInputOverrides": false,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "entity"
}
],
"for": "0",
"forType": "num",
"forUnits": "minutes",
"override_topic": false,
"state_location": "payload",
"override_payload": "msg",
"entity_location": "data",
"override_data": "msg",
"x": 400,
"y": 220,
"wires": [
[
"b0e5e9db59be8168"
],
[
"9db7ec5652cfb539"
]
]
},
{
"id": "b0e5e9db59be8168",
"type": "api-call-service",
"z": "4d28e848c33178af",
"name": "",
"server": "b4a0da5d.eb0d98",
"version": 5,
"debugenabled": false,
"domain": "switch",
"service": "turn_on",
"areaId": [],
"deviceId": [
"80fe7166269f02d154eccc43b50ca0e2"
],
"entityId": [],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 680,
"y": 200,
"wires": [
[
"b29ef5e4f33e52bc"
]
]
},
{
"id": "9db7ec5652cfb539",
"type": "api-call-service",
"z": "4d28e848c33178af",
"name": "",
"server": "b4a0da5d.eb0d98",
"version": 5,
"debugenabled": false,
"domain": "switch",
"service": "turn_on",
"areaId": [],
"deviceId": [],
"entityId": [
"switch.prise_rdc_couloir_switch"
],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 680,
"y": 280,
"wires": [
[
"583d2e25e16ac6b6"
]
]
},
{
"id": "f138d3f2b1250be7",
"type": "api-current-state",
"z": "4d28e848c33178af",
"name": "Iphone",
"server": "b4a0da5d.eb0d98",
"version": 3,
"outputs": 2,
"halt_if": "home",
"halt_if_type": "str",
"halt_if_compare": "is",
"entity_id": "group.personne",
"state_type": "str",
"blockInputOverrides": false,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "entity"
}
],
"for": "0",
"forType": "num",
"forUnits": "minutes",
"override_topic": false,
"state_location": "payload",
"override_payload": "msg",
"entity_location": "data",
"override_data": "msg",
"x": 130,
"y": 300,
"wires": [
[
"06ed5fd7a93ca885"
],
[
"b059529033ae6372"
]
]
},
{
"id": "583d2e25e16ac6b6",
"type": "debug",
"z": "4d28e848c33178af",
"name": "je l'ai allumer",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 930,
"y": 280,
"wires": []
},
{
"id": "b059529033ae6372",
"type": "api-current-state",
"z": "4d28e848c33178af",
"name": "Prise off",
"server": "b4a0da5d.eb0d98",
"version": 3,
"outputs": 2,
"halt_if": "off",
"halt_if_type": "str",
"halt_if_compare": "is",
"entity_id": "switch.prise_rdc_couloir_switch",
"state_type": "str",
"blockInputOverrides": false,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "entity"
}
],
"for": "0",
"forType": "num",
"forUnits": "minutes",
"override_topic": false,
"state_location": "payload",
"override_payload": "msg",
"entity_location": "data",
"override_data": "msg",
"x": 380,
"y": 460,
"wires": [
[
"ae971ef2e8cb4a87"
],
[
"20dd081c0cc83d35"
]
]
},
{
"id": "ae971ef2e8cb4a87",
"type": "api-call-service",
"z": "4d28e848c33178af",
"name": "",
"server": "b4a0da5d.eb0d98",
"version": 5,
"debugenabled": false,
"domain": "switch",
"service": "turn_off",
"areaId": [],
"deviceId": [],
"entityId": [
"switch.prise_rdc_couloir_switch"
],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 620,
"y": 400,
"wires": [
[
"4a2df5a8b6d65975"
]
]
},
{
"id": "20dd081c0cc83d35",
"type": "api-call-service",
"z": "4d28e848c33178af",
"name": "",
"server": "b4a0da5d.eb0d98",
"version": 5,
"debugenabled": false,
"domain": "switch",
"service": "turn_off",
"areaId": [],
"deviceId": [],
"entityId": [
"switch.prise_rdc_couloir_switch"
],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 620,
"y": 520,
"wires": [
[
"c54f115dc7e4681f"
]
]
},
{
"id": "4a2df5a8b6d65975",
"type": "debug",
"z": "4d28e848c33178af",
"name": "eteind",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 850,
"y": 400,
"wires": []
},
{
"id": "0c7b2a23ace9122c",
"type": "inject",
"z": "4d28e848c33178af",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 120,
"y": 160,
"wires": [
[]
]
},
{
"id": "b4a0da5d.eb0d98",
"type": "server",
"name": "Home Assistant",
"addon": true
}
]
je les doubles car sinon ca ne fonctionne pas
Je ferai beaucoup plus simple, dans le flow que je donne, j’ai remplacé le téléphone par l’état d’une lampe qui va piloter une prise.
Si lampe Off, prise Off sinon prise On.

Pour le téléphone ta config me semble presque OK.
La mienne :

Le flows que tu peux importer et modifier avec tes entités.
En entrée remplacer ma lampe par ton téléphone avec is not : home
[{"id":"1499142c4ba57606","type":"tab","label":"Flow 4","disabled":false,"info":"","env":[]},{"id":"d1e6942b7026f667","type":"api-call-service","z":"1499142c4ba57606","name":"Prise Off","server":"443ff1c5.63d78","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":["chambre"],"deviceId":["f57ff438de25d50caba4ec000b635abe"],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":800,"y":200,"wires":[["d87772cd146d522e"]]},{"id":"1cbd4bf5e50d9fb7","type":"api-call-service","z":"1499142c4ba57606","name":"Prise On","server":"443ff1c5.63d78","version":5,"debugenabled":false,"domain":"switch","service":"turn_on","areaId":["chambre"],"deviceId":["f57ff438de25d50caba4ec000b635abe"],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":800,"y":300,"wires":[["3323668de0c77651"]]},{"id":"d87772cd146d522e","type":"debug","z":"1499142c4ba57606","name":"debug 82","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1020,"y":200,"wires":[]},{"id":"3323668de0c77651","type":"debug","z":"1499142c4ba57606","name":"debug 83","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1020,"y":300,"wires":[]},{"id":"e4d6e752c19f921a","type":"server-state-changed","z":"1499142c4ba57606","name":"","server":"443ff1c5.63d78","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.lampe_marine","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"off","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":480,"y":260,"wires":[["d1e6942b7026f667"],["1cbd4bf5e50d9fb7"]]},{"id":"443ff1c5.63d78","type":"server","name":"Home Assistant","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}]
Bob
Merci Bob pour ton aide
Effectivement c’est beaucoup plus simple.
Je viens de tester ça fonctionne.
Donc le script sera exécuter toutes les 10 secondes pour vérifier l’état c’est bien ça?
Il sera exécuté à chaque changement d’état de ton téléphone (groupe) depuis plus de 10 secondes.
Tu peux mettre 0 si tu veux ![]()
Bob
Salut,
Non, pas besoin.
Il faut utiliser l’entité zone.home
Son état (state) est le nombre de personnes présent à la maison.
Si cet état est à 0 (zéro) il n’y a plus personnes chez toi.
Ok Bob donc je peux laisser a 0.
Parfait oui plus simple zone.home que de créer un groupe.
Je vous remercie tous pour votre aide maintenant je vais m’attaquer au volet
Le délai, oui tu peux le mettre à 0s, perso je mets souvent un délai de 2s histoire de ![]()
Bob
ok merci
Encore une question les prises s’éteignent quand il y a personne et se rallume lors de mon retour.
J’aimerais encore rajouter que la prise s’allume de 7h a 8h lundi et jeudi
J’ai essayé avec un cron plus je voulais savoir si c’est juste ou si je dois faire autrement?
Je vous remercie pour votre aide
[ { "id": "d1e6942b7026f667", "type": "api-call-service", "z": "1499142c4ba57606", "name": "Prise Off", "server": "443ff1c5.63d78", "version": 5, "debugenabled": false, "domain": "switch", "service": "turn_off", "areaId": [], "deviceId": [ "80fe7166269f02d154eccc43b50ca0e2" ], "entityId": [], "data": "", "dataType": "jsonata", "mergeContext": "", "mustacheAltTags": false, "outputProperties": [], "queue": "none", "x": 840, "y": 160, "wires": [ [ "d87772cd146d522e" ] ] }, { "id": "1cbd4bf5e50d9fb7", "type": "api-call-service", "z": "1499142c4ba57606", "name": "Prise On", "server": "443ff1c5.63d78", "version": 5, "debugenabled": false, "domain": "switch", "service": "turn_on", "areaId": [], "deviceId": [ "80fe7166269f02d154eccc43b50ca0e2" ], "entityId": [], "data": "", "dataType": "jsonata", "mergeContext": "", "mustacheAltTags": false, "outputProperties": [], "queue": "none", "x": 800, "y": 300, "wires": [ [ "3323668de0c77651" ] ] }, { "id": "d87772cd146d522e", "type": "debug", "z": "1499142c4ba57606", "name": "Prise eteind", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1130, "y": 160, "wires": [] }, { "id": "3323668de0c77651", "type": "debug", "z": "1499142c4ba57606", "name": "Prise allumée", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1040, "y": 300, "wires": [] }, { "id": "e4d6e752c19f921a", "type": "server-state-changed", "z": "1499142c4ba57606", "name": "Presence de personnes", "server": "443ff1c5.63d78", "version": 4, "exposeToHomeAssistant": false, "haConfig": [ { "property": "name", "value": "" }, { "property": "icon", "value": "" } ], "entityidfilter": "zone.home", "entityidfiltertype": "exact", "outputinitially": false, "state_type": "str", "haltifstate": "0", "halt_if_type": "str", "halt_if_compare": "is", "outputs": 2, "output_only_on_state_change": true, "for": "0", "forType": "num", "forUnits": "seconds", "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": 230, "y": 260, "wires": [ [ "d1e6942b7026f667" ], [ "1cbd4bf5e50d9fb7" ] ] }, { "id": "c26934b812805fac", "type": "cronplus", "z": "1499142c4ba57606", "name": "Allumer 7h", "outputField": "payload", "timeZone": "", "persistDynamic": false, "commandResponseMsgOutput": "output1", "outputs": 1, "options": [ { "name": "schedule1", "topic": "topic1", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 7 * * MON *", "location": "47.579941667607216, 7.516464649107559", "offset": "0", "solarType": "selected", "solarEvents": "nauticalDusk" }, { "name": "schedule2", "topic": "topic2", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 7 * * THU *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise,sunset" } ], "x": 430, "y": 480, "wires": [ [ "1b0a05fcdc7f4285" ] ] }, { "id": "1b0a05fcdc7f4285", "type": "api-call-service", "z": "1499142c4ba57606", "name": "Prise On", "server": "443ff1c5.63d78", "version": 5, "debugenabled": false, "domain": "switch", "service": "turn_on", "areaId": [], "deviceId": [ "80fe7166269f02d154eccc43b50ca0e2" ], "entityId": [], "data": "", "dataType": "jsonata", "mergeContext": "", "mustacheAltTags": false, "outputProperties": [], "queue": "none", "x": 660, "y": 480, "wires": [ [ "cb79f9fbe0f3b8ac" ] ] }, { "id": "1fe88ad26f1d6f92", "type": "api-call-service", "z": "1499142c4ba57606", "name": "Prise Off", "server": "443ff1c5.63d78", "version": 5, "debugenabled": false, "domain": "switch", "service": "turn_off", "areaId": [], "deviceId": [ "80fe7166269f02d154eccc43b50ca0e2" ], "entityId": [], "data": "", "dataType": "jsonata", "mergeContext": "", "mustacheAltTags": false, "outputProperties": [], "queue": "none", "x": 660, "y": 560, "wires": [ [ "1ec4e9a692aff045" ] ] }, { "id": "cb79f9fbe0f3b8ac", "type": "debug", "z": "1499142c4ba57606", "name": "Prise allumée", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 880, "y": 480, "wires": [] }, { "id": "1ec4e9a692aff045", "type": "debug", "z": "1499142c4ba57606", "name": "Prise eteind", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 870, "y": 560, "wires": [] }, { "id": "281f994e154b931b", "type": "cronplus", "z": "1499142c4ba57606", "name": "Eteindre 8h", "outputField": "payload", "timeZone": "", "persistDynamic": false, "commandResponseMsgOutput": "output1", "outputs": 1, "options": [ { "name": "schedule1", "topic": "topic1", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 8 * * MON *", "location": "47.579941667607216, 7.516464649107559", "offset": "0", "solarType": "selected", "solarEvents": "nauticalDusk" }, { "name": "schedule2", "topic": "topic2", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 8 * * THU *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise,sunset" } ], "x": 430, "y": 560, "wires": [ [ "1fe88ad26f1d6f92" ] ] }, { "id": "443ff1c5.63d78", "type": "server", "name": "Home Assistant", "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 } ]
C’est juste mais tu peux faire avec une seule ligne en cron :
0 0 7 * * MON/THU *
Tu peux aussi faire avec 2 inject simples
Voici celui de 7 h 00, tu devrais pouvoir faire celui de 8 h 00.
Merci de ton aide
J’utilise cron plus car Golfvert me conseil de l’utiliser pour tous ce qui est gestion de l’heure
En une ligne sur cron ça ne va pas il me mets lundi et vendredi
Effectivement avec un inject simple ça va aussi.
0 0 7 * * MON,TUE *
suffit de lire la notice ![]()