Page 3 sur 3

Re: [Conso electrique] Wiser EM5

Publié : 03 oct. 2017, 00:07
par toutazimuth
Merci beaucoup deennoo pour cette réponses rapide et détaillée ! je me sens moins seul :mrgreen:
Je vais essayer de suivre le tuto, mais c'est pas gagné.
Comment dire, lua et json ne sont pas présents dans mon cerveau :mrgreen:

Mais hop tu m'as motivé, je vais tenter.
merci
Il faut un script LUA du style (je suis sur un syno) :

Code : Tout sélectionner

commandArray = {}
time = os.date("*t")
    if  ((time.min % 10)==0)  then

json = (loadfile "/volume2/@appstore/domoticz/var/scripts/lua/JSON.lua")()  

local config=assert(io.popen('/usr/bin/curl http://login:mdp@192.168.1.**/vesta/UsageMeter/json.htm?'))

 local blocjson = config:read('*all')
 config:close()
 print (blocjson)
 
Après faut que j'arrive extraire les valeurs qui sont classées derrières les marqueurs "Type", c'est ca ?

Re: [Conso electrique] Wiser EM5

Publié : 03 oct. 2017, 09:15
par deennoo
Exactement cela cela va te demander du temps pour faire les tests (utilise beaucoup de print afin de choper les bonnes infos)

il va te falloir un compteur virtuel par compteur

eau et gaz incremental et pour les elec je prendrais de type P1

Re: [Conso electrique] Wiser EM5

Publié : 07 oct. 2017, 19:40
par toutazimuth
Voila le Json retourné quand j'interroge le Wiser Link

Code : Tout sélectionner

UsageMeterList	
0	
Type	"Load2"
Power	0
PowerValidity	true
Unit_Power	"W"
EnergyConsumed	16.4610004
EnergyValidity	true
Unit_Energy	"kWh"
Name	"Non_utilise"
1	
Type	"Load3"
Power	0
PowerValidity	true
Unit_Power	"W"
EnergyConsumed	286.589996
EnergyValidity	true
Unit_Energy	"kWh"
Name	"Cuisson"
2	
Type	"Heating"
Power	0
PowerValidity	false
Unit_Power	""
EnergyConsumed	456.019989
EnergyValidity	true
Unit_Energy	"m3"
Name	""
Et voici le script que je propose pour imprimer le premier "Load 2°

Code : Tout sélectionner

commandArray = {}
time = os.date("*t")
    if  ((time.min % 10)==0)  then

json = (loadfile "/volume2/@appstore/domoticz/var/scripts/lua/JSON.lua")()  -- For Linux

local config=assert(io.popen('/usr/bin/curl http://identifiant:motdepasse@192.168.1.39/vesta/UsageMeter/json.htm?'))

 local blocjson = config:read('*all')
 config:close()
 -- print (blocjson)
 
 local jsonValeur = json:decode(blocjson)
 nom = jsonValeur.UsageMeterList[1].Name
 data = jsonValeur.UsageMeterList[1].EnergyConsumed
 
commandArray = {}
print('****************')
print(nom)
print(data)

end
return commandArray
Bon évidemment j'ai une erreur dès le curl - a priori http://identifiant:motdepasse@ipduwiser ne fonctionne pas avec l'authentification mise en place sur la page d'accès au wiser link (erreur 403 direct) comment vous faites pour gérer cette difficulté dans les scripts. il faut indiquer user et mot de passe ailleurs dans le script ?

Si une âme charitable pouvait m'orienter :mrgreen:
Merci

Re: [Conso electrique] Wiser EM5

Publié : 09 oct. 2017, 10:42
par deennoo
Quelle est la page exact pour te connecter ?

Code : Tout sélectionner

http://192.168.1.39/vesta/UsageMeter
ou

Code : Tout sélectionner

 http://identifiant:motdepasse@192.168.1.39/vesta/UsageMeter/json.htm?
Laquelle fonctionne avec ton navigateur internet ?

Tiré de wikipedia :

Code : Tout sélectionner

403	Forbidden	Le serveur a compris la requête, mais refuse de l'exécuter. Contrairement à l'erreur 401, s'authentifier ne fera aucune différence. Sur les serveurs où l'authentification est requise, cela signifie généralement que l'authentification a été acceptée mais que les droits d'accès ne permettent pas au client d'accéder à la ressource.

Re: [Conso electrique] Wiser EM5

Publié : 09 oct. 2017, 20:04
par toutazimuth
Trop fort tu es deennoo ! :mrgreen:
ton analyse du problème était parfaite

Code : Tout sélectionner

http://user:motdepasse@ipduwiser/vesta/UsageMeter'
fonctionne parfaitement !
Il fallait effectivement enlever /json.htm?

Merci encore
Je vais pouvoir passer aux choses sérieuses maintenant :mrgreen: