Je me suis équipé récemment d'une sonde FullUp (https://fullup.be/) qui effectue un suivi du volume de mazout restant dans la citerne.
[Edit] Ce type de jauge permet de surveiller plusieurs citernes eau/mazout/(liquide), on peut acheter des jauges additionnelles sans le module de communication (voir post ci-dessous).
Après pas mal d'investigation, un coup de pouce de @jojo qui m'a aiguillé vers un forum eedomus qui m'a permis de mieux comprendre le bazar, et finalement une analyse des échange client-serveur grace à l'extension Chrome "Advanced Rest Client Application", j'ai réussi à mettre au point une scène LUA qui récupère le volume courant et le stocke dans une variable globale. Après vous pouvez en faire ce que vous voulez
La variable globale à créer s'appelle "FullUpVolume", et voici le script:
--[[
%% properties
%% events
%% globals
--]]
local token;
function GetVolume()
fibaro:debug("GetTankData");
local http = net.HTTPClient({timeout=1000});
http:request('https://api.fullup.be/tanks',
{
success = function(response)
if response.status == 200 then
-- fibaro:debug('OK, réponse : '.. response.data)
local jsonTable = json.decode(response.data);
local volume = jsonTable.result[1].conso_step.volume;
fibaro:debug("Volume: " .. volume);
fibaro:setGlobal("FullUpVolume", volume);
else
fibaro:debug("Erreur : status=" .. tostring(response.status))
end
end,
error = function(err)
fibaro:debug("Erreur : " .. err)
end,
options = {
method = 'GET',
headers = {["Accept"]="application/json, text/plain, */*",
["Authorization"]="bearer " .. token,
["DNT"]="1",
["Origin"]="https://app.fullup.be",
["Referer"]="https://app.fullup.be/"
}
}
});
end
function GetToken()
fibaro:debug("GetToken");
local http = net.HTTPClient({timeout=1000});
http:request('https://api.fullup.be/auth/generate',
{
success = function(response)
if response.status == 200 then
-- fibaro:debug('OK, réponse : '.. response.data)
local jsonTable = json.decode(response.data);
token = jsonTable.result.token;
GetVolume();
else
fibaro:debug("Erreur : status=" .. tostring(response.status))
token = "error";
end
end,
error = function(err)
fibaro:debug("Erreur : " .. err)
token = "error";
end,
options = {
method = 'POST',
data = '{"language": "fr", "email": "VOTRE_EMAIL", "password": "VOTRE_MOT_DE_PASSE"}'
}
});
end
GetToken();
Il faut bien entendu remplacer VOTRE_EMAIL et VOTRE_MOT_DE_PASSE par vos infos de compte FullUp.
Pour les curieux, décommentez la ligne -- fibaro:debug('OK, réponse : '.. response.data) dans GetVolume() pour voir tout ce qui est envoyé par le serveur, il y a un paquet d'infos, dont l'historique.
Bon amusement!