Hallo Gemeinde, vielleicht kann mich hier jemand mit seinen LUA Kenntnissen unterstützen. Würde gerne folgendes implementieren. Wenn Wallplug über xx Watt, dann prüfen ob SONOS spielt. Wenn ja, Anzeige an VU+ - Achtung: SONOS läuft - 1 Anhalten (default) 2 laufen lassen - keine Antwort nach 30 sec - ebenfalls anhalten. Im Grunde gibt es die Sachen teilweise hier im Forum, nur gelingt es mir nicht die Teile funktionell zusammenzufügen. Größter Knackpunkt (hierzu habe ich den notwendigen Code leider noch nicht gefunden) - die SONOS Abfrage für das Krikroff VD um den Status abzufragen. Danke schon mal für die Unterstützung
Hi,
Du kannst über das Sonos Plugin den State (Play, Stop…) abfragen.
Viele Grüße Hoggle
Könnte wie folgt aussehen:
if (fibaro:getValue(5, "state") == "STOPPED") then
fibaro:debug("The state is: " .. fibaro:getValue(5, "state"));
fibaro:setGlobal("SONOS_RADIO", "radiohamburg.hoerradar.de/radiohamburg-live-mp3-192?");
fibaro:call(206, "pressButton", "1");
elseif (fibaro:getValue(5, "state") == "PLAYING") then
fibaro:debug("The state is: " .. fibaro:getValue(5, "state"));
fibaro:call(206, "pressButton", "4"); --Stop
end
@Hoggle - Vielen Dank. Hab das Puzzle nun zusammengesetzt und es funktioniert. Sicher ist innerhalb des Codes optimierungspotential, dennoch poste ich es mal:
--[[
%% properties
79 power
%% events
%% globals
--]]
local wallplug = 79 -- wallplug
local tvon = 50 -- Verbrauch, ab Fernsehbetrieb
if (((tonumber(fibaro:getValue(wallplug, "power")) > tvon)) and
(fibaro:getValue(112, "ui.lblState.value") == "Stopped")) then
fibaro:debug("The state is Stopped: " .. fibaro:getValue(112, "ui.lblState.value"));
--fibaro:call(206, "pressButton", "1");
elseif (fibaro:getValue(112, "ui.lblState.value") == "Playing") then
fibaro:debug("The state is Playing: " .. fibaro:getValue(112, "ui.lblState.value"));
fibaro:call(10, "pressButton", "46"); --Vu+ WZ SONOS Pause ;
elseif (fibaro:getValue(112, "ui.lblState.value") == "Radio Playing") then
fibaro:debug("The state is Radio Playing: " .. fibaro:getValue(112, "ui.lblState.value"));
fibaro:call(10, "pressButton", "46"); --Vu+ WZ SONOS Pause ;
end