Aller au contenu
Lazer

Graph De Température, Humidité, Consommation...sur Nas

Recommended Posts

Pour le type, il faut mettre water

Ca me semble correct, essaye et dis moi si ça passe, je n'ai jamais essayé d'alimenter en direct la table minute par minute.

 

En fait, Sakkhho et moi on n'injecte les données que 1 fois par jour à  partir du relevé de Veolia, notre fournisseur d'eau local (tuto dans ma signature), donc du coup ça va directement dans la table d'historique domotique_water_day.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok, c'est fait, mais quand je modifie avec firebug la drop down water_day en water, j'ai une page noire

Partager ce message


Lien à poster
Partager sur d’autres sites

Déjà  regarde dans la table si les données arrivent bien.

 

Et dans index.php, ajoute :

			<option value="water">Eau [L]</option>

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah faut ajouter ça aussi dans /graph/js/config.js :

	{type:'water', title: "Consommation d'eau", yaxis: 'Eau (Litres)', tooltip: 'l', min: 0},

Partager ce message


Lien à poster
Partager sur d’autres sites

ca marche

seul problème, je dois multiplier par 1000 après la récupération de la VG.

Je ne pourrai pas le faire dans ton VD je pense, donc je dois créer une autre FG ?

Partager ce message


Lien à poster
Partager sur d’autres sites

pourquoi tu ne multiplie pas par 1000 directement au moment du stockage de la donnée dans la VG ?

 

Sinon, faudrait modifier le code du VD pour appliquer une formule mathématique aux VG, mais je ne vois pas comment coder le truc proprement, là  tout de suite....

Partager ce message


Lien à poster
Partager sur d’autres sites

oui c'est ici que je devrais faire une exception:

