Ajout commande NANOLEAF

Effectivement j’aimerais pouvoir utiliser les fonctions restantes de l’appli Nanoleaf pour avoir « tout en une appli ».
Le « Add/Update » décrit au §3.2.4 que je mentionnais permet d’envoyer de nouveaux effets au contrôleur, avec des blocs JSON de ce type:

{
  "command": "add",
  "version": "2.0",
  "animType": "plugin",
  "animName": "My Animation",
  "colorType": "HSB",
  "pluginUuid": "027842e4-e1d6-4a4c-a731-be74a1ebd4cf",
  "pluginType": "color",
  "pluginOptions": [
    {
      "name": "transTime",
      "value": 2
    },
    {
      "name": "direction",
      "value": "left"
    },
    {
      "name": "loop",
      "value": true
    }
  ],
  "Palette": [
    {
      "hue": 0,
      "saturation": 100,
      "brightness": 100
    },
    {
      "hue": 120,
      "saturation": 100,
      "brightness": 100
    },
    {
      "hue": 240,
      "saturation": 100,
      "brightness": 100
    }
  ]
}

Une commande avec un simple champ texte me suffirait, après je m’arrange côté front-end pour la création du JSON avec l’interface qui va bien.
De la même manière, la possibilité de demander la liste des effets enregistrés dans le contrôleur (« Request All »), de les tester avant d’enregistrer (« Display Effect »), etc…

Au-delà de ça (ce qui est, je suis d’accord, faisaible actuellement avec deux applis), je voudrais essayer de monter un genre d’Ambilight avec Hyperion, et avec Wifilight2, je manque d’une fonctionnalité pour streamer des couleurs « en direct » au contrôleur.

Je pense que ça peut se faire avec la fonctionnalité de streaming UDP décrite au §3.2.6.2 de l’API Nanoleaf « External Control (extControl) ».

Là encore, je comprends qu’il s’agit d’un usage de niche, et je suis disposé à aider car je suppose que tu ne passes pas tes journées à recoder ce plugin :wink:

1 « J'aime »

Comme écrit plus haut, l’api est complètement implanté soit à partir du paragraphe 5.
Sur le paragraphe 3, j’ai bien des JSON à envoyer mais je ne sais pas comment. J’aurais bien pensé à du http request mais quel endpoint et quel request, je ne sais pas.

tout ce que je sais faire est ici :

La commande write est déjà implantée par le plugin mais il a fallu faire un correctif qui est dans la version beta.
Créer une commande action/defaut
dans nom interne : mettre le nom jeedom et dans paramètres
mettre le json sauf les accolades externes et avec la commande write :

"write" : {"command" : "request", "animName" : "Northern Lights"}
"write" :
{
  "command": "add",
  "version": "2.0",
  "animType": "plugin",
  "animName": "My Animation",
  "colorType": "HSB",
  "pluginUuid": "027842e4-e1d6-4a4c-a731-be74a1ebd4cf",
  "pluginType": "color",
  "pluginOptions": [
    {
      "name": "transTime",
      "value": 2
    },
    {
      "name": "direction",
      "value": "left"
    },
    {
      "name": "loop",
      "value": true
    }
  ],
  "Palette": [
    {
      "hue": 0,
      "saturation": 100,
      "brightness": 100
    },
    {
      "hue": 120,
      "saturation": 100,
      "brightness": 100
    },
    {
      "hue": 240,
      "saturation": 100,
      "brightness": 100
    }
  ]
}

Merci pour ces précisions, j’ai téléchargé la version beta du plugin et je vais faire quelques essais.
Je documenterai mes résultats ou questions ici :slight_smile:

tu as pu avancer ?