Shelly TRV - Ajout dans le plugin

En beta demain, à tester

1 « J'aime »

Les informations suivantes sont ok:

  • Statut
  • Température ambiante
  • Température cible

Par contre la commande « Température cible set » ne fonctionne pas, voici ce que j’obtiens:

[2022-01-15 16:00:47] shelly.DEBUG: Call : http://192.168.1.90/thermostats/0?target_t.value=26, return : 404, content : <html> <head><title>lwIP - A Lightweight TCP/IP Stack</title></head> <body bgcolor="white" text="black">      <table width="100%">       <tr valign="top"><td width="80">	   	  	</td><td width="500">	   	  <br> 	  <h2>404 - Page not found</h2> 	  <p> 	    Sorry, the page you are requesting was not found on this 	    server.  	  </p> 	</td><td> 	  &nbsp; 	</td></tr>       </table> </body> </html>  [] []
[2022-01-15 16:00:47] shelly.DEBUG: Call : http://192.168.1.90/status, return : 200, content : {"wifi_sta":{"connected":true,"ssid":"priv_2G","ip":"192.168.1.90","rssi":-50},"cloud":{"enabled":false,"connected":false},"mqtt":{"connected":false},"time":"16:00","unixtime":1642258851,"serial":0,"has_update":false,"mac":"60A423DCBCEE","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"thermostats":[{"pos":100.0,"target_t":{"enabled":true,"value":21.0,"units":"C"},"tmp":{"value":20.6,"units":"C","is_valid":true},"schedule":false,"schedule_profile":1}],"calibrated":true,"bat":{"value":99,"voltage":3.989},"charger":false,"update":{"status":"unknown","has_update":false,"new_version":"20220113-121848/v2.1.1@d6001485","old_version":"20220113-121848/v2.1.1@d6001485","beta_version":null},"ram_total":97280,"ram_free":22848,"fs_size":65536,"fs_free":59672,"uptime":161959,"fw_info":{"device":"shellytrv-60A423DCBCEE","fw":"20220113-121848/v2.1.1@d6001485"},"ps_mode":0,"dbg_flags":0}  [] []

@lunarok
Leur API n’est pas correcte… Il faut mettre « thermostat » et non « thermostats » !

Ils vont mettre à jour leur documentation en ce sens (ils me l’ont confirmé hier)

Je viens de tester plusieurs commandes HTTP essentielles pour moi (si tu pouvais les ajouter au plugin ce serait génial!)

Parfois c’est également accessible avec « settings » devant, parfois uniquement avec « settings » devant…; tout est précisé ci-dessous :wink:

  • Activer ou désactiver le thermostat interne :
[IP]/thermostat/0?target_t_enabled=[BOOL]

[IP]/settings/thermostat/0?target_t_enabled=[BOOL]
  • Contrôler la position (uniquement si Thermostat interne désactivé) :
[IP]/thermostat/0?pos=[VALEUR]
  • Choisir la température cible (La valeur est transmise même si thermostat interne désactivé) :
[IP]/thermostat/0?target_t=[VALEUR]

[IP]/settings/thermostat/0?target_t=[VALEUR]
  • Activer ou désactiver la sonde de température externe :
[IP]/settings/thermostat/0?ext_t_enabled=[BOOL]
  • Température de la sonde externe (Valeur non enregistrée si la sonde de température externe est désactivée):
[IP]/ext_t?temp=[VALEUR]

En plus des commandes ci-dessus il serait intéressant d’avoir les informations de Position (Pour historique) / Batterie & Calibration (Pour warning):

[IP]/status

Si jamais tu as besoin d’autres informations n’hésite pas.

Oui leur doc est pleine de coquilles, d’habitude pas trop mais là j’ai slalommé déjà ( batt.value au lieu de bat.value et d’autres)

Je corrige thermostat, pour la batterie tu l’as déjà non ?

Activation/désaction et commande position ajoutée (info et actions)

Pour la sonde de température, c’est pour pouvoir lui envoyer par exemple une température qui vient d’un autre module de jeedom c’est ca ? Genre valeur d’une station météo, de météo france, d’un module PAC externe …

Pour la sonde de température externe (lorsqu’elle est activée) ça permet de lui envoyer la température mesurée par un autre capteur plutôt que d’utiliser la sonde propre à la tête. C’est notamment utile lorsque les têtes sont proches du sol (radiateur vertical) donc la valeur est faussée par rapport aux autres…

Je leur envoie la température d’un module bluetooth bien positionné dans la pièce (Xiaomi LYWSD02), parfois d’un seul module à plusieurs têtes dans la même pièce - comme en thermostat en quelques sortes.

