<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ajout protocole Domoticz]]></title><description><![CDATA[<p dir="auto">Bonjour à tous<br />
<a class="plugin-mentions-user plugin-mentions-a" href="/user/deennoo">@<bdi>Deennoo</bdi></a>, Je suis en train de refondre l'interface de WifInfo pour y ajouter domoticz <img src="http://community.ch2i.eu/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=fd8776ac13b" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";-)" alt="😉" /></p>
<p dir="auto">Je ne retrouve plus la syntaxe d'appel pour DomoticZ quelqu'un pourrait-il me donner la syntaxe exacte de l'appel via HTTP sur domoticz ?</p>
<p dir="auto">J'ai trouvé çà mais je ne suis sûr de rien</p>
<p dir="auto"><code>http://ipdomoticz/json.htm?type=command&amp;param=udevice&amp;idx=NUMEROIDXDEVOTRECOMPTEUR&amp;nvalue=0&amp;svalue=$HCHP;$HCHC;0;0;$PAPP;0</code></p>
<p dir="auto">type=command =&gt; Obligatoire à chaque appel ?<br />
param=udevice =&gt; Quesako  ?<br />
idx=ADCO =&gt; ça je pense avoir compris<br />
Et ensuite les etiquettes/valeur sous quel format ?</p>
<p dir="auto">Merci pour votre aide</p>
]]></description><link>http://community.ch2i.eu/topic/147/ajout-protocole-domoticz</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 12:16:06 GMT</lastBuildDate><atom:link href="http://community.ch2i.eu/topic/147.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 04 Apr 2016 11:02:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ajout protocole Domoticz on Sun, 25 Mar 2018 08:51:49 GMT]]></title><description><![CDATA[<p dir="auto">Bonjour,<br />
Je viens relancer le sujet car celà m'intéresse.<br />
J'utilise Domoticz.<br />
PS: pour le moment, j'essaye de récupérer en python à partir de Domoticz mais j'ai un pb : voir un autre post <img src="http://community.ch2i.eu/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=fd8776ac13b" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /></p>
]]></description><link>http://community.ch2i.eu/post/2407</link><guid isPermaLink="true">http://community.ch2i.eu/post/2407</guid><dc:creator><![CDATA[TamaloU]]></dc:creator><pubDate>Sun, 25 Mar 2018 08:51:49 GMT</pubDate></item><item><title><![CDATA[Reply to Ajout protocole Domoticz on Sun, 12 Mar 2017 14:20:32 GMT]]></title><description><![CDATA[<p dir="auto">Bonjour,</p>
<p dir="auto">Je me suis inspiré du script précédent (merci pour la contribution !) et je l'ai adapté ainsi :</p>
<ul>
<li>Utilisation directement depuis Domoticz (pas besoin de tâche cron) : Setup &gt; More Options &gt; Events &gt; LUA au lieu de Blockly &gt; Time</li>
<li>Mise à jour en utilisant les fonctions lua de Domoticz sans passer par json (ça évite de gérer les utilisateurs)</li>
<li>N'ayant pas la valeur de PAPP remontée, je fais un calcul de puissance basé sur la comparaison entre deux valeurs d'index total.</li>
<li>J'utilise trois objets "dummy" : Text sensor, Electricity (instant and counter) nommé "Compteur_EDF", Ampere (1 phase)</li>
</ul>
<p dir="auto">Il y a un exemple intéressant ici que j'ai troué un peu (trop) vers la fin : <a href="https://www.domoticz.com/wiki/Capturing_Energy_Usage_with_Lua_Scripts" target="_blank" rel="noopener noreferrer nofollow ugc">https://www.domoticz.com/wiki/Capturing_Energy_Usage_with_Lua_Scripts</a></p>
<p dir="auto">Voilà, je vous livre le script ci-dessous si ça peut aider quelqu'un. A noter que c'est pour un compteur tempo. A adapter selon votre configuration et vos besoins.</p>
<pre><code>---- Script pour récupérer les informations sur un Wifinfo. A mettre dans Domoticz dans "Events" en tant que script LUA / Time

