Sonos Plugin - mit Variablen Steuerung

Hallo, vielleicht kann mir hier jemand helfen, ich habe dieses Script gefunden und wollte es bei mir anpassen, leider bekomme ich immer wieder fehler in Zeile 17, wenn ich diese auslasse kommt der nächste Fehler in Zeile 25 und ich weiß nicht warum.
Da ich noch neu hier bin, wäre ich für eine Unterstützung dankbar.
Hier mein LUA Script.

Ich habe das Script hier gefunden: https://doonic.wordpress.com/2015/08/14/sonos-und-fibaro-hc2/
und habe es dann auf mich angepasst.

--[[
%% properties
95 value
56 value
%% globals
--]]
-- MOTION-Sensor muss unter %% properties aufgeführt sein

-- Definitionen
local scene = 8; -- ID dieser Szene
local sonosCommander = 95; -- ID des SONOS Commanders
local motion = 56; -- ID des Bewegungssensors
local volume = 20; -- Lautstärke festlegen
local time = 0;
local timereset = 600; -- Verzögerung (in Sekunden) nach der letzten Bewegung, bevor der Radio ausschaltet.

ZEILE 17: fibaro:setGlobal(„SONOS_RADIO“, „radiopilatus.ice.infomaniak.ch/pilatus128.mp3„); -- Radio Sender der globalen Variabel zuweisen

-- Lösche vorhandene Szenen
if (fibaro:countScenes()>1) then
fibaro:abort();
end

-- Bewegung erkannt & Radio einschalten
ZEILE 25: 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

DANKE
Gruß Micha

Die benötigte Variable hast du manuell angelegt? IDs angepasst?

Gruß

Hallo Michael,

das Problem sind die " in deinem Code. Dies passiert meist durch copy & paste.
Ersetzte diese dann sollte es klappen. Du erkennst es wenn wenn alle " oben angeführt sind
nicht wie in deinem Code unten für geöffnet und oben für geschlossen.

Gruß
ChrisBeat

Grundsätzlich ist das korrekt. Wenn es darain liegen würde, dann würde aber eine andere Fehlermeldung erscheinen :wink:

Gruß

Hallo, das ist ja super das man hier so schnell Antwort bekommt.
Ich habe alle nach " nach oben gesetzt, ist aber immer noch die selbe Fehlermeldung und es zieht sich durch.
Wenn ich Zeile 17 ausgraue kommt der selbe Fehler in Zeile 25 dann in 26.
Welche Variablen soll ich da noch anlegen.
Die einzige Variable die ich angelegt habe war die SONOS_RADIO
Mehr war nicht in der Anleitung gestanden.
Gruß Micha

Jetzt habe ich gesehen dass hier kursiv geschriebene " waren diese habe ich jetzt durch normale ersetzt und siehe da es läuft durch.
DANKE, das macht ja echt spaß wenn man ein Szene wieder ohne Fehler durch läuft

Hallo, es tut mir leid das ich mich jetzt noch mal melden muss, das Script läuft jetzt zwar ohne Fehler durch, im Debug zeigt es an radio an aber es rührt sich nichts.
Wenn ich den Radio starte über den Sonos Commander im Fibaro funktioniert es. Ich habe aber aus dem Script nichts entfernt. Was kann das noch sein?
Gruß Micha

Hallo Michael,

hast Du die ID des SONOS Commanders angepasst?

local sonosCommander = 95; – ID des SONOS Commanders

Gruß
ChrisBeat

Halo Chris,
ja habe ich, wie beschrieben haben ich es aus der URL raus gelesen /fibaro/de/devices/virtual_edit.html?id=95
Im sonos Commander wird aber erst Radio abgespielt wenn ich auf Play drücke, ist das korrekt?
Obwohl ich unter Play Sound und Stop Sound keine IP Adresse und Port eingetragen habe.
Kann es mit dem zusammen hängen?
Gruß Micha

IP und Port zieht er sich aus dem Angaben im “Allgemein”-Reiter des VD.

Da ich jetzt auch am rumprobieren bin, habe ich erstmal eine Verständnis frage dazu:

Ich nutze das VD von Krikroff. Kann man das Script von hier trotzdem verwenden ( sofern ich dann hier z.B. die Variable erstelle )

Oder geht das so nicht?!

Danke schon mal.