Color Temperature Light, configuration des génériques

Tags: #<Tag:0x00007fa7a1f02b70> #<Tag:0x00007fa7a1f02aa8>

En faisant les configurations de mes génériques sur des ampoules Philips LTW012 (white ambiance), je me suis aperçu que la configuration dans jeedom remonte des commandes pour le réglage couleur XY ce qui ne devrait pas être le cas pour ce genre de modèle.

Le json d’import Color temperature light.json

{
  "commands": [
    {
      "name": "Etat",
      "type": "info",
      "isVisible": 0,
      "isHistorized": 1,
      "subtype": "numeric",
      "generic_type": "LIGHT_STATE",
      "logicalId": "state::on"
    },
    {
      "name": "On",
      "type": "action",
      "subtype": "other",
      "generic_type": "LIGHT_ON",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat",
      "logicalId": "on::1",
      "template": {
        "dashboard": "light",
        "mobile": "light"
      }
    },
    {
      "name": "Off",
      "type": "action",
      "subtype": "other",
      "generic_type": "LIGHT_OFF",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat",
      "logicalId": "on::0",
      "template": {
        "dashboard": "light",
        "mobile": "light"
      }
    },
    {
      "name": "Etat Luminosité",
      "type": "info",
      "isVisible": 0,
      "isHistorized": 1,
      "subtype": "numeric",
      "generic_type": "LIGHT_STATE",
      "logicalId": "state::bri"
    },
    {
      "name": "Luminosité",
      "type": "action",
      "subtype": "slider",
      "generic_type": "LIGHT_SLIDER",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat Luminosité",
      "logicalId": "bri::#slider#",
      "configuration" : {
        "minValue" : 0,
        "maxValue" : 255
      },
      "template": {
        "dashboard": "light",
        "mobile": "light"
      }
    },
    {
      "name": "Couleur",
      "type": "action",
      "subtype": "color",
      "generic_type": "LIGHT_SET_COLOR",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat Couleur",
      "logicalId": "xy::#color#"
    },
    {
      "name": "Etat Couleur",
      "type": "info",
      "isVisible": 0,
      "isHistorized": 1,
      "subtype": "string",
      "generic_type": "LIGHT_STATE",
      "logicalId": "state::xy"
    },
    {
      "name": "Effet",
      "type": "action",
      "isVisible": 1,
      "isHistorized": 0,
      "subtype": "other",
      "generic_type": "DONT",
      "logicalId": "effect::colorloop"
    },
    {
      "name": "Temperature",
      "type": "action",
      "subtype": "slider",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat Temperature",
      "logicalId": "ct::#slider#",
      "configuration" : {
        "minValue" : 153,
        "maxValue" : 500
      }
    },
    {
      "name": "Etat Temperature",
      "type": "info",
      "isVisible": 0,
      "isHistorized": 1,
      "subtype": "numeric",
      "logicalId": "state::ct"
    }
  ]
}

N’est il pas utile de virer la création des commande couleur, état couleur et scène ?
Ici une version du json d’import sans les commandes couleur et avec les derniers génèriques jeedom.

{
  "commands": [
    {
      "name": "Etat",
      "type": "info",
      "isVisible": 0,
      "isHistorized": 1,
      "subtype": "numeric",
      "generic_type": "LIGHT_STATE",
      "logicalId": "state::on"
    },
    {
      "name": "On",
      "type": "action",
      "subtype": "other",
      "generic_type": "LIGHT_ON",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat",
      "logicalId": "on::1",
      "template": {
        "dashboard": "light",
        "mobile": "light"
      }
    },
    {
      "name": "Off",
      "type": "action",
      "subtype": "other",
      "generic_type": "LIGHT_OFF",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat",
      "logicalId": "on::0",
      "template": {
        "dashboard": "light",
        "mobile": "light"
      }
    },
    {
      "name": "Etat Luminosité",
      "type": "info",
      "isVisible": 0,
      "isHistorized": 1,
      "subtype": "numeric",
      "generic_type": "LIGHT_BRIGHTNESS",
      "logicalId": "state::bri"
    },
    {
      "name": "Luminosité",
      "type": "action",
      "subtype": "slider",
      "generic_type": "LIGHT_SLIDER",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat Luminosité",
      "logicalId": "bri::#slider#",
      "configuration" : {
        "minValue" : 0,
        "maxValue" : 255
      },
      "template": {
        "dashboard": "light",
        "mobile": "light"
      }
    },
    {
      "name": "Temperature",
      "type": "action",
      "subtype": "slider",
      "generic_type": "LIGHT_SET_COLOR_TEMP",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat Temperature",
      "logicalId": "ct::#slider#",
      "configuration" : {
        "minValue" : 153,
        "maxValue" : 500
      }
    },
    {
      "name": "Etat Temperature",
      "type": "info",
      "generic_type": "LIGHT_COLOR_TEMP",
      "isVisible": 0,
      "isHistorized": 1,
      "subtype": "numeric",
      "logicalId": "state::ct"
    }
  ]
}

