Sonos Play1 mit Motion Sensor starten

Hallo,

wie ich hier lese sind sehr viel aktive User im Forum unterwegs die sich mit LUA auskennen. Ich bin noch recht neu in der Materie und lerne noch dazu. Ich bin dabei mein Haus mit Fibaro zu steueren. Und fange gerade an ein Paar szenen zu erstellen. Jetzt möchte ich gerne mein Sonos Play1 in der Küche starten sobald eine Bewegung erkannt wird. Und wenn keine Bewegung für etwa 2 Minuten erkannt wird der Player wieder pausiert.

Ich konnte das bisher finden:

http://forum.fibaro.com/index.php?/topic/12344-sonos-virtual-device/#entry8685

und das hier:

http://siio.de/lichtschatten/fibaro-szene-licht-solange-bewegung/

Wie bekomme ich jetzt beides zusammen? :frowning:

Hallo,
Das würde mir auch helfen.
Gestern habe ich festgestellt, das ich Sonos nicht über Szenen einbinden kann bzw nicht ohne Umwege.
Virtuelle Geräte habe ich noch nicht probiert…

VG Hoggle

Hallo zusammen.

Hab da mal was zusammengefasst. Könnte mir vorstellen dass euch das hilft:

https://doonic.wordpress.com/2015/08/14/sonos-und-fibaro-hc2/

Cheers
doonic

großartige Arbeit @doonic - Lob unter #Bloggern.
Wenn du erlaubst, verlinke ich das bei uns in der Fibaro Wissensdatenbank: http://siio.de/fibaro-downloads-virtuelle-module-szenen/
… und wenn du mal auf siio schreiben willst, sagst du einfach Bescheid :wink:

Echt genial.
Genau – viele Beiträge fangen an und verheddern sich dann in Updates und einzelnen Ergänzungen!
Danke!

@crissxcross
Klar kannst du das verlinken. Solange es anderen hilft ist das Ziel erreicht. :slight_smile:

Hi,

ich bekomme einen Fehler:
[DEBUG] 16:36:07: line 1: unexpected symbol near char(226)

Habe dieses Script:

–[[ 
%% properties 
46 value
5 value
%% globals 
–]]
— MOTION-Sensor muss unter %% properties aufgeführt sein
— Definitionen
local scene = 6; — ID dieser Szene
local sonosCommander = 46; — ID des SONOS Commanders
local motion = 5; — ID des Bewegungssensors
local volume = 20; — Lautstärke festlegen
local time = 0;
local timereset = 60; — Verzögerung (in Sekunden) nach der letzten Bewegung, bevor der Radio ausschaltet.
fibaro:setGlobal(„SONOS_RADIO“, „player.ffn.de/ffn.mp3„); — Radio Sender der globalen Variabel zuweisen
— Lösche vorhandene Szenen
if (fibaro:countScenes()>1) then 
fibaro:abort(); 
end
— Bewegung erkannt & Radio einschalten
if tonumber(fibaro:getValue(motion, „value“)) > 0 then 
fibaro:call(sonosCommander, „setSlider“, „7“, volume); — Lautstärke festlegen
fibaro:call(sonosCommander, „pressButton“, „1“); — Radio starten
fibaro:debug(„1: Starte Radio“);
— Schleife die prüft ob in der Zwischenzeit wieder eine Bewegung erkannt wurde. (Falls ja, wird der Timer zurückgesetzt) 
repeat
if tonumber(fibaro:getValue(motion, „value“)) > 0 then
time = 0;
else
time = time + 1;
end
fibaro:sleep(999);
fibaro:debug(„2: Zeit ohne Bewegung“ .. time ..“ von “ .. timereset);
until time > timereset
— Schalte Radio aus, da Timer abgelaufen
fibaro:call(sonosCommander, „pressButton“, „4“); — Radio anhalten
fibaro:debug(„3: Timer abgelaufen, Radio ausgeschalten.“);
fibaro:killScenes(scene); 
end

Fehler beim kopieren…

Die — & „“ -Zeichen sind falsch und müssen durch & " ersetzt werden.

Gruß

Ok, danke.
Ich bin gerade erst dabei alles zu lernen.
Wie kann ich nun noch definieren, dass das Skript nur von 7:00 Uhr morgens bis 8:00 Uhr aktib sein soll?

Hi,

hierzu kannst Du in Deinem Script die If-Schleife (Zeile 21)ergänzen:

if ( currentTime >= "07:00" and currentTime < "08:00") and tonumber(fibaro:getValue(motion, „value“)) > 0 then

Bei den Definitionen fügst Du noch ein:
local currentTime = os.date("%H:%M");

VG Hoggle