Aller au contenu

Messages recommandés

Posté(e)

J'ai installé le serveur sur un raspberry, et probablement un peu merdé pour installer phpmyadmin. 

Mais bon c'est pas très grave... 

J'ai du augmenter ma partition système aussi. 

 

Super plugin. Je remonte toutes mes températures ( depuis Jeedom avec les sondes rfxcom et depuis la HC2 via Zwave )

Beau boulot !

Posté(e)

Bonjour, 

 

J'ai bien suivi ton tuto et mes tables se remplissent bien mais aucunes données n'est visible :-)

Ai-je loupé un truc ?

 

 

Merci par avance ^^

 

Autant pour moi, c'est juste que c'était tres long ^^,

Posté(e)

oui au tout début il n'y a pas assez de points pour que la courbe ressemble àquelque chose.

Au fur et àmesure des heures puis des jours ça devient sympa

Posté(e)

Bonsoir,

 

Je suis désolé de te déranger, mais a tout hasard, te rappel tu comment changer les courbes par Defaults, actuellement ca s'ouvre sur température, hors je voudrais que par défaut ce soit la consommation.

 

Merci par avance ^^

Posté(e)

Regarde dans le fichier /graph/js/config.js

 

Il y a la ligne suivante que tu peux modifier :

var currentSensorType = 'temperature';

Posté(e)

Bonjour,

 

Excuse moi, je suis pas repassé hier soir... J'ai trouvé en fouillant un peu :-)

Merci quand même de l'info.

 

Une exellente journée.

Posté(e)

Pour les améliorations :

 

- Integrer des camembers, pour la consommations d'énergie c'est plus facile à  lire.

- Une petite doc ou explications sur le fonctionnement. Par exemple, toutes les 1 minute, j'enregistre telles ou telles valeurs que l'on retrouve sur telles tables.

- Et une tite mousse pour toi !

Posté(e)

toi tu sais me parler :77:

 

bonnes idées je note, mais je n'ai plus du tout de temps à  y consacrer en ce moment.... ça viendra un jour :)

Posté(e)

Je t'avoue que je suis sur le code de highchart et que je modifie un peu ton code et si jamais je mets en place le camembert je te fais signe.

Pour ce qui est des notes, j'en parlerais quand le moment sera venu sur un sujet que j'ai dans le bar.

  • 3 semaines après...
Posté(e)

bonjour,

 

je viens de réinstaller le tout et j'ai un petit problème...  certaines tables se chargent bien (vu via phpMyAdmin) mais par contre pas les devices

lorsque je regarde dans le debug du bouton DEVICES j'ai un message d'erreur "line 213 Assertion failed"

cette ligne est simplement  "local deviceName = fibaro:getName(id)"

 

conclusion, rien ne s'affiche sur la page des graphes, juste le message No Device Found

 

deuxième problème, la page /graph/admin.php ne m'affiche rien du tout ....  mais c'est peut-être lié

 

une idée ?

 

EDIT : 

ok, le problème pour la page admin.php est bien le manque de device. 

et le problème se situe sur le plugin Netatmo (line 213), par contre je ne vois pas pourquoi...  

j'ai commenté cette partie du code et le reste fonctionne nickel

Posté(e)

Est-ce que tu peux activer la variable debug=yes dans le bouton Devices ?

Ensuite tu verras plein de choses, dont le device ID qui fait planter le getName.

Ensuite regarde le JSON (/api/devices/ID) du module en question. On dirait qu'il n'a pas de nom, ou un nom invalide.

Posté(e)

c'est ce que j'ai fait...  il trouve bien tous les devices et puis quand il rentre dans le code pour identifier le plugin Netatmo, il plante sur le getName.

Or le nom du plugin est tout bête, c'est NetAtmo :-)

 

voici le json

 

