Bono2007 Posté(e) le 26 avril 2016 Signaler Posté(e) le 26 avril 2016 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 !
Kikoroto Posté(e) le 29 avril 2016 Signaler Posté(e) le 29 avril 2016 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 ^^,
Lazer Posté(e) le 29 avril 2016 Auteur Signaler Posté(e) le 29 avril 2016 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
Kikoroto Posté(e) le 2 mai 2016 Signaler Posté(e) le 2 mai 2016 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 ^^
Lazer Posté(e) le 2 mai 2016 Auteur Signaler Posté(e) le 2 mai 2016 Regarde dans le fichier /graph/js/config.js Il y a la ligne suivante que tu peux modifier : var currentSensorType = 'temperature';
Kikoroto Posté(e) le 3 mai 2016 Signaler Posté(e) le 3 mai 2016 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.
Kikoroto Posté(e) le 3 mai 2016 Signaler Posté(e) le 3 mai 2016 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 !
Lazer Posté(e) le 3 mai 2016 Auteur Signaler Posté(e) le 3 mai 2016 toi tu sais me parler bonnes idées je note, mais je n'ai plus du tout de temps à y consacrer en ce moment.... ça viendra un jour
Kikoroto Posté(e) le 3 mai 2016 Signaler Posté(e) le 3 mai 2016 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.
Cardane Posté(e) le 22 mai 2016 Signaler Posté(e) le 22 mai 2016 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
Lazer Posté(e) le 22 mai 2016 Auteur Signaler Posté(e) le 22 mai 2016 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.
Cardane Posté(e) le 22 mai 2016 Signaler Posté(e) le 22 mai 2016 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}]
Lazer Posté(e) le 22 mai 2016 Auteur Signaler Posté(e) le 22 mai 2016 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 "???"
Cardane Posté(e) le 22 mai 2016 Signaler Posté(e) le 22 mai 2016 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
Lazer Posté(e) le 22 mai 2016 Auteur Signaler Posté(e) le 22 mai 2016 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
Cardane Posté(e) le 22 mai 2016 Signaler Posté(e) le 22 mai 2016 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...
Cardane Posté(e) le 23 mai 2016 Signaler Posté(e) le 23 mai 2016 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}]
Lazer Posté(e) le 23 mai 2016 Auteur Signaler Posté(e) le 23 mai 2016 Et justement, il faudrait le JSON du 185 pour voir. Sinon tu as essayé ma méthode de contournement avec : or "???"
Cardane Posté(e) le 23 mai 2016 Signaler Posté(e) le 23 mai 2016 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
Cardane Posté(e) le 23 mai 2016 Signaler Posté(e) le 23 mai 2016 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à
Lazer Posté(e) le 23 mai 2016 Auteur Signaler Posté(e) le 23 mai 2016 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.
Cardane Posté(e) le 23 mai 2016 Signaler Posté(e) le 23 mai 2016 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.
Lazer Posté(e) le 23 mai 2016 Auteur Signaler Posté(e) le 23 mai 2016 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
Cardane Posté(e) le 24 mai 2016 Signaler Posté(e) le 24 mai 2016 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
Steven Posté(e) le 24 mai 2016 Signaler Posté(e) le 24 mai 2016 Je viens d'installer ce MAGNIFIQUE outil ... j'en profite pour te remercier 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 2
Messages recommandés