Actuellement virer les commandes sans modifier ce fichier ne sert à rien, celles ci reviennent à chaque fois que deconz remonte des infos.

Une fois correctement configuré sur Jeemate on as bien que le slider luminosité et température.
Screenshot_2021-03-15-16-04-39-339_com.scalz.JeeMate Screenshot_2021-03-15-16-04-44-863_com.scalz.JeeMate

Bonjour,
Je suis dans le même cas que toi (il me semble), tu px mettre ta configuration de l’ampoule (les commandes) et la configuration de jeemate stp ?
Merci

En premier il faut que tu modifie le fichier de deconz qui sinon va faire automatiquement l’ajout des commande que tu supprime.

Avec JeeXplorer dans le dossier html/plugins/deconz/core/config/types/ tu ouvre et edite le fichier Color temperature light.json, tu remplace le tout par ceci :

{
  "commands": [
    {
      "name": "Etat",
      "type": "info",
      "isVisible": 0,
      "isHistorized": 1,
      "subtype": "numeric",
      "generic_type": "LIGHT_STATE",
      "logicalId": "state::on"
    },
    {
      "name": "On",
      "type": "action",
      "subtype": "other",
      "generic_type": "LIGHT_ON",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat",
      "logicalId": "on::1",
      "template": {
        "dashboard": "light",
        "mobile": "light"
      }
    },
    {
      "name": "Off",
      "type": "action",
      "subtype": "other",
      "generic_type": "LIGHT_OFF",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat",
      "logicalId": "on::0",
      "template": {
        "dashboard": "light",
        "mobile": "light"
      }
    },
    {
      "name": "Etat Luminosité",
      "type": "info",
      "isVisible": 0,
      "isHistorized": 1,
      "subtype": "numeric",
      "generic_type": "LIGHT_BRIGHTNESS",
      "logicalId": "state::bri"
    },
    {
      "name": "Luminosité",
      "type": "action",
      "subtype": "slider",
      "generic_type": "LIGHT_SLIDER",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat Luminosité",
      "logicalId": "bri::#slider#",
      "configuration" : {
        "minValue" : 0,
        "maxValue" : 255
      },
      "template": {
        "dashboard": "light",
        "mobile": "light"
      }
    },
    {
      "name": "Temperature",
      "type": "action",
      "subtype": "slider",
      "generic_type": "LIGHT_SET_COLOR_TEMP",
      "isVisible": 1,
      "isHistorized": 0,
      "value" : "Etat Temperature",
      "logicalId": "ct::#slider#",
      "configuration" : {
        "minValue" : 153,
        "maxValue" : 500
      }
    },
    {
      "name": "Etat Temperature",
      "type": "info",
      "generic_type": "LIGHT_COLOR_TEMP",
      "isVisible": 0,
      "isHistorized": 1,
      "subtype": "numeric",
      "logicalId": "state::ct"
    }
  ]
}

Ensuite fais une copie de ce fichier dans un dossier extérieur à Deconz car il y as de forte chance qu’un mise à jour le remplace. (je fais ça aussi pour les images personnalisées)

Puis tu va sur ton ampoule et tu supprime les commandes couleur, etat couleur et effet pour ne garder que celle ci, la modification qu’on vient de faire permettant qu’elles ne soit pas recréer.

configAmpoule1

et pour finir tu configure tes génériques (depuis Jeemate c’est quand même bien plus rapide)

configAmpoule2

Tu regen ton interface sur l’application Jeemate et c’est bon.

@Livyo c’est quoi comme modele et type tes ampoules ?
Capture

Hello,

Le support des températures couleurs en mired est en train d’être développé. Bientôt dispo.

Le soucis ici c’est l’import deconz qui ajoute des commandes qui n’existe pas sur l’ampoule.

Il y as juste à modifier le json d’import. Apres j’ai pas testé toute la gamme d’ampoules de type Color temperature light alors je me dit que s’il y a ces commandes elles doivent servir pour certain.

@Loic sais tu si certains utilisateurs avait justement ce besoin (xy) sur des ampoules ayant en réglage que température couleur (ct) et luminosité ?

J’ai ca:
image

Tu trouveras sur ce fil mes paramètres Deconz et jeemate

Mais je ne peux pas choisir la température (blanc chaud ou froid) avec un slider, le slider luminosité est ok sauf le pb de remontée d’état (cf. sujet ci-dessus)

Il va donc falloir que j’essaye tes modifs je pense, merci

Oui, tes génériques ne sont pas correctement réglé.

Fais comme moi et regen l’application.

Bonjour
De mémoire certains ampoules color temp support aussi les couleurs et pas que les températures de couleur d’où le faite qu’il y ait trop de commande

