<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Test&#x2F;Support Adapter SqueezeboxRPC]]></title><description><![CDATA[<p dir="auto">Hallo,<br />
ich habe einen neuen Adapter programmiert, der im Vergleich zum bisherigen Adapter<br />
das RPC/JSON-Protokoll des Logitech Media Servers nutzt.<br />
Dieses Protokoll bietet mehr Möglichkeiten und ist besser zu verarbeiten, wie das bisher genutzte Telnet-Protokoll.<br />
Diverse Daten aus dem Server, den verschiedenen Playern und die eingestellten Favoriten (mit Einschränkung)<br />
werden bereits bereit gestellt.<br />
Gesteuert werden kann für jeden Player: Aus/An, Play/Stop/Pause, Lautstärke und 6 Preset-Knöpfe<br />
Eine genaue Auflistung ist auf englisch unter folgendem Link zu finden:<br />
<a href="https://github.com/oweitman/iobroker.squeezeboxrpc" rel="nofollow ugc">https://github.com/oweitman/iobroker.squeezeboxrpc</a></p>
<p dir="auto">Ich freue mich wenn ein paar den Adapter testen könnten und mir Feedback geben könnten.<br />
Wie gesagt ist das mein erster Adapter.</p>
<p dir="auto">Funktionsfähig ist dieser Adapter bereits in meiner Visualisierung eingebaut:<br />
<img src="/assets/uploads/files/1555374287952-47148045-249a-4509-8db7-c9717f24dc03-image.png" alt="47148045-249a-4509-8db7-c9717f24dc03-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Viele Grüße<br />
Oliver</p>
]]></description><link>https://forum.iobroker.net/topic/21809/test-support-adapter-squeezeboxrpc</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 14:09:17 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/21809.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Apr 2019 00:20:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Mon, 15 Dec 2025 10:37:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hoschi2007" aria-label="Profile: hoschi2007">@<bdi>hoschi2007</bdi></a></p>
<p dir="auto">Der Adapter sucht nur nach Server. Die Information zu gefundenen Playern kommt dann vom Server</p>
]]></description><link>https://forum.iobroker.net/post/1314341</link><guid isPermaLink="true">https://forum.iobroker.net/post/1314341</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Mon, 15 Dec 2025 10:37:35 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Mon, 15 Dec 2025 07:24:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oliverio" aria-label="Profile: oliverio">@<bdi>oliverio</bdi></a> ich habe den Haken bei "search for other LMS server" deaktiviert. Nun lauscht nur noch der LMS am UTP-Port 3483 und der SLIMP3-Player verbindet sich sofort und funktioniert korrekt.<br />
Da ich eh nur einen LMS habe, der manuell in den Adaterkonfigs eingetragen ist, braucht der auch nicht nach weiteren zu suchen ;-). Werden damit auch evtl. zusätzliche Player (bei mir eher unwahrscheinlich) nicht mehr automatisch gefunden?<br />
Vielleicht kannst du einen Hinweis beim nächsten Release bei dieser Option hinzufügen das es zu Problemen kommen kann wenn der LMS auf der gleichen Maschine läuft wie der Iobroker-Adapter?</p>
]]></description><link>https://forum.iobroker.net/post/1314272</link><guid isPermaLink="true">https://forum.iobroker.net/post/1314272</guid><dc:creator><![CDATA[hoschi2007]]></dc:creator><pubDate>Mon, 15 Dec 2025 07:24:38 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Sun, 14 Dec 2025 14:22:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hoschi2007" aria-label="Profile: hoschi2007">@<bdi>hoschi2007</bdi></a></p>
<p dir="auto">3483 ist der broadcast port über den der Adapter verfügbare lyrion Server sucht. Der Port ist fest vorgegeben.<br />
Diese Funktionalität kannst du in den Instanz Einstellungen im Reiter performance settings "search for other LMS server" deaktivieren.</p>
<p dir="auto">Die hauptkommunikation läuft über den Port 9000.</p>
<p dir="auto">Zusätzlich gibt es noch den Port 9090 der für manche Informationen das zeitverhalten verbessert. Auch das kann man in performance settings unter "use telnet...." deaktivieren.</p>
<p dir="auto">Findest du irgendwelche Fehlermeldungen?<br />
Evtl auch im lyrion log?<br />
Evtl kann man in den lyrion Server settings das logging beim slimp3 protokol von error auf debug hochsetzen um genaueres herauszufinden.</p>
]]></description><link>https://forum.iobroker.net/post/1314148</link><guid isPermaLink="true">https://forum.iobroker.net/post/1314148</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Sun, 14 Dec 2025 14:22:23 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Sun, 14 Dec 2025 11:20:32 GMT]]></title><description><![CDATA[<p dir="auto">Servus, ich hatte mich die ganze Zeit schon gewundert wieso mein alter SLIMP3-Player nicht mehr mit dem LMS korrekt connecten möchte. Ich hatte befürchtet dieser hat das Zeitliche gesegnet. Die anderen Player (Classic &amp; Duet) funktionieren problemlos.<br />
Der LMS (Lyrion 9.0.3) läuft auf dem gleichen Raspberry wie der iobroker. Auf dem iobroker läuft außerdem der squeezeboxrpc-Adapter.<br />
Sobald ich den Adapter stoppe, funktioniert der SLIMP3-Player. Dieser verwendet wohl ein anderes Protokoll und andere Ports als die "neueren" Player.</p>
<pre><code>sudo netstat -lntup
</code></pre>
<p dir="auto">spuckt mir u.a. folgendes aus:</p>
<pre><code>udp   0    0 0.0.0.0:3483   0.0.0.0:*  704125/io.squeezebo
udp   0    0 0.0.0.0:3483   0.0.0.0:*  851/perl
</code></pre>
<p dir="auto">Player &amp; Adapter verwenden wohl den gleichen UDP-Port 3483. Am Player, und vermutlich auch am Adapter, kann ich den Port nicht ändern.<br />
Ist das Problem bekannt? Kann man da was "drehen"?</p>
]]></description><link>https://forum.iobroker.net/post/1314089</link><guid isPermaLink="true">https://forum.iobroker.net/post/1314089</guid><dc:creator><![CDATA[hoschi2007]]></dc:creator><pubDate>Sun, 14 Dec 2025 11:20:32 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Sat, 19 Jul 2025 10:02:44 GMT]]></title><description><![CDATA[<p dir="auto">Hallo an alle,<br />
ich hab seit ein paar Tagen das Problem nachdem ich meine piCorePlayer ausgeschaltet habe<br />
in den Objekten  sind immer noch bei connected eine 1 also verbunden anzeigt.Hat die letzten 12 Monate super funktioniert.<br />
Ich bin jetzt etwas ratlos wo ich ansetzen soll.<br />
Vllt hatte das von euch schon jemand mal und kann mich in die richtige Richtung "stupsen".<br />
Schon mal danke im voraus.<br />
Ich nehm alles zurück-Der Logitech Media SErver läuft noch obwohl ich alle player ausgeschalten habe.<br />
Liegt also nicht am Adapter.... sorry</p>
]]></description><link>https://forum.iobroker.net/post/1284095</link><guid isPermaLink="true">https://forum.iobroker.net/post/1284095</guid><dc:creator><![CDATA[warlord]]></dc:creator><pubDate>Sat, 19 Jul 2025 10:02:44 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 12:26:33 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dapanic" aria-label="Profile: dapanic">@<bdi>dapanic</bdi></a></p>
<p dir="auto">wenn du was findest oder verbessert haben möchtest (nicht nur das neue browser widget) dann melde dich.<br />
zu den widgets gab es in den 4 jahren nicht allzuviel rückmeldungen.</p>
]]></description><link>https://forum.iobroker.net/post/1270636</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270636</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Thu, 08 May 2025 12:26:33 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 12:17:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oliverio" aria-label="Profile: oliverio">@<bdi>oliverio</bdi></a></p>
<p dir="auto">Jep, so läuft es.<br />
Danke. Mal sehen ob ich das so laufen lasse.</p>
]]></description><link>https://forum.iobroker.net/post/1270633</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270633</guid><dc:creator><![CDATA[daPanic]]></dc:creator><pubDate>Thu, 08 May 2025 12:17:55 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 10:56:34 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dapanic" aria-label="Profile: dapanic">@<bdi>dapanic</bdi></a></p>
<p dir="auto">für vis-2 kannst du eine view in vis-1 erstellen und<br />
dann mit iframe in vis-2 einblenden.<br />
hab ich zwar noch nicht ausprobiert. müsste aber funktionieren</p>
<p dir="auto">Nachtrag: ja funktioniert</p>
]]></description><link>https://forum.iobroker.net/post/1270616</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270616</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Thu, 08 May 2025 10:56:34 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 10:54:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oliverio" aria-label="Profile: oliverio">@<bdi>oliverio</bdi></a></p>
<p dir="auto">Da haben wir es  :)<br />
Ja, ist VIS2.<br />
Sorry, nicht erwähnt, mein Fehler.</p>
]]></description><link>https://forum.iobroker.net/post/1270615</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270615</guid><dc:creator><![CDATA[daPanic]]></dc:creator><pubDate>Thu, 08 May 2025 10:54:00 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 10:53:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dapanic" aria-label="Profile: dapanic">@<bdi>dapanic</bdi></a></p>
<p dir="auto">ist das vis-2?</p>
<p dir="auto">squeezeboxrpc ist nicht kompatibel mit vis-2</p>
]]></description><link>https://forum.iobroker.net/post/1270613</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270613</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Thu, 08 May 2025 10:53:01 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 10:53:25 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oliverio" aria-label="Profile: oliverio">@<bdi>oliverio</bdi></a></p>
<p dir="auto">Hier finde ich sowas :<br />
Uncaught TypeError: can't define property "functionname": Object is not extensible<br />
createWidget <a href="http://192.168.160.41:8082/vis-2/widgets/squeezeboxrpc/build/squeezeboxrpc-dist.js:2287" rel="nofollow ugc">http://192.168.160.41:8082/vis-2/widgets/squeezeboxrpc/build/squeezeboxrpc-dist.js:2287</a><br />
createWidget <a href="http://192.168.160.41:8082/vis-2/widgets/squeezeboxrpc/build/squeezeboxrpc-dist.js:2282" rel="nofollow ugc">http://192.168.160.41:8082/vis-2/widgets/squeezeboxrpc/build/squeezeboxrpc-dist.js:2282</a></p>
<p dir="auto">Uncaught TypeError: can't define property "functionname": Object is not extensible<br />
Uncaught TypeError: can't define property "ainstance": Object is not extensible</p>
]]></description><link>https://forum.iobroker.net/post/1270612</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270612</guid><dc:creator><![CDATA[daPanic]]></dc:creator><pubDate>Thu, 08 May 2025 10:53:25 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 10:49:49 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dapanic" aria-label="Profile: dapanic">@<bdi>dapanic</bdi></a></p>
<p dir="auto">dann schaue bitte mal in die browserkonsole mit F12<br />
nach Fehlermeldungen.</p>
<p dir="auto">Es gibt keine Größenbeschränkung.</p>
]]></description><link>https://forum.iobroker.net/post/1270611</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270611</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Thu, 08 May 2025 10:49:49 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 10:45:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oliverio" aria-label="Profile: oliverio">@<bdi>oliverio</bdi></a> said in <a href="/post/1270609">Test/Support Adapter SqueezeboxRPC</a>:</p>
<blockquote>
<p dir="auto">squeezeboxrpc.0</p>
</blockquote>
<p dir="auto">Da steht dann<br />
squeezeboxrpc.0.Players.Boom.Power</p>
<p dir="auto">Habe mal squeezeboxrpc.0 eingestellt, aber das Feld bleibt weiterhin leer.<br />
Gibt es eine Mindesgröße? Ich habe 350x350 eingestellt.</p>
]]></description><link>https://forum.iobroker.net/post/1270610</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270610</guid><dc:creator><![CDATA[daPanic]]></dc:creator><pubDate>Thu, 08 May 2025 10:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 10:43:29 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dapanic" aria-label="Profile: dapanic">@<bdi>dapanic</bdi></a></p>
<p dir="auto">und was steht jetzt in aInstance?<br />
Nach Auswahl von Power sollte sowas drin stehen.<br />
Alternative einfach</p>
<p dir="auto">squeezeboxrpc.0</p>
<p dir="auto">direkt eintragen.</p>
<p dir="auto"><img src="/assets/uploads/files/1746700956430-2619b52d-6bef-46f7-a09e-e24bae08d4fe-image.png" alt="2619b52d-6bef-46f7-a09e-e24bae08d4fe-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/1270609</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270609</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Thu, 08 May 2025 10:43:29 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 10:37:58 GMT]]></title><description><![CDATA[<p dir="auto">Hm, was mache ich falsch?<br />
Dieses Widget habe ich eingebunden.<br />
<img src="/assets/uploads/files/1746700417696-f878baf2-cf4a-4432-a0a2-52567383b3ae-grafik.png" alt="f878baf2-cf4a-4432-a0a2-52567383b3ae-grafik.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Suche mir dann irgendwas aus dem Baum von einem Player.<br />
<img src="/assets/uploads/files/1746700491772-41696fa2-2329-4fda-9d45-5e31a9ca74b0-grafik.png" alt="41696fa2-2329-4fda-9d45-5e31a9ca74b0-grafik.png" class=" img-fluid img-markdown" /><br />
Nehme mal das Attrubut "POWER". Übernehme es dann im Widget ins ainstance</p>
<p dir="auto">Und hier würde ich jetzt irgendwas erwarten...<br />
<img src="/assets/uploads/files/1746700587219-565ca2c9-0771-42fb-8f03-fe3aed1a9043-grafik.png" alt="565ca2c9-0771-42fb-8f03-fe3aed1a9043-grafik.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/1270607</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270607</guid><dc:creator><![CDATA[daPanic]]></dc:creator><pubDate>Thu, 08 May 2025 10:37:58 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 09:55:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dapanic" aria-label="Profile: dapanic">@<bdi>dapanic</bdi></a></p>
<p dir="auto">ja korrekt.<br />
wähle einen beliebigen datenpunkt aus der instanz aus.<br />
der rest macht das widget und extrahiert dann die instanz aus dem datenpunkt</p>
]]></description><link>https://forum.iobroker.net/post/1270599</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270599</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Thu, 08 May 2025 09:55:47 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Thu, 08 May 2025 08:09:21 GMT]]></title><description><![CDATA[<p dir="auto">Moin,</p>
<p dir="auto">irgendwie stehe ich gerade auf dem Schlauch.<br />
Ich habe auf dem Server, auf dem auch der IOBroker läuft meinen Lyrion Server laufen.<br />
Alle meine Boxen (Squeezeboxen und Booms) laufen soweit.<br />
Jetzt wollte ich das Player Widget testen und in der Doku steht ich soll es mit der Instanz verbinden. Wie mache ich das?<br />
Ich kann ja nur auf Datenpunkte zugreifen.</p>
]]></description><link>https://forum.iobroker.net/post/1270575</link><guid isPermaLink="true">https://forum.iobroker.net/post/1270575</guid><dc:creator><![CDATA[daPanic]]></dc:creator><pubDate>Thu, 08 May 2025 08:09:21 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Mon, 05 May 2025 02:52:12 GMT]]></title><description><![CDATA[<h3>Neue Version 1.6.2</h3>
<ul>
<li>Neues Widget browser (aktuell nur alpha zum testen)</li>
<li>Behebung von Meldungen aus dem Adapter-Checker</li>
</ul>
<p dir="auto">In diesem Release ist ein neues widget enthalten:</p>
<p dir="auto">Browser</p>
<p dir="auto">Dies zeigt Musik, Alben, Interpreten, Radiosender, Apps usw. vom Server an. Durch Klick auf ein Element kann in der Hierarchie tiefer gegangen werden, durch Klick auf den Pfad ganz oben kann wieder höher gegangen werden.<br />
Falls Verfügbar, sind für einzelne Elemente weitere Aktionen verfügbar (Play, Add Playlist,...)</p>
<p dir="auto">Da die Implementierung auf Seiten des LMS/Lyrion-Servers zwar funktioniert, aber mit extrem vielen und undurchsichtigen Sonderfällen versehen ist, stand dieses widget sehr lange auf dem Plan.<br />
Als technisches Vorbild stand das Material-Theme-Plugin für den LMS.<br />
Da der LMS/Lyrion-Server aber mit Plugins erweiterbar ist, konnten alle Fälle berücksichtigt werden. Daher bitte ich euch das einmal durchzutesten. Insbesondere mit den Unterbereichen, wo ihr Plugins installiert habt.</p>
<p dir="auto">Das widget ist aktuell mit erweiterten Debugging-Ausgaben ausgestattet. Für Tester diese beiden bitte in der widget Konfiguration aktivieren. Diese geben dann nochmal extra Informationen in der Browserkonsole (<br />
F12) aus, die dann helfen, Fehler oder fehlende Implementierungen herauszufinden und zu ergänzen.</p>
<p dir="auto">Wer mit testen möchte, dann bitte die Ergebnisse hier einfach im Thread hinterlassen. Auch Wünsche für weitere Funktionen bitte ebenfalls hier dokumentieren.</p>
<p dir="auto">Folgendes ist aktuell noch nicht eingebaut:</p>
<ul>
<li>Eingabefelder innerhalb der Hierarchie</li>
<li>Der Hauptmenüpunkt "Extras"</li>
</ul>
<p dir="auto"><img src="/assets/uploads/files/1746413314554-b0c2ae74-75d8-4e42-bf83-371eec3fc479-image.png" alt="b0c2ae74-75d8-4e42-bf83-371eec3fc479-image.png" class=" img-fluid img-markdown" /><br />
<img src="/assets/uploads/files/1746413349405-a52e0f08-c441-4133-a4c7-e00691bc22cd-image.png" alt="a52e0f08-c441-4133-a4c7-e00691bc22cd-image.png" class=" img-fluid img-markdown" /><br />
<img src="/assets/uploads/files/1746413451382-1b9e8820-2e4b-4466-8f77-5a5e80d38de4-image.png" alt="1b9e8820-2e4b-4466-8f77-5a5e80d38de4-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/1269829</link><guid isPermaLink="true">https://forum.iobroker.net/post/1269829</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Mon, 05 May 2025 02:52:12 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Fri, 18 Apr 2025 16:40:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oliverio" aria-label="Profile: oliverio">@<bdi>oliverio</bdi></a> sagte in <a href="/post/1265517">Test/Support Adapter SqueezeboxRPC</a>:</p>
<blockquote>
<p dir="auto">ich habe mal die doppelt gemoppelten Befehle (also play Befehle, welche die anderen bereits beinhalten) entfernt.</p>
</blockquote>
<p dir="auto">Jau, Oliver, Deine Aufräumaktion ist der Bringer. Bei fast zwei Dutzend Testläufen gab's nur Erfolgserlebnisse. Auch hier sieht man's also mal wieder: Weniger kann mehr sein <img src="https://forum.iobroker.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60a.png?v=ba16ebd4856" class="not-responsive emoji emoji-android emoji--blush" style="height:23px;width:auto;vertical-align:middle" title=":blush:" alt="😊" /> Ich hatte wohl mit meiner "Kommandoschwemme" den LMS ins Schwimmen gebracht.</p>
<p dir="auto">Ich sage Dir nochmals ganz herzlichen Dank für Deine Unterstützung. Ich finde es toll, wie tief Du in die von mir geschilderte Problematik meines Skripts eingestiegen bist. Das was Du hier im Forum leistest - nicht nur in "Deinen" Adaptern, sondern auch in anderen Themen - ist schon phantastisch. <img src="https://forum.iobroker.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f44d.png?v=ba16ebd4856" class="not-responsive emoji emoji-android emoji--+1" style="height:23px;width:auto;vertical-align:middle" title=":+1:" alt="👍" />  <img src="https://forum.iobroker.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f44f.png?v=ba16ebd4856" class="not-responsive emoji emoji-android emoji--clap" style="height:23px;width:auto;vertical-align:middle" title=":clap:" alt="👏" /></p>
]]></description><link>https://forum.iobroker.net/post/1266128</link><guid isPermaLink="true">https://forum.iobroker.net/post/1266128</guid><dc:creator><![CDATA[hsteinme]]></dc:creator><pubDate>Fri, 18 Apr 2025 16:40:03 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Wed, 16 Apr 2025 06:15:01 GMT]]></title><description><![CDATA[<p dir="auto">Danke, Oliver!</p>
<blockquote>
<p dir="auto">ich habe mal die doppelt gemoppelten Befehle (also play Befehle, welche die anderen bereits beinhalten) entfernt.</p>
</blockquote>
<p dir="auto">Das gehe ich mal am langen Wochenende an.</p>
<blockquote>
<p dir="auto">auf jedenfall von getState/setState immer nur die synchronen Versionen</p>
</blockquote>
<p dir="auto">Im Script kommen weder asyync noch await vor.</p>
<blockquote>
<p dir="auto">probier mal ein await sleep(1000) zwischen den setStates zu setzen</p>
</blockquote>
<p dir="auto">Das hatte ich mir auch schon überlegt und ebenfalls für das kommende Wochenende eingeplant.</p>
<p dir="auto">Ich melde mich demnächst wieder.</p>
]]></description><link>https://forum.iobroker.net/post/1265529</link><guid isPermaLink="true">https://forum.iobroker.net/post/1265529</guid><dc:creator><![CDATA[hsteinme]]></dc:creator><pubDate>Wed, 16 Apr 2025 06:15:01 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Tue, 15 Apr 2025 23:52:41 GMT]]></title><description><![CDATA[<p dir="auto">Probier mal so<br />
ich habe mal die doppelt gemoppelten Befehle (also play Befehle, welche die anderen bereits beinhalten) entfernt.</p>
<p dir="auto">Ich bin jetzt da gerade nicht so firm. achte darauf, das du auf jedenfall von getState/setState immer nur die synchronen Versionen verwendest. Wenn asynchron ohne await garantiert nicht, das der Befehl dann schon fertig ist, wenn das die asynchronen versionen sind, dann noch await davor schreiben (und sobald in einer funktion await verwendet wird muss diese auch mit async versehen werden.)</p>
<p dir="auto">Falls das Problem anhält, probier mal ein await sleep(1000) zwischen den setStates zu setzen.<br />
die 1000 ist 1 Sekunde. Die Zeit kannst du auch noch variieren. Nicht das das schnell hintereinander setzen von States da irgendwas durcheinanderbringt im LMS. Aber das reduzieren der setStates hilft evtl auch schon.</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hsteinme" aria-label="Profile: hsteinme">@<bdi>hsteinme</bdi></a> sagte in <a href="/post/1265512">Test/Support Adapter SqueezeboxRPC</a>:</p>
<pre><code>/**************************************************************************
 * Reaktion auf Start-Signal für eine SqueezeBox
 **************************************************************************/