----------------------------------------------------------------------------------------------------------
-- Paramètres
----------------------------------------------------------------------------------------------------------
debug = "yes"   -- Turn debugging on ("yes") or off ("no")

frequence = 2 -- toutes les x minutes

-- adresse du fichier JSON de Wifinfo
    local wifinfoURL = "http://192.168.1.210:80/json"

-- index des dispositifs (colonne IDX de domoticz)
    -- Text sensor
    device1 = "Tarif_EDF"
    local colorIdx = otherdevices_idx[device1]
    -- Electricity (instant and counter)
    device2 = "Compteur_EDF"
    local compteurIdx = otherdevices_idx[device2]
    -- Ampere (1 phase)
    device3 = "Intensité_EDF"
    local intensiteIdx = otherdevices_idx[device3]

if debug=="yes" then
    print(device1 .. " : idx " .. colorIdx)
    print(device2 .. " : idx " .. compteurIdx)
    print(device3 .. " : idx " .. intensiteIdx)
end

    -- Domoticz (mise à jour de Domoticz par json, non utilisé)
    --local domoURL = "http://127.0.0.1:8080/json.htm?"
    --local urlParams = "type=command&amp;param=udevice&amp;idx="

----------------------------------------------------------------------------------------------------------
-- Fonctions
----------------------------------------------------------------------------------------------------------

-- arrondi
function round2(num, numDecimalPlaces)
  return tonumber(string.format("%." .. (numDecimalPlaces or 0) .. "f", num))
end

-- écart de temps
function timedifference (s)
    year = string.sub(s, 1, 4)
    month = string.sub(s, 6, 7)
    day = string.sub(s, 9, 10)
    hour = string.sub(s, 12, 13)
    minutes = string.sub(s, 15, 16)
    seconds = string.sub(s, 18, 19)
    t1 = os.time()
    print("t1 = " .. t1)
    t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
    print("t2 = " .. t2)
    difference = os.difftime (t1, t2)
    return difference
end

----------------------------------------------------------------------------------------------------------
-- CommandArray
----------------------------------------------------------------------------------------------------------
 
commandArray = {}

if ( ( os.time() / 60 ) % frequence ) == 0 then

-- inclure les bibliothèques Lua
    json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()  -- For Linux
    --   json = (loadfile "D:\\Domoticz\\scripts\\lua\\json.lua")()  -- For Windows

-- récupération des données json
    local config=assert(io.popen('/usr/bin/curl -s ' .. wifinfoURL))
    local blocjson = config:read('*all')
    config:close()

if debug=="yes" then
    print ("Fichier JSON : " .. blocjson)
end

-- décodage des données
    local jsonValeur = json:decode(blocjson)

-- affectation dans des variables 
    local papp = jsonValeur.PAPP
    local iinst = jsonValeur.IINST
    local coulJ = jsonValeur.PTEC
    local coulD = jsonValeur.DEMAIN
    local BBRHCJB = jsonValeur.BBRHCJB
    local BBRHPJB = jsonValeur.BBRHPJB
    local BBRHCJW = jsonValeur.BBRHCJW
    local BBRHPJW = jsonValeur.BBRHPJW
    local BBRHCJR = jsonValeur.BBRHCJR
    local BBRHPJR = jsonValeur.BBRHPJR
    local CPlein = BBRHPJB + BBRHPJW + BBRHPJR
    local CCreux = BBRHCJB + BBRHCJW + BBRHCJR
    local CTotal = CPlein + CCreux
 
