Page 8 sur 148

Re: custom page

Publié : 06 avr. 2015, 02:40
par glut
Voilà pour le volet fermé, pour ouvert et demi-ouvert, je vais attendre un peu, sinon mon WAF va un prendre un coup à cette heure
{
"5MinuteHistoryDays" : 1,
"ActTime" : 1428280208,
"AllowWidgetOrdering" : true,
"DashboardType" : 0,
"Latitude" :
"Longitude" :
"MobileType" : 0,
"ServerTime" : "Apr 06 2015 02:30:08",
"Sunrise" : "07:21:00",
"Sunset" : "20:28:00",
"TempScale" : 1.0,
"TempSign" : "C",
"WindScale" : 3.600000143051147,
"WindSign" : "km/h",
"dontcachehtml" : true,
"result" : [
{
"BatteryLevel" : 255,
"CustomImage" : 0,
"Data" : "Closed",
"Favorite" : 1,
"HardwareID" : 17,
"HardwareName" : "Contrôleur Zwave",
"HaveDimmer" : true,
"HaveGroupCmd" : false,
"HaveTimeout" : false,
"ID" : "0000401",
"Image" : "Light",
"IsSubDevice" : false,
"LastUpdate" : "2015-04-05 20:37:29",
"Level" : 0,
"LevelInt" : 0,
"MaxDimLevel" : 100,
"Name" : "Volet Escalier",
"Notifications" : "false",
"PlanID" : "0",
"Protected" : false,
"ShowNotifications" : true,
"SignalLevel" : 12,
"Status" : "Closed",
"StrParam1" : "",
"StrParam2" : "",
"SubType" : "ZWave",
"SwitchType" : "Blinds Percentage Inverted",
"SwitchTypeVal" : 16,
"Timers" : "false",
"Type" : "Lighting 2",
"TypeImg" : "blinds",
"Unit" : 1,
"Used" : 1,
"UsedByCamera" : false,
"XOffset" : "0",
"YOffset" : "0",
"idx" : "36"
}
],
"status" : "OK",
"title" : "Devices"
}

La suite, j'ai recopié seulement les lignes changées
Volet à mi course :
"Data" : "Set Level: 58 %, Level: 58 %",
"Level" : 58,
"LevelInt" : 58,
"Status" : "Set Level: 58 %",

Volet ouvert :
"Data" : "Open, Level: 255 %",
"Level" : 255,
"LevelInt" : 255,
"Status" : "Open",

Re: custom page

Publié : 06 avr. 2015, 12:59
par vil1driver
merci, joli repérage des infos utiles.
les 16 niveaux ne sont pas bon car tu as un "MaxDimLevel" : 100, alors que j'ai 15 ici... faudrait faire une fonction dédiée, je pense que tout ce joue la dessus.
ça ne va pas être compliqué, mais je ne peux pas le faire dans l'immédiat, mercredi matin je pense..

Re: custom page

Publié : 07 avr. 2015, 12:58
par vil1driver
MAJ

j'ai fais la modif, reste plus qu'a tester.. (choisir 'Level' comme value)

Re: custom page

Publié : 08 avr. 2015, 10:42
par glut
Tout fonctionne à merveille, commandes sur dix niveaux, un grand merci pour ton aide :-D

Re: custom page

Publié : 08 avr. 2015, 12:03
par vil1driver
cool ;)

Re: custom page

Publié : 09 avr. 2015, 13:21
par vil1driver
petite question,

mon fichier switch_icons.txt sous www comporte une première ligne vide, est-ce le cas pour tout le monde ?

d'ailleurs j'en profite pour demander, une fois n'est pas coutume un petit coups de pouce niveau javascript.
je ne suis pas dev alors je google à fond pour tout faire mais la où tout devrait rouler, ça bloque de manière incompréhensible :?
je cherche à ajouter au frontpage la possibilité de rapatrier automatiquement l'icon choisi dans domoticz pour chaque switch.