function BearbeiteStartSignal(SqBoxNr) {
    var Spiel;
    var Art;
    
    if(parScharfGeschaltet) {
        if(getState(MySqueezeBoxIds[SqBoxNr] + '.Pause').val == false) {
            setState(AccessKeys[SqBoxNr] + '.Volume', getState(MySqueezeBoxIds[SqBoxNr] + '.AnfangsLautstaerke').val);
            Log(true, MySqueezeBoxes[SqBoxNr] + ': Volume = ' + getState(MySqueezeBoxIds[SqBoxNr] + '.AnfangsLautstaerke').val);
 
            Art = parLosTopf[getRndInteger(0, parLosTopf.length - 1)]
            switch(Art) {
                case artFAVORITE:
                    Spiel = MyFavoriteIds[getRndInteger(0, MyFavoriteIds.length - 1)];
                    setState(AccessKeys[SqBoxNr] + '.cmdPlayFavorite', Spiel);
                    Log(false, MySqueezeBoxes[SqBoxNr] + ': Favorit-Id = ' + Spiel);
                    break;
                case artTRACKS:
                case artALBUMS:
                case artARTISTS:
                case artYEAR:
                    Spiel = '"randomplay", "' + ArtKommandos[Art] + '"';
                    setState(AccessKeys[SqBoxNr] + '.cmdGeneral', Spiel);
                    Log(true, MySqueezeBoxes[SqBoxNr] + ': ' + Spiel);
                    break;
            }
  
            for (var Count = 0; Count &lt; 4; Count++) {
                setTimeout(CheckStateVolume, 3000 + Count * 1000, SqBoxNr);
            }
        }         
    }
}

</code></pre>
]]></description><link>https://forum.iobroker.net/post/1265517</link><guid isPermaLink="true">https://forum.iobroker.net/post/1265517</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Tue, 15 Apr 2025 23:52:41 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Tue, 15 Apr 2025 21:07:27 GMT]]></title><description><![CDATA[<p dir="auto">Aber gern doch:</p>
<pre><code>/**************************************************************************
 * Reaktion auf Start-Signal für eine SqueezeBox
 **************************************************************************/
function BearbeiteStartSignal(SqBoxNr) {
    var Spiel;
    var Art;
    
    if(parScharfGeschaltet) {
        if(getState(MySqueezeBoxIds[SqBoxNr] + '.Pause').val == false) {
            setState(AccessKeys[SqBoxNr] + '.Power' , 1);
            Log(true, MySqueezeBoxes[SqBoxNr] + ': Power = 1');
            setState(AccessKeys[SqBoxNr] + '.cmdGeneral', '"playlist", "clear"');
            Log(true, MySqueezeBoxes[SqBoxNr] + ': playlist clear');
            setState(AccessKeys[SqBoxNr] + '.Volume', getState(MySqueezeBoxIds[SqBoxNr] + '.AnfangsLautstaerke').val);
            Log(true, MySqueezeBoxes[SqBoxNr] + ': Volume = ' + getState(MySqueezeBoxIds[SqBoxNr] + '.AnfangsLautstaerke').val);

            Art = parLosTopf[getRndInteger(0, parLosTopf.length - 1)]
            switch(Art) {
                case artFAVORITE:
                    Spiel = MyFavoriteIds[getRndInteger(0, MyFavoriteIds.length - 1)];
                    setState(AccessKeys[SqBoxNr] + '.cmdPlayFavorite', Spiel);
                    Log(false, MySqueezeBoxes[SqBoxNr] + ': Favorit-Id = ' + Spiel);
                    break;
                case artTRACKS:
                case artALBUMS:
                case artARTISTS:
                case artYEAR:
                    Spiel = '"randomplay", "' + ArtKommandos[Art] + '"';
                    setState(AccessKeys[SqBoxNr] + '.cmdGeneral', Spiel);
                    Log(true, MySqueezeBoxes[SqBoxNr] + ': ' + Spiel);
                    break;
            }

            setState(AccessKeys[SqBoxNr] + '.state', statePLAY);
            Log(true, MySqueezeBoxes[SqBoxNr] + ': play');

            for (var Count = 0; Count &lt; 4; Count++) {
                setTimeout(CheckStateVolume, 3000 + Count * 1000, SqBoxNr);
            }
        }         
    }
}
</code></pre>
<p dir="auto">Einige Erläuterungen:</p>
<ul>
<li>
<p dir="auto"><code>parScharfGeschaltet</code> regelt, ob überhaupt bei einer Präsenzmeldung Musik eingeschaltet werden soll oder nicht.</p>
</li>
<li>
<p dir="auto"><code>.Pause</code> definiert (nächtliche) Pausenzeiten, zu denen der Präsenzmelder ignoriert werden soll.</p>
</li>
<li>
<p dir="auto">Über <code>parLosTopf</code> wird "ausgelost", ob ein zufälliger Favorit (was bei mir immer ein Radiosender ist) oder eine nach Titel, Alben, Interpreten oder Jahren zufällig ausgesuchte Playlist gestartet wird.</p>
</li>
</ul>
<pre><code>/**************************************************************************
 * Ausgabe einer Art-Option für randomplay
 **************************************************************************/
function SetzeArtKommandos() {
    ArtKommandos[artTRACKS] = 'tracks';
    ArtKommandos[artALBUMS] = 'albums';
    ArtKommandos[artARTISTS] = 'contributors';
    ArtKommandos[artYEAR] = 'year';
}
</code></pre>
<ul>
<li>
<p dir="auto"><code>CheckStateVolume</code>  überprüft, ob die angesteuerten <code>.Volume</code> und <code>.state</code> Anweisungen umgesetzt worden sind. Falls nicht, werden diese Anweisungen erneut losgeschickt.</p>
</li>
<li>
<p dir="auto"><code> Log(true, ...)</code> nimmt nur dann einen Logeintrag vor, wenn ein skriptinternes Debug-Flag gesetzt ist.</p>
</li>
</ul>
]]></description><link>https://forum.iobroker.net/post/1265512</link><guid isPermaLink="true">https://forum.iobroker.net/post/1265512</guid><dc:creator><![CDATA[hsteinme]]></dc:creator><pubDate>Tue, 15 Apr 2025 21:07:27 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Tue, 15 Apr 2025 15:28:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hsteinme" aria-label="Profile: hsteinme">@<bdi>hsteinme</bdi></a></p>
<p dir="auto">evtl mal zu deinem skript, kannst du das mal zeigen. das folgende ist ja wahrscheinlich nur pseudocode?<br />
Evtl kann man da was optimieren, weil sich manche von der bedeutung überschneiden (power,randomplay,state, da würde einfach nur randomplay reichen)</p>
<p dir="auto">randomplay ist wahrscheinlich falsch, da als nächster parameter nur einer der folgenden zulässig ist, kann aber durch plugins auch erweitert werden<br />
tracks|albums|contributors|&lt;wbr&gt;year</p>
<p dir="auto">auch playlist clear ist eigentlich nicht notwendig, weil wenn du direkt etwas anwählst ohne das du explizit sagst, das es der playlist hinzugefügt werden soll, die playlist geleert wird</p>
<pre><code>if presence reported {
	.Power = 1
	.cmdGeneral  = playlist clear
	.Volume = 70
	.cmdGeneral = randomplay 2
	.state = 1
}

</code></pre>
]]></description><link>https://forum.iobroker.net/post/1265408</link><guid isPermaLink="true">https://forum.iobroker.net/post/1265408</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Tue, 15 Apr 2025 15:28:07 GMT</pubDate></item><item><title><![CDATA[Reply to Test&#x2F;Support Adapter SqueezeboxRPC on Tue, 15 Apr 2025 14:36:48 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oliverio" aria-label="Profile: oliverio">@<bdi>oliverio</bdi></a> Danke für Dein Bemühen, Oliver!</p>
<blockquote>
<p dir="auto">Evtl kannst du ebenfalls mit history das mal nachvollziehen?</p>
</blockquote>
<p dir="auto">Das hatte ich letzte Woche auch schon getan - ohne neue Erkenntnisse.</p>
<blockquote>
<p dir="auto">Aus meiner Sicht funktioniert hier alles ordnungsgemäß.</p>
</blockquote>
<p dir="auto">Das sehe ich - seit Deiner Eläuterung <a href="https://forum.iobroker.net/post/1265018">hier</a> - auch genau so.</p>
]]></description><link>https://forum.iobroker.net/post/1265396</link><guid isPermaLink="true">https://forum.iobroker.net/post/1265396</guid><dc:creator><![CDATA[hsteinme]]></dc:creator><pubDate>Tue, 15 Apr 2025 14:36:48 GMT</pubDate></item></channel></rss>