-- un peu de modification de texte pour faciliter la lecture
    coulJ = string.gsub(coulJ, "HPJB", "BLEU HP");
    coulJ = string.gsub(coulJ, "HCJB", "BLEU HC");
    coulJ = string.gsub(coulJ, "HPJW", "BLANC HP");
    coulJ = string.gsub(coulJ, "HCJW", "BLANC HC");
    coulJ = string.gsub(coulJ, "HPJR", "! ROUGE ! HP");
    coulJ = string.gsub(coulJ, "HCJR", "! ROUGE ! HC");

-- obsolète - utilisation de deux variables utilisateur pour calculer les écarts et compenser l'absence de variable papp de certains compteurs
    --local CTotal_old = uservariables["Index_temp"] -- on récupère l'index stocké dans la variable utilisateur Index_temp
    --local time_old = uservariables["Time_temp"] -- on récupère l'heure stockée dans la variable utilisateur Time_temp
    --local time_now = os.time()
    --local ecart_index = CTotal - CTotal_old
    --local ecart_sec = time_now - time_old
    --commandArray['Variable:Index_temp']= tostring(CTotal) -- on met à jour la variable utilisateur avec le nouvel index
    --commandArray['Variable:Time_temp']= tostring(time_now) -- on met à jour la variable utilisateur avec la nouvelle heure
    
-- on calcule l'écart de temps et d'index pour compenser l'absence de variable papp de certains compteurs
    puissance_old, CTotal_old = string.match(otherdevices_svalues[device2], "(%d+%.*%d*);(%d+%.*%d*)") -- on récupère les valeurs stockées - inspiré de https://www.domoticz.com/wiki/Capturing_Energy_Usage_with_Lua_Scripts
    puissance_old = tonumber(puissance_old)
    CTotal_old = tonumber(CTotal_old)
    local ecart_sec = timedifference(otherdevices_lastupdate[device2])
    local ecart_index = CTotal - CTotal_old

-- si PAPP n'est pas disponible, on calcule avec les écarts
    if (papp == nil)  then
        -- obsolète - puissance = iinst * 230 -- pas bien précis
        puissance = ecart_index / ecart_sec * 3600
    else
        puissance = papp * 0.9 -- en prenant un facteur de puissance à 0.9
    end

    puissance = round2(puissance,0)

if debug=="yes" then
    print("Index total (nouveau): " .. CTotal .. " Wh")
    print("Index total (ancien): " .. CTotal_old .. " Wh")
    print("Ecart index : " .. ecart_index .. " Wh")
    print("Ecart de temps : " .. ecart_sec .. " s")
    print ("Puissance : " .. puissance .. " W")
end

-- construction des paramètres
    -- voir https://www.domoticz.com/wiki/Domoticz_API/JSON_URL%27s pour la syntaxe de nvalue|svalue
    local param1 = colorIdx ..'|0|' .. coulJ .. ' / Demain : ' .. coulD
    local param2 = compteurIdx ..'|0|' .. puissance .. ';' .. CTotal
    local param3 = intensiteIdx ..'|0|' .. iinst

-- construction des url (mise à jour de Domoticz par json, non utilisé)
    --url1 =  domoURL .. urlParams .. teleinfoIdx .. '&amp;nvalue=0&amp;svalue=' .. CPlein .. ';' .. CCreux .. ';0;0;' .. papp .. ';0;'
    --url2 =  domoURL .. urlParams .. colorIdx .. '&amp;nvalue=0&amp;svalue=' .. coulJ .. '%20%2F%20Demain%20' .. coulD

if debug=="yes" then
    print("Paramètre 1 : " .. param1)
    print("Paramètre 2 : " .. param2)
    print("Paramètre 3 : " .. param3)
end

-- mise à jour des objets
    -- commandArray['UpdateDevice']='idx|nValue|sValue' -- for updating Dummy devices e.g. '96|0|Hello World'
    -- http://www.domoticz.com/wiki/LUA_commands
    table.insert (commandArray, { ['UpdateDevice'] = param1 } )
    table.insert (commandArray, { ['UpdateDevice'] = param2 } )
    table.insert (commandArray, { ['UpdateDevice'] = param3 } )