je parviens donc à récupérer le nom de l'icon automatiquement et le stocker dans une variable 'name' mais au moment de la réutiliser, cette dernière est inexistante, et semble rester dans la fonction onload()
Pour preuve un alert placé à 2 endroits du code qui ne donnent pas le même résultat :-(
une bonne âme pour m'aiguiller svp

Code : Tout sélectionner

if (lastseen == '2') {
												 	
var n = item.CustomImage;
												 	
																					
var file = $.domoticzurl+"/switch_icons.txt";

												
function getXDomainRequest() {
var oReq = null;
															
	if (window.XDomainRequest) {
		oReq = new XDomainRequest(); 
	} else if (window.XMLHttpRequest) {
		oReq = new XMLHttpRequest(); 
	} else {
		alert("Votre navigateur ne gère pas l'AJAX cross-domain !");
	}
	return oReq;	
}
													
												
var oReq = getXDomainRequest();
oReq.open("get", file);
oReq.onload = function() {
var allText = oReq.responseText,
	text = allText.split("\n"),
	line = text[n+1].split(";"),
	name = line[0];
	//alert(name);     // renvoie bien le nom
	}
oReq.send();
	//alert(name);		// ne renvoie plus le nom !!!										
var icon_On = name.concat('48_On.png'),
	icon_Off = name.concat('48_Off.png');
													
									  	 
if (vdata == txt_on) {
vdata=new String(vdata).replace( txt_on,"<img src="+$.domoticzurl+'/images/'+icon_On+" width=48>");
}
if (vdata == txt_off) {
vdata=new String(vdata).replace( txt_off,"<img src="+$.domoticzurl+'/images/'+icon_Off+"  width=48>");
} 
}
												

Re: custom page

Publié : 10 avr. 2015, 14:23
par vil1driver
bien je m'en suis sortit finalement, le truc c'est le côté asynchrone des appels ajax...
il est donc possible que les icons n'apparaissent directement au chargement de la page, voir disparaissent de temps en temps :p
j’essaie d'améliorer ça :p

donc pour voir l'icon en guise du traditionnel On/Off il suffit de passer le flag lastseen à 2
exemple:

Code : Tout sélectionner

// lampe normale
['95','Status',         'cell8',                        'Chambre'],
// lampe avec icon à la place du On/Off
['95','Status',         'cell8',                        'Chambre','2'],

merci de votre retour

MAJ

Re: custom page

Publié : 10 avr. 2015, 19:11
par kiki13270
Salut,
voici mon fichier switch_icon.txt
Light;Light/Switch;A Lamp or Switch
WallSocket;Wall Socket;Power Wall Socket
TV;Television;Television Screen
Harddisk;Hard disk;Hard disk drive
Printer;Printer;Printer
Amplifier;Amplifier;Device that controls audio
Computer;Computer Laptop;Personal Computer System
Fan;Fan;Airflow Producer
Speaker;Speaker;Audio Speaker
Generic;Generic;Generic On/Off switch
Fireplace;Fireplace;Fireplace
Water;Water;Water
Media;Media Player;Multi Media player
Alarm;Alarm;Alarm
ChristmasTree;Christmas Tree;Christmas Tree
Heating;Heating;Heating device
Cooling;Cooling;Cooling device
ComputerPC;Computer PC;Personal Computer System

et il n'y a pas de ligne vide au début.

j'ai rechargé le dossier monitor et je ne vois pas apparaitre les icones, en aillant fait le test avec un "contact"
Encore et toujours merci pour ce travail
Christian

Re: custom page

Publié : 10 avr. 2015, 19:14
par vil1driver
Ok merci la ligne vide doit être de mon fait alors ;)
Je vai modifier le script car j'ai tenu compte de se décallage. Donc ne t'inquietes pas si les icons ne correspondent pas, ce sera corrigé :D

Pour l'instant seul les switchs de type on/off fonctionnent.
Les autres ne vont pas tarder :)

Re: custom page

Publié : 11 avr. 2015, 10:24
par vil1driver
MAJ

correction décalage et ajout type supplémentaires