Squeezebox Modul - erste Version

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

Vorheriges Thema - Nächstes Thema

RoBra81

Hallo ChrisD,

vielen Dank! Ich habe über die Web-Oberfläche die Version 1.7 (die von Troide) installiert und damit geht's.  :)

Ronny

duke-f

Ich weiß nicht, ob meine Frage hier oder unter dem Thema "DOIF" richtig wäre - deshalb probier ich es hier.

Ich möchte gerne, dass meine Stereoanlage einschält, wenn der Squeezelite-Player gestartet wird in seinem Webinterface. Dazu habe ich folgendes definiert:


define DI_Logitech_Lux_on DOIF ([SB_PLAYER_Cubie] eq "on") (set IRTrans on,set Hifi on,define LT_Lux_on at +00:00:25 {Luxman_on()},define LT_Lux_T2 at +00:00:35 {Luxman_Tape2()},define LT_Lux_CD_off at +00:00:45 {Luxman_CD_off()})
attr DI_Logitech_Lux_on do always


Es fehlt noch die Frage:
Warum geht das nicht? :-\

Sieht etwas kompliziert aus, aber die Kommandofolge als solche funktioniert so. Allerdings bekomme ich im Falle des Startens (oder eines anderen beliebigen Kommandos) des Squeezelite im Log den Eintrag:


SB_PLAYER_Get: called with SB_PLAYER_Cubie ?


Der Status von SB_Player_Cubie wird als on gezeigt, aber das DOIF springt nicht an (auch ein äquivalentes notify nicht).
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

ChrisD

Hallo,

Kannst du schauen wie bei deinem Player das Attribut donotnotify steht ?
Wenn es nicht existiert oder auf true steht musst du es auf false setzen:
attr SB_PLAYER_Cubie donotnotify false

Die Meldung
ZitatSB_PLAYER_Get: called with SB_PLAYER_Cubie ?
kommt weil verbose beim Player auf 4 oder 5 steht. Für die Darstellung des Dropdowns im Detail ruft FHEM die Funktion auf um zu wissen was alles ausgewählt werden kann.

Grüße,

ChrisD

RoBra81

Zitat von: ChrisD am 06 März 2015, 08:23:23
Kannst du schauen wie bei deinem Player das Attribut donotnotify steht ?

Was mir zu diesem Thema aufgefallen ist: Mindestens bis zur vorletzten Version wurde dieses Attribut (meiner Meinung nach) immer wieder automatisch gesetzt (bei Neustart?), wenn man es gelöscht hat - daher habe ich mir ein notify gebaut, das das Attribut nach Neustart löscht...

Ronny

ChrisD

Hallo,

Das Attribut donotnotify wird wahrscheinlich seit jeher beim define auf true gesetzt. Ich habe dies bisher nicht geändert da durch die Module viele Events erzeugt werden die nicht jeder in seinen Logs haben möchte.

Abgesehen von deiner Lösung kann man das Attribut auch auf false setzen, dieser Zustand wird mit abgespeichert und bleibt auch nach einem Neustart bestehen.

Grüße,

ChrisD

duke-f

Bin wohl nach einem Jahr immer noch blutiger Anfänger.
Ja, donotnotify war auf true gesetzt. Hab's auf false gesetzt und jetzt geht's

Besten Dank.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

vbs

Ich habe zwei Squeezebox Radios und überlege, ob man damit sinnvoll Text-to-Speech machen könnte. Das Problem ist jedoch: Wenn ich die talk-Funktion benutze (also zB "set mySb talk Achtung Haus brennt"), dann wird dabei der eingestellte Stream gewechselt. Also wenn gerade Musik läuft, dann wird sie nach dem talk nicht weiter gespielt. Und wenn ich am Gerät auf Play  drücke, dann wird nochmal der Text gesprochen, aber Stream is weg. :(

Gibt es eine Möglichkeit, dass nach dem Talk wieder auf den ursprünglichen Stream zurück gewechselt wird? Ich wollte sowas auch gerne selbst in FHEM machen, aber ich finde auch kein Reading, aus dem man die aktuellen Stream-Adresse auslesen könnte vor dem Aufruf der Talk-Funktion.

Danke!

ChrisD

Hallo,

Welche Version der SB-Module verwendest du ?

Grüße,

ChrisD

vbs

Guter Hinweis: Jetzt benutze ich die neuste Version aus dem Master. :) Da das Modul ja aus contrib kommt, hatte ich tatsächlich nicht die aktuelle.

Es hat sich jetzt auch etwas verändert: Wenn ich talk mache, dann wird ein neuer Playlist-Eintrag erzeugt, aber noch nicht abgespielt. Wenn ich ihn dann spielen will, muss ich dann einmal "next" machen.

Was wäre wohl der sauberste Weg, um talk direkt abzuspielen und danach den vorherigen Playlist-Eintrag weiter zu machen?

Eine Idee wäre:
-Wenn gerade abgespielt wird, dann soll beim Befehl talk der talk-Playlist-Eintrag VOR der aktuellen Playlist-Position eingefügt werden und dann einmal "prev" aufgerufen werden. So dass dann die Sprachausgabe abgespielt wird und dann mit dem vorherigen Playlist-Eintrag weitergemacht wird
-Wenn gerade nichts abgespielt wird, dann sollte einfach der Eintrag erzeugt und abgespielt werden

RoBra81

Die neueste Version in der das Talk überarbeitet wurde findest du in Post 606 auf Seite 61 dieses Threads. Wenn das Wiederherstellen der Playlist nach dem Talk mit dieses Version nicht richtig funktioniert, findest du in den darauf folgenden Beiträgen reichlich Hinweise, was du prüfen könntest...

Ronny

vbs

Klasse, danke! Funktioniert jetzt auf Anhieb! Werde ich mal etwas mit rumspielen!

Und sorry, ich glaub ich hab schlecht gesucht... :(

DJAlex

Also bei mir funktioniert jetzt alles super. Alarm geht wieder problemlos, talk geht auch richtig gut. Vielen Dank für dieses super Modul!!!

Jetzt hätt ich da noch ein kleines Problem wo ich keine Lösung finde. Meine SB hängt an einem AV-Reciever der hat eine kleine Verzögerung bis er die Leistung auf die Boxen bringt. Das führt dazu dass die Sprachausgabe am Anfang immer etwas beschnitten wird. Gibts ne Möglichkeit eine halbe Sekunde "Stille" zu erzeugen bevor die Sprache kommt. Am besten direkt über den Google-Stream.

ich dachte mir das so: man setzt das

attr wait 0.5

und vor den TTS Text wird eine Zeichenkette gesetzt die eine kurze Pause erzeugt und dann kommt die Sprachausgabe.

wäre sowas machbar?




Gesendet von iPhone mit Tapatalk

marvin78

Als Workaround für die Stille kannst du deinen Text so formulieren:

set DEVICE talk . . . . Der Briefkasten wurde geöffnet

Gueco315

#643
Hallo,

ich nutze die SB_Player und SB_Server Funktion, alles funktioniert soweit prima. Ich habe ein Logitech UE Smartradio welches ich per interner Installation auf eine Squeezebox umgestellt habe.
Bei Fhem wurde das Radio problemlos erkannt und lässt sich auch steuern.
Nun habe ich das Problem, ich möchte das Radio per Fhem (at) einschalten und "es soll abspielen". Einschalten geht problemlos, leider startet (per play) das Radio nicht!!!! Auf die Eingabe von "set <SB_Player> play oder start" ... :Keine Reaktion. Habe schon tagelang gegoogelt. Kann man den Player nicht mit einem Parameter starten?? Serverseitig (Logitech Server läuft auf einer Synology)  habe ich auch keine Einstellung gefunden. - Danke im voraus.

Gruß Günter

Gelöst mit Notify:
define Sq_buero_play notify Squeeze_buero:on set Squeeze_buero play

Gruß
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

DJAlex

super danke das Probier ich mal aus. wenn man per attr "..." vor jeden talk Befehl einer SB einfügen könnte wär das bestimmt nicht schlecht. könnte mir vorstellen das dass Problem mehrere mit ner SB-Touch haben. geht sowas?


Gesendet von iPhone mit Tapatalk