[NODE-RED] Besoin d'aide sur une configuration de device tuya

Bonjour à tous,

J’essaie d’intégrer mes devices tuya mais j’ai vraiment du mal à comprendre la partie node-red.
Sur google je n’arrive pas à trouver de docs en français qui parle de tuya et node-red alors voilà comme je rame pour faire quelque chose, même de simple.
Mon compte dev tuya est bien créé, le projet Gladys aussi, mes devices sont recencés dans le projet Gladys de tuya, sur node-red j’ai installé node-red-contrib-tuya-local, j’en ai connecté 2 pour voir, une prise et une lampe. Mais rien ne ressort des logs que j’ai ajouté, même pas le statut.

Mais ensuite que faire ? Je suis perdu complet …

Merci d’avance pour vos réponses.

1 « J'aime »

Ton flow n’exécute rien !

Pour tester, tu peux utiliser un node « Inject » pour pouvoir manuellement lancer ton flow.

Je le fais dans le tutoriel youtube à 30:10 :

Oui je l’avais bien comprit qu’il n’exécutait rien, je voulait savoir quoi lui mettre en affichant le statut et infos de la prise, où de la lampe. J’avais juste mal configuré le node logs, il fallait que je le mette en full message object.
Du coup je me retrouve avec cela en sortie pour ma lampe :

14/10/2021, 14:39:11node: 3687cb8bf3be182f
msg : Object
object
data: object
name: "lampe salle a manger"
ip: ""
id: "663086742cf432d659e1"
available: true
commandByte: 10
payload: object
devId: "663086742cf432d659e1"
dps: object
20: true
21: "white"
22: 1000
23: 503
25: "000e0d0000000000000000c80000"
26: 0
101: true
_msgid: "63e2f64480093509"

Je vais voir maintenant pour la contrôler depuis node-red et ensuite depuis Gladys

1 « J'aime »

Alléluia, après 6h de casse tête et de recherche j’ai ENFIN réussi à interagir avec ma prise depuis Node-red !!! C’est vraiment frustrant d’être nul à ce point, croyez moi …

Petite capture d’écran

Je peux donc la connecter/déconnecter, l’éteindre/l’allumer et aussi afficher le payload complet. Je sais pas si c’est comme cela qu’on dit …

Maintenant mon but est de pouvoir la contrôler direct via Gladys, alors j’ai reprit le device mqtt de ta vidéo @pierre-gilles et j’ai modifié le node switch de cette manière, totalement au pif car je ne comprends pas.

2021-10-15_10-47-16

Je deploy et quand je vais sur Gladys pour jouer avec mon interrupteur, rien ne passe coté node-red, même pas un ptit log pour m’aiguiller, j’ai simplement le message qui dit que ma prise est bien connectée, avec le payload.

Merci d’avance pour ton aide.

Ps: si d’autres @contributors ont des idées je suis aussi preneur :slightly_smiling_face:

Partage ton flow @Jean34 :slight_smile:

1 « J'aime »
[
    {
        "id": "42b606a5c2d7d8a8",
        "type": "tab",
        "label": "Flow 5",
        "disabled": false,
        "info": ""
    },
    {
        "id": "54e533d94ae6c687",
        "type": "tuya-local",
        "z": "42b606a5c2d7d8a8",
        "devName": "Prise seche linge",
        "devIp": "",
        "devId": "5815508324a160258032",
        "devKey": "6c7af9cbbf81ed1c",
        "protocolVer": "3.3",
        "renameSchema": "",
        "filterCB": "",
        "x": 610,
        "y": 220,
        "wires": [
            [
                "30a6844d7119f859"
            ]
        ]
    },
    {
        "id": "f6ef28b5a7693097",
        "type": "inject",
        "z": "42b606a5c2d7d8a8",
        "name": "connecter la prise",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "connect",
        "payloadType": "str",
        "x": 270,
        "y": 100,
        "wires": [
            [
                "54e533d94ae6c687"
            ]
        ]
    },
    {
        "id": "8f6df0ddf94393c0",
        "type": "inject",
        "z": "42b606a5c2d7d8a8",
        "name": "deconnecter la prise",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "disconnect",
        "payload": "disconnect",
        "payloadType": "str",
        "x": 270,
        "y": 140,
        "wires": [
            [
                "54e533d94ae6c687"
            ]
        ]
    },
    {
        "id": "90b6719d6856355e",
        "type": "inject",
        "z": "42b606a5c2d7d8a8",
        "name": "affiche le payload complet",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "request",
        "payloadType": "str",
        "x": 190,
        "y": 200,
        "wires": [
            [
                "54e533d94ae6c687"
            ]
        ]
    },
    {
        "id": "fc5be531ebfb9055",
        "type": "inject",
        "z": "42b606a5c2d7d8a8",
        "name": "Eteindre la prise",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "{\"set\": false, \"dps\" : 1}",
        "payloadType": "json",
        "x": 280,
        "y": 300,
        "wires": [
            [
                "54e533d94ae6c687"
            ]
        ]
    },
    {
        "id": "75fb5f027cdb8ce4",
        "type": "inject",
        "z": "42b606a5c2d7d8a8",
        "name": "Allumer la prise",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "{\"set\": true, \"dps\" : 1}",
        "payloadType": "json",
        "x": 280,
        "y": 340,
        "wires": [
            [
                "54e533d94ae6c687"
            ]
        ]
    },
    {
        "id": "30a6844d7119f859",
        "type": "debug",
        "z": "42b606a5c2d7d8a8",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 840,
        "y": 200,
        "wires": []
    }
]

Pourquoi tu ne fais pas comme dans le tutoriel?

Soit Gladys envoie « 0 » (éteindre), soit Gladys envoie « 1 » (allumer).

Il n’y a rien à modifier de ce côté là

Evite de mentionner tous les contributeurs du projet pour ton problème personnel, ce « @ » existe pour qu’on puisse échanger sur des sujets liés au développement avec tous les contributeurs, mais ils sont déjà sur-sollicité et ça n’a pas de rapport avec le développement ^^

(d’ailleurs, l’utilisation de ce « @ » est restreint mais comme tu es modérateur tu as pu le faire)

J’avais fait exactement comme dans le tutoriel mais ça ne fonctionnait pas, et aucuns logs…

Bref ça me gonfle je reviendrais quand il y aura l’intégration tuya, je retourne sur HA en attendant.

Je ne soliciterait plus les contributeurs à l’avenir

Après je peu t’aider si besoin @Jean34 pour ton flow , je n’ai pas de périph tuya et je n’ai pas envie de développer une intégration de A à Z dans Gladys 4 mais je peu t’aider sur node red si besoin. Comme ça je verrais le fonctionnement d’un périph tuya ça peut être utile et au moins les bases seront déjà présente avec node red

Et je ne suis pas un contributors :stuck_out_tongue:

Ah? Tu peux nous montrer ton scénario Node-RED ? On est d’accord la partie « Message MQTT envoyé par Gladys → reçu dans Node-RED » fonctionnait bien? C’est côté switch Node-RED que ça coinçait?

Tu cliques bien sur deployer entre chaque test?

Désolé si tu l’as mal pris, je voulais pas dire qu’il faut pas nous solliciter: aucun problème à ça c’est normal de demander de l’aide sur le forum :slight_smile:

C’est juste l’utilisation du « @ » général c’est un peu comme les gens qui font du reply all sur une chaine d’email de 200 personnes, c’est pas hyper cool :joy: (le @ envoie un email à tous les gens sur cette liste, vu que là c’est pas lié au développement si on abuse du @ les contributeurs vont désactiver les notifications et ne viendront plus sur le forum :confused: )

@spenceur merci mais j’arrête là… Vraiment, merci quand même pour ta proposition…