datas[#datas].value = fibaro:getGlobalValue(variables[i].name)

je stocke la variable telle que je la reçoit de l'ecodevices.

Et comme je la stocke sur emon cms aussi, et dans un VD d'affichage de conso, je dois modifier a plein d'endroits......

Partager ce message


Lien à poster
Partager sur d’autres sites

à  mon avis, le plus simple, c'est une scène en autostart sur trigger de la VG, et tu update automatiquement une autre VG multipliée par 1000. C'est cette dernière VG que tu utilises avec DomoCharts.

Parce que si tu modifies à  l'arrache le code du bouton de mon VD, tu vas t'amuser pour le suivi des modifs ensuite.

 

Sinon, je viens de poser la mise à  jour de data_delete.php pour la suppression des données historiques journalières.

Tu peux tester ?

https://github.com/cdriget/DomoCharts/blob/master/graph/data_delete.php

Partager ce message


Lien à poster
Partager sur d’autres sites

la valeur est 255, quoique je pousse... c'est pas une valeur max dans la db ?

 

datas[#datas].value = fibaro:getGlobalValue(variables[i].name)
        if variables[i].name == "CONSO_EAU_VILLE" then
        datas[#datas].value = (datas[#datas].value)*1000
        end

Partager ce message


Lien à poster
Partager sur d’autres sites

le delete fonctionne au poil ! :-)

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai vérifié dans la db c'est toujours 255 mais c bien un int10

 

un debug dans le bouton 1 retourne bien le bon index (j'ai modifié ma VG en L maintenant)

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah vi, la colonne value est un unsigned tinyint, donc ça fait 255 maxi. C'est bête ça :/

Tu peux changer la colonne en unsigned smallint avec phpmyadmin ? Ca fait 65535 maxi, ça laisse de la marge !

 

 

Euh, en fait, je suis en train de penser.... je sais pourquoi j'ai laissé un tinyint.

La table domotique_water, c'est la table qui stocke les données minute par minute.... donc c'est pas possible de consommer plus de 255 L en 1 minute.

 

Si ta valeur est un cumul journalier, alors c'est dans la table domotique_water_day qu'il faut la stocker..... comme on le fait pour notre compteur Veolia.

Partager ce message


Lien à poster
Partager sur d’autres sites

ah vi

mais entretemps j'ai mis small int  (5) et ça bloquait à  65535

bon, j'efface tout ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Je sais pas trop, si ton compteur c'est du journalier, alors il fait le mette dans la table water_day.

Et là, mon VD n'est pas prévu pour injecter directement dans cette table. Je te partage demain soir un nouveau bouton justement pour ça :)

Là, dodo :D

Partager ce message


Lien à poster
Partager sur d’autres sites

J'interroge l'ecodevice toute les x minutes et je reçoit l'index, comme si c'était des kWh

Et ça fait des belles courbes et quand elles montent en même temps que les courbes de gaz, je sais que c'est de l'eau chaude.

 

oui, moi aussi dodo

Merci

 

Tip: pour gérer la base de donnée, y'a Heidi SQL: http://www.heidisql.com/download.php

Vraiment un super logiciel !

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors j'ai :

 

Pluie 1 heure :

{
  "id": 363,
  "name": "Pluie 1h",
  "roomID": 22,
  "type": "com.fibaro.multilevelSensor",
  "baseType": "com.fibaro.sensor",
  "enabled": true,
  "visible": true,
  "isPlugin": true,
  "parentId": 362,
  "remoteGatewayId": 0,
  "interfaces": [],
  "properties": {
    "dead": false,
    "deviceControlType": 0,
    "deviceIcon": 1006,
    "emailNotificationID": 0,
    "emailNotificationType": 0,
    "liliOffCommand": "",
    "liliOnCommand": "",
    "log": "",
    "logTemp": "",
    "manufacturer": "Oregon",
    "model": "Pluie 1h",
    "pushNotificationID": 0,
    "pushNotificationType": 0,
    "remoteGatewayId": 0,
    "saveLogs": true,
    "smsNotificationID": 0,
    "smsNotificationType": 0,
    "unit": "mm",
    "userDescription": "",
    "value": 0
  },
  "actions": {},
  "created": 1443209625,
  "modified": 1443209625,
  "sortOrder": 225
}

Pluie total (Inutile je pense) :

 


{
  "id": 361,
  "name": "Pluie totale",
  "roomID": 22,
  "type": "com.fibaro.multilevelSensor",
  "baseType": "com.fibaro.sensor",
  "enabled": true,
  "visible": true,
  "isPlugin": true,
  "parentId": 360,
  "remoteGatewayId": 0,
  "interfaces": [],
  "properties": {
    "dead": false,
    "deviceControlType": 0,
    "deviceIcon": 1005,
    "emailNotificationID": 0,
    "emailNotificationType": 0,
    "liliOffCommand": "",
    "liliOnCommand": "",
    "log": "",
    "logTemp": "",
    "manufacturer": "Oregon",
    "model": "Pluie totale",
    "pushNotificationID": 0,
    "pushNotificationType": 0,
    "remoteGatewayId": 0,
    "saveLogs": true,
    "smsNotificationID": 0,
    "smsNotificationType": 0,
    "unit": "mm",
    "userDescription": "",
    "value": 515
  },
  "actions": {},
  "created": 1443209506,
  "modified": 1443209506,
  "sortOrder": 223
}

Vent :

 


{
  "id": 365,
  "name": "Vent",
  "roomID": 22,
  "type": "com.fibaro.multilevelSensor",
  "baseType": "com.fibaro.sensor",
  "enabled": true,
  "visible": true,
  "isPlugin": true,
  "parentId": 364,
  "remoteGatewayId": 0,
  "interfaces": [],
  "properties": {
    "dead": false,
    "deviceControlType": 0,
    "deviceIcon": 1007,
    "emailNotificationID": 0,
    "emailNotificationType": 0,
    "liliOffCommand": "",
    "liliOnCommand": "",
    "log": "",
    "logTemp": "",
    "manufacturer": "Oregon",
    "model": "Vent",
    "pushNotificationID": 0,
    "pushNotificationType": 0,
    "remoteGatewayId": 0,
    "saveLogs": true,
    "smsNotificationID": 0,
    "smsNotificationType": 0,
    "unit": "km/h",
    "userDescription": "",
    "value": 3.96
  },
  "actions": {},
  "created": 1443209676,
  "modified": 1443209676,
  "sortOrder": 227
}

Partager ce message


Lien à poster
Partager sur d’autres sites

Mise a jour faite aussi. Tout est OK sauf...

 

Sur la page battery_day, je n'ai que les ID et pas le nom des devices. Est-ce moi ou c'est une "feature"?

 

Merci en tout cas pour ce beau travail.

Partager ce message


Lien à poster
Partager sur d’autres sites

@lazer,

la fonction DELETE n'est pas active partout, est ce normal ?

 

sur le batterie_day, c'est le nom de device maitre qui s'affiche pas des escalves, c'est pour cela que tu dois avoir les IDs car ils doivent pas être renommé chez toi

Partager ce message


Lien à poster
Partager sur d’autres sites

Hum dis moi, tous les Main_zwave_device il faut les renommer ?

Partager ce message


Lien à poster
Partager sur d’autres sites

@lazer,

la fonction DELETE n'est pas active partout, est ce normal ?

regarde ici pour le delete:

http://www.domotique-fibaro.fr/index.php/topic/466-graph-de-temp%C3%A9rature-humidit%C3%A9-consommationsur-nas/page-33#entry90168

Partager ce message


Lien à poster
Partager sur d’autres sites

@Nico :

Argl, c'est ce que je craignais, les modules sont de type com.fibaro.multilevelSensor, donc générique. Le seul moyen de détecter le type de capteur, c'est de lire l'unité, et de supposer sur mm=pluie, et km/h=vent. C'est pas super propre, mais c'est le seul moyen tant que Fibaro ne créera pas de nouveaux types.
Tu en as d'autre des comme ça ?


@supermenteur, @BenjyNet :

Comme déjàrépondu, il faut modifier le nom de tous les Main_Wave_Device, qui sont les modules parents de tous les modules enfants depuis la v4. C'est beaucoup plus propre ainsi. Perso je mets le nom du module (FGMS-001, ST814, FGSD-001, etc)


@Sakkhho :

Pour le bouton Delete, voir le lien donné par Sebcbien pour la version patchée permettant de deleter également dans les courbes d'historique journalière.
Attention, sur les courbes minute par minute, il faut parfois zoomer assez fortement pour "attraper" le point, c'est le fonctionnement de Highcharts.

Partager ce message


Lien à poster
Partager sur d’autres sites

J'interroge l'ecodevice toute les x minutes et je reçoit l'index, comme si c'était des kWh

Et ça fait des belles courbes et quand elles montent en même temps que les courbes de gaz, je sais que c'est de l'eau chaude.

 

oui, moi aussi dodo

Merci

 

Tip: pour gérer la base de donnée, y'a Heidi SQL: http://www.heidisql.com/download.php

Vraiment un super logiciel !

 

Ton index, il ne fait qu'augmenter sans cesse ?

Comme calcule tu la consommation ? Par différence par rapport à  la précédente valeur mesurée ?

Je cherche à  savoir comment tu gères exactement ta données, afin de déterminer la meilleur façon de la stocker en DB.

 

HeidiSQL a l'air chouette, mais ça nécessite un accès direct au serveur SQL, ce qui n'est pas possible avec les sites hébergés (accès à  MySQL uniquement depuis le site Web lui-même....donc phpMyAdmin)

Partager ce message


Lien à poster
Partager sur d’autres sites

Lazer : Une montagne. Mais attention, ce sont des VS de Krikri, donc rien d'officiel, ne perds pas de temps la dessus, on va attendre les plugins officiels et la V1 des VS.

J'ai commencé àregarder le code de ces plugins, compliqué mais j'arrive àmodifier 2-3 trucs. Vivement sa V1, ce serait cool !

Il faudrait quoi comme type pour la pluie et le vent pour que cela soit pris en compte, je peux tenter de modifier ça dans le plugin.

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est simple, regarde les types existants :

  • com.fibaro.temperatureSensor
  • com.fibaro.humiditySensor
  • com.fibaro.setPoint
  • com.fibaro.lightSensor
     

Donc il est assez facile d'extrapoler pour la pluie, le vent, etc.

Sauf que Fibaro eux-mêmes ne l'ont pas fait pour le plugin Netatmo (le bruit, pression, co2, etc... sont tous en multilevelsensors).

Donc si tu tu forces un type inexistant avec ton plugin, je ne suis pas certain que la box réagisse bien..... je vois d'ici le 503 error !

Partager ce message


Lien à poster
Partager sur d’autres sites

×