Squeezebox Modul - erste Version

Begonnen von bugster_de, 17 Dezember 2013, 22:12:10

Vorheriges Thema - Nächstes Thema

ChrisD

Hallo,

Ich habe versucht das Problem nachzustellen was mir aber nicht gelungen ist. Die Funktion FW_closeInactiveClients gehört zu FHEMWEB und wird minütlich aufgerufen. Ich kann aber nicht erkennen was diese Funktion mit SB_SERVER zu tun hat.

Kannst du bei deinen FHEMWEB-Instanzen verbose auf 4 setzen, damit sollten im Log zusätzliche Ausgaben gemacht werden.

Grüße,

ChrisD

FHEMAN

Hi Martin, falls du trotz Raspi eine große Insfallation (mit vielen Geräten) hast, würde ich dir empfehlen, in fhem.pl innerhalb der Funktion CreateNotifyHash mal ein Log 3, "freezetest" o. ä. auszugeben. Dann kannst du schauen, ob es einen zeitlichen Zusammenhang gibt. Ich hatte damals fast die gleichen Probleme.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

dadoc

Hi Chris & fheman,

Zitatin fhem.pl innerhalb der Funktion CreateNotifyHash mal ein Log 3, "freezetest" o. ä. auszugeben.
Das habe ich mal gemacht. So ganz schlau werde ich aus dem Ergebnis aber auch nicht. Nur, dass wenn der SB_Server läuft, die Einträge häufiger sind. Nach 2019.11.25 14:31:33 ist er wieder disabled, danach werden sie weniger, nachts dann nur noch ca. alle 2 Stunden ein Eintrag:

2019.11.25 11:58:33 3: freezetest
2019.11.25 11:58:47 3: freezetest
2019.11.25 12:00:38 3: freezetest
2019.11.25 12:03:52 3: freezetest
2019.11.25 12:05:52 3: freezetest
2019.11.25 12:09:01 3: freezetest
2019.11.25 12:10:52 3: freezetest
2019.11.25 12:13:57 3: freezetest
2019.11.25 12:15:52 3: freezetest
2019.11.25 12:19:12 3: freezetest
2019.11.25 12:20:52 3: freezetest
2019.11.25 12:24:04 3: freezetest
2019.11.25 12:26:17 3: freezetest
2019.11.25 12:28:22 3: freezetest
2019.11.25 12:29:05 3: freezetest
2019.11.25 12:33:22 3: freezetest
2019.11.25 12:34:03 3: freezetest
2019.11.25 12:38:45 3: freezetest
2019.11.25 12:39:12 3: freezetest
2019.11.25 12:43:44 3: freezetest
2019.11.25 12:44:10 3: freezetest
2019.11.25 12:48:47 3: freezetest
2019.11.25 12:49:12 3: freezetest
2019.11.25 12:53:47 3: freezetest
2019.11.25 12:53:48 3: CUL_HM set Regensensor_Regen getConfig
2019.11.25 12:54:12 3: freezetest
2019.11.25 12:58:55 3: freezetest
2019.11.25 12:59:13 3: freezetest
2019.11.25 13:04:13 3: freezetest
2019.11.25 13:08:57 3: freezetest
2019.11.25 13:09:17 3: freezetest
2019.11.25 13:14:06 3: freezetest
2019.11.25 13:14:16 3: freezetest
2019.11.25 13:19:10 3: freezetest
2019.11.25 13:19:21 3: freezetest
2019.11.25 13:24:21 3: freezetest
2019.11.25 13:29:31 3: freezetest
2019.11.25 13:34:35 3: freezetest
2019.11.25 13:34:59 3: freezetest
2019.11.25 13:39:27 3: freezetest
2019.11.25 13:39:48 3: freezetest
2019.11.25 13:44:38 3: freezetest
2019.11.25 13:45:02 3: freezetest
2019.11.25 13:49:26 3: freezetest
2019.11.25 13:50:17 3: freezetest
2019.11.25 13:53:48 3: CUL_HM set Regensensor_Regen getConfig
2019.11.25 13:54:38 3: freezetest
2019.11.25 13:55:28 3: freezetest
2019.11.25 13:59:38 3: freezetest
2019.11.25 14:00:27 3: freezetest
2019.11.25 14:04:38 3: freezetest
2019.11.25 14:05:38 3: freezetest
2019.11.25 14:09:38 3: freezetest
2019.11.25 14:10:53 3: freezetest
2019.11.25 14:14:38 3: freezetest
2019.11.25 14:16:03 3: freezetest
2019.11.25 14:19:41 3: freezetest
2019.11.25 14:21:16 3: freezetest
2019.11.25 14:24:41 3: freezetest
2019.11.25 14:26:18 3: freezetest
2019.11.25 14:30:33 3: freezetest
2019.11.25 14:30:53 3: freezetest
2019.11.25 14:31:24 3: freezetest
2019.11.25 14:31:33 1: 192.168.xxx.xxx:9090 disconnected, waiting to reappear (squeezekiss)
2019.11.25 14:31:33 3: SB_SERVER_Notify(squeezekiss): DISCONNECTED - STATE: disconnected power: on
2019.11.25 14:31:34 3: freezetest
2019.11.25 14:35:53 3: freezetest
2019.11.25 14:41:05 3: freezetest
2019.11.25 14:46:18 3: freezetest
2019.11.25 14:51:36 3: freezetest
2019.11.25 14:53:48 3: CUL_HM set Regensensor_Regen getConfig
2019.11.25 14:56:44 3: freezetest
2019.11.25 15:01:48 3: freezetest
2019.11.25 15:07:04 3: freezetest
2019.11.25 15:12:22 3: freezetest
2019.11.25 15:17:34 3: freezetest
2019.11.25 15:22:59 3: freezetest
2019.11.25 15:27:59 3: freezetest
2019.11.25 15:33:06 3: freezetest
2019.11.25 15:38:23 3: freezetest
2019.11.25 15:43:41 3: freezetest
2019.11.25 15:48:46 3: freezetest
2019.11.25 15:53:48 3: freezetest
2019.11.25 15:53:48 3: CUL_HM set Regensensor_Regen getConfig
2019.11.25 15:59:01 3: freezetest
2019.11.25 16:04:04 3: freezetest
2019.11.25 16:09:14 3: freezetest
2019.11.25 16:14:39 3: freezetest
2019.11.25 16:19:57 3: freezetest
2019.11.25 16:24:58 3: freezetest
2019.11.25 16:30:15 3: freezetest
2019.11.25 16:35:29 3: freezetest
2019.11.25 16:40:38 3: freezetest
2019.11.25 16:45:54 3: freezetest
2019.11.25 16:50:54 3: freezetest
2019.11.25 16:53:48 3: CUL_HM set Regensensor_Regen getConfig
2019.11.25 16:56:13 3: freezetest
2019.11.25 16:56:19 3: freezetest


[rereadcfg]
2019.11.25 17:01:21 3: freezetest
2019.11.25 17:02:33 3: freezetest
2019.11.25 17:06:43 3: freezetest
2019.11.25 17:07:19 3: freezetest
2019.11.25 17:11:30 3: freezetest
2019.11.25 17:12:29 3: freezetest
2019.11.25 17:16:42 3: freezetest
2019.11.25 17:17:30 3: freezetest
2019.11.25 17:21:46 3: freezetest
2019.11.25 17:22:31 3: freezetest
2019.11.25 17:26:57 3: freezetest
2019.11.25 17:27:33 3: freezetest
2019.11.25 18:52:43 3: freezetest
2019.11.25 19:01:15 3: freezetest
2019.11.25 19:41:21 3: freezetest
2019.11.25 19:52:10 3: freezetest
2019.11.25 19:57:17 3: freezetest
2019.11.25 19:57:17 3: freezetest
2019.11.25 20:02:24 3: freezetest


ZitatKannst du bei deinen FHEMWEB-Instanzen verbose auf 4 setzen
Werde ich mal testen.
Danke & Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

FHEMAN