-- appel successif des url  (mise à jour de Domoticz par json, non utilisé)
    --local doIt=assert(io.popen('/usr/bin/curl -s "' .. url1 .. '"'))
    --doIt:read('*all')
    --doIt:close()
    --doIt=assert(io.popen('/usr/bin/curl -s "' .. url2 .. '"'))
    --doIt:read('*all')
    --doIt:close()

end

return commandArray
</code></pre>
<p dir="auto">Sébastien</p>
]]></description><link>http://community.ch2i.eu/post/2174</link><guid isPermaLink="true">http://community.ch2i.eu/post/2174</guid><dc:creator><![CDATA[seb82]]></dc:creator><pubDate>Sun, 12 Mar 2017 14:20:32 GMT</pubDate></item><item><title><![CDATA[Reply to Ajout protocole Domoticz on Tue, 31 Jan 2017 20:43:03 GMT]]></title><description><![CDATA[<p dir="auto">Bonjour,<br />
Je débute avec Domoticz, et j’utilise un petit script maison pour faire apparaitre dans Domoticz ma conso instantanée et ma couleur du jour (option "Tempo").<br />
Si ça peut servir de base pour d'autre, c'est cadeau.</p>
<p dir="auto">J'ai créé 2 "dummy" : Un type "texte" pour la couleur du jour, et un type "P1 Smart Meter" pour la conso.<br />
Mon wifinfo est une adaptation perso, il intègre un capteur température/humidité, d'où les lignes supplémentaires dans le script et le "sensorIdx"<br />
Je débute en Lua, donc pas forcement optimisé, mais ça me convient. Le script est appelé par une tache cron.</p>
<pre><code>-- index des dispositifs (colonne IDX de domoticz)
---- capteur temp/hum
local sensorIdx = 217
---- P1 smart meter
local teleinfoIdx = 154
---- text
local colorIdx = 249
---- Domoticz
local domoURL = "http://127.0.0.1:8080/json.htm?"
local urlParams = "type=command&amp;param=udevice&amp;idx="

-- inclure les bibliothèques Lua
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()  -- For Linux
--   json = (loadfile "D:\\Domoticz\\scripts\\lua\\json.lua")()  -- For Windows

-- récupération des données json
local config=assert(io.popen('/usr/bin/curl -s http://192.168.5.229/json'))
local blocjson = config:read('*all')
config:close()
-- debug
print (blocjson)

-- décodage des données
local jsonValeur = json:decode(blocjson)

-- affectation dans des variables 
 papp = jsonValeur.PAPP
 iinst = jsonValeur.IINST
 temp = jsonValeur._TEMPERATURE
 hum = jsonValeur._HUMIDITY
 coulJ = jsonValeur.PTEC
 coulD = jsonValeur.DEMAIN

 BBRHCJB = jsonValeur.BBRHCJB
 BBRHPJB = jsonValeur.BBRHPJB
 BBRHCJW = jsonValeur.BBRHCJW
 BBRHPJW = jsonValeur.BBRHPJW
 BBRHCJR = jsonValeur.BBRHCJR
 BBRHPJR = jsonValeur.BBRHPJR
 CPlein = BBRHPJB + BBRHPJW + BBRHPJR
 CCreux = BBRHCJB + BBRHCJW + BBRHCJR


-- un peu de modification de texte pour faciliter la lecture
 coulJ = string.gsub(coulJ, "HPJB", "Plein%%20Bleu");
 coulJ = string.gsub(coulJ, "HCJB", "Creux%%20Bleu");
 coulJ = string.gsub(coulJ, "HPJW", "Plein%%20Blanc");
 coulJ = string.gsub(coulJ, "HCJW", "Creux%%20Blanc");
 coulJ = string.gsub(coulJ, "HPJR", "Plein%%20Rouge");
 coulJ = string.gsub(coulJ, "HCJR", "Creux%%20Rouge");

