HC2 - VD Lua Skript für Shelly Plug

Ich möchte einen Shelly Plug mittels Lua in einem VD ein- bzw. ausschalten.
http://192.168.0.153/relay/0?turn=on
http://192.168.0.153/relay/0?turn=off
Da das normale Lua nicht in einem VD funktioniert stehe ich daneben. Momentan habe ich jeweils eine Szene fürs ein- und schalten erstellt.
"fibaro:startScene(1415) "
Die kann ich im VD jeweils mit dem Button ansprechen - ist mir zu unelegant und aufwändig bei mehreren Shellys. Muss doch direkt gehen. Aber wie?

Hallo,
Mit diesem VD sollte es gehen.

Gruß, Stefan

Shelly_1.zip (845 Bytes)

Ich suche nach einer Möglichkeit die Leistung (Watt) abzufragen und scheitere bisher daran.
Kann da jemand helfen?

Gruß und danke,
Stefan

Hallo, genau diese Möglichkeit suche ich auch. Hat jemand eine Idee wie das geht?
Evtl. Lua Script die den Shelly ausliest und eine Varable setzen kann?

Habe es mittlerweile rausgefunden.

In dem Skript ist auch noch die Möglichkeit eingebaut das externe Temperatursensor Modul mit zwei Sensoren auszulesen. Das muss rausgelöscht werden, falls kein Temperaturfühler verwendet wird.

Ich lasse das Skript alle 10 Sekunden ausführen und fülle damit z.B. die Labels in einem VD.

Gruß,
Stefan Kraft

--[[
%% properties
%% globals
--]]


local ShellyIP = fibaro:getGlobalValue("ShellyIP_PV", ipaddress); -- Shelly IP


local http = net.HTTPClient()


function call(url)
  http:request(url,
    {
      options = {method = 'GET' },
      success = function(response)
        
        local ShellyData = response.data

		jsonTable = json.decode(ShellyData);  
        
        
        -- Watt auslesen --
        power = (jsonTable.meters[1].power);
        	fibaro:debug(power .." W")        
        	fibaro:setGlobal("PV_Watt", power)
      
        
        
        -- Externer Tempersaturfühler Modul (löschen wenn nicht vorhanden)
        -- Temperaturfühler Nr. 0
        Temp0 = (jsonTable.ext_temperature['0']['tC']);     
            fibaro:setGlobal("atemperatur", Temp0)
            fibaro:debug(Temp0 .." ° C") 
        -- Temperaturfühler Nr. 1
        Temp1 = (jsonTable.ext_temperature['1']['tC']);   
            fibaro:setGlobal("SonneTemp", Temp1)
            fibaro:debug(Temp1 .." ° C")   
        -----------------------------------------------------------
        
      
        end, error = function(errorcode) fibaro:debug("error=" .. errorcode)  
                
      end }) 

end

call("http://" ..ShellyIP ..":80/status")

Danke! Werde es mal testen!

Hallo Stefan, vielen Dank nochmal. Vorher noch schnell die Variable „PV_Watt“ eingerichtet und dann läufts einwandfrei.