Problèmes affichages de certaines commandes et valeurs

Bonjour,

Après quelques mois d’utilisation du plugin, je cherche à améliorer sommairement l’affichage de mes widgets car j’ai plusieurs commandes/valeurs avec des noms à rallonge type « BSH.Common… »

Je précise que je suis à jour en stable sur Jeecom et le plugin homeconnect.

Je vais prendre l’exemple de ma hotte.

Après quelques recherches, je suis arrivé à ces constats :

  • Problème 1 : Les commandes suivantes n’existent pas dans le fichier homeconnectcapabilities.php
    Cooking.Common.Event.Hood.GreaseFilterMaxSaturationNearlyReached (de type BSH.Common.EnumType.EventPresentState)
    Cooking.Common.Event.Hood.GreaseFilterMaxSaturationReached (de type BSH.Common.EnumType.EventPresentState)
    => Si je comprends bien la doc je dois tagguer @Flobul pour faire une requête de prise en charge de ces commandes ? Si oui, j’en profite pour demander également la prise en charge de commandes pour mon lave-vaisselle :
    Dishcare.Dishwasher.Event.SaltNearlyEmpty (de type BSH.Common.EnumType.EventPresentState)
    Dishcare.Dishwasher.Event.RinseAidNearlyEmpty (de type BSH.Common.EnumType.EventPresentState)

  • Problème 2 : Les commandes actions et info ayant un rapport entre elles semblent poser un soucis :
    Info Statut qui affiche qui affiche : BSH.Common.EnumType.PowerState.Off
    Info Niveau de ventilation qui affiche : BSH.Common.EnumType.EventPresentState.Off
    Info Niveau dintensité qui affiche : BSH.Common.EnumType.EventPresentState.Present
    En bidouillant un peu dans la base de donnée, je remarque que si je modifie par exemple ma commande Info Statut :
    de
    {"path":"settings\/BSH.Common.Setting.PowerState","key":"BSH.Common.Setting.PowerState","withAction":true,"category":"Setting","minValue":"","maxValue":"","value":""}
    à
    '{"path":"settings\\\/BSH.Common.Setting.PowerState","key":"BSH.Common.Setting.PowerState","withAction":false,"category":"Setting","minValue":"","maxValue":""}'
    Cela change bien comme il faut la valeur mais cela a une incidence sur la commande Statut associée qui n’affiche plus rien, même si le menu déroulant fonctionne (j’ai repéré les changements sur la capture ci-après).


    C’est donc là que je bloque et demande si quelqu’un sait ce qu’il faudrait faire pour corrige proprement le problème SVP ?

Bonjour.

Avec les nouveaux appareils viennent de nouvelles commandes non instruites dans ma lib du plugin.
Tout a été tiré manuellement de la doc de l’API à un instant T et mis à jour en fonction de vos retours : https://api-docs.home-connect.com/events/#availability-matrix

Ajouté.

Ajouté.

Ajouté.

Ajouté.

Edit : J’ai pas mal d’ajouts à faire, je pense finir et les pousser ce soir.

Pour mon four, la commande Statut contient :

{"path":"settings\/BSH.Common.Setting.PowerState","key":"BSH.Common.Setting.PowerState","withAction":false,"category":"Setting"}

Peux-tu lancer une synchronisation forcée et m’envoyer les logs ?

Merci Flobul pour la partie 1.

Pour la partie 2 je t’envoie les logs en MP.

Pour mon four, je n’ai pas pareil que toi :

{"path":"settings\/BSH.Common.Setting.PowerState","key":"BSH.Common.Setting.PowerState","withAction":true,"category":"Setting","minValue":"","maxValue":""}

Et j’ai bien le même soucis où si je change par ta valeur en base de donnée, la commande info est OK mais la commande action associée n’affiche plus bien (mais fonctionne en sélectionnant).

Si dans l’info récupérée sur l’API, le paramètre readWrite est à true, alors le paramètre eqLogic withAction passe à true aussi.
Ca permet de traduire la valeur si c’est pas une commande action.
Si c’est une commande action, la valeur sera une clé utilisée pour la commande info.

La valeur affichée « BSH.Common.EnumType.EventPresentState.XXX » est commune à beaucoup de commande, mais doit absolument être renseignée dans la commande en question.
Je pense que dans ton cas, ça vient du fait que les commandes ne sont pas dans la lib.

