NEWS
Test/Support Adapter SqueezeboxRPC
-
ich habe gerade mal geschaut.
Der Logitech Media Server ist auch in der Lage DLNA/UPnP Server und Clients
mit einzubeziehen (mittels Plugins)
Wie gut das funktioniert weiß ich nicht.
Theoretisch müsste der LMS die Musik dann auch vom Twonkie abrufen können
und diese an andere DLNA/UPnP-Clients weiterreichen können (Ich weiß leider nicht, für was du den Twonkie alles einsetzt, da er ja auch mit Video und Bilder umgehen kann).
Dann kannst du diesen Adapter auch dafür verwenden die Infos zu bekommen
und zu steuern.
Aber alles hängt von der DLNA-Integration des LMS-Servers ab.Alternativ kannst du die auch mal den iobroker.upnp adapter anschauen, da dlna ein Spezialisierung auf Basis von upnp ist.
-
@OliverW
Ok, Danke für die Antwort.
Twonky wird mit MediaMonkey verwendet, iobroker.upnp adapter habe ich schon. Damit und mit Musiccast steuere ich meinen Yamaha.......... -
sieht gut aus
-
@OliverW sagte in Neuer Adapter SqueezeboxRPC:
sieht gut aus
Danke, werde Ihn mal testen was man so machen kann...........
-
folgende Aktualisierung wurde in Version 0.0.7 eingebaut:
Die Playlist steht nun für jeden Player als Datenpunkt mit JSON zur Verfügung
-
folgende Aktualisierung wurde in Version 0.0.8 eingebaut:
Die Playlist als JSON-String hat nun mehr Attribute.
-
folgende Aktualisierungen wurden in v0.8.7 vorgenommen:
- die Version wurde nach der Vollständigkeit angepasst
- der Adapter wurde in latest aufgenommen und kann nun direkt im iobroker installiert werden
- der Adapter bietet nun umfangreiche Konfigurationsmöglichkeiten über den Konfigurationsdialog
- der Adapter führ selbst eine Suche nach verfügbaren Servern im gleichen Netzwerksegment durch und bietet diese im Konfigurationsdialog zur Auswahl an
- die Steuermöglichkeiten des Players und der Playlist wurden erheblich erweitert.
*- es kann nun ein Playlisteintrag direkt, aber auch relativ zum abspielen (10, +2 oder -1) gewählt werden.
*- das selbe geht innerhalb eines Tracks mit der Zeit. Hier kann eine Postiotion im Track direkt über die Sekunden aber auch relativ gewählt werden (bspw 100, +20, -10)
*- auch die repeat und shuffle sind nun in allen formen zur Steuerung verfügbar.
Eine detaillierte Beschreibung der verfügbaren states ist auf englisch bei https://github.com/oweitman/ioBroker.squeezeboxrpc zu finden
Ich würde mich freuen, wenn der Adapter von euch ausgiebig getestet wird, sofern ihr einen Logitech Media Server besitzt und mir Rückmeldung geben könntet, ob bei euch alles funktioniert oder irgendwie fehlerhaft ist.
Fehler und Verbesserungsvorschläge können über github oder auch hier gemeldet werden.Was ich selbst noch nicht testen konnte, ist das Verhalten bei Spotify und anderen streaming providern.
-
@OliverW sagte in Neuer Adapter SqueezeboxRPC:
Was ich selbst noch nicht testen konnte, ist das Verhalten bei Spotify und anderen streaming providern.
Twonky geht nicht.......Adapter Gelb
http://192.168.178.23:9000/webbrowse#music
squeezeboxrpc.0 2019-05-12 00:01:25.891 info starting. Version 0.8.7 in C:/ioBroker/node_modules/iobroker.squeezeboxrpc, node: v8.16.0 squeezeboxrpc.0 2019-05-12 00:01:25.879 debug statesDB connected squeezeboxrpc.0 2019-05-12 00:01:25.867 debug objectDB connected squeezeboxrpc.0 2019-05-12 00:01:21.221 debug system.adapter.admin.0: logging true squeezeboxrpc.0 2019-05-12 00:01:07.787 debug Server disconnect squeezeboxrpc.0 2019-05-12 00:01:07.710 info starting. Version 0.8.7 in C:/ioBroker/node_modules/iobroker.squeezeboxrpc, node: v8.16.0 squeezeboxrpc.0 2019-05-12 00:01:07.704 debug statesDB connected squeezeboxrpc.0 2019-05-12 00:01:07.696 debug objectDB connected squeezeboxrpc.0 2019-05-12 00:00:24.507 debug Server disconnect
-
hi, twonky geht nicht, nur der Logitech Media Server
twonky basiert auf dlna
Über Plugins kann der Logitech media server auch mit dlna- geräten kommunizieren
und bei sich einbinden. -
Hallo,
ich habe den Adapter installiert, er startet jedoch nicht.
Der log wirft:
squeezeboxrpc.0 2019-05-13 21:24:37.558 info squeezeboxrpc unloaded
squeezeboxrpc.0 2019-05-13 21:24:37.557 error at process._tickCallback (internal/process/next_tick.js:181:9)
squeezeboxrpc.0 2019-05-13 21:24:37.557 error at _combinedTickCallback (internal/process/next_tick.js:142:11)
squeezeboxrpc.0 2019-05-13 21:24:37.557 error at _handle.lookup (dgram.js:267:14)
squeezeboxrpc.0 2019-05-13 21:24:37.557 error at Socket.emit (events.js:211:7)
squeezeboxrpc.0 2019-05-13 21:24:37.557 error at emitOne (events.js:116:13)
squeezeboxrpc.0 2019-05-13 21:24:37.557 error at Object.onceWrapper (events.js:315:30)
squeezeboxrpc.0 2019-05-13 21:24:37.557 error at Socket.onListenError (dgram.js:362:22)
squeezeboxrpc.0 2019-05-13 21:24:37.557 error Error [ERR_SOCKET_CANNOT_SEND]: Unable to send data
squeezeboxrpc.0 2019-05-13 21:24:37.556 error uncaught exception: Unable to send data
squeezeboxrpc.0 2019-05-13 21:24:37.519 info starting. Version 0.8.7 in /opt/iobroker/node_modules/iobroker.squeezeboxrpc, node: v8.16.0
squeezeboxrpc.0 2019-05-13 21:24:37.377 info States connected to redis: 127.0.0.1:6379Andere Einstellungen für die IP oder den Port bringen keine Änderung.
Meine Konstellation:
iobroker im Docker auf Synology, der Logitech Media Server läuft auch hier seit längerer Zeit ohne Probleme, ebenso der squeezebox-Adapter mit vier Clients.root@iobrokerMG2:/opt/iobroker# node -v
v8.16.0
root@iobrokerMG2:/opt/iobroker# nodejs -v
v8.16.0
root@iobrokerMG2:/opt/iobroker# npm -v
6.4.1
root@iobrokerMG2:/opt/iobroker# -
hi,
so wie es aussieht funktioniert auf der Synology oder dem dockerimage der Broadcast nicht, über den die anderen Server im Netzwerk gefunden werden nicht.
Ich habe vorhin mal selbst den Adapter in einem docker-image von iobroker (buanet/iobroker) auf debian/x86 installiert
dort hat alles funktioniert und er hat einen LMS in einem anderen laufenden docker container gefunden und sich verbunden.
Ich weiß nicht welchen container du genau benutzt und ob es da etwas mit der Konfiguration gibt
Ich bin allerdings in docker nicht sehr bewandertda ich gestern bereits das discovery konfigurierbar gemacht habe, aber noch nicht als neue version gepublished habe, habe ich das soeben gemacht. Sobald die travis tests durch sind, kommt die v0.8.8 auch nach npm
da kannst du es nochmal probieren, indem du in der Konfiguration / Performance die Suche nach LMS abschaltest und die IP+Port direkt eingibst.
Ich werde morgen ein bisschen Fehlerkontrolle einbauen, so dass das nicht zum Abbruch des Adapters führt -
Ok, werde ich dann testen.
Wie schon geschrieben, der Media Server läuft bei mir schon lange auf den Standartports ohne Probleme.
Der Container ist übrigens der von buanet -
@OliverW
Hi Oliver
Habe squeezebox zuhause. Werde das bei Gelegenheit testen. Kannst du dein Widget für mich exportieren?
Sieht gut aus, würde ich gerne bei mir einsetzen.
Gruß Eisbaeeer -
@zahnheinrich
Da es sich hier um andere Protokolle handelt, sprechen die auch über andere Ports.
Standardmäßig ist im LMS für JSON/RPC 9000 eingestellt
Für das automatische finden von LMS-Server im Netzt gibt es ein Discoverprotokoll, welches auf der Broadcastadresse mit Port 3483 einen Broadcast aussendet und sich dann die LMS-Server melden
Der andere Adapter nutzt das Telnet-Protokoll Standardmäßig auf Port 9090
ggfs. müssten auch Firewallregeln angepasst werden? -
@Eisbaeeer hast du nur eine squeezebox oder auch einen LMS-Server?
Die squeezeboxen gehen auch ohne Server zu Hause, dann läuft aber alles über die Logitech Server.Der Adapter steuert nur den LMS-Server zuhause.
Welches Widget meinst du? In dem Bild oben sind nur Standard-Widgets verbaut.
- Die Lautstärkesteuerung ist der Circle-Knob aus den hqwidgets
- Die Playbuttons sind die On/Off-Buttonsaus hqwidgets mit Icons, die ich bei Iconfinder gefunden hab und etwas nachbearbeitet habe
- Das Bild ist das basic string img src, welches sich aus meinem Artwork-State befüttert, was sich passend zur Station oder Album entsprechend ändert
- Datum und Zeit ist SimpleClock und SimpleDate aus timeandweather
'Aktuell bin ich aber dabei Widgets für die Favoriten und die Playerauswahl zu bauen
-
Danke dass ihr euch die Mühe macht das zu testen.
-
Habe die 0.8.8 geladen.
Der Adapter läuft und tut was er soll.
Ein echter Fortschritt zum bisherigen Media Server Adapter.
Vielen Dank dafür! -
@zahnheinrich danke für den test. hast du es nochmal mit dem discovery probiert? oder komplett ohne getestet?
ich muss mal schauen, vor 2 jahren habe ich in Verbindung mit einem LMS-Plugin mir ein synology-image für virtualbox (ist glaub ich nicht ganz offiziell) gebaut um da drin was mit LMS zu testen. Ist natürlich nicht so wie mit echter Hardware.
-
@OliverW
@OliverW sagte in Neuer Adapter SqueezeboxRPC:
hast du nur eine squeezebox oder auch einen LMS-Server?
Jep, der läuft auf der gleichen Maschine. Und das bringt mich gleich zu dem Problem, dass dein Adapter den Port nutzen möchte, den Squeezebox wohl schon nutzt?
Ich bekomme folgende Meldung im log von iobroker:host.NAS 2019-05-15 11:27:45.513 error instance system.adapter.squeezeboxrpc.0 terminated with code 0 (OK) host.NAS 2019-05-15 11:27:45.513 error Caught by controller[4]: at process._tickCallback (internal/process/next_tick.js:104:9) host.NAS 2019-05-15 11:27:45.513 error Caught by controller[4]: at _combinedTickCallback (internal/process/next_tick.js:83:11) host.NAS 2019-05-15 11:27:45.513 error Caught by controller[4]: at _handle.lookup (dgram.js:219:18) host.NAS 2019-05-15 11:27:45.512 error Caught by controller[4]: at exports._exceptionWithHostPort (util.js:1043:20) host.NAS 2019-05-15 11:27:45.512 error Caught by controller[4]: at Object.exports._errnoException (util.js:1020:11) host.NAS 2019-05-15 11:27:45.512 error Caught by controller[4]: 2019-05-15 11:27:45.422 - squeezeboxrpc.0 Error: bind EADDRINUSE 0.0.0.0:3483 host.NAS 2019-05-15 11:27:45.512 error Caught by controller[3]: 2019-05-15 11:27:45.422 - squeezeboxrpc.0 uncaught exception: bind EADDRINUSE 0.0.0.0:3483 host.NAS 2019-05-15 11:27:45.510 error Caught by controller[2]: port: 3483 } host.NAS 2019-05-15 11:27:45.510 error Caught by controller[2]: address: '0.0.0.0', host.NAS 2019-05-15 11:27:45.510 error Caught by controller[2]: syscall: 'bind', host.NAS 2019-05-15 11:27:45.510 error Caught by controller[2]: errno: 'EADDRINUSE', host.NAS 2019-05-15 11:27:45.510 error Caught by controller[2]: code: 'EADDRINUSE', host.NAS 2019-05-15 11:27:45.509 error Caught by controller[2]: at process._tickCallback (internal/process/next_tick.js:104:9) host.NAS 2019-05-15 11:27:45.509 error Caught by controller[2]: at _combinedTickCallback (internal/process/next_tick.js:83:11) host.NAS 2019-05-15 11:27:45.509 error Caught by controller[2]: at _handle.lookup (dgram.js:219:18) host.NAS 2019-05-15 11:27:45.509 error Caught by controller[2]: at exports._exceptionWithHostPort (util.js:1043:20) host.NAS 2019-05-15 11:27:45.509 error Caught by controller[2]: at Object.exports._errnoException (util.js:1020:11) host.NAS 2019-05-15 11:27:45.509 error Caught by controller[2]: { Error: bind EADDRINUSE 0.0.0.0:3483 host.NAS 2019-05-15 11:27:45.508 error Caught by controller[1]: 2019-05-15 11:27:45.299 - debug: squeezeboxrpc.0 statesDB connected host.NAS 2019-05-15 11:27:45.508 error Caught by controller[0]: 2019-05-15 11:27:45.264 - debug: squeezeboxrpc.0 objectDB connected
bind EADDRINUSE 0.0.0.0:3483 --> ist schon belegt.
Hier noch der netstat mit laufendem LMS und gestoppten LMS.
root@NAS:~# netstat -al |grep 3483 tcp 0 0 *:3483 *:* LISTEN tcp 0 0 NAS.fritz.box:3483 SqueezeboxRadio.f:36193 VERBUNDEN udp 0 0 *:3483 *:* root@NAS:~# service logitechmediaserver stop root@NAS:~# netstat -al |grep 3483 tcp 0 0 NAS.fritz.box:3483 SqueezeboxRadio.f:36193 TIME_WAIT
Gruß Eisbaeeer
-
@Eisbaeeer
Danke Eisbaeeer, das war der richtige Hinweis. Eigentlich sollte es beim hören auf Broadcasts nicht zu diesen Konflikten kommen. Dafür gibt es bei beim einrichten ne eigene Option, die nicht gesetzt war (reuseaddr). Bei einem lokalen Test hat das funktioniert. Die Wildnis ist aber immer eine eigene Herausforderung.
Nach dem der Build bei Travis durch ist (diesmal dann auch schon mit node 12 Test),
wird die v0.8.9 nach npm gepublised
Für einen weiteren Test wäre ich dankbar.