Création de widgets

Le plugin thermostat ne convient pas car l’api ne récupère pas les infos directement de la chaudière, mais via le web par l’intermédiaire d’un boitier wifi connecté à la chaudière et envoyé sur un cloud dédié chez Viessmann (Voir application ViCare).

De mon côté j’ai un peu avancé sur la gestion de la consigne de jour, ma démarche rejoint vote idée.
Ça fonctionne (ne riez pas c’est basique, je débute) :innocent:

1.1) Création d’un script (plugin Script) nommé ScriptConsigneChauffageJour.
Catégorie : Chauffage et bien sûr activé.

1.2) Création d’une commande script (plugin Script) nommé CmdScriptConsigneChauffageJour.
Type script : Script.
Type : Action et Curseur
Requête : /var/www/html/plugins/script/core/ressources/viessmann/example/SetNormalProgramTemperature.php #slider#.
#slider# a été ajouté à la fin du chemin, à vérifier si nécessaire.

Ce script pointe comme expliquer dans mon poste précédent, sur un script PHP.

2.1) Création d’une information virtuelle (plugin virtuel) nommée InfoConsigneChauffageJour.
Sous-Type : info et Numérique.
Cette info sert juste à permettre la création d’une commande virtuelle. Je l’ai donc cachée.

2.2) Création d’une commande virtuelle (plugin virtuel) nommé CmdConsigneChauffageJour.
Sous-Type action et curseur
Valeur : InfoConsigneChauffageJour (mon info virtuelle).
Nom Information : #[Aucun][ScriptConsigneChauffage][CmdScriptConsigne]# (ma commande de script).
Option : Min : 7, Max : 35 (valeurs du slider).

Voilà ce n’est pas très jolie et pas pratique, mais ça fonctionne.

Je m’arrache les cheveux à essayer d’adapter le script ci-dessous pour remplacer mon slider par des boutons, si vous pouviez m’aider ?

<div class="tooltips cmd cmd-widget" data-type="action" data-subtype="slider" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">

<div style="width:60px; height:50px; " class="cmd reportModeHidden cmd-widget" data-type="action" data-subtype="other" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
<a class="btn btn-sm action cmdName tooltips" title="#name#" style="border-color:rgba(0,0,0,0)!important"></a>
<!-- Ne Pas Supprimer -->
<script class="createWidgetInfo" type="text/javascript">//<![CDATA[{"type":"1","version":"1","image1":"moins.png","image2":"plus.png"}]]></script>
<!-- Ne Pas Supprimer -->
<script>
var srcImgPlus = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/plus.png';
var srcImgMoins = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/moins.png';
var taille = 'widht=40px height=40px';

if(jeedom.cmd.normalizeName('#name#') == 'plus'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgPlus+'" '+taille+'>');
}
if(jeedom.cmd.normalizeName('#name#') == 'moins'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgMoins+'" '+taille+'>');
}
$('.cmd[data-cmd_uid=#uid#]:last .action').on('click', function () {
jeedom.cmd.execute({id: '#id#'});
});
</script>
</div>

Ce script doit venir modifier la variable $argv[1] du script PHP, SetNormalProgramTemperature.php déclaré dans la commande de mon script CmdScriptConsigneChauffageJour (plugin Script).

Je remets le contenu du script PHP, SetNormalProgramTemperature.php

<?php

include __DIR__.'/bootstrap.php';

$viessmannApi->setNormalProgramTemperature($argv[1], 0);

Bonjour,

J’ai édité mon précédent poste pour un peu plus de clarté.

J’espéré m’être clairement exprimé et trouvé de l’aide.

Bien cordialement.

Tu pars sur la bonne approche si tu veux utiliser ta chaudière telle qu’elle est prévue.
L’approche que j’avait décrite est différente c’est Jeedom qui gèrerait les cycles de chauffe et non pas que la consigne.

Pour remplacer un slider par des boutons :

Merci pour votre commentaire.

Je n’ai pas compris comment appliquer le widget pour remplacer mon slider.

Ce widget doit remplacer mon info virtuelle et ma commande virtuelle ?

Le widget

Type : Action

Sous-Type : Défaut

Appliqué sur ScriptConsigneChauffageJour.

Mais après je ne vois pas ?

J’ai beau relire la documentation jeedom, il y quelque chose que je n’ai pas compris.

Pour la création de mon widget je passe par Outils => Widgets => Ajouter.

A ce moment-là je ne trouve pas les fonctionnalités que vous monté dans votre capture.

Là je parle simplement d’utiliser le standard sans créer un widget personnalisé. Si vous avez déjà une commande action de type slider fonctionnelle, il est possible de la modifier en boutons sans développement.

Enregistrement de l’écran 2020-05-02 à 15.20.07

1 « J'aime »

Vous parlez du Widget thermostat ?

Comme explique dans le poste ou je décris ma mise en œuvre je n’utilise pas de widget.

Désolé, mais je suis perdu là!

C’est un exemple sur un slider quelconque. J’ai pris celui du thermostat que j’avais pour la démo…

C’est OK.
Merci.
PS: Step modifiable dans les options de la commande (défaut 0,5 =>1)

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