Je viens de compléter toutes les nouvelles commandes, dis-moi si c’et mieux.

Dispo sur la beta du marché.

Je ne suis pas sûr d’avoir tout compris concernant tes explications.
Cependant, comme j’ai pris l’exemple des commandes de base, elles sont dans la lib.

  • [action] Statut (Logical ID : PUT::BSH.Common.Setting.PowerState)
  • [info] Info Statut (Logical ID : GET::BSH.Common.Setting.PowerState)

Pour le test avec la beta, je ne comprends pas pourquoi cela ne fonctionne pas.

Le fichier homeconnect.capabilties.php a bien les modifs que tu as faites et j’ai fait une synchro forcée.

Ce qui est bizarre, c’est qu’en regardant les logs, je ne vois nul part une ligne contenant les nouvelles commandes (qui sont en […]Event[…]).

Les Event viennent en faisant des actions sur son appareil. Ca vient par le démon.

Essaye de supprimer les commandes erronées et relance la sy’chro

Désolé, je dois attendre du temps car je dépasse le nombre de requêtes en 24h (et c’est déjà le cas encore ce matin).

J’ai supprimé les commandes statut (action et info) pour mon lave-vaisselle et ça les bien recréées mais j’ai toujours le bug.
(Egalement, je n’ai toujours pas lancé mon lave-vaisselle donc je suppose que c’est normal que je n’ai pas encore récupéré les commandes de type Event)

Les commandes en base de donnée sont :

{"path":"settings\/BSH.Common.Setting.PowerState","key":"BSH.Common.Setting.PowerState","withAction":true,"category":"Setting"}
{"path":"settings\/BSH.Common.Setting.PowerState","key":"BSH.Common.Setting.PowerState","category":"Setting","value":"#select#","listValue":"BSH.Common.EnumType.PowerState.Off|Désactivé;BSH.Common.EnumType.PowerState.On|Activé","updateCmdId":""}

Les logs :

[2024-02-27 09:06:19][DEBUG] : La requête GET : /api/homeappliances/[id_removed_by_me]/settings a réussi, code 200, résultat {   "data": {     "settings": [{       "key": "BSH.Common.Setting.PowerState",       "value": "BSH.Common.EnumType.PowerState.Off",       "name": "Statut",       "displayvalue": "Désactivé"     }]   } }
[2024-02-27 09:06:19][DEBUG] : tous les Settings {   "data": {     "settings": [{       "key": "BSH.Common.Setting.PowerState",       "value": "BSH.Common.EnumType.PowerState.Off",       "name": "Statut",       "displayvalue": "Désactivé"     }]   } }
[2024-02-27 09:06:19][DEBUG] : setting key BSH.Common.Setting.PowerState
[2024-02-27 09:06:19][DEBUG] : Nombre de requêtes envoyées aujourd\'hui 88
[2024-02-27 09:06:19][DEBUG] : La requête GET : /api/homeappliances/[id_removed_by_me]/settings/BSH.Common.Setting.PowerState a réussi, code 200, résultat {   "data": {     "name": "Statut",     "key": "BSH.Common.Setting.PowerState",     "constraints": {       "allowedvalues": ["BSH.Common.EnumType.PowerState.Off", "BSH.Common.EnumType.PowerState.On"],       "displayvalues": ["Désactivé", "Activé"],       "access": "readWrite"     },     "type": "BSH.Common.EnumType.PowerState",     "displayvalue": "Désactivé",     "value": "BSH.Common.EnumType.PowerState.Off"   } }
[2024-02-27 09:06:19][DEBUG] : Setting {   "data": {     "name": "Statut",     "key": "BSH.Common.Setting.PowerState",     "constraints": {       "allowedvalues": ["BSH.Common.EnumType.PowerState.Off", "BSH.Common.EnumType.PowerState.On"],       "displayvalues": ["Désactivé", "Activé"],       "access": "readWrite"     },     "type": "BSH.Common.EnumType.PowerState",     "displayvalue": "Désactivé",     "value": "BSH.Common.EnumType.PowerState.Off"   } }
[2024-02-27 09:06:19][DEBUG] : Le setting est readWrite, on crée aussi la commande setting action
[2024-02-27 09:06:19][DEBUG] : Création d\'une commande action, key : BSH.Common.Setting.PowerState, path : settings/BSH.Common.Setting.PowerState, category : Setting
[2024-02-27 09:06:19][DEBUG] : Nom de la nouvelle commande Statut
[2024-02-27 09:06:19][DEBUG] : Nouvelle commande select logicalId PUT::BSH.Common.Setting.PowerState, nom Statut
[2024-02-27 09:06:19][DEBUG] : On crée aussi la commande setting info
[2024-02-27 09:06:19][DEBUG] : Création d\'une commande info, key : BSH.Common.Setting.PowerState, path : settings/BSH.Common.Setting.PowerState, category : Setting
[2024-02-27 09:06:19][DEBUG] : Nom de la nouvelle commande Statut
[2024-02-27 09:06:19][DEBUG] : Nouvelle commande info , logicalId GET::BSH.Common.Setting.PowerState et nom Info Statut paramètres {"name":"Statut","key":"BSH.Common.Setting.PowerState","constraints":{"allowedvalues":["BSH.Common.EnumType.PowerState.Off","BSH.Common.EnumType.PowerState.On"],"displayvalues":["D\u00e9sactiv\u00e9","Activ\u00e9"],"access":"readWrite"},"type":"BSH.Common.EnumType.PowerState","displayvalue":"D\u00e9sactiv\u00e9","value":"BSH.Common.EnumType.PowerState.Off"}
[2024-02-27 09:06:19][DEBUG] : Type de création isset(action) 1, isset(type) 1, isset(value) 1
[2024-02-27 09:06:19][DEBUG] : Création d\'une commande info string à partir de la commande action
[2024-02-27 09:06:19][DEBUG] : setValue sur la commande Setting, logicalId PUT::BSH.Common.Setting.PowerState commande info GET::BSH.Common.Setting.PowerState
[2024-02-27 09:06:19][DEBUG] : Fin  homeappliances
1 « J'aime »

