Guirlande wifi Bomcosy tuya

CHARGE LA DERNIERE BETA

bizarre si c’est neuf qu’il soit dans un ancien firmware
essaye de mettre à jour avec l’appli tuya
de plus le plugin détecte du V1, il l’écrit dans les logs
et enfin si c’était le cas la commande qui demande l’état ne serait pas comprise
c’est bien le fait que l’ampoule n’est pas d’accord avec la commande envoyée.
Ce que tu peux faire au cas où la création automatique poserait problème :
créer un smartlife Tuya V3 sous type custom
tu renseignes localkey/devID
tu le mets en mode inclusion et sauvegarder.
Jouer avec l’appli smartlife ON/OFF
il devrait créer les commandes ON/OFF automatiquement (BIEN LIRE LA DOC)

tester.

Il est possible aussi que le conctructeur ait ajouté quelque chose dans le protocole. Par exemple le uuid n’est pas utilisé.

Sinon la meilleure solution est :

  • un tél android ancien
  • un smartlife ancien
  • http canary

voir le post pour trouver localkey

Ok merci je vais regarder
Sinon en parallèle le support tuya m’a débloqué le problème de l’accès au device.
Je vais peut etre aussi pouvoir lancer des requetes pour essayer de debuguer ou trouver ce qui ne va pas.
Voici ce que j’ai récup sur le site iot.tuya

[
  {
    "code": "switch_led",
    "value": false
  },
  {
    "code": "work_mode",
    "value": "white"
  },
  {
    "code": "bright_value",
    "value": 517
  },
  {
    "code": "scene_data",
    "value": {
      "scene_num": 1,
      "scene_units": [
        {
          "bright": 200,
          "h": 46,
          "s": 1000,
          "temperature": 1000,
          "unit_change_mode": "static",
          "unit_gradient_duration": 13,
          "unit_switch_duration": 14,
          "v": 0
        }
      ]
    }
  },
  {
    "code": "countdown",
    "value": 0
  },
  {
    "code": "control_data",
    "value": {}
  }
]

tu pourras piloter avec l’api tuya mais pas avec les dps, ce que fait le plugin.

Ca fonctionne en faisant cette manip :wink:
Voici la liste des commandes qui fonctionnent.
On voit la petite différence mais le numéro dps reste le même

Le mode a l’air de fonctionner aussi.
Par contre pas la commande Connecté (ConnectedGet)

Ca progresse :wink:

peux tu me donner les logs avec le péripéhrique créé via le coud tuya et ceeux avec celui créé à la main ?
tu attends le passage du cron ttes les minutes et que ça se calme puis tu fais ON/OFF

pas la peine j’arrive à reproduire l’erreur

1 « J'aime »

Ok à ta dispo
J’essaye de bosser sur les scènes en parallèles (flash, nuit, …) Mais ça a l air plus complexe.
J’arrive à passer en mode scène (DPS 21) mais pas à changer la scène.

J’ai aussi un DPS 25. Je ne sais pas a quoi il correspond

EDIT : je pense avoir compris. Le DPS 25 permet de changer et modifier de scène. J’ai les références dea scène en hexa. Plus qu’a essayer de l’envoyer dans une commande pour voir.
Ensuite je pense qu’on peut essayer de décoder la trame hexa pour obtenir les différents paramètres mais bon on ne va peut être pas pousser le vis jusque là :laughing:

DPS 26 en revanche je suis sec

Sinon tu conseilles plus d’utiliser l’application tuya ou smartlife. Elles ont l’air assez similaire.

C’est corrigé (une grosse bêtise 0 au lieu de 1) → nouvelle beta
peux tu tester l’intégration via le cloud tuya (changer adresse IP)
et rester sur cette config pour faire le reste.
nota : tu peux garder celui que tu as fait : le désactiver, changer son adresse IP et changer son devId (je met WWW à la fin repérable et suffit pour tromper le plugin) avant d’inclure via le cloud

Pour trouver la signification des dps tu as utilisé le mode apprentissage ? normalement il crée toutes les commandes manquantes en manipulant l’appli smartlife.

