[Résolu] Changer la valeur d'état d'un widget officiel
[Résolu] Changer la valeur d'état d'un widget officiel
Hello,
Je viens de domotiser ma porte de garage à l'aide d'un Fibaro Smart Implant FGBS-222 associé à un détecteur magnétique de porte (fil du détecteur sur l'une des entrées du fgbs-222).
J'ai d'abord voulu utiliser un widget non officiel mais je rencontre un souci de refresh sur le Dashboard (widget certainement pas à jour d'après ce que j'ai pu lire dans les topics). Il fallait que je refresh a part pouvoir voir la porte de garage du widget ouverte.
J'ai donc associé le widget officiel garagebarrieroperator.
Si la porte est fermée, l'icône montre bien la porte fermée. Jusque-là tout va bien .
Si par contre, j'ouvre la porte, il m'indique une position inconnue (mais plus de problèmes de refresh).
Si j'ai bien compris, le widget attend une valeur de 255 pour indiquer que la porte est ouverte.
Or, la valeur de mon contacteur est en binaire. Du coup, c'est ouvert à 1 et non à 255.
D'après ce que j'ai pu trouver sur le forum, il suffisait d'aller dans les paramètres de la commande et via un onglet code, on pouvait activer la personnalisation et changer la valeur 255 en 1.
Or... Pas de menu code ou bouton pour personnaliser cela...
Si quelqu'un peut m'indiquer la marche à suivre, je suis preneur
Merci d'avance.
Je viens de domotiser ma porte de garage à l'aide d'un Fibaro Smart Implant FGBS-222 associé à un détecteur magnétique de porte (fil du détecteur sur l'une des entrées du fgbs-222).
J'ai d'abord voulu utiliser un widget non officiel mais je rencontre un souci de refresh sur le Dashboard (widget certainement pas à jour d'après ce que j'ai pu lire dans les topics). Il fallait que je refresh a part pouvoir voir la porte de garage du widget ouverte.
J'ai donc associé le widget officiel garagebarrieroperator.
Si la porte est fermée, l'icône montre bien la porte fermée. Jusque-là tout va bien .
Si par contre, j'ouvre la porte, il m'indique une position inconnue (mais plus de problèmes de refresh).
Si j'ai bien compris, le widget attend une valeur de 255 pour indiquer que la porte est ouverte.
Or, la valeur de mon contacteur est en binaire. Du coup, c'est ouvert à 1 et non à 255.
D'après ce que j'ai pu trouver sur le forum, il suffisait d'aller dans les paramètres de la commande et via un onglet code, on pouvait activer la personnalisation et changer la valeur 255 en 1.
Or... Pas de menu code ou bouton pour personnaliser cela...
Si quelqu'un peut m'indiquer la marche à suivre, je suis preneur
Merci d'avance.
Dernière édition par Kyoshi le 23 août 2019, 09:06, édité 1 fois.
Re: Changer la valeur d'état d'un widget officiel
Hello
Dans les paramètres, puis configuration et dans formule de calcul tu mets :
#value# * 255
Dans les paramètres, puis configuration et dans formule de calcul tu mets :
#value# * 255
Gestion d'ouverture / fermeture Portail et garage
Gestion filtration piscine
Divers éclairages
Et tout plein d'autres choses ...
JEEDOM NUC 3.3.33 ULTIMATE
Mon matériel ici
Gestion filtration piscine
Divers éclairages
Et tout plein d'autres choses ...
JEEDOM NUC 3.3.33 ULTIMATE
Mon matériel ici
Re: Changer la valeur d'état d'un widget officiel
Hello,
Merci de ton retour. Très bonne idée.
Néanmoins cela ne fonctionne pas.
Mon détecteur est de type normalement fermée.
Dans les paramètres de mon état, je dois inverser la valeur pour avoir une porte fermée quand elle est fermée.
J'ai raconté une bêtise (désolé) dans mon premier post. Lorsque la valeur est à 1, la porte est fermée (j'ai un scénario qui m'envoie bien porte fermée lorsque cela répond à la condition : #[Garage][Porte][Etat porte]#==1). Et le contraire quand la valeur est à 0.
Dans les commandes, je n'ai rien indiqué dans la valeur de retour d'état.
Dans les paramètres, si j'indique une formule de calcul "#value# * 255", cela ne change rien.
Il faut que je joue avec #state# (ça a l'air d'être cette variable qui est utilisé), c'est "inconnu" dans tous les cas.
Sauf si j'arrête l'inversion de la valeur. Là, il m'indique que c'est fermé tout le temps.
Re: Changer la valeur d'état d'un widget officiel
Salut,
Si ta commande est bien une info binaire tu peux utiliser le widget IconInfo en ajoutant 2 images de ton choix pour la porte de garage ouverte et fermée. Si c'est une info numérique tu as le widget MultiOuvrants.
Si ta commande est bien une info binaire tu peux utiliser le widget IconInfo en ajoutant 2 images de ton choix pour la porte de garage ouverte et fermée. Si c'est une info numérique tu as le widget MultiOuvrants.
VM Jeedom 3.2.16 sous Proxmox 5.4 sur NUC5i5RYH (Debian 9.9)
Helper Officiel Jeedom
Widgets développés
Téléchargement d'icônes domotique (Topic Forum)
Helper Officiel Jeedom
Widgets développés
Téléchargement d'icônes domotique (Topic Forum)
Re: Changer la valeur d'état d'un widget officiel
Essaye :
abs(#value#-1) *255
Et tu enlèves « inverser »
abs(#value#-1) *255
Et tu enlèves « inverser »
Gestion d'ouverture / fermeture Portail et garage
Gestion filtration piscine
Divers éclairages
Et tout plein d'autres choses ...
JEEDOM NUC 3.3.33 ULTIMATE
Mon matériel ici
Gestion filtration piscine
Divers éclairages
Et tout plein d'autres choses ...
JEEDOM NUC 3.3.33 ULTIMATE
Mon matériel ici
Re: Changer la valeur d'état d'un widget officiel
Hello,
Merci de votre retour à tous les deux.
Même si je ne l'utilise pas pour la porte de garage, il me sera certainement utile ailleurs.
La valeur de ouvert reste à 1 et non à 250. On doit ne pas pouvoir jouer avec autre chose que 0 et 1 vu que c'est du binaire au départ.
Cela produit donc, sur le Dashboard, le même effet que si je coche "Inverser".
En attendant de tester le widget proposé par @Claude69, j'ai modifié le code du widget... Enfin... Les 4 fichiers cmd.action.other.garageBarrierOperator.html en ajoutant un elseif :
Dommage d'en arriver là, mais bon.
Merci de votre retour à tous les deux.
Merci, je vais regarder cela de plus près et faire des essais.
Même si je ne l'utilise pas pour la porte de garage, il me sera certainement utile ailleurs.
Merci, très bonne idée mais cela ne fonctionne pas non plus.
La valeur de ouvert reste à 1 et non à 250. On doit ne pas pouvoir jouer avec autre chose que 0 et 1 vu que c'est du binaire au départ.
Cela produit donc, sur le Dashboard, le même effet que si je coche "Inverser".
En attendant de tester le widget proposé par @Claude69, j'ai modifié le code du widget... Enfin... Les 4 fichiers cmd.action.other.garageBarrierOperator.html en ajoutant un elseif :
Code : Tout sélectionner
//Gestion ouverture binaire
}else if(_options.display_value == '1'){
// Opened
if (jeedom.cmd.normalizeName('#name#') == 'on') {
$('.cmd[data-cmd_id=#id#]').hide();
}else{
$('.cmd[data-cmd_id=#id#]').show();
$('.iconCmd#uid#').append('<i class="icon jeedom-garage-ouvert fa-2x"></i>');
$(".cmd[data-cmd_id=#id#] .cmdState").empty().append('Ouvert');
}
//Fin gestion ouverture binaire
Re: Changer la valeur d'état d'un widget officiel
Bonjour @loic ,
Est-ce possible d'intégrer une mise à jour pour gérer les contacteur binaire?
Est-ce possible d'intégrer une mise à jour pour gérer les contacteur binaire?
Re: Changer la valeur d'état d'un widget officiel
Est ce que tu as bien mis en numérique ? J’utilise la formule que je t’ai donné pour mes volets et elle fonctionne
Gestion d'ouverture / fermeture Portail et garage
Gestion filtration piscine
Divers éclairages
Et tout plein d'autres choses ...
JEEDOM NUC 3.3.33 ULTIMATE
Mon matériel ici
Gestion filtration piscine
Divers éclairages
Et tout plein d'autres choses ...
JEEDOM NUC 3.3.33 ULTIMATE
Mon matériel ici
Re: Changer la valeur d'état d'un widget officiel
C'est une commande action et pas une info que tu utilises du coup ? Tu peux donc utiliser le widget IconAction au lieu de IconInfo ...même principe tu ajoutes les icônes de ton choix.
Le code du widget garageBarrierOperator inclus dans jeedom est ici: https://github.com/jeedom/core/blob/mas ... rator.html
Sinon tu peux t'en faire un widget perso et juste remplacer 255 par 1.
Le code du widget garageBarrierOperator inclus dans jeedom est ici: https://github.com/jeedom/core/blob/mas ... rator.html
Code : Tout sélectionner
<div style="width:90px;min-height:70px;" class="cmd #history# tooltips cmd-widget" data-type="action" data-subtype="other" data-cmd_id="#id#" data-cmd_uid="#uid#">
<center>
<!--<span class='cmdName' style="font-weight: bold;font-size : 12px;">#name_display#</span>-->
<span class="cursor iconCmd#uid#" style="font-size: 2em;"></span>
<span style="font-weight: bold;font-size : 12px;" class='cmdState' >#state#</span>
</center>
<script>
jeedom.cmd.update['#id#'] = function(_options){
$('.iconCmd#uid#').empty();
console.log(_options.display_value);
if(_options.display_value == '0'){
// Closed
if (jeedom.cmd.normalizeName('#name#') == 'off') {
$('.cmd[data-cmd_id=#id#]').hide();
}else{
$('.cmd[data-cmd_id=#id#]').show();
$('.iconCmd#uid#').append('<i class="icon jeedom-garage-ferme fa-2x" ></i>');
$(".cmd[data-cmd_id=#id#] .cmdState").empty().append('Fermé');
}
}else if(_options.display_value == '252'){
// Closing
if (jeedom.cmd.normalizeName('#name#') == 'off') {
$('.cmd[data-cmd_id=#id#]').hide();
}else{
$('.cmd[data-cmd_id=#id#]').show();
$('.iconCmd#uid#').append('<span class="fa-stack"><i class="icon jeedom-garage-ouvert fa-stack-2x"></i><i class="fa fa-caret-down fa-stack-1x text-success"></i></span>');
$(".cmd[data-cmd_id=#id#] .cmdState").empty().append('Fermeture');
}
}else if(_options.display_value == '253'){
// Stopped
if (jeedom.cmd.normalizeName('#name#') == 'off') {
$('.cmd[data-cmd_id=#id#]').hide();
}else{
$('.cmd[data-cmd_id=#id#]').show();
$('.iconCmd#uid#').append('<span class="fa-stack"><i class="icon jeedom-garage-ouvert fa-stack-2x"></i><i class="fa fa-stop fa-stack-1x "></i></span>');
$(".cmd[data-cmd_id=#id#] .cmdState").empty().append('Arrêté');
}
}else if(_options.display_value == '254'){
// Opening
if (jeedom.cmd.normalizeName('#name#') == 'on') {
$('.cmd[data-cmd_id=#id#]').hide();
}else{
$('.cmd[data-cmd_id=#id#]').show();
$('.iconCmd#uid#').append('<span class="fa-stack"><i class="icon jeedom-garage-ferme fa-stack-2x"></i><i class="fa fa-caret-up fa-stack-1x text-success"></i></span>');
$(".cmd[data-cmd_id=#id#] .cmdState").empty().append('Ouverture');
}
}else if(_options.display_value == '255'){
// Opened
if (jeedom.cmd.normalizeName('#name#') == 'on') {
$('.cmd[data-cmd_id=#id#]').hide();
}else{
$('.cmd[data-cmd_id=#id#]').show();
$('.iconCmd#uid#').append('<i class="icon jeedom-garage-ouvert fa-2x"></i>');
$(".cmd[data-cmd_id=#id#] .cmdState").empty().append('Ouvert');
}
}else{
// Unknown
if (jeedom.cmd.normalizeName('#name#') == 'off') {
$('.cmd[data-cmd_id=#id#]').hide();
}else{
$('.cmd[data-cmd_id=#id#]').show();
$('.iconCmd#uid#').append('<i class="fa fa-question-circle fa-2x"></i>');
$(".cmd[data-cmd_id=#id#] .cmdState").empty().append('Inconnu');
}
}
}
jeedom.cmd.update['#id#']({display_value:'#state#'});
$('.iconCmd#uid#').on('click', function() {
jeedom.cmd.execute({id: '#id#'});
});
</script>
</div>
VM Jeedom 3.2.16 sous Proxmox 5.4 sur NUC5i5RYH (Debian 9.9)
Helper Officiel Jeedom
Widgets développés
Téléchargement d'icônes domotique (Topic Forum)
Helper Officiel Jeedom
Widgets développés
Téléchargement d'icônes domotique (Topic Forum)
Re: Changer la valeur d'état d'un widget officiel
Arf... Quel couillon des fois!
Effectivement, je n'avais bêtement pas basculer en numéro.
Cela fonctionne bien mieux comme cela
Merci beaucoup pour ton aide.
Hello,Salvialf a écrit : ↑22 août 2019, 19:28C'est une commande action et pas une info que tu utilises du coup ? Tu peux donc utiliser le widget IconAction au lieu de IconInfo ...même principe tu ajoutes les icônes de ton choix.
Le code du widget garageBarrierOperator inclus dans jeedom est ici: https://github.com/jeedom/core/blob/mas ... rator.html
Sinon tu peux t'en faire un widget perso et juste remplacer 255 par 1.
C'est une info, qui était lié à une commande.
J'avais bien modifié le code sans soucis.
Mais je n'ai pas remplacé le 255, j'ai ajouté une condition (si 1 = fermé).
Parce que si je dois un jour utiliser ce même widget avec un contacteur qui me donne 255 en mode ouvert...
Mais la solution de @Claude69 est pleinement fonctionnelle (une fois que l'on configure correctement la valeur ).
Merci à tous les deux pour votre aide.
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 14 invités