Petit update :

Concernant les nouvelles commandes Event, elles n’ont pas l’air d’être envoyées périodiquement par les appareils électroménagers (quand tout va bien en tout cas) mais que lorsque la situation arrive, donc je n’arrive pas à tester pour le moment.

Regarde bien le log du demon pendant que tu utilises ton appareil

C’est bien OK pour les event.
J’en ai testé qu’un ; pour le reste, il faut attendre que l’event survienne (par exemple que le témoin de sel
s’allume pour que l’event apparaisse).

Pour l’autre sujet, @Flobul, tu ne trouves pas ça bizarre que j’ai le problème seulement et uniquement pour les commandes infos pour lesquelles j’ai une commande associée ? Cf. ci-dessous

Je regarde pour le 2e sujet dès que j’ai un peu de temps. Faut que j’arrive à reproduire sur ma maquette

1 « J'aime »

Alors, je vais éclaircir certains points pour être sûr du réel problème.

Voilà comment réagit le plugin :

  • Pour les commandes infos qui ne sont pas liées à une commande action (lien automatique à la création de la commande uniquement) : la valeur de la commande est traduite (« Veille », « Eteint », « Ventilation »…)
  • Pour les commandes infos qui sont liées à une commande action (lien automatique à la création de la commande uniquement) : la valeur de la commande n’est pas traduite et sera sous la forme Cooking.Hood.XXX.XXX.XXX. On garde en fait la valeur de la commande comme un clé pour permettre de l’identifier comme valeur lors de son utilisation dans la commande action liée.

Pour moi, je constate un défaut sur ta commande « Niveau de ventilation » et « Niveau d’intensité », mais aucun défaut sur la commande « Statut ».

Edit : Je viens de voir un truc.
J’ai poussé un correctif.
Quand on sauvegardait l’équipement, l’info de commande liée disparaissait.
Il faudrait ré-attribuer les liens vers la « commande info à mettre à jour » pour les commande concernées :

Merci Flobul.

OK donc ça répond à ma question ; le seul moyen d’avoir un affichage traduit / « propre » pour ces commandes infos spécifiques est donc d’utiliser des widgets personnalisés.

OK j’ai fait les changements, ça a l’air de bien fonctionner.

Je pense donc qu’on peut clore le sujet ?

Parfait, pense à cocher le post à Résolu.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.