Personnalisation interface plugin officiel netatmo thermostat

Bonjour,

Nouvellement acquéreur d’un thermostat Netatmo pour chez moi, j’ai par la même occasion pris le plugin officiel Jeedom qui va avec. Je suis sous Jeedom V4 stable sur DIY en base NUC + Proxmox + VM Jeedom.

J’aurais voulu savoir s’il était possible (et si oui, comment), de changer l’affichage et le principe de changement de consigne en passant ainsi de ceci :

Capture d’écran 2021-06-23 à 14.44.42

à quelque chose de ce style :

Capture d’écran 2021-06-23 à 14.46.22

J’ai essayé de voir si je pouvais appliquer le widget cmd.action.slider.thermostat de la V4 sans succès ce dernier étant destiné à un slider mais la consigne dans le plugin netatmo semblant être sous forme numérique.

Merci d’avance pour votre aide.

Bonjour,

Avec le plugin Thermostat officiel, il faut mettre « défaut » sur le Widget [Consigne] de la commande Consigne.
Regardez ci cela n’est pas pareil pour ce plugin.

Merci pour ce retour mais le widget est déjà sur défaut et donne l’affichage avec l’anneau.

Bonjour,
Voici une adaptation (pour type Message) du widget ConsigneThermostat de Salvialf :

<div class="cmd cmd-widget" data-type="action" data-subtype="message" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">
<!-- ########## Consigne Thermostat ##########
 ********* Paramètres Optionnels *********
 step = valeur du pas de chgt de valeur (0.5 par défaut)
 ########## by @SALVIALF ;) ############# -->
  
  <div class="title #hide_name#">
    <div class="cmdName">#name_display#</div>
  </div>
  <span id="thermo_icon"></span>
  <p id="displayConsigne" class="text-right">
    <span id="valeur#id#"></span>°C
   </p>
   <div id="boutons">
    <a class="btn-sm bt_plus"><i class="fas fa-2x fa-plus-square"></i></a>
     <br />
    <a class="btn-sm bt_minus"><i class="fas fa-2x fa-minus-square"></i></a>
   </div>
<style>
/*
  @font-face {
    font-family: "liquid";
  	src:	url("plugins/pimpJeedom/core/template/dashboard/cmd.action.slider.ConsigneThermostat/LiquidNormal.ttf") format("truetype");
}
  */
 #thermo_icon { font-size:4em;}
 #displayConsigne { display:inline-block; width:85px; font-family:"liquid";}
 #valeur#id# { font-size:3.5em; }
 #boutons { display:inline-block; }