il y a des couleurs sur ta lampe ? si oui le mode apprentissage peut trouver les commandes.

Enfin, peux tu sélectionner la commande Export (en haut) et de m’envoyer le contenu de la commande configget

C’est bon ça fonctionne sur une nouvelle intégration. Sauf les scènes qui ne marche pas. Mais ça me parait normal ça car ça doit être spécifique.
Non pas de couleur sur ma guirlande LED
J’ai fait la commande export mais ça m’affiche un message que je n’ai pas le temps de lire puis refresh de la page. Normal ?

le résultat est dans la commande configget

envisager 2 commandes simultanées → voir la doc

1 « J'aime »

Ah Yes
Le voici

{"id":"bright_value_22_SLIDER","dps":22,"par":"#slider#","max":1000,"min":10},/n{"id":"bright_value_22_VALUE","dps":22,"par":"#value#","unity":"%"},/n{"id":"countdown_26_SLIDER","dps":26,"par":"#slider#","max":86400,"min":0},/n{"id":"countdown_26_VALUE","dps":26,"par":"#value#","unity":"%"},/n{"id":"switch_led_20_OFF","dps":20,"par":"false"},/n{"id":"switch_led_20_ON","dps":20,"par":"true"},/n{"id":"switch_led_20_STATE","dps":20,"par":""},/n{"id":"work_mode_21_colour","dps":21,"par":"colour"},/n{"id":"work_mode_21_music","dps":21,"par":"music"},/n{"id":"work_mode_21_scene","dps":21,"par":"scene"},/n{"id":"work_mode_21_VALUE","dps":21,"par":""},/n{"id":"work_mode_21_white","dps":21,"par":"white"}/n

Autre chose et pour info la commande info DPS 22 (intensité) retourne une valeur de 10 à 1000%, il faut la diviser par 10.
Le changement de mode WHITE / SCENE fonctionne aussi
C’est les commandes 25 qui marchent pas et qui n’ont pas les bonnes valeurs par rapport à ce que j’ai réglé dans l’appli

peux tu aussi m’envoyer le résultat de la commande sur l’api tuya :
Smart home management system → device control → get device specification attribute (celui en bas il y en a 2)
c’est là que je récupère les infos

dans la configget il n’y a pas le dps 25

{
  "result": {
    "active_time": 1639081623,
    "category": "dd",
    "category_name": "Strip Lights",
    "create_time": 1639081573,
    "gateway_id": "",
    "icon": "smart/icon/bay16117145252440Abb/02527c65b5b8ac54af5380b4bced269d.png",
    "id": "bf76b01e0b786182fb5dvl",
    "ip": "82XX.XX.XX",
    "lat": "XX.XXXX",
    "local_key": "b179c66897f40434",
    "lon": "5.9310",
    "model": "",
    "name": "LED STRING",
    "online": true,
    "owner_id": "44492156",
    "product_id": "fosyfsiwjgsgmt8a",
    "product_name": "LED STRING",
    "sub": false,
    "time_zone": "+01:00",
    "update_time": 1639508499,
    "uuid": "7a3caf94f203621c"
  },
  "success": true,
  "t": 1639514541257
}
{
  "result": {
    "category": "dd",
    "functions": [
      {
        "code": "switch_led",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "ON/OFF",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "work_mode",
        "lang_config": {
          "colour": "Color",
          "music": "Music",
          "scene": "Scene",
          "white": "White"
        },
        "name": "Mode",
        "type": "Enum",
        "values": "{\"range\":[\"white\",\"colour\",\"scene\",\"music\"]}"
      },
      {
        "code": "bright_value",
        "lang_config": {
          "unit": ""
        },
        "name": "Brightness",
        "type": "Integer",
        "values": "{\"min\":10,\"max\":1000,\"scale\":0,\"step\":1}"
      },
      {
        "code": "scene_data",
        "lang_config": {
          "unit": ""
        },
        "name": "Scene",
        "type": "Json",
        "values": "{}"
      },
      {
        "code": "countdown",
        "lang_config": {
          "unit": "s"
        },
        "name": "Timer",
        "type": "Integer",
        "values": "{\"min\":0,\"max\":86400,\"scale\":0,\"step\":1}"
      },
      {
        "code": "control_data",
        "lang_config": {
          "unit": ""
        },
        "name": "Adjust",
        "type": "Json",
        "values": "{}"
      }
    ],
    "status": [
      {
        "code": "switch_led",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "ON/OFF",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "work_mode",
        "lang_config": {
          "colour": "Color",
          "music": "Music",
          "scene": "Scene",
          "white": "White"
        },
        "name": "Mode",
        "type": "Enum",
        "values": "{\"range\":[\"white\",\"colour\",\"scene\",\"music\"]}"
      },
      {
        "code": "bright_value",
        "lang_config": {
          "unit": ""
        },
        "name": "Brightness",
        "type": "Integer",
        "values": "{\"min\":10,\"max\":1000,\"scale\":0,\"step\":1}"
      },
      {
        "code": "scene_data",
        "lang_config": {
          "unit": ""
        },
        "name": "Scene",
        "type": "Json",
        "values": "{}"
      },
      {
        "code": "countdown",
        "lang_config": {
          "unit": "s"
        },
        "name": "Timer",
        "type": "Integer",
        "values": "{\"min\":0,\"max\":86400,\"scale\":0,\"step\":1}"
      }
    ]
  },
  "success": true,
  "t": 1639514664957
}