-- construction des url
url1 =  domoURL .. urlParams .. sensorIdx .. '&amp;nvalue=0&amp;svalue=' .. temp .. ';' .. hum .. ';0'
url2 =  domoURL .. urlParams .. teleinfoIdx .. '&amp;nvalue=0&amp;svalue=' .. CPlein .. ';' .. CCreux .. ';0;0;' .. papp .. ';0;'
url3 =  domoURL .. urlParams .. colorIdx .. '&amp;nvalue=0&amp;svalue=' .. coulJ .. '%20%2F%20Demain%20' .. coulD

-- debug
print(url1);
print(url2);
print(url3);

-- appel successif des url
local doIt=assert(io.popen('/usr/bin/curl -s "' .. url1 .. '"'))
doIt:read('*all')
doIt:close()
doIt=assert(io.popen('/usr/bin/curl -s "' .. url2 .. '"'))
doIt:read('*all')
doIt:close()
doIt=assert(io.popen('/usr/bin/curl -s "' .. url3 .. '"'))
doIt:read('*all')
doIt:close()

</code></pre>
<p dir="auto">L'ip de mon wifinfo est 192.168.5.229, adaptez selon votre config.<br />
J'utilise l'option "tempo", j'ai donc 6 tarifs et non 2, ça complique un peu la conso, adaptez à vos besoins.</p>
<p dir="auto">Au final, ça me donne ça:<br />
<img src="/uploads/files/1485894957799-domoticz.jpg" alt="0_1485894956298_domoticz.jpg" class=" img-fluid img-markdown" /></p>
]]></description><link>http://community.ch2i.eu/post/2083</link><guid isPermaLink="true">http://community.ch2i.eu/post/2083</guid><dc:creator><![CDATA[mjeanne]]></dc:creator><pubDate>Tue, 31 Jan 2017 20:43:03 GMT</pubDate></item><item><title><![CDATA[Reply to Ajout protocole Domoticz on Sun, 17 Jul 2016 20:02:11 GMT]]></title><description><![CDATA[<p dir="auto">Bonjour Charles<br />
as tu progressé pour l'ajout de domoticz ? si ce n'est pas le cas, peut on t'aider sur le sujet ? il faudra me passer quelques indications , mais j'arrive vers mes congés donc aurais un peu de temps à consacrer à cela....<br />
merci de ton retour<br />
Laurent</p>
]]></description><link>http://community.ch2i.eu/post/1630</link><guid isPermaLink="true">http://community.ch2i.eu/post/1630</guid><dc:creator><![CDATA[laurent]]></dc:creator><pubDate>Sun, 17 Jul 2016 20:02:11 GMT</pubDate></item><item><title><![CDATA[Reply to Ajout protocole Domoticz on Tue, 05 Apr 2016 14:02:07 GMT]]></title><description><![CDATA[<p dir="auto">bah j'ai hâte moi maintenant, je me suis trouver une antenne wifi + son cable et le connecteur qui va bien (ensemble piquer a une alicebox) pour le brancher sur ESP 07 de ma carte Wifinfo, un petit trou dans le boitier pour la fixer, et j'ai gagné énormément en émission/réception.</p>
]]></description><link>http://community.ch2i.eu/post/1340</link><guid isPermaLink="true">http://community.ch2i.eu/post/1340</guid><dc:creator><![CDATA[Deennoo]]></dc:creator><pubDate>Tue, 05 Apr 2016 14:02:07 GMT</pubDate></item><item><title><![CDATA[Reply to Ajout protocole Domoticz on Mon, 04 Apr 2016 16:20:28 GMT]]></title><description><![CDATA[<p dir="auto">Arff j'ai encore lu trop vite, ok je viens de voir pour le login/password <img src="http://community.ch2i.eu/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=fd8776ac13b" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";-)" alt="😉" /></p>
]]></description><link>http://community.ch2i.eu/post/1334</link><guid isPermaLink="true">http://community.ch2i.eu/post/1334</guid><dc:creator><![CDATA[Charles]]></dc:creator><pubDate>Mon, 04 Apr 2016 16:20:28 GMT</pubDate></item><item><title><![CDATA[Reply to Ajout protocole Domoticz on Mon, 04 Apr 2016 13:37:54 GMT]]></title><description><![CDATA[<p dir="auto">Ok super merci, en fait c'est figé c'est ça que j'avais pas capté (pas lu la doc), c'est impek maintenant.</p>
<p dir="auto">Sinon, mode parano,  pas de mot de passe, pas d'API key, c'est chaud qd même , n'importe quel prog peu balancer ce qu'il veut ?</p>
]]></description><link>http://community.ch2i.eu/post/1333</link><guid isPermaLink="true">http://community.ch2i.eu/post/1333</guid><dc:creator><![CDATA[Charles]]></dc:creator><pubDate>Mon, 04 Apr 2016 13:37:54 GMT</pubDate></item><item><title><![CDATA[Reply to Ajout protocole Domoticz on Mon, 04 Apr 2016 12:11:09 GMT]]></title><description><![CDATA[<p dir="auto">la requete :</p>
<p dir="auto"><a href="http://127.0.0.1:8080/json.htm?type=command&amp;param=udevice&amp;idx=41&amp;nvalue=0&amp;svalue=76018836;34245564;0;0;1160;0" target="_blank" rel="noopener noreferrer nofollow ugc">http://127.0.0.1:8080/json.htm?type=command&amp;param=udevice&amp;idx=41&amp;nvalue=0&amp;svalue=76018836;34245564;0;0;1160;0</a></p>
<p dir="auto">Va mettre a jour mon compteur qui porte le numero de device : 41,<br />
en specifiant Usage 1 : Heure Pleine index = 76018836,<br />
Usage 2 = index heure creuse : 34245564,<br />
Pas d'index de production ni en tarif 1 ni en tarif 2 donc : ;0;0<br />
Mon PAPP : 1160w a l'instant<br />
Pas de production donc : 0</p>
<p dir="auto">Je ne peux pas te répondre quand a idx...il commence a 1 pour le premier "objet" trouvé/cree dans la base jusqu a l'infini et au dela !</p>
]]></description><link>http://community.ch2i.eu/post/1330</link><guid isPermaLink="true">http://community.ch2i.eu/post/1330</guid><dc:creator><![CDATA[Deennoo]]></dc:creator><pubDate>Mon, 04 Apr 2016 12:11:09 GMT</pubDate></item><item><title><![CDATA[Reply to Ajout protocole Domoticz on Mon, 04 Apr 2016 11:59:44 GMT]]></title><description><![CDATA[<p dir="auto">Super merci,</p>
<p dir="auto">idx peut aller de combien à combien ? c'est une valeur 8 bits/16bits ou plus ?</p>
<p dir="auto">Tu pourrais me mettre 1/2 exemple de requête complète qu'envoi ton script pour être sûr ?</p>
<p dir="auto">Merci à toi</p>
]]></description><link>http://community.ch2i.eu/post/1327</link><guid isPermaLink="true">http://community.ch2i.eu/post/1327</guid><dc:creator><![CDATA[Charles]]></dc:creator><pubDate>Mon, 04 Apr 2016 11:59:44 GMT</pubDate></item><item><title><![CDATA[Reply to Ajout protocole Domoticz on Mon, 04 Apr 2016 12:01:50 GMT]]></title><description><![CDATA[<p dir="auto">Bonjour Charles.</p>
<p dir="auto">Actuellement : Pour avoir le retour de Wifinfo dans Domoticz, Il cree un "Dummy" Electricity P1 smart meter : c'est un compteur inteligent qui accepte : consommation sur 2 tarif, production sur 2 tarif, conso actuel + production actuel</p>
<p dir="auto">Plus d'info sur l'API Json de Domoticz pour ce type de compteur :</p>
<p dir="auto"><a href="https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's#Electricity_P1_smart_meter" target="_blank" rel="noopener noreferrer nofollow ugc">https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's#Electricity_P1_smart_meter</a></p>
<p dir="auto">Idx n'est pas l'ACDO, mais le numero de Device dans la base de Domoticz.</p>
<p dir="auto">Ci dessous le script que j'utilise :</p>
<pre><code>var http = require("http");