Salut,

Oki, mais du coup pourquoi écraser la configuration des utilisateurs?
J’ai déjà vu ça sur certains autres plugins, c’est pas pratique.

Je ne me souviens plus du plugin, je l’ai supprimé du coup car il me prenait la tête… mais par exemple:

  • le plugin me renseignait mal certains génériques, que je voulais ensuite utiliser avec ghome
  • je modifiais donc la config comme j’avais besoin
  • je sauvegardais l’equipement
  • et boum, voilà que le plugin m’écrasait mes modifs…, au bout de qq tentatives, ça fonctionnait, mais si un jour je revenais sur l’équipement et refaisait un sauvegarde. rebelotte…

Ne faudrait-il pas plutot vérifier la config du user au lieu d’écraser ?
je comprends bien la problématique, mais du coup ce n’est plus un vrai un bouton « Sauvegarder »

Parceque je sais pas faire autrement et que j’ai pas de temps a passer la dessus désolé… J’ai vraiment trop de truc en ce moment sur jeedom et je m’en sors pas je peux malheureusement rien prendre en plus surtout que la c’est vraiment complexe car faut savoir que l’utilisateur a volontairement supprimer une commande mais faut aussi gere le cas ou j’en rajoute dans la configuration dans ce cas l’utilisateur a supprimer la commande avant ou après l’ajout dans le json. C’est pas insoluble mais ca prend beaucoup trop de temps a coder pour le nombre d’utilisateur qui s’en plaignent et le temps que j’ai.

je ne connais pas le fonctionnement de ce plugin.
perso, pour gérer ce cas, sur votre bouton Sauvegarder, j’aurais :

  • stocké dans une variable temporaire l’equipement ouvert, pour la comparer ensuite
  • sur clic sauvegarde, si configuration modifiée alors une popup d’avertissement
    « Souhaitez-vous vraiment valider les changements sur votre équipement ? »

ou alors, car je comprends que la popup soit désagréable, si le user a fait de mauvaises modifications, il serait obligé de supprimer son equipement et le recréer. mais je vois déjà venir un autre lot de problématiques… ou un bouton réinitialiser qui réinitialiserait certains paramètres etc

de mon coté, je considère ça comme un bug de sauvegarde :slight_smile:

Pas de souci, je te comprends, courage :slight_smile:

Tu imagine pas le temps qu’il faut pour faire ca je crois c’est dans jeedom meme le principe de sauvegarde d’équipement, faire un popup de confirmation c’est pas possible non plus car rien n’est prévu

Après de la a dire un bug ca m’insupporte vraiment c’est le fonctionnement attendu… Que ca n’aille pas ok je comprend mais dire que c’est un bug c’est pour moi un manque de respect pour tout le travail qui a été fait. Surtout que la c’est vraiment le comportement attendu et ce que j’ai codé volontairement

si je sauvegarde et que cela écrase mes modifs, c’est pas un fonctionnement normal pour moi. ce n’est pas le fonctionnement que j’attends d’une fonction de sauvegarde

je donnais juste mon opinion. rien de plus
tu sais je ne voulais pas t’insupporter… dsl

Après moi je demande rien :wink:

Le plugin est stable et me convient en l’état, je vois le travail à faire ailleurs et vu le peu de mise à jour actuel sur le plugin deconz, cela me prend 30sc de recopier mes images et mes json après une mise à jour.

A voir même si je trouve une façon simple d’automatiser cela avec un scénario :
Si
plugin « deconz » mis a jour
Alors
copier save/xxx.png vers image/xxx.png
copier save/abc.json vers type/abc.json

@sagitaz e vais réfléchir à ta problématique :wink:

sinon @Loic tant que j’y pense, je n’ai pas pris la mouche quand tu m’as dit que je n’imaginais pas les problématiques derrière… juste pour info, moi aussi j’ai été dev/chef de proj sur des très gros ERP, avec des grosses db, j’étais fullstack…
et je ne demandais rien non plus, pour l’instant j’essaie de m’adapter à votre fonctionnement même si je ne suis pas tjs d’accord avec certains de vos choix… je continue qd mm à utiliser votre solution que j’aime bien.

Je te souhaite une bonne journée, j’espère que tu ne m’en veux pas ^^

je sais comment on va faire pour gérer ce cas, car j’ai pas trop envie que vous soyez obligé de faire ce genre de bidouille, ce n’est pas friendly :slight_smile:

concernant, le support des températures couleurs en mired (inversion du slider), j’ai l’ai implémenté, ce sera dispo dans la prochaine version, il n’y aura qu’à réimporter dans l’app, rien à modifier de votre coté, ce sera fait auto
j’ai hate que vous ayiez la prochaine version, car ça va clore pas de mal de vos soucis (notamment refresh qui faisait penser que l’app était buggée alors que c’était la faute aux dns en carton…)

1 J'aime