Sur le GetDevice Attribute je semble avoir une erreur

{
  "code": 1106,
  "msg": "permission deny",
  "success": false,
  "t": 1639514730449
}

ce n’est pas la bonne :

{
  "result": {
    "category": "dd",
    "functions": [
      {
        "code": "switch_led",
        "dp_id": 20,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "work_mode",
        "dp_id": 21,
        "type": "Enum",
        "values": "{\"range\":[\"white\",\"colour\",\"scene\",\"music\"]}"
      },
      {
        "code": "bright_value",
        "dp_id": 22,
        "type": "Integer",
        "values": "{\"min\":10,\"max\":1000,\"scale\":0,\"step\":1}"
      },
      {
        "code": "scene_data",
        "dp_id": 25,
        "type": "Json",
        "values": "{}"
      },
      {
        "code": "countdown",
        "dp_id": 26,
        "type": "Integer",
        "values": "{\"min\":0,\"max\":86400,\"scale\":0,\"step\":1}"
      },
      {
        "code": "control_data",
        "dp_id": 28,
        "type": "Json",
        "values": "{}"
      }
    ],
    "status": [
      {
        "code": "switch_led",
        "dp_id": 20,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "work_mode",
        "dp_id": 21,
        "type": "Enum",
        "values": "{\"range\":[\"white\",\"colour\",\"scene\",\"music\"]}"
      },
      {
        "code": "bright_value",
        "dp_id": 22,
        "type": "Integer",
        "values": "{\"min\":10,\"max\":1000,\"scale\":0,\"step\":1}"
      },
      {
        "code": "scene_data",
        "dp_id": 25,
        "type": "Json",
        "values": "{}"
      },
      {
        "code": "countdown",
        "dp_id": 26,
        "type": "Integer",
        "values": "{\"min\":0,\"max\":86400,\"scale\":0,\"step\":1}"
      }
    ]
  },
  "success": true,
  "t": 1639514934161
}

Voici mes commandes qui fonctionnent et qui permettent de lire l’état sur changement depuis l’appli.

Ok
donc scene data/dps25 c’est du json, le plugin n’a pas créé la commande car je n’avais pas encore vu ce cas.
normalement ça devrait ressembler à ce que tu m’as envoyé, tout est du json, c’est une manière de décrire quelque chose, un périph ou une commande.
Si tu joues avec l’appli tuya en mode apprentissage, le plugin devrait créer des commandes, tu m’envoies via export

Je te les ai mis dans la capture msg précédent
Si on joue sur des parametres de tempo, vitesse de clignotement, ça modifier des paramètres HEXA dans la commande.
A mon sens il y a un codage spécifique