Page 1 sur 2

[résolu] Monitor - Problème sélecteur (domoticz v4)

Publié : 02 juil. 2018, 21:39
par chacal1985
Bonjour,
Je suis en train de mettre en place une custom page avec Monitor pour que ma femme puisse utiliser facilement Domoticz.

Je bute sur le sélecteur, je n'arrive pas à faire apparaître le nom des différents Level ,ni icônes. ( il y a à la place un petit icone d'image barré et si je clique dessus un popup s'ouvre avec des caractères aléatoires )

J'ai mis ces paramètres :

['147','Level', 'cell7', 'Mode filtration piscine','2','','',''],

J'ai créer des icônes qui portes le nom des différents Levels :

Off.png
Manu.png
Auto HC.png
Auto HP.png

Est ce que quelqu'un pourrait m'aider sur cette énigme ?

Merci

Re: Problème sélecteur sur Monitor

Publié : 02 juil. 2018, 22:34
par spike2012
Bonsoir, même problème pour moi depuis la maj Domoticz 4.9700, plus aucun sélecteur ne fonctionne, si vil1driver passe par ici il pourra je pense nous donner la soluce

Re: Problème sélecteur sur Monitor

Publié : 03 juil. 2018, 08:56
par vil1driver
Il faudrait voir ce que renvoi la commande json rid lors de l'interrogation du sélecteur

https://easydomoticz.com/forum/viewtopi ... Rid#p13938

Re: Problème sélecteur sur Monitor

Publié : 03 juil. 2018, 10:31
par chacal1985
Voici ce sue cela donne :

Code : Tout sélectionner

{
   "ActTime" : 1530606497,
   "AstrTwilightEnd" : "23:54",
   "AstrTwilightStart" : "03:43",
   "CivTwilightEnd" : "22:07",
   "CivTwilightStart" : "05:30",
   "DayLength" : "15:25",
   "NautTwilightEnd" : "22:54",
   "NautTwilightStart" : "04:43",
   "ServerTime" : "2018-07-03 10:28:17",
   "SunAtSouth" : "13:05",
   "Sunrise" : "06:06",
   "Sunset" : "21:31",
   "app_version" : "4.9732",
   "result" : [
      {
         "AddjMulti" : 1.0,
         "AddjMulti2" : 1.0,
         "AddjValue" : 0.0,
         "AddjValue2" : 0.0,
         "BatteryLevel" : 255,
         "CustomImage" : 0,
         "Data" : "Set Level: 30 %",
         "Description" : "",
         "DimmerType" : "none",
         "Favorite" : 1,
         "HardwareID" : 5,
         "HardwareName" : "Virtual",
         "HardwareType" : "Dummy (Does nothing, use for virtual switches only)",
         "HardwareTypeVal" : 15,
         "HaveDimmer" : true,
         "HaveGroupCmd" : true,
         "HaveTimeout" : false,
         "ID" : "00000000",
         "Image" : "Light",
         "IsSubDevice" : false,
         "LastUpdate" : "2018-07-02 22:47:03",
         "Level" : 30,
         "LevelActions" : "fHx8",
         "LevelInt" : 30,
         "LevelNames" : "T2ZmfE1hbnV8QXV0byBIQ3xBdXRvIEhQ",
         "LevelOffHidden" : false,
         "MaxDimLevel" : 100,
         "Name" : "Mode filtration piscine",
         "Notifications" : "false",
         "PlanID" : "11",
         "PlanIDs" : [ 11 ],
         "Protected" : false,
         "SelectorStyle" : 0,
         "ShowNotifications" : true,
         "SignalLevel" : "-",
         "Status" : "Set Level: 30 %",
         "StrParam1" : "",
         "StrParam2" : "",
         "SubType" : "Selector Switch",
         "SwitchType" : "Selector",
         "SwitchTypeVal" : 18,
         "Timers" : "false",
         "Type" : "Light/Switch",
         "TypeImg" : "Light",
         "Unit" : 1,
         "Used" : 1,
         "UsedByCamera" : false,
         "XOffset" : "564",
         "YOffset" : "197",
         "idx" : "147"
      }
   ],
   "status" : "OK",
   "title" : "Devices"
}
Apparemment le problème viendrait de LevelNames ???

Re: Problème sélecteur sur Monitor

Publié : 04 juil. 2018, 14:15
par jmv75013
Bonjour,

Le problème a été identifié sur le forum domoticz :
http://www.domoticz.com/forum/viewtopic ... es#p184870

LevelNames et LevelActions sont encodés en Base64


Pour corriger, il faut donc les décoder (utilisation de la fonction atob) en effectuant les modifications suivantes dans frontpage.js :

remplacer la ligne :

Code : Tout sélectionner

var mots = item.LevelNames.split("|");
par

Code : Tout sélectionner

var mots = atob(item.LevelNames).split("|");
et remplacer le ligne

Code : Tout sélectionner

switchclick = ['onclick="ShowSelector(',item.idx,',\'',item.LevelNames,'\',',item.LevelOffHidden,',',item.Protected,')"'].join('');
par

Code : Tout sélectionner

switchclick = ['onclick="ShowSelector(',item.idx,',\'',atob(item.LevelNames),'\',',item.LevelOffHidden,',',item.Protected,')"'].join('');
En espérant qu'il n'y aura pas d'effet de bord...

Re: Problème sélecteur sur Monitor

Publié : 04 juil. 2018, 21:59
par spike2012
Pour moi ça ne marche pas

Re: Problème sélecteur sur Monitor

Publié : 05 juil. 2018, 14:09
par jmv75013
Bonjour,

Regarde dans le fichier index.html de monitor. Si tu trouves la ligne

Code : Tout sélectionner

<script src="js/frontpage.min.js"></script>
remplace la par

Code : Tout sélectionner

<script src="js/frontpage.js"></script>
Si ce n'est pas le cas, alors je sèche. Car la modification fonctionne chez moi.

Re: Problème sélecteur sur Monitor

Publié : 05 juil. 2018, 21:42
par spike2012
Merci ça marche en fait mon problème venait de edge, avec internet explorer ça fonctionne mais avec edge pas moyen.
Merci encore

Re: Problème sélecteur sur Monitor

Publié : 05 juil. 2018, 22:34
par AdL-
Bonsoir jmv75013,

Pour moi ca a réglé mes soucis sur monitor, merci :)

Bonne soirée.

Jérôme.

Re: Problème sélecteur sur Monitor

Publié : 06 juil. 2018, 11:00
par chacal1985
Bonjour,

Merci pour l'aide apportée, alors pour moi cela fonctionne mis à part que l'icône qui indique le level du sélecteur est l'icône domoticz offline et pas celui que j'ai rajouté.
Par contre si je clique sur l'icône domoticz offline j'ai bien les différents levels avec les icônes qui apparaissent en popup.

Une solution ?