Die spannende Frage war, ob zeitgleich die Freezes auftreten. Anscheinend aber nicht, sofern freezemon aktiv war?
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

eldrik

Hi,

Ich noch einmal, von Zeit zu Zeit habe ich ein Problem, dass Player nach einer Sprachausgabe einfach anfangen die gestoppte oder pausierte Musik abzuspielen und dass obwohl ich schon zwischenzeitlich bei allen Playern

ttsOptions
nosaverestore


gesetzt habe.

Z.b hat heute jemand geklingelt, die Sprachausgabe hat daraufhin ,,es hat geklingelt ,, ausgegeben und danach lief auf einmal die Musik los, am Dienstag zuvor fing kein Player an zu spielen.

Dabei ist mir aufgefallen, dass dies nur bei Playern auftritt, bei denen ich über das squeezebox YouTube Plugin Musik gehört habe.

Mögliche Ansätze und Erklärungen sind willkommen :)

Greetz
Eldrik

eldrik

Hi,

Heute wieder der beschriebene Fall, kein Mensch zu Haus, keine Musik zum Zeitpunkt des Klingelns am laufen, man kommt nach Hause und im Sportzimmer dröhnt die Musik aus den Boxen (YouTube Playlist) :/

Greetz
Eldrik

pc1246

Moin
Wie startest Du denn die Wiedergabe des Textes.
So wie Du das beschreibst, kann man ja nur vermuten.
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

eldrik

#2017
Zitat von: pc1246 am 11 Dezember 2019, 08:13:22
Moin
Wie startest Du denn die Wiedergabe des Textes.
So wie Du das beschreibst, kann man ja nur vermuten.
Gruss Christoph

Sorry der Bezug und die Beschreibung wie ich die Wiedergabe organisiert wird ist ein paar Seiten weiter vorne im Thread.

Zitat von: eldrik am 05 Oktober 2019, 17:14:07
Hi,

hat vielleicht jemand einen Tipp für mich damit bei mir wieder die TTS Ausgabe von syncGroups funktioniert?

Bisher habe ich für gewisse Events das Kommando

LMS set syncGroup talk meinesyncgruppe Test genutzt um einfache Benachrichtigungstexte auszugeben.

Nun ist mir vor kurzem aufgefallen, dass dieses nicht mehr funktioniert.

Ich setzte folgende Squeezbox Version ein

Logitech Media Server Version: 7.9.2 - 1568726655 @ Tue Sep 17 15:49:29 CEST 2019

Die SB Module habe ich zur Sicherheit mit

update force https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txt

auf den neuesten Stand gebracht und FHEM neu gestartet.

Bei Verbose 3 der LMS erhalte ich folgende Ausgabe nachdem ich den syncGroup talk Befehl abgesetzt habe.

2019.10.05 17:08:00.019 3: SB_SERVER_Save(LMS): name: xxxSgTalkxxx
2019.10.05 17:08:00.020 3: SB_SERVER_LoadSyncGroup(LMS): load: Obergeschoss, poweron: 0
2019.10.05 17:08:03.093 1: SB_SERVER_tcb_StartTalk(LMS): timeout waiting for player power on and sync, aborting
2019.10.05 17:08:03.094 3: SB_SERVER_Recall(LMS): name: xxxSgTalkxxx
2019.10.05 17:08:03.159 0: SB_PLAYER_abcdef123403: ttsdebug - play


Läuft zu dem Zeitpunkt ein Player, stoppt die Wiedergabe auch und wird nach einiger Zeit wie erwartet fortgesetzt, jedoch erfolgt keine Sprachausgabe.

Die einzelnen Player kann ich ganz normal via FHEM steuern, eine TTS Ausgabe über sayText eines einzelnen Players funktioniert auch ???

Über einen Tipp würde ich mich freuen.

Edit: OK nach einigen Tests, scheint ein Player die Probleme zu verursachen, wird dieser rausgelassen funzt es wieder.

Wird die syncGroup via

syncGroup load SyncGruppe

geladen und die Wiedergabe gestartet (wie bei meiner morgendlichen Weckerroutine) wird die Wiedergabe problemlos wiedergegeben.