Concernant la batterie, pas de commande créée dans l’équipement ? Je suis allé voir sur la page « Equipements » de Jeedom je ne les vois pas non plus.

@lunarok
La commande « Température cible » utilise encore « thermostats » au lieu de « thermostat »

[2022-01-18 10:11:22] shelly.DEBUG: Call : http://192.168.1.90/thermostats/0?target_t.value=23, return : 404...

Un effet que je n’avais pas détecté est que:

  • si on envoie la commande de position la tête désactive le thermostat interne
  • si on envoie la commande température cible ça réactive le thermostat interne

Ce qui est plutôt logique en fait… et très pratique de ne pas avoir à gérer cette bascule nous même.
La question que je me pose: aura t-on besoin à un moment de simplement vouloir activer/désactiver le thermostat sans devoir envoyer une valeur de température/position ? Je n’en suis pas certain.

Pour le set thermostat, il faut supprimer ta commande (juste la commande et à la sauvegarde il va la recréer)
Du coup, on peut garder juste l’info statut du thermostat pour savoir si il est actif ou pas, pas besoin des actions

Et faut que je rajoute la commande température externe

Je viens de recréer la commande désormais j’ai bien « thermostat ».

Par contre la commande doit être:

0?target_t=21

au lieu de:

0?target_t.value=21

En tout cas merci pour ta réactivité, après ça je vais pouvoir les exploiter pleinement !

Je suis en bêta du 19/01/2022, voici les quelques points restants:

  • Commande "Température cible set"
[IP]/thermostat/0?target_t.value=[VALEUR]

à changer par

[IP]/thermostat/0?target_t=[VALEUR]
  • Commandes « Température Ambiante Externe activation » et "Température Ambiante Externe désactivation"

Je n’ai rien qui s’affiche dans le debug, voici la commande:

[IP]/settings/thermostat/0?ext_t_enabled=[BOOL]

Le reste des commandes et informations sont ok :+1:

Bonjour

J’ai fait l’acquisition de plusieurs TRV, savez vous me dire quand ils seront utilisable dans le plugin ?
Ou comment participer a la beta ?

Cordialement

J’ai corrigé les 3 commandes

@lunarok
Je suis en bêta du 29/01/2022, c’est bon pour la commande "Température cible set"

Par contre la commande « Définir température ambiante externe » comporte désormais un « settings » en trop dans cette dernière mise à jour, voici la commande qui fonctionne:

[IP]/ext_t?temp=[VALEUR]

Concernant les commandes « Température Ambiante Externe activation » et « Température Ambiante Externe désactivation » je n’ai toujours rien qui s’affiche dans le debug, voici la commande:

[IP]/settings/thermostat/0?ext_t_enabled=[BOOL]

Trop fatigué pas bien de modifié
Donc j’ai corriger définir temp ambiante, et aussi la desactivation.
Mais par contre pas logique que l’activation te donnait rien, la seule raison serait que l’url est pas bonne

@lunarok
En bêta du 30/01/2022.

  • La commande « Définir température ambiante externe » est ok.

  • Pour les commandes « Température Ambiante Externe activation » et « Température Ambiante Externe désactivation » j’ai ouvert le fichier JSON TRV via jeexplorer, les URLs sont bonnes par contre il faut corriger le « subtype » pour qu’elles fonctionnent:

"subtype": "autre",

par

"subtype": "other",

@ctofone Voici la méthode pour activer les plugins bêta.

Cela dit il ne reste plus que 2 commandes à corriger, j’imagine que la version stable devrait être mise à jour bientôt.

Merci, j’en ai acheté 4, je vais tester ça ce soir…

J’ai 6 eurotronic z-wave qui ont lâché en 2/3 mois… j’ai tenté des MOES zigbee, ouais bof, donc, je mets beaucoup d’espoir dans les Shelly :grin:

Sans titre

bien vu, j’ai corrigé et je vais me cacher parceque celle là elle était bien moche d’erreur

^^

Je suis en bêta du 01/02/2022 et tout est fonctionnel ! :wink:

Un nouveau firmware sortira ce weekend (dispo en RC5: 20220131-141428/v2.1.3-rc5@23b03956) et intégrera plusieurs nouvelles fonctions dont une pas mal: « boost » qui ouvre la vanne à 100% temporairement, après ça je pense que l’utilisation de la TRV sera vraiment complète…

[IP]/thermostat/0?boost_minutes=[VALEUR en minutes 0..1440]