Hallo Zusammen,
was soll man auch an einem Sonntag machen ausser mit Fibaro zu experementieren.
Vorweg, ich kenne mich mit LUA nicht aus und es ist mehr COPY and PASTE, aber es funktioniert.
Ausgangssituation:
Im Bad haben wir uns eine Play 1 von Sonos aufgehangen. Nun möchten wir aber gerne da Musik hören oder morgens nach dem aufstehen die Nachrichten,
ohne das man immer mal ein Tablet oder Handy dabei hat.
Lösung:
Für’s Bad habe ich einen Wallplug inkludiert und eine Szene erstellt, die folgendes bewirkt:
Wenn ich den Wallplug am Knopf einschalte, dann warte 30 Sekunden, damit die Play 1 sich im Netzwerk anmeldet und spiele dann den Radio Stream ab
der in dem Script gesetzt wird.
Dafür habe ich dann den SONOS Commander installiert, damit der entsprechende Button gedrückt wird.
Mein Script sieht so aus (es war vorher eine Blockszene):
--[[
%% properties
155 value
%% weather
%% events
%% globals
--]]
local startSource = fibaro:getSourceTrigger();
if(startSource["type"] == "other") then
fibaro:setGlobal("SONOS_RADIO", "stream.inselradio.com:20800/high.inselradio.mp3");
fibaro:call(153, "pressButton", "1");
else
if (( tonumber(fibaro:getValue(155, "value")) > 0 )) then
setTimeout(function()
local delayedCheck0 = false;
local tempDeviceState0, deviceLastModification0 = fibaro:get(155, "value");
if (( tonumber(fibaro:getValue(155, "value")) > 0 ) and (os.time() - deviceLastModification0) >= 30) then
delayedCheck0 = true;
end
local startSource = fibaro:getSourceTrigger();
if (
( delayedCheck0 == true )
or
startSource["type"] == "other"
)
then
fibaro:setGlobal("SONOS_RADIO", "stream.inselradio.com:20800/high.inselradio.mp3");
fibaro:call(153, "pressButton", "1");
end
end, 30000)
end
end
ID 155 ist vom Wallplug und ID 153 ist der SONOS Commander.
Vielleicht kann die Idee ja der ein oder andere gebrauchen. Ansonsten bin ich auch für Ideen offen wie es eleganter zu lösen ist.
Schönen Sonntag noch.
Gruss
Carsten