Kann ggfs. der Timeout erhöht werden oder wie komme ich dem einen Player weiter auf die schliche?

Zu den Playern, es handelt sich um einen Multiroomserver auf Basis eine Rpis mit drei 5.1 USB Soundkarten, sprich ein einzelnes Gerät und keine unterschiedlich angebundenen etc.

Greetz
Eldrik

Das hier beschriebene Problem konnte ich lösen (Beschreibung auch in diesem Thread), das Vorgehen zur Ausgabe des Textes ist weiterhin dieselbe.

Greetz
Eldrik

eldrik

Hi,

als zu validierenden Workaround habe ich jetzt einmal, für alle Player Watchdogs erstellt, welche den playStatus des jeweiligen Players, nach 5 Minuten, von "paused" auf "stopped" setzen, ggfs. stolpert der Mechanismus im Modul ja über die Kombination "Youtube Plugin" und "playStatus paused"  ???

Greetz
Eldrik

KernSani

Liebe LMS-Gemeinde,
ich habe kürlich eine neue Squeezebox eingebunden, wird auch automatisch erkannt und funktioniert. Da mir der generierte Name nicht zusagt, habe ich das SB_PLAYER device umbenannt (per rename), was auch funktioniert. Allerdings schlägt beim nächsten Event dann wieder autovreate zu und generiert mir ein neues device (das auch die Events "frisst", d.h. an der umbenamsten Box kommt nichts mehr an). Da ich die Ganze Prozedur in der Vergangenheit (das ist allerdings Jahre her) schon mehrfach problemlos durchgeführt habe, zweifle ich gerade an mir selbst... Wo könnte das Problem liegen?

Danke,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

FHEm2005

#2020
Hallo Oli,

für den SB_Player gab es mal das Attibut "ignore" ( https://forum.fhem.de/index.php/topic,27660.msg205795.html#msg205795 ). Ich habe es in der aktuellen Commandref nicht mehr gefunden. Dafür scheint es jetzt in den SB_SERVER gewandert zu sein. Das Atribut bezieht sich jedoch entweder auf die IP-Adresse oder auf die Mac-Adresse. Die scheinen aber beim wiederholten Autocreate die gleichen zu sein. Warum ignore aus dem SB_PLayer in den SB_SErver gewandert ist kann ich nicht sagen. Da kann ChrisD mit Sicherheit mehr zu sagen.

Ich hatte das Problem, dass im LMS meine UPNP-Geräte immer auftauchten und somit auch die entsprechenden Geräte angelegt wurden. Da half mir dann das 'ignore'-Attribut.

Schon mal mit 'disable 1' versucht? Dann ist das Gerät zwar noch da und kann -wenn ich das richtig interprtiere-  kein 2. Mal eingerichtet werden.

Gruß
Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

KernSani

Hi Eberhard,

danke für die Tipps. Disablen hatte ich auch schon probiert, hat aber leider nicht geholfen (dann ändert sich weder beim automatisch angelegten noch beim umbenannten SB_PLAYER der Status). DIe Ignore Attribute im Server waren mir neu, aber leider haben die bei mir offensichtlich garkeinen Effekt... Werde wohl mal ins Coding schauen müssen ;-)

Schönes Wochenende,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

FHEMAN

Hi Oli, kann es sein, dass sich die MAC geändert hat? Bpsw. durch Änderung von LAN auf WLAN?

Viele Grüße
Ronny
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

KernSani

Hi Ronny,

so einfach ist es leider nicht... Ich habe das Problem aber vermutlich gelöst (zumindest für den Moment). Nachdem ich mir die internals genauer angesehen habe, bin ich zu dem Schluss gekommen, dass da irgendwas schief steht (was weiß ich leider immernoch nicht so genau, aber auf jeden Fall standen da alte Infos im Hash). EIn einfaches shutdown restart hat nicht gereicht. Zum Ziel gekommen bin ich, indem ich alle SB_PLAYER Devices - sowohl die umbenannten, als auch die auto-generierten gelöscht habe, einen shutdown restart gemacht habe und die Devices neu erkennen lassen habe. Nun lassen sie sich wieder umbenennen.

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