[{"id":183,"name":"netatmo WeatherSation","roomID":0,"type":"com.fibaro.netatmoWeatherStation","baseType":"com.fibaro.device","enabled":true,"visible":false,"isPlugin":true,"parentId":182,"remoteGatewayId":0,"viewXml":true,"configXml":false,"interfaces":[],"view":[],"properties":{"childTable":"{\"184\":\"70:ee:50:03:ce:50.Temp\",\"185\":\"70:ee:50:03:ce:50.CO2\",\"186\":\"70:ee:50:03:ce:50.Hum\",\"187\":\"70:ee:50:03:ce:50.Press\",\"188\":\"70:ee:50:03:ce:50.Noise\",\"189\":\"02:00:00:03:b7:74.Temp\",\"190\":\"02:00:00:03:b7:74.Hum\",\"261\":\"03:00:00:02:b3:40.Temp\",\"262\":\"03:00:00:02:b3:40.Hum\",\"263\":\"03:00:00:02:b3:40.CO2\",\"264\":\"05:00:00:01:7d:94.Rain\"}","dead":"false","deviceControlType":"0","deviceIcon":"28","emailNotificationID":"0","emailNotificationType":"0","lastOutdoorUpdated":"1463946725","lastUpdated":"1463946776","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","manufacturer":"","model":"","netatmoID":"70:ee:50:03:ce:50","netatmoType":"NAMain","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"true","smsNotificationID":"0","smsNotificationType":"0","ui.Connection_Status_Label.caption":"Netatmo Weather Station","userDescription":""},"actions":{},"created":1463773275,"modified":1463773275,"sortOrder":91}]

Posté(e)

En effet, étrange. Et si tu testes manuellement le fibaro:getName(183) dans un autre VD, ça fait pareil ?

 

Sinon essaye cette technique de contournement :

local deviceName = fibaro:getName(id) or "???"
Posté(e)

dans un autre VD, ca marche

 

par conter, je pige plus rien, j'ai l'impression que la ligne qu'il donne dans l'erreur n'est pas la bonne...  je m'explique...

je remplace dans la ligne 213 le "local deviceName = fibaro:getName(id)"  par "local deviceName = "Netatmo", je relance et la il me dit Assertion failed en ligne 181  :15:  :15:

Posté(e)

oui ce n'est pas le 183 mais l'un des modules Enfants du Plugin Netatmo qui pose souci.

SI tu regardes bien le code de la boucle, on parcours tous les modules enfants

Posté(e)

oui, j'ai vérifié tous les enfants, ils ont tous un nom normal (il y en avait un qui commençait par "%" et je l'ai changé)

ok, seule solution que je vois pour l'instant c'est de tester tous les fibaro:getName de tous les enfants dans un autre VD... mais c'est bizarre quand même

j'ai vérifié avec le toolkit et tout semble correct...

Posté(e)

toujours le même problème avec le plugin Netatmo. En fait impossible de récupérer le CO2, la pression, le bruit et la pluie.

j'ai toujours la même erreur "Assertion failed"...  j'ai regardé les différents json, je ne vois rien qui cloche...

 

voici le json du parent, si ca peut aider quelqu'un à  trouver le problème. je ne suis pas assez doué en LUA pour analyser tout le code..  mais quand je regarde le debug, je vois que le problème arrive lorsque c'est le device 185 qui est traité, c'est à  dire le deuxième élément dans la childtable

 

[{"id":183,"name":"netatmo WeatherSation","roomID":0,"type":"com.fibaro.netatmoWeatherStation","baseType":"com.fibaro.device","enabled":true,"visible":false,"isPlugin":true,"parentId":182,"remoteGatewayId":0,"viewXml":true,"configXml":false,"interfaces":[],"view":[],"properties":{"childTable":"{\"184\":\"70:ee:50:03:ce:50.Temp\",\"185\":\"70:ee:50:03:ce:50.CO2\",\"186\":\"70:ee:50:03:ce:50.Hum\",\"187\":\"70:ee:50:03:ce:50.Press\",\"188\":\"70:ee:50:03:ce:50.Noise\",\"189\":\"02:00:00:03:b7:74.Temp\",\"190\":\"02:00:00:03:b7:74.Hum\",\"261\":\"03:00:00:02:b3:40.Temp\",\"262\":\"03:00:00:02:b3:40.Hum\",\"263\":\"03:00:00:02:b3:40.CO2\",\"264\":\"05:00:00:01:7d:94.Rain\"}","dead":"false","deviceControlType":"0","deviceIcon":"28","emailNotificationID":"0","emailNotificationType":"0","lastOutdoorUpdated":"1463985326","lastUpdated":"1463985366","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","manufacturer":"","model":"","netatmoID":"70:ee:50:03:ce:50","netatmoType":"NAMain","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"true","smsNotificationID":"0","smsNotificationType":"0","ui.Connection_Status_Label.caption":"Netatmo Weather Station","userDescription":""},"actions":{},"created":1463773275,"modified":1463773275,"sortOrder":91}]

Posté(e)

Et justement, il faudrait le JSON du 185 pour voir.

Sinon tu as essayé ma méthode de contournement avec : or "???"

Posté(e)

voila le json du 185

 

{"id":185,"name":"CO2","roomID":3,"type":"com.fibaro.multilevelSensor","baseType":"com.fibaro.sensor","enabled":true,"visible":true,"isPlugin":true,"parentId":183,"remoteGatewayId":0,"interfaces":[],"properties":{"dead":"false","deviceControlType":"0","deviceIcon":"1026","emailNotificationID":"0","emailNotificationType":"0","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","manufacturer":"","model":"","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"true","smsNotificationID":"0","smsNotificationType":"0","unit":"","userDescription":"","value":"612.00"},"actions":{},"created":1463773275,"modified":1463773275,"sortOrder":93}

 

oui, j'ai essayé ta méthode, et même chose, il plante sur une autre ligne (la 181 je crois) et l

Posté(e)

voici le json du 185

 

{"id":185,"name":"CO2","roomID":3,"type":"com.fibaro.multilevelSensor","baseType":"com.fibaro.sensor","enabled":true,"visible":true,"isPlugin":true,"parentId":183,"remoteGatewayId":0,"interfaces":[],"properties":{"dead":"false","deviceControlType":"0","deviceIcon":"1026","emailNotificationID":"0","emailNotificationType":"0","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","manufacturer":"","model":"","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"true","smsNotificationID":"0","smsNotificationType":"0","unit":"","userDescription":"","value":"612.00"},"actions":{},"created":1463773275,"modified":1463773275,"sortOrder":93}

 

oui, j'ai essayé ta méthode avec le or "???", et même chose sauf qu'il plante sur une autre ligne (181 je crois), et la je ne vois plus le rapport...

 

j'ai ajouté un debug juste avant la ligne 216 pout avoir l'ID, c'est comme ca que j'ai vu que c'était le 185, mais si he tape les lignes suivantes dans un autre VD avec le 185 ca marche

 

puis je me suis dit que j'étais peut-être le seul à  avoir une extension de la netatmo, mais je ne vois pas en quoi ca ferai planter le truc...  suis un peu perdu là 

Posté(e)

J'ai regardé mais je ne comprend pas où est le bug.

 

Bon on va reprendre.

Déjà  personne n'a les mêmes numéros de lignes, donc quand tu me dis qu'une instruction plante (Assertion failed) ou que tu insères un fibaro:debug(), il ne faut pas me donner le numéro de ligne du script LUA, mais le contenu de la ligne en question. AInsi j'ai plus de chance de m'y retrouver.

Autre variante, je te partage le bloc fautif, et on se sert de la numérotation des lignes du forum :

	-- Get HC2 Netatmo Weather Station plugin device
	if version == 4 then
		payload = "/api/devices?type=com.fibaro.netatmoWeatherStation"
		response, status, errorCode = HC2:GET(payload)
		if tonumber(errorCode) == 0 and tonumber(status) == 200 and response ~= nil and response ~= "" then
			-- Get data
			jsonTable = json.decode(response)
			if jsonTable[1] and jsonTable[1].properties and jsonTable[1].properties.childTable and jsonTable[1].properties.childTable ~= "" then
				local childTable = json.decode(jsonTable[1].properties.childTable)
				for id, data in pairs(childTable) do
					local sensor = data:match("%.([^%.]+)") -- Split string after dot
					for k,v in pairs(netatmo) do
						if sensor == k then
							local deviceName = fibaro:getName(id)
							local roomID = fibaro:getRoomID(id)
							local roomName = fibaro:getRoomNameByDeviceID(id)
							if debug then
								fibaro:debug(id.." "..deviceName.." "..roomName)
							end
							datas[#datas+1] = {}
							datas[#datas].id = id
							datas[#datas].type = v
							datas[#datas].name = deviceName
							datas[#datas].roomid = roomID
							datas[#datas].roomname = roomName
							break
						end
					end
				end
			elseif debug then
				fibaro:debug('<span style="display:inline;color:red;">No Netatmo device found')
			end
		else
			erreur = erreur + 1
			fibaro:debug('<span style="display:inline;color:red;">status='..status..', errorCode='..errorCode..', payload='..payload..', response='..(response or "")..'</span>')
		end
	elseif debug then
		fibaro:debug('<span style="display:inline;color:red;">Netatmo plugin not supported')
	end

Donc dis moi où ça plante, où tu as inséré ton debug, et j'essaierai de trouver une solution.

Posté(e)

ok, partons la dessus (et encore super grand merci pour ton aide)

 

donc à  la base, il plantait à  la ligne 15 avec un Assertion failed. 

j'ai donc mis juste avant un debug pour avoir l'ID utilisé dans le getName, et donc c'est là  que j'ai le 185.

 

je n'ai rien changé d'autre, c'est le VD que j'ai téléchargé ici (DomoCharts V5.0)...  tout le reste fonctionne uniquement la partie Devices qui plante.

Posté(e)

OK c'est très clair.

Bon du coup je ne vois vraiment pas ce qui cloche.

Essaye de remplacer la ligne 14 comme ceci, afin de sauter l'ID 185, afin de voir si ça fait de même sur les ID suivants ou si c'est un cas isolé :

						if sensor == k and tostring(id) ~= "185" then
Posté(e)

je viens de faire le test ce matin avant de partir au boulot.... 

j'ai remplacer la ligne 14 comme demandé, et hop, l'erreur revient alors avec le 187...  je rajoute le 187 dans la ligne 14, et hop, problème avec le 264, et ensuite 263, c'est-à -dire avec systématiquement les child pour le CO2, la Pression et la pluie (Rain).

 

ou je ne pige plus rien c'est que dans un autre VD ca marche si j'isole juste ce morceau de code, c'est-à -dire sans l'autre bouge de plus haut niveau

Posté(e)

Je viens d'installer ce MAGNIFIQUE outil ... j'en profite pour te remercier  :P

 

J'ai eu la même erreur à  la ligne 213 du bouton "Devices".

 

J'ai juste ajouté 

id = tonumber(id)

à  la ligne 213 juste avant

local deviceName = fibaro:getName(id)
local roomID = fibaro:getRoomID(id)

Et voilà .

 

Merci encore @Lazer

  • Upvote 2
×
×
  • Créer...