function handleWifInfo(d)
{
  console.log("handle d : " + d);
  var obj = JSON.parse(d);
  var opt = buildGetObject("127.0.0.1", "/json.htm", 8080);
  opt.path += "?type=command&amp;param=udevice&amp;idx=41&amp;nvalue=0";
  opt.path += "&amp;svalue=" + obj.HCHP  + ";";
  opt.path += obj.HCHC + ";0;0;";
  opt.path += obj.PAPP + ";0";

  console.log("path to call : " + opt.path);
  httpGet(opt);
}

function buildGetObject(hostname, path, port)
{
  var obj = { };
  obj.hostname = hostname;
  obj.port = (port == undefined) ? 80 : port;
  obj.path = path;
  obj.method = "GET";
  return obj;
}

function httpGet(opt, func)
{
  var datas = "";
  var req = http.request(opt, function(res)
  {
    // Gère les morceaux de réponse.
    res.on("data", function(buffer)
    {
      console.log("data received");
      datas += buffer;
    });
    // Gère le traitement final si besoin.
    res.on("end", function()
    {
      console.log("end of http request");
      console.log("func is " + ((func == undefined) ? "undefined" : "defined"));
      if (func != undefined)
        func(datas);
    });
    res.on("error", function(e)
    {
      console.log("Error : " + e.message);
    });
  });
  req.end();
}

var opt = buildGetObject("192.168.0.35", "/json");
httpGet(opt, handleWifInfo);

</code></pre>
<p dir="auto">Ou idx=41 : 41 = le numero de device dans ma base Domoticz.</p>
<p dir="auto">192.168.0.35 = ip de Wifinfo</p>
<p dir="auto">127.0.0.1:8080 : l'adresse de mon domoticz, ce script etant executer toutes les 5 minutes de mon serveur</p>
<p dir="auto">IL faut penser au fait que beaucoup on des nom d'utilisateurs et des mots de passe associé :</p>
<p dir="auto">du coup l'url pour mettre a jour le compteur va etre : http://<a target="_blank" rel="noopener noreferrer nofollow ugc">username:password@</a>domoticz-ip&lt;:port&gt;/json.htm?type=command&amp;param=udevice&amp;idx=IDX&amp;nvalue=0&amp;svalue=USAGE1;USAGE2;RETURN1;RETURN2;CONS;PROD</p>
<p dir="auto">Comme tu le vois dans le code du parser, si pas de production d'elec : mettre les valeurs a 0</p>
<p dir="auto">Si dessous le Json de mon Wifinfo HP/HC :</p>
<pre><code>{
_UPTIME: 16674,
ADCO: 29922105039,
OPTARIF: "HC..",
HCHC: 34245564,
HCHP: 76018836,
PTEC: "HC..",
IINST: 5,
IMAX: 43,
PAPP: 1160,
HHPHC: "A",
MOTDETAT: 0,
ISOUPAPP: 580,
ISOUSC: "45PAPP"
}```

esperant avoir aidé.</code></pre>
]]></description><link>http://community.ch2i.eu/post/1325</link><guid isPermaLink="true">http://community.ch2i.eu/post/1325</guid><dc:creator><![CDATA[Deennoo]]></dc:creator><pubDate>Mon, 04 Apr 2016 12:01:50 GMT</pubDate></item></channel></rss>