</style>  
  <script>
	var sbjs_Timer#id#;
    /***** + *****/
	$('.cmd[data-cmd_id=#id#] .bt_plus').on('click', function () {
      var cmd = $('.cmd[data-cmd_uid=#uid#]')
      	var step = (isNaN(parseFloat('#step#'))) ?  0.5 : parseFloat('#step#');
      	cmd.find('#valeur#id#').text(parseFloat(parseFloat($('#valeur#id#').text()) + step ).toFixed(1) );
                   
		clearTimeout(sbjs_Timer#id#);
		sbjs_Timer#id# = setTimeout(sbjs_Save#id#, 1500);              
	});      
                         
	/***** - *****/
    $('.cmd[data-cmd_id=#id#] .bt_minus').on('click', function () {
      var cmd = $('.cmd[data-cmd_uid=#uid#]')
      	var step = (isNaN(parseFloat('#step#'))) ?  0.5 : parseFloat('#step#');
		cmd.find('#valeur#id#').text(parseFloat(parseFloat($('#valeur#id#').text()) - step ).toFixed(1) );
      
		clearTimeout(sbjs_Timer#id#);
		sbjs_Timer#id# = setTimeout(sbjs_Save#id#, 1500);
	});

    /***** Envoi de la nouvelle consigne *****/
	function sbjs_Save#id#() {
    	jeedom.cmd.execute({ id: '#id#', value: { message: parseFloat( $('#valeur#id#').text() )}});
	}
    
    /***** MAJ Automatique *****/
    jeedom.cmd.update['#id#'] = function(_options){
      
      var cmd = $('.cmd[data-cmd_uid=#uid#]')
      cmd.find('#valeur#id#').text(parseFloat(_options.display_value).toFixed(1));
      
      if (_options.display_value < 10) {
          cmd.find('#thermo_icon').html('<i class="icon_blue jeedom-thermo-froid"></i>');}
      	else if (_options.display_value <= 16) {
          cmd.find('#thermo_icon').html('<i class="icon_green jeedom-thermo-moyen"></i>');}
      	else if (_options.display_value <= 22) {
          cmd.find('#thermo_icon').html('<i class="icon_yellow jeedom-thermo-chaud"></i>');}
        else {
          cmd.find('#thermo_icon').html('<i class="icon_orange jeedom-thermo-chaud"></i>');}
    }
    jeedom.cmd.update['#id#']({display_value:'#state#'});
  </script>
</div>

image

1 « J'aime »

Merci pour ton retour @Phpvarious.

Par contre, il ne fonctionne pas sur le plugin en question.
Je ne comprends pas la construction de ce plugin. Dans les commandes, il y a 2 consignes différents (1 normale et un pour app mobile) et une variable « réglage consigne ».
Si j’applique le widget sur cette dernière, ça ne change rien(type action / message) et pour la valeur de consigne, c’est une info numérique donc pas possible d’y affecter le widget.

Si a l’occasion tu peut poster les commandes, et regarde aussi les log du plugin lorsque par exemple tu agis sur le slider, sa peut permettre de voir quelles infos sont mises a jours.

Si j’ai bien compris ta demande, voici quelques éléments :
liste des commandes :

Consigne info numérique :

Réglage consigne :

les logs (j’ai masqué mes id et supprimé mon adresse) :

[2021-06-25 15:58:39][DEBUG] : Setting temperature to : 14.5 for 60 minutes
[2021-06-25 15:58:42][DEBUG] : {"devices":[{"_id":"device id masqué","type":"NAPlug","last_setup":1624375971,"firmware":222,"last_status_store":1624629520,"plug_connected_boiler":false,"wifi_status":54,"modules":[{"_id":"module id masqué","type":"NATherm1","firmware":75,"last_message":1624629513,"rf_status":55,"battery_vp":4714,"therm_orientation":1,"therm_relay_cmd":0,"anticipating":false,"module_name":"Thermostat","battery_percent":100,"last_therm_seen":1624629513,"setpoint":{"setpoint_mode":"program"},"therm_program_list":[{"timetable":[{"m_offset":0,"id":1},{"m_offset":360,"id":0},{"m_offset":1320,"id":1},{"m_offset":1800,"id":0},{"m_offset":2760,"id":1},{"m_offset":3240,"id":0},{"m_offset":4200,"id":1},{"m_offset":4680,"id":0},{"m_offset":5640,"id":1},{"m_offset":6120,"id":0},{"m_offset":7080,"id":1},{"m_offset":7560,"id":0},{"m_offset":8520,"id":1},{"m_offset":9000,"id":0},{"m_offset":9960,"id":1}],"zones":[{"name":"Comfort","id":0,"type":0,"temp":20.5},{"name":"Night","id":1,"type":1,"temp":18.5},{"name":"Comfort+","id":3,"type":8,"temp":20.5},{"name":"Eco","id":4,"type":5,"temp":16},{"type":2,"id":2,"temp":12},{"type":3,"id":5,"temp":7}],"name":"Mon planning","default":false,"program_id":"60d202a30acd3079f64a1f89"},{"timetable":[{"m_offset":0,"id":1},{"m_offset":420,"id":0},{"m_offset":1320,"id":1},{"m_offset":1860,"id":0},{"m_offset":2760,"id":1},{"m_offset":3300,"id":0},{"m_offset":4200,"id":1},{"m_offset":4740,"id":0},{"m_offset":5640,"id":1},{"m_offset":6180,"id":0},{"m_offset":7080,"id":1},{"m_offset":7620,"id":0},{"m_offset":8520,"id":1},{"m_offset":9060,"id":0},{"m_offset":9960,"id":1}],"zones":[{"name":"\u00c9co","id":4,"type":5,"temp":16},{"name":"Confort +","id":3,"type":8,"temp":20},{"name":"Nuit","id":1,"type":1,"temp":17},{"name":"Confort","id":0,"type":0,"temp":19},{"type":2,"id":2,"temp":18.5},{"type":3,"id":5,"temp":7}],"name":"\u00e9t\u00e9","default":false,"program_id":"60d2070cfa51cb5c0a11f2f6","selected":true}],"measured":{"time":1624628459,"temperature":20.2,"setpoint_temp":19}}]}}}
[2021-06-25 15:58:42][DEBUG] : getLastMesure thermmeasure: {"device id masqué|module id masqué":[20.2,19]}
[2021-06-25 15:58:42][DEBUG] : set: Anticipation en cours to 
[2021-06-25 15:58:42][DEBUG] : set: Batterie to 100
[2021-06-25 15:58:42][DEBUG] : set: Calendrier to été
[2021-06-25 15:58:42][DEBUG] : set: Consigne to 14.5
[2021-06-25 15:58:42][DEBUG] : set: Etat Chauffage to 0
[2021-06-25 15:58:42][DEBUG] : set: Fin Mode en Cours to 22:00
[2021-06-25 15:58:42][DEBUG] : set: Liste Calendrier to Mon planning;60d202a30acd3079f64a1f89|été;60d2070cfa51cb5c0a11f2f6
[2021-06-25 15:58:42][DEBUG] : set: Mode to Programme
[2021-06-25 15:58:42][DEBUG] : set: ModeTech to program
[2021-06-25 15:58:42][DEBUG] : set: Planning to Confort
[2021-06-25 15:58:42][DEBUG] : set: Planning suivant to Nuit
[2021-06-25 15:58:42][DEBUG] : set: Signal RF to 55
[2021-06-25 15:58:42][DEBUG] : set: Signal Wifi to 54
[2021-06-25 15:58:42][DEBUG] : set: Statut pour mobile to Confort -> Nuit 22:00
[2021-06-25 15:58:42][DEBUG] : set: Température to 20.2
[2021-06-25 15:58:48][DEBUG] : Setting temperature to : 19 for 60 minutes
[2021-06-25 15:58:51][DEBUG] : {"devices":[{"_id":"device id masqué","type":"NAPlug","last_setup":1624375971,"firmware":222,"last_status_store":1624629529,"plug_connected_boiler":false,"wifi_status":54,"modules":[{"_id":"module id masqué","type":"NATherm1","firmware":75,"last_message":1624629524,"rf_status":55,"battery_vp":4716,"therm_orientation":1,"therm_relay_cmd":0,"anticipating":false,"module_name":"Thermostat","battery_percent":100,"last_therm_seen":1624629524,"setpoint":{"setpoint_mode":"program"},"therm_program_list":[{"timetable":[{"m_offset":0,"id":1},{"m_offset":360,"id":0},{"m_offset":1320,"id":1},{"m_offset":1800,"id":0},{"m_offset":2760,"id":1},{"m_offset":3240,"id":0},{"m_offset":4200,"id":1},{"m_offset":4680,"id":0},{"m_offset":5640,"id":1},{"m_offset":6120,"id":0},{"m_offset":7080,"id":1},{"m_offset":7560,"id":0},{"m_offset":8520,"id":1},{"m_offset":9000,"id":0},{"m_offset":9960,"id":1}],"zones":[{"name":"Comfort","id":0,"type":0,"temp":20.5},{"name":"Night","id":1,"type":1,"temp":18.5},{"name":"Comfort+","id":3,"type":8,"temp":20.5},{"name":"Eco","id":4,"type":5,"temp":16},{"type":2,"id":2,"temp":12},{"type":3,"id":5,"temp":7}],"name":"Mon planning","default":false,"program_id":"60d202a30acd3079f64a1f89"},{"timetable":[{"m_offset":0,"id":1},{"m_offset":420,"id":0},{"m_offset":1320,"id":1},{"m_offset":1860,"id":0},{"m_offset":2760,"id":1},{"m_offset":3300,"id":0},{"m_offset":4200,"id":1},{"m_offset":4740,"id":0},{"m_offset":5640,"id":1},{"m_offset":6180,"id":0},{"m_offset":7080,"id":1},{"m_offset":7620,"id":0},{"m_offset":8520,"id":1},{"m_offset":9060,"id":0},{"m_offset":9960,"id":1}],"zones":[{"name":"\u00c9co","id":4,"type":5,"temp":16},{"name":"Confort +","id":3,"type":8,"temp":20},{"name":"Nuit","id":1,"type":1,"temp":17},{"name":"Confort","id":0,"type":0,"temp":19},{"type":2,"id":2,"temp":18.5},{"type":3,"id":5,"temp":7}],"name":"\u00e9t\u00e9","default":false,"program_id":"60d2070cfa51cb5c0a11f2f6","selected":true}],"measured":{"time":1624628459,"temperature":20.2,"setpoint_temp":19}}]}}}
[2021-06-25 15:58:51][DEBUG] : getLastMesure thermmeasure: {"device id masqué|module id masqué":[20.2,19]}
[2021-06-25 15:58:51][DEBUG] : set: Anticipation en cours to 
[2021-06-25 15:58:51][DEBUG] : set: Batterie to 100
[2021-06-25 15:58:51][DEBUG] : set: Calendrier to été
[2021-06-25 15:58:51][DEBUG] : set: Consigne to 19
[2021-06-25 15:58:51][DEBUG] : set: Etat Chauffage to 0
[2021-06-25 15:58:51][DEBUG] : set: Fin Mode en Cours to 22:00
[2021-06-25 15:58:51][DEBUG] : set: Liste Calendrier to Mon planning;60d202a30acd3079f64a1f89|été;60d2070cfa51cb5c0a11f2f6
[2021-06-25 15:58:51][DEBUG] : set: Mode to Programme
[2021-06-25 15:58:51][DEBUG] : set: ModeTech to program
[2021-06-25 15:58:51][DEBUG] : set: Planning to Confort
[2021-06-25 15:58:51][DEBUG] : set: Planning suivant to Nuit
[2021-06-25 15:58:51][DEBUG] : set: Signal RF to 55
[2021-06-25 15:58:51][DEBUG] : set: Signal Wifi to 54
[2021-06-25 15:58:51][DEBUG] : set: Statut pour mobile to Confort -> Nuit 22:00
[2021-06-25 15:58:51][DEBUG] : set: Température to 20.2

Merci pour ton aide

Salut, faudrait surtout voir le Log « Info » lorsque tu envois une consigne par la commande « Réglage Consigne ».

Il n’y a rien d’inscrit dans les logs si je me mets sur « info » et que je change la consigne :frowning:

Bonjour
Tu devrais utiliser la commande « consinge pour mobile » qui est de type slider.
La commande ‹ consigne › est de type message donc ça ne fonctionnera pas.
Il faut aussi préciser que tu es sur le plugin Netatmo-Energie et pas netatmo-thermostat.

Merci,
Par contre, je suis bien sur le plugin netatmo-thermostat (plugin officiel Jeedom) et non sur celui que tu as développé (Netatmo-Energie).

Je ne vois par contre pas comment faire pour afficher la consigne mobile sur un dashboard sur ordinateur…

Ah désolé j’ai cru reconnaître des logs mais à bien regarder…

Tu as essayé de faire un widget complet en reprenant toutes les commandes ?