[Plugin Tiers] Netatmo-Energie

Pas de soucis … tiens nous au jus

C’est en ligne.
En attendant vos retours…

Tout fonctionne nickel!!
Bravo et merci

@limad44 c’est juste parfait :smiley:
Un tout grand merci :smiley:

Hello @limad44
Je pense que j’ai vu un pti bug dans l’affichage du mode manuel … la durée est pas la bonne … je m’explique … :slight_smile:
Consigne mis en manuelle sur une vanne : 8 degré pendant 180 minute

on remarque que la consigne manuelle sur la vanne est jusqu’a 8h30 alors qu’elle devrait être jusqu’a 11h03 … en fait ce 8h30 correspond au planning général en place …
image

Tout le monde m’a suivit ??? :rofl:
A ta disposition pour en discuter
Chris94440

Je ne reproduit pas ! Le changement est bien actif chez moi. Tu as essayé un refesh ?

Je force le refresh sur mes equipements naenegier qd j arrive sur mon design « chauffage » …je ne suis pas chez moi ce soir … je peux donc pas tester … @limad44 je te confirme demain
Chris94440

@limad44 … autant pour moi tu as raison y a pas de soucis … le soucis c’était moi … je force le refresh de tout mes équipements netatmo lq je rentre dans mon design dédié au chaffage … le premier refresh concernait le module principal puis refresh de toutes les vannes … en faisant le refresh du module principal a la fin tout est ok .
Merci
@+
chris94440

Pourquoi des refrshs ça me semble inutile.
Le refesh sur l’équipement ‹ Home › suffit d’ailleurs à rafraîchir l’ensemble !

Ben c’est ce que pensais mais cela ne changeait les donnees dans les tuiles …mais jai encore peut etre fait une boulette …:sweat_smile:…je vais refaire un test…:hugs:

Ok je viens de comprendre c’est lié à la modif de la css que je fais sur ton plugin pour identifier plus facilement les modules en chauffe ou en anticipation de chauffe


Du coup faut que je fasse un refresh pour que la css soit mise à jour … mais dans tous les cas je m’étais trompé de commande de rafraichissement … en effet la commande rafraichir de l’équipement home suffit.
Merci à toi @limad44
Chris94440

Bonjour @limad44
Je suis en cours de confection d’un design pour gérer les batteries de mes équipements … et je ne retrouve pas tous mes équipements netatmo … :frowning: … il me manque toutes les vannes netatmo liées à la pièce de mon thermostat
Voila ce que je vois


… il devrait y avoir 3 vannes de plus avec les noms :
Vanne cuisine
Valon salon cote jardin et cote rue
Dans la santé du plugin on retrouve bien tout
mais les équipements sont manquants …
Ils sont bien présent dans le json d’appel de l’api (cf log jointe)
naEnergie.txt (25,3 Ko)

Du coup j’aurais besoin d’avoir accès a une commande de type info / batterie pour ces 3 vannes manquantes

Je sais pas trop si je suis hyper clair … :sweat_smile: … isn’t it ?
Chris94440

Si j’ai bien compris dans santé tout est OK ?
Le statut des batteries est géré par le core jeedom.
Jedom ne permet qu’un statut par équipements .
Dans le plugin naEnergie, un équipement c’est une pièce ‹ room › dans quand il ya plusieurs équipements j’affecte la valeur la moins favorable.
Je n’ai pas d’autres solutions c’est pour ça que la commande json existe, à voir comment ça peut être exploité pour en faire un design…probablement des widgts perso
Si tu arrives à quelle que chose n’hesite pas à partager ton expérience.

@limad44
pas certains de comprendre ta réponse … :upside_down_face:
dans la page santé la piece (room salle a manger) contient bien tous les équipemements avec le niveau de batteries … c’est bien toi qui fait le matching dans ton plugin ??


Par contre l’équipement salon salle a manger contient en effet qu’une seule commande batterie qui est celle la plus basse … ne pourrais tu pas crée à la volée un commande info batterie par équipement en indexant le logicalID et le nom par le nom de l’équipement ?
image
ce qui donnerait pour cette piece salle a manger 4 commandes infos batteries du type
batterie_nomEquipement … mais cela supposerait que la commande soit créee une fois le premier appel api pour récupérer les équipement …
Qu’est ce que la commande JSON ?
chris94440

Chaque équipement ‹ room › à une commande ‹ Infos Modules ›, c’est un json avec les infos de chaque module. C’est cette commande que tu dois exploiter pour ton design.
Tu peux t’inspirer du code de la tuile.

Ok j’avais pas vu … c’est parfait …il va juste me manque le label lié à l’id … y doit y avoir une operation de l’api qui répond a ce besoin … dans un premier temps je serais capable d’extraire tous les infos batterie de chaque équipement …trop cool merci … je partagerais bien évidemment mon résultat

bon dans un premier temps j’ai fait un truc ultra simple juste pour recupérer l’info … un pti tour sur mon compte netatmo pour recuperer les id des vannes et faire l’appariment avec ton le flux json que tu exposes


Scénarion ultra basique … codé en dur pour le moment … mais je vais réfléchir comment faire … :slight_smile:

$scenario->setLog("Debut du scénario recup info battery json");
$jsonNetatmo=executeCommande("[Salon Salle à manger][Salon salle à manger][Infos Modules]",$scenario);
$scenario->setLog("		* JSON : $jsonNetatmo");
$jsonDecode=json_decode($jsonNetatmo,true);
        foreach($jsonDecode as $event) {
          $scenario->setLog("			* id : ".$event["id"]);
          $scenario->setLog("				* type : ".$event["type"]);
          $scenario->setLog("				* battery_percent : ".$event["battery_percent"]);
          $cmd;
          $battery=$event["battery_percent"];
          if ($event["type"] == "NATherm1") {
            $cmd="[Testwidget][vBatterySalonSalleAManger][Relais netatmo (3xLR03]";
          } else if ($event["type"] == "NRV"){
          	if ($event["id"] == "09:00:00:05:3e:11") {
              	$cmd="[Testwidget][vBatterySalonSalleAManger][Vanne Netatmo côté rue (2xLR6)]";
            } else if ($event["id"] == "09:00:00:01:56:02") {
              	$cmd="[Testwidget][vBatterySalonSalleAManger][Vanne Netatmo côté jardin (2xLR6)]";
            } else if ($event["id"] == "09:00:00:12:43:40") {
              	$cmd="[Testwidget][vBatteryCuisine][Vanne netatmo (2xLR6)]";
            }
          }
          $scenario->setLog("	* on execute $cmd | value : $battery");
          cmd::byString("#".$cmd."#")->event($battery);
        }
$scenario->setLog("Fin du scénario recup info battery json");
function executeCommande($commandName,$scenario) {
  $scenario->setLog("executeCommande | $commandName");
  try {
    $cmd=cmd::byString('#'.$commandName.'#');
    $value=$cmd->execCmd();
    $scenario->setLog("		* Value : $value");
    return $value;
  } catch (Exception $e) {
    $erreur= $e->getMessage();
    $scenario->setLog("		* Erreur execution commande : " . $e->getMessage());
  }
}

Avec un pti visuel rapide on obtient un truc du genre …


et la partie batterie du design

Merci pour ton aide @limad44

:raised_hands: :raised_hands: :raised_hands:

tu es en V. stable ?

oui pourquoi ?