Page 1 sur 1

Paramétrage prise connectée Milesight WS523

Publié : 13 févr. 2026, 22:48
par Christophe33
Bonjour,
J'aurais besoin d'un coup de main pour configurer le plugin pour une prise connectée Milesight WS523.

Les messages MQTT qu'on voit passer avec MQTT Explorer ressemblent à ça (c'est un extrait) :

Code : Tout sélectionner

"object": {
     "power_consumption": 0.0, 
     "voltage": 246.7,
     "socket_status": "off",
     "power_factor": 100.0,
     "current": 3.0,
     "active_power": 0.0
}, 
Pour créer un dispositif dans Domoticz qui permet de voir et modifier le statut de la prise, le fichier json de config du plugin contient :

Code : Tout sélectionner

    "prise_1_Status": {
        "topic": "application/xxx/device/yyy/event/up",
        "key": "prise_1_Status",
        "type": "244",
        "subtype": "73",
        "switchtype": "0",
        "select": {
            "item": "fPort",
            "value": 85
        },
        "mapping": {
            "item": "object/socket_status",
            "default": "0",
            "values": {
                "on": "1"
            }
        },
        "set": {
            "mapping": {"values": {"off": "0", "on" : "100"}},
            "command": "python3 scripts/gestion_relais.py -relais prise_1:# &",
            "topic": "application/xxx/device/yyy/event/up",      
            "payload": {"object":{"socket_status":"#"}, "fPort":85},
            "retain": false
        }
    },
Le script gestion_relais.py permet d'envoyer des downlinks qui commandent l'état on/off de la prise.
Dans la partie "set" il y a aussi un topic qui renvoyer un message MQTT avec le nouveau statut de la prise et de le mettre à jour dans Domoticz (la prise ne renvoie pas de message quand on change son statut par un downlink).

Une fonctionnalité qui m'intéresse est celle d'alarme de coupure de courant. Dans ce cas, un message MQTT est émis avec le même topic et contient (entre autres) :

Code : Tout sélectionner

"object": {"power_outage_alarm": "power_outage"}
Je voudrais faire un deuxième dispositif dans Domoticz pour capter ce message d'alarme et y mettre une notification. Mais pour éviter les messages ignorés, il va falloir mettre des instructions "select". Mon problème est que je ne sais pas quoi mettre dedans, vu qu'il n'y a pas d'item commun avec des valeurs différentes entre les deux messages MQTT. De ce que je comprends du code source du plugin, il faut que l'item qu'on met dans "select" existe dans tous les messages MQTT du bon topic, sinon il y a une erreur et le message est ignoré ?
Merci d'avance de votre aide !

Re: Paramétrage prise connectée Milesight WS523

Publié : 14 févr. 2026, 00:20
par Flying Domotic
Avec des messages de contenu variables, il est possible d'utiliser plusieurs "select". Le device ne sera mis à jour que si l'ensemble des "select" est vrai.

Si j'ai bien compris le format des messages (un "fPort" et "object") une idée serait :

Code : Tout sélectionner

{
    "prise_1_Status": {
        "topic": "application/xxx/device/yyy/event/up",
        "key": "prise_1_Status",
        "type": "244", "subtype": "73", "switchtype": "0",
		"select": [
			{"item": "fPort", "value": 85},
			{"item": "object/socket_status"}
		],
        "mapping": {
            "item": "object/socket_status",
            "default": "0",
            "values": {
                "on": "1"
            }
        },
        "set": {
            "mapping": {"values": {"off": "0", "on" : "100"}},
            "command": "python3 scripts/gestion_relais.py -relais prise_1:# &",
            "topic": "application/xxx/device/yyy/event/up",      
            "payload": {"object":{"socket_status":"#"}, "fPort":85},
            "retain": false
        }
    },
   "prise_1_power_outage": {
        "topic": "application/xxx/device/yyy/event/up",
        "key": "prise_1_power_outage",
        "type": "243", "subtype": "19", "switchtype": "0",
		"select": [
			{"item": "fPort", "value": 85},
			{"item": "object/power_outage_status"}
		],
        "mapping": {"item": "object/power_outage_status"}
    }
}

Re: Paramétrage prise connectée Milesight WS523

Publié : 14 févr. 2026, 10:40
par Christophe33
Ah Excellent, merci beaucoup ! C'est exactement ce qu'il me fallait !

Je ne savais pas qu'il était possible d'utiliser des listes dans une instruction "select" (à part pour une liste de "values"), ni qu'il était possible d'utiliser un "item" dans un bloc "select" sans avoir de "value" associée.

Je réalise aussi que j'utilise une ancienne version du plugin (1.0.59) et qu'il va falloir faire une petite mise à jour pour bénéficier de ces améliorations !

Encore merci pour le plugin et la réponse hyper-rapide à la question !!

Re: Paramétrage prise connectée Milesight WS523

Publié : 14 févr. 2026, 11:13
par Flying Domotic
La doc n'est peut être pas assez claire sur ces points, je vais la modifier ...

Sinon, la dernière version est (très souvent) celle qui possède le plus de fonctionalités (et de bugs ... ;-)

Re: Paramétrage prise connectée Milesight WS523

Publié : 14 févr. 2026, 16:31
par Christophe33
Ce serait top, merci !!
Pour être honnête, la doc m'a fait un peu peur la première fois que je l'ai vue, et je n'ai pas pris le temps de tout lire ( et même la deuxième fois non plus). Et paradoxalement, j'ai parfois eu le sentiment qu'il manquait des choses, notamment des messages MQTT en face des exemples de config pour bien comprendre le lien entre les deux. De toute façon, vu la richesse des possibilités du plugin, c'est normal que la doc correspondante soit un peu longue et fournie.
Pour être constructif, j'ai demandé à Claude.ai de proposer une version reformulée de la doc, qui permette aux débutants de bien faire le lien entre le message MQTT et la config du plugin, tout en exposant les fonctionnalités avancées pour les utilisateurs avertis, le tout sans être trop long. Le résultat est intéressant, mais un poil trop concis quand même (pas autant d'explications que dans la doc actuelle). Le plan est globalement le même, mais à mon sens le fait qu'il y ait une structuration plus forte/visible permet d'aborder plus facilement le document et de savoir mieux où chercher. Pour info voici le plan qui a été proposé :
1. Guide pour Débutants

Explication simple de MQTT
Premier exemple pas-à-pas
Guide d'utilisation de MQTT Explorer

2. Configuration Détaillée

Extraction de données (simple, JSON, imbriqué, multiple)
Transformations (multiplicateur, arrondi, mapping, constantes)
Filtres de sélection/rejet
Options de dispositifs (tableau complet)
Gestion du throttling et des valeurs initiales

3. Utilisation Avancée

Commandes SET avec exemples variés
Commandes complexes (volets, RGB, etc.)
Variables disponibles (<command>, <level>, <color>...)
Table des types de dispositifs courants

4. 8 Exemples Pratiques Complets

Zigbee2MQTT (température/humidité + batterie)
Interrupteur Tasmota bidirectionnel
Compteur Shelly avec throttling
Sélecteur multi-modes
Volet avec position
Données véhicule Volvo
Lumière RGB Shelly
Thermostat SetPoint

5. Section Dépannage

Outils de diagnostic (checkJsonFiles.py, dumpMqttMapperValues.py)
Problèmes courants avec solutions
Ressources utiles
Conseils de performance

6. FAQ avec questions fréquentes

README.md correspondant disponible si besoin. Pour finir sur la doc, j'ai bien conscience que l'auteur du plugin a déjà passé beaucoup de temps à écrire le plugin et sur les forums à aider la communauté !! Donc je suis déjà bien content d'avoir tout cela et je remercie encore une fois l'auteur pour tout son travail !!

Re: Paramétrage prise connectée Milesight WS523

Publié : 14 févr. 2026, 17:56
par Flying Domotic
S'il existe déjà un README.md réécrit, je le veux bien ...

Re: Paramétrage prise connectée Milesight WS523

Publié : 15 févr. 2026, 10:38
par Christophe33
Ci-joint 2 versions du fichiers README.md :
- la première, très (trop) concise, en français, avec "progression pédagogique"
- la seconde version, en anglais, avec plus d'explications, une liste des mots-clés utilisés, l'exemple de la prise connectée inclus.
Ce ne sont que des suggestions !!

Re: Paramétrage prise connectée Milesight WS523

Publié : 15 févr. 2026, 11:10
par Christophe33
PS Quelques erreurs dans la v2 envoyée : présence de commentaires dans les snippets json, switchtype indiqué comme obligatoire dans la Configuration Keywords Reference

Re: Paramétrage prise connectée Milesight WS523

Publié : 15 févr. 2026, 11:55
par Flying Domotic
Merci pour les fichiers.

Honêtement, j'ai eu mal à la tête en lisant la version anglaise (3000 lignes, soit 4 fois plus que l'original !).

En fait, c'est plus un référence manual qu'un users guide. Le seul moyen de le lire, c'est de prendre la table des matières, et de cliquer sur une igne pour voir comment on peut faire.

Je reconnais que ma doc n'est pas très digeste (elle a beaucoup évolué avec le temps), mais là c'est à la limite de l'incompréhensible tellement c'est résumé (que des bullet points) mais en 3000 lignes ! ;-)

Et j'ai même trouvé des explications dont je ne sais pas d'où elles peuvent sortir ;-)

Je pense que je vais modifier la version existante pour ajouter les listes sur select et reject, et mettre dans ma todo list de séparer la doc entre guide utilisateur et manuel de référence, quand j'aurais un peu de temps ...

Par contre, j'aumerais bien avoir l'avis d'autres utilisateurs sur les 2 documents générés par l"IA.

Re: Paramétrage prise connectée Milesight WS523

Publié : 15 févr. 2026, 13:33
par Christophe33
oui c'est vrai que c'est plus long, et je n'aurais peut-être pas du lui demander de rajouter une section avec la liste des commandes !
Peut-être qu'après tout cela ne vaut pas trop la peine de se prendre trop la tête pour la doc, vu les progrès des IA ? (Mais pour l'instant, c'est vrai que quand j'ai demandé à ChatGPT ou Claude de m'aider pour écrire des configs, ils étaient un peu dans les choux).