trixer

#2024
Zitat von: ChrisD am 10 November 2019, 21:12:47
Hallo,

Anbei ein Skript für die Cache-Funktion mit VoiceRSS. Benötigt wird ein Webserver mit PHP. Im Verzeichnis mit dem Skript muss ein Unterverzeichnis mit dem Namen ttscachev angelegt werden und der Webserver muss darauf Schreibrechte haben.

Anschließend muss das Attribut ttslink beim Player geändert werden, z.B. wenn der Webserver die Adresse 192.168.45.67 hat und das Skript im Hautpverzeichnis liegt:
attr myPlayer ttslink http://192.168.45.67/ttscachev.php?key=<APIKEY>&src=<TEXT>&hl=<LANG>&c=AAC

Grüße,

ChrisD

Hallo ChrisD,
die Idee mit der Cache-Funktion finde ich super. Ich habe das bei mir direkt ausprobiert, allerdings bleibt der Player stumm. Das Debugging hiflt mir persönlich nciht wieter:


2019.12.22 16:05:39 0: SB_PLAYER1: ttsdebug - not active, starting...
2019.12.22 16:05:39 0: SB_PLAYER1: ttsdebug - power: on
2019.12.22 16:05:39 0: SB_PLAYER1: ttsdebug - presence: present
2019.12.22 16:05:39 0: SB_PLAYER1: ttsdebug - playStatus: stopped
2019.12.22 16:05:39 0: SB_PLAYER1: ttsdebug - volume: 20
2019.12.22 16:05:39 0: SB_PLAYER_SetTTSState: SB_PLAYER1: ttsstate: save state
2019.12.22 16:05:39 0: SB_PLAYER_SetTTSState: SB_PLAYER1: ttsstate: set volume
2019.12.22 16:05:39 0: SB_PLAYER_SetTTSState: SB_PLAYER1: ttsstate: load playlist
2019.12.22 16:05:40 0: SB_PLAYER_Set: SB_PLAYER1: add to ttsqueue: http://<IP-Adresse Webserver>/ttscache/ttscachev.php?<APP-KEY>&src=Hallo.&hl=de-de&c=AAC,VoiceRSS
2019.12.22 16:05:40 0: SB_PLAYER_SetTTSState: SB_PLAYER1: ttsstate: wait for play
2019.12.22 16:05:40 0: SB_PLAYER_SetTTSState: SB_PLAYER1: ttsstate: stopped
2019.12.22 16:05:40 0: SB_PLAYER_SetTTSState: SB_PLAYER1: ttsstate: restore state
2019.12.22 16:05:40 0: SB_PLAYER1: ttsdebug - stop
2019.12.22 16:05:40 0: SB_PLAYER_SetTTSState: SB_PLAYER1: ttsstate: idle
2019.12.22 16:05:40 0: SB_PLAYER1: ttsdebug - idle
2019.12.22 16:05:40 0: SB_PLAYER1: ttsdebug - power: on
2019.12.22 16:05:40 0: SB_PLAYER1: ttsdebug - presence: present
2019.12.22 16:05:40 0: SB_PLAYER1: ttsdebug - playStatus: stopped
2019.12.22 16:05:40 0: SB_PLAYER1: ttsdebug - volume: 65

Habe meinen Playernamen im Log durch SB_PLAYER1 und die IP-Adresse des Webservers ersetzt.
Den ttsLink habe ich angepasst, da ich einen Webserver mit nginx und reverse Proxy betreibe. Habe den Cache als separaten vHost angelegt. Daruntger gibt es das Verzeichnis ttscachev für die acc-Files. Alles gehört dem www-data:www-data. Schreibrechte sollten somit kein Thema sein.
Die einzige Erklärung, die ich habe ist, dass die Verzeichnisse nicht korrekt liegen bzw. die Berechtigungen für den LMS nicht passen.
Muss ich das ttscachev-Verzeichnis ggf. im LMS mounten (analog ttsMP3FileDir)?
Viele Grüße
Trixer