@pierre-gilles je comprends un peux ton message, je sais que je suis nul en domotique, mais ce n’est pas comme ci je venait d’arriver et que je faisait des demandes dans tous les sens sans même essayer de réfléchir… Bref, après quelques jours de réflexion, comme dit plus haut, je stoppe là avec Gladys.

Je vous souhaite à tous, devs et membres lambda, le meilleur du monde.

Tu peux fermer mon sujet @pierre-gilles.

Désolé si tu l’as mal pris @Jean34, c’était pas le but.

Je sais que tu n’es pas là pour sur-solliciter tout le monde et que tu es un ancien de longue date, je voulais juste rappeler l’effet de certains “@” globaux, mais sans méchanceté ni rien, j’ai peut-être été maladroit dans ma formulation. Désolé :pray:

Par rapport à Node-RED, j’ai parlé de cette plateforme mais effectivement c’est beaucoup plus compliqué que Gladys, ça demande beaucoup plus que des connaissances en domotique, c’est carrément de la programmation visuelle !

Franchement, ça m’a pris une bonne semaine de pratique avant de faire ce tutoriel Youtube pour avoir l’air “fluide” dans la vidéo, et je suis d’accord que c’est pas super intuitif quand on commence (genre la notion de “payload” est pas simple à comprendre, surtout quand on est pas développeur)…

Donc là-dessus, ne te sens pas nul, c’est pas facile du tout, et certains intégrations sont assez obscures… ça peut rendre fou.

Si jamais tu veux revenir, n’hésite pas tu es le bienvenu.

Si tu veux qu’on regarde ensemble en appel vidéo ton problème, tu es aussi le bienvenu.

Encore désolé !

Bonsoir,
j’essaye d’installer Mes devices TUYA avec Node Red, mais je suis confronter à un problème que je ne sais pas résoudre.
Pour installer TUYA sur Node Red , il faut tout d’abord Installer l’outil CLI en tapant cette commande :
npm i @tuyapi/cli -g
Cet outils permet de lire les codes des appareils TUYA connectés à l’Apps Tuya
Donc j’ai tenté de l’ecrire avec Putty sur mon Raspi en la précédent de sudo, donc
sudo npm i @tuyapi/cli -g.
Mais Putty me renvoie:
sudo: npm: command not found. Est ce que c’est lier à Docker?

Je pense qu’il faut l’installer là où est Node REd ? :thinking:
merci d’avance

Rien à voir avec docker :wink:, il te faut installer nodejs avant de pouvoir installer un package npm.

Tu es sur de ça ? C’est pas juste dans l’UI ?

[quote=“pierre-gilles, post:15, topic:6603”]
Tu es sur de ça ? C’est pas juste dans l’UI ?
[/quote] Bonsoir Pierre Gilles
Je l’ai lu ça dans la documentation de la palette" node-red-contrib-tuya-local".

" Toutes les méthodes ci-dessous nécessitent que vous installiez l’outil CLI avant de continuer.
Installez-le en exécutant npm i @tuyapi/cli -g . S’il renvoie une erreur, vous devrez peut-être préfixer la commande avec sudo . (Astuce : utiliser sudo pour installer des packages globaux n’est pas considéré comme une bonne pratique."

Bonsoir VonOx
Nodejs n’est pas dans l’image Gladys? et je l’installe sur mon RPI?

Oui c’est dans l’image gladys, mais vu que ça n’a rien à voir on va éviter de modifier le conteneur.

Tu installe node sur l’hôte, tu aura l’utilitaire à dispo ( tu en as besoin pour récupérer les infos des devices tuya)

je suis d’accord :grinning:,

Tu installe node sur l’hôte, tu aura l’utilitaire à dispo ( tu en as besoin pour récupérer les infos des devices tuya)
Désolé pour mon ignorance :roll_eyes: Qu’est ce que tu appelles l’hôte ?

Le raspberry, l’hôte docker ( celui qui fait tourner les conteneurs)

Chez moi par exemple c’est pas un raspberry, ça peut être un Mac, un pc Windows ou n’importe quelle machine linux