Aller au contenu

Messages recommandés

Posté(e) (modifié)

Bonjour,

 

J'ai actuellement un WallPlug qui alimente une armoire informatique et je souhaite savoir s'il est possible de verrouillé ce WallPlug.

 

C'est à  dire, qu'il y ait une demande de mot de passe lorsque l'on clique sur on/off depuis un iPhone/iPad par exemple.

 

J'ai vu qu'on pouvait le cacher dans le système, mais alors du coup la consommation n'apparait plus non plus...

Je souhaite qu'il reste visible mais que sont utilisation soit protégée.

Une fausse manipulation, un doigts qui traine là  où il faut pas sur l'écran et hop, ça coupe tout :(... pas bon ça...

 

merci d'avance pour vos conseil...

 

JJacques68

Modifié par Lazer
Sujet déplacé
Posté(e)

il y a peut-être plus simple, si en fait tu ne veux pas l'éteindre par mégarde :

mettre le paramètre 1 (Always On) àactif.

Tu ne sauras même plus l'éteindre par l'interface ou physiquement avec le petit bouton.

Il agira donc uniquement comme mesure d'intensité de courant.

Je n'ai pas testé si par LUA il était possible de l'allumer/éteindre.

Posté(e)

Oui jojo c'est bien ma proposition, d'utiliser les paramètre du wallplug pour cela ;) et oui c'est possible en lua: désactiver le paramètre 1 allumer ou éteindre puis réactiver le paramètre 1. J'utilise cela pour avoir la main sur la xboxone familiale

Envoyé de mon smartphone

Posté(e)

sorry Krikroff :94: , j'avais lu ta réponse trop vite, j'étais allé directement au lien (très intéressant par ailleurs)

Posté(e)

ok j'ai bien compris le paramètre 1.

 

Par contre comment désactiver ce paramètre 1 dans une scène ?

 

Je vois pas quel propriété utilisée... (ci-joint miniature...)

 

merci pour vos idées !!

post-5094-0-16423600-1452381928_thumb.png

Posté(e)

alors cela va être TRES chaud pour l'expliquer.

Je te propose de regarder dans ma signature un exemple de comment on peut jouer avec les json (Panneaux de chauffage en fonction...)

Ou si Krikroff repasse, comme il a fait cela pour sa xboxone, il pourrait te donner son code "tout cuit" ?

Posté(e)
----------------------------------
-- DO not change bellow this line
---------------------------------

local HC2 = Net.FHttp("127.0.0.1",11111)
-- détermination de la version du firmware
local GETheating = ""
payload = "/api/settings/info"
response, status, errorCode = HC2:GET(payload)
if tonumber(status) == 200 
  then
    jsonTable = json.decode(response)
    if tonumber(jsonTable.softVersion) >= 4 
      then
	version = "4.x"
        GETheating = "/api/panels/heating/"
      else
	version = "3.x"
        GETheating = "/api/panels/heating?id="
      end
   else
   fibaro:debug('<span style="color:red;">status='..status..', errorCode='..errorCode..',    payload='..payload..', response='..response..'</span>')
end

-- fonction de mise à  jour du heating panel
-- si handTemperature == 0, c'est en auto
function HeatPanel(id,HandTmp)
jsonpanel = HC2:GET(GETheating ..id)
jsontable = json.decode(jsonpanel)
handTimestamp = jsontable.properties.handTimestamp
handTemperature = jsontable.properties.handTemperature
name = jsontable.name
NouveauPanel = ('{"id":' ..id.. ',"name":"'..name.. '","properties":{"handTemperature":' ..handTemperature.. ',"handTimestamp": ' ..handTimestamp.. ',"vacationTemperature":' ..HandTmp.. '}}')
HC2:PUT(GETheating ..id, NouveauPanel)
end

c'est dans ce code que ça se trouve ? mais là  tu ne fais que lire des valeurs en json ? non ? tu n'en modifies pas ?

 

 

Posté(e)

je les lis, puis les modifient ici

NouveauPanel = ('{"id":' ..id.. ',"name":"'..name.. '","properties":{"handTemperature":' ..handTemperature.. ',"handTimestamp": ' ..handTimestamp.. ',"vacationTemperature":' ..HandTmp.. '}}')
HC2:PUT(GETheating ..id, NouveauPanel)
Posté(e)

Bon en gros cela donne ceci:

 

Pour le ON

local deviceID = 445; 

local json = '{"id":'..deviceID..',"properties":{"parameters":[{"id": 1,"size": 1,"value": 0}]}}';
local HC2 = Net.FHttp("127.0.0.1", 11111);
local response, status, errorCode = HC2:PUT("/api/devices/"..deviceID, json)

if tonumber(status) == 200 then
  fibaro:debug("Security locked");
  fibaro:sleep(1000);
  fibaro:call(deviceID, "turnOn");
  fibaro:debug("PSU ON");
else
  fibaro:debug("Try again "..deviceID.. " "..status); 
end

Et pour le OFF

local deviceID = 445; 

local json = '{"id":'..deviceID..',"properties":{"parameters":[{"id": 1,"size": 1,"value": 1}]}}';
local HC2 = Net.FHttp("127.0.0.1", 11111);
local response, status, errorCode = HC2:PUT("/api/devices/"..deviceID, json)

if tonumber(status) == 200 then
  fibaro:debug("Security unlocked");
  fibaro:sleep(1000);
  fibaro:call(deviceID, "turnOff");
  fibaro:debug("PSU OFF");
else
  fibaro:debug("Try again "..deviceID.. " "..status); 
end

Et pour le FUN ;) ...

 

 

 

Capture.PNG

post-3-0-53392500-1452385278_thumb.png

Posté(e)

Re-bonjour messieurs !!

 

alors je viens donner des nouvelles, donc j'ai créé une scène en mettant ton code Krikroff et malheureusement j'ai un message d'erreur...

Voilà  le printscreen : (miniature)

 

si tu as une idées...

post-5094-0-85262100-1452417329_thumb.png

Posté(e)

Oui ce code ne fonctionne que dans un VD. Je te post une version compatible avec une scène asap...

Envoyé de mon smartphone

Posté(e)

@Nico, oui et même plusieurs avec la 4.061b, des templates différents et des modules qui doivent être reconfigurés :huh:

Posté(e)

@jjacques68,

 

Voici la version scène pour enlever la protection puis éteindre le WallPlug, je te laisse faire la version inverse: il faut mettre les mains dedans pour que cela rentre ;)

local deviceID = 445

local httpClient = net.HTTPClient();
httpClient:request('http://127.0.0.1:11111/api/devices', {
    success = function(response)
      if tonumber(response.status) == 200 then
        print("Security unlocked");
        fibaro:sleep(1000);
        fibaro:call(deviceID, "turnOff");
        print("PSU OFF");
      else
        print("Response error " .. response.status)
      end
    end,
    error = function(err)
      print('Request error ' .. err)
    end,
    options = {
      method = 'PUT',
      headers = {
        ["content-type"] = 'application/json'
      },
      data = '{"id":'..deviceID..',"properties":{"parameters":[{"id": 1,"size": 1,"value": 1}]}}'
    }
  });
×
×
  • Créer...