Transfert texte de Node-Red vers HA

Bonjour,

Je récupère dans Node-Red un texte lors d’un appui sur le bouton sonnette d’un visiophone Mobotix.

J’utilise ensuite un input_text pour déclencher une automatisation.

alias: test_mobotix
description: ""
trigger:
  - platform: state
    entity_id:
      - input_text.etat_sonnette_portillon
    to: Visiteurportillon
condition: []
action:
  - service: light.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: light.bureau_meuble
mode: single

Le problème :
Lorsque le texte « Visiteurportillon » est envoyé via Node-Red, l’automatisation ne se déclenche pas alors qu’il figure bien dans Etat de la 2ème colonne de la copie d’écran 2 (j’ai également essayé en envoyant d’autres textes que l’on retrouve bien dans « Etat »)

En revanche, lorsque j’utilise l’outil de développement (copie d’écran 3) et que je clique sur « DEFINIR l’ETAT » (avec Visiteurportillon dans le champ Etat*) , l’automatisation se déclenche bien.

Dans les 2 copies d’écran de Node-Red, la première affiche une valeur de la charge entre guillemets mais en cliquant sur la flèche noire (deuxième copie) c’est indiqué string sans les guillemets.

Bonjour,

Bonjour,

J’utilise NodeRed depuis très longtemps, mais j’ai du mal a saisir, tu utilise NodeRed pour lancer une automatisation sous HA ?
pourquoi ne pas tout faire dans NodeRed dans ce cas ?

peux tu donner le flux complet pour le comprendre, car avec juste une copie d’écran et un bout sans code…

Bonjour,
Je ne fais pas tout sur Node-Red car je ne sais pas comment on fait jouer un fichier mp3 à un lecteur Sonos depuis NR ! Etant donné que j’ai déjà récupéré des infos de NR pour HA (sauf du texte) , je pensais m’en sortir. Voici le code de mon flux :

[
    {
        "id": "9bb8f01a65ff63ce",
        "type": "tab",
        "label": "Flow 1",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "f78742dbb56d0dd1",
        "type": "inject",
        "z": "9bb8f01a65ff63ce",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 865,
        "y": 340,
        "wires": [
            [
                "3c9a49b2a8d9d58f"
            ]
        ],
        "l": false
    },
    {
        "id": "3bc5aba81ae84f65",
        "type": "debug",
        "z": "9bb8f01a65ff63ce",
        "name": "debug 17",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1315,
        "y": 340,
        "wires": [],
        "l": false
    },
    {
        "id": "58c0f24d71127886",
        "type": "tcp in",
        "z": "9bb8f01a65ff63ce",
        "name": "",
        "server": "server",
        "host": "",
        "port": "3000",
        "datamode": "stream",
        "datatype": "utf8",
        "newline": "",
        "topic": "",
        "trim": false,
        "base64": false,
        "tls": "",
        "x": 1190,
        "y": 340,
        "wires": [
            [
                "3bc5aba81ae84f65",
                "5812218f1738eafb"
            ]
        ]
    },
    {
        "id": "3c9a49b2a8d9d58f",
        "type": "tcp out",
        "z": "9bb8f01a65ff63ce",
        "name": "",
        "host": "localhost",
        "port": "3000",
        "beserver": "client",
        "base64": false,
        "end": false,
        "tls": "",
        "x": 1010,
        "y": 340,
        "wires": []
    },
    {
        "id": "5812218f1738eafb",
        "type": "api-call-service",
        "z": "9bb8f01a65ff63ce",
        "name": "",
        "server": "f0bc01401120af29",
        "version": 5,
        "debugenabled": false,
        "domain": "input_text",
        "service": "set_value",
        "areaId": [],
        "deviceId": [],
        "entityId": [
            "input_text.etat_sonnette_portillon"
        ],
        "data": "{\"value\":msg.payload}",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 1130,
        "y": 480,
        "wires": [
            [
                "ca2ebf3e25e2f34f"
            ]
        ]
    },
    {
        "id": "ca2ebf3e25e2f34f",
        "type": "debug",
        "z": "9bb8f01a65ff63ce",
        "name": "debug 18",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1305,
        "y": 480,
        "wires": [],
        "l": false
    },
    {
        "id": "f0bc01401120af29",
        "type": "server",
        "name": "Home Assistant",
        "version": 5,
        "addon": false,
        "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": ": ",
        "statusYear": "hidden",
        "statusMonth": "short",
        "statusDay": "numeric",
        "statusHourCycle": "default",
        "statusTimeFormat": "h:m",
        "enableGlobalContextStore": false
    }
]

Finalement ça fonctionne en insérant (avant le nœud Call service) un nœud « Change » avec Définir sur la valeur J: $trim($$.payload)