Jmqtt avec le nouveau Shellie 1PM PLUS

Salut

As-tu essayé d’utiliser mqtt explorer pour trouver cette information ?

Antoine

Salut,
oui bien sur, le module publie un seul topic :

shellyplus1pm-44179393179c/events/rpc
de valeur
{"src":"shellyplus1pm-44179393179c","dst":"shellyplus1pm-44179393179c/events","method":"NotifyStatus","params":{"ts":1636385761.22,"switch:0":{"id":0,"aenergy":{"by_minute":[0.000,0.000,0.000],"minute_ts":1636385759,"total":0.000}}}}

avec mqtt explorer:
{
  "src": "shellyplus1pm-44179393179c",
  "dst": "shellyplus1pm-44179393179c/events",
  "method": "NotifyStatus",
  "params": {
    "ts": 1636385941.22,
    "ts": 1636386001.2,
    "switch:0": {
      "id": 0,
      "aenergy": {
        "by_minute": [
          0,
          0,
          0
        ],
        "minute_ts": 1636385939,
        "minute_ts": 1636385999,
        "total": 0
      }
    }
  }
}

avec le relais off et avec le relais on :

{
  "src": "shellyplus1pm-44179393179c",
  "dst": "shellyplus1pm-44179393179c/events",
  "method": "NotifyStatus",
  "params": {
    "ts": 1636386121.2,
    "ts": 1636386121.22,
    "switch:0": {
      "id": 0,
      "aenergy": {
        "by_minute": [
          0,
          0,
          0
        ],
        "minute_ts": 1636386119,
        "total": 0
      }
    }
  }
}

avec dans la cofig mqtt du module :
Generic status update over MQTT à ON,
j’ai:
2 topics de plus:
status
/sys
/mqtt
/switch:0
/online
et le contenu de switch:0

{"id": 0, "source": "WS_in", "output": false, "apower": 0.000, "voltage": 222.306, "current": 0.000, "aenergy": {"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1636386658},"temperature":{"tC":58.2, "tF":136.8}}

Tu as regardé ici: Input | Shelly Technical Documentation

https://shelly-api-docs.shelly.cloud/gen2/Overview/RPCChannels

Topic « /rpc » pour envoyer des commandes

Ils sont pas très éloquent pour le moment sur l’api 2, ça va venir je pense.
cddu33 c’est sur le topic rpc mais il y a une notion de id, cela vient il du fait qu’il peut y avoir plusieurs utilisateurs sur le même Shelly?

Bonsoir,

La réponse sur la page Facebook de Quintium

En espérant que j’ai le droit d’en parler

Gérard

j’ai essayé comme topic deverses variation autour de :
shellyplus1pm-44179393179c/rpc/switch:0/command on
shellyplus1pm-44179393179c/rpc/switch/0/command. on
shellyplus1pm-44179393179c/rpc/switch:0 on
true, toggle à la place de on rien

Cela doit être le topic et pour la valeur cela doit être tout le JSON.

{"id":007, "src":"BERGERET", "method":"Switch.Set", "params":{"id":0,"on":true}}
1 « J'aime »

CHAMPAGNE :+1: c’est ça !!! super merci infiniment.
Je me demande pourquoi ils ont été chercher cette modif ?
Merci encore

1 « J'aime »

Rassures toi moi aussi, …
Ou pour une simplification du traitement quelque soit le moyen utilisé MQTT ou autre, une fois le json récupéré le traitement reste le même …

2 « J'aime »

Pour off je pensais bêtement que le topic serait également
shellyplus1pm-44179393179c/rpc
et la valeu,r le JSON:
{« id »:007, « src »:« BERGERET », « method »:« Switch.Set », « params »:{« id »:0,« off »:true}}

et ben non, le relais ne passe pas à off, il doit y avoir quelque chose qui m’échappe :weary:

on false ???

1 « J'aime »

Yes je viens d’y penser, toujours pourquoi faire simple lorsqu’on peut faire compliqué, ils ont du se former chez les British :smiley: :smiley:
{« id »:007, « src »:« BERGERET », « method »:« Switch.Set », « params »:{« id »:0,« on »:false}}
Edit: BERGERET peut etre remplacé par n’importe quoi , je ne vois pas trop l’utilité de « signer » le JSON
Mille merci encore, sans toi le module restait au placard !

on est le nom de la clé, il ne peut pas changer.
Il peut prendre deux valeurs true ou false.

A priori, 007 aussi

J’ai l’impression que cela peut servir si tu as plusieurs systèmes qui commandent le shelly, cela doit pouvoir te retourner dans Jeedom celui qui a fait la manœuvre.

oui ça doit etre ça : je lis dans la doc que je commence seulement à comprendre:

  • src: string, name of the source of the request (you can choose whatever string you like to identify you as the source of the request).Required
    doc api shelly gen2
2 « J'aime »

Bonjour

Ce n’est pas une signature, c’est le nom du responsable de « quintium », il ne fait que donner un exemple sur sa page « facebook »

Voir le lien plus haut

Gérard

Bonjour,
oui bien sur, en fait j’utilisais « signature » pour indiquer quel identifiant on souhaitait utiliser pour « signer » l’ordre l’exécution de la commande. Cette nouvelle version utilisé par Shelly pour ses nouveaux modules est finalement très performant une fois qu’on a compris la philosophie de la syntaxe utilisée. Jmqtt se débrouille très bien pour extraire les info des JSON reçus.

Moi, ce qui m’étonne sur la première capture c’est l’option : RPC status notifications over MQTT.

Si on l’enlève ca n’eclaircie (rend plus simple et intélligible) pas les publications?

Bonjour,
bonne question, comme au début je pataugeais complètement avec ce nouveau format de publication, j’avais validé à tout hasard. maintenant que j’ai compris la syntaxe de ces nouveaux json, j’ai donc testé de décocher les deux cases. Résultat des courses:
case RPC status notifications over MQTT: décochée, plus de commande du relais par Jeedom/jMQTT.
Case Generic status update over MQTT: décochée plus aucun retour d’état dans Jeedom/jMQTT
case RPC status notifications over MQTT: cochée et Case Generic status update over MQTT: décochée , commande de relais possible mais pas de retour d’état, ceci dit les Json sont toujours aussi « touffus »
Donc il faut bien cocher les cases pour avoir une intégration coplète dans Jeedom, du moins avec Jmqtt. Pour Mqtt, je ne sais pas, mais je sais que @Lunarok travaille dessus.

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