seit einiger zeit nutze ich das Sonos Node-Sonos-HTTP-API auf einem Raspberry Pi in Verbindung mit dem HC2. Das funktioniert soweit auch super und ich bin zufrieden damit. Es fehlt mir nur noch ein Punkt, um komplett zu wechseln vom Sonos Commander zur Node-Sonos-HTTP-API. Ich nutze im Bad und in der Küche jeweils als Fernbedienung für die Sonos die NOD ON Octan Fernbedienung. Dort habe ich eine Funktion womit ich den Sender Wechseln kann. Dies wird mittels eines Sliders realisiert.
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==30)
then
local Sender = ( tonumber(fibaro:getValue(sonosCommander, "ui.Senderbtn.value")));
if ( tonumber(Sender)) < 10
then Sender = 11
elseif ( tonumber(Sender)) > 25
then Sender = 21
end
Senderneu = (Sender+ 1)
fibaro:call(sonosCommander, "setSlider", "36", Senderneu); -- Sender in Slider speichern
fibaro:call(sonosCommander, "pressButton", Senderneu); -- Sendertaste drücken
fibaro:sleep(1*1000);
fibaro:call(sonosCommander, "pressButton", "7"); -- Play drücken
if debug then Debug( "green", " Radiosender gewechselt von: " .. Sender .. " auf: " .. Senderneu);
end
Bei der Node-Sonos-HTTP-API habe ich aber keinen Slider, sondern nur 6 Buttons mit den Radiosendern (siehe Foto). Jemand eine Idee wie ich einen Senderwechsel per Tastendruck auf der Fernbedienung ausführen kann?
danke für deine Antwort! klingt in der Theorie ziemlich einfach :-). Ich brauche trotzdem etwas Unterstützung. Die ID´s der Butten habe ich herausgefunden:
Ich verstehe aber nicht wie ich das jetzt ohne den Slider hinbekomme. Vorher hat er ja den Slider abgefragt und entsprechend den Sender in den Slider geschrieben. Vielleicht könntest du mir hier helfen den Code anzupassen?
Dann nimmst du jetzt anstatt dem Slider eine Globale Variable oder ein Label im VD. Diesen fragst du ab, schaltest dein Radio und addierst 1 dazu. Beim nächsten Drücken würde dann die 19 folgen, dann 20, usw. Wenn der Wert 23 ist, dann setzt du wieder den Wert 18. Dies kannst du in beide Richtungen (oben/unten) umsetzen.
okay das bedeutet das in dem Lable nichts steht und deshalb er eine Null ausgibt. Also muss ich das Lable mit einer Zahl befüllen. Das habe ich jetzt so gelöst:
Jetzt kommt zwar keine Fehlermeldung mehr, aber er wechselt den Sender auch nicht. Da stimmt noch was mit den ID´s nicht also welchen Button er drücken soll oder?
hab wie du schon gesagt hast mir Debugs eingebaut, und mich somit Stück für Stück durchgearbeitet. Jetzt Funktioniert alles, danke für deine Unterstützung.