Squeezebox Modul - erste Version

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

Vorheriges Thema - Nächstes Thema

duke-f

Hätte da noch eine rein kosmetische Frage:
Ich nutze den LMS gerne mit der Anzeige im Standardformat. Nun wollte ich diesen auch in einem Room zusammen mit anderen passenden Schaltern in einer Ansicht zusammen als Weblink iframe.
Jetzt ist aber diese Ansicht immer stark abhängig davon, was ich in einem anderen für die Ansicht des LMS eingestellt habe, was die Breite der beiden Hauptframes des LMS betrifft (Menüseite und Player). Mache ich das Menu etwas zu schmal, verschwindet es im Frame inerhalb FHEM total und ich kann das darin dann auch nicht mehr ändern. Gibt es da eine Möglichkeit, die Ansicht zu variieren? Ist sicher kein FHEM-spezifisches Problem, wie ich sehe. Wenn ich das Browserfenster mit nur dem LMS zu schmal mache, verschwindet auch der Menü-Frame.
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

Von-XS1-Nach-FHEM

Ich habe die gleiche Frage mit dem Kurze pause.

Kann mann das nicht global definieren?

Zitatsuper 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?

Von-XS1-Nach-FHEM

#647
Ich habe das gerade getestet was Marvin geschrieben hat

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

Aber dann bekomme ich diese Aufteilung und Warnungen:

ZitatMyTTS: Auflistung der Textbausteine nach Aufbereitung:
2015.03.12 11:08:09 4: MyTTS: 0 => hallo das ist ein tes .
2015.03.12 11:08:09 4: MyTTS: 1 => .
2015.03.12 11:08:09 4: MyTTS: 2 => .
2015.03.12 11:08:09 4: MyTTS: 3 => .
2015.03.12 11:08:09 4: MyTTS: 4 => .
2015.03.12 11:08:09 4: MyTTS: 5 => die stimme geht jetzt weiter!

Prototype after '@' for main::Text2Speech_SplitString : @$$$$                             at ./FHEM/98_Text2Speech.pm line 451, <$fh> line 654.


PERL WARNING: Problem closing 'cache/.': Is a directory at ./FHEM/98_Text2Speech.pm line 529
2015.03.12 11:08:19 1: PERL WARNING: Use of uninitialized value in addition (+) at ./FHEM/98_Text2Speech.pm line 531.
2015.03.12 11:08:19 4: HTTP FHEMWEB:192.168.2.185:52127 GET /fhem/pgm2/fhemweb.js

Ich glaube das ist nicht der sin der Sache oder?

Von-XS1-Nach-FHEM

#648
Gibt es da keine Möglichkeit zum beispiel ein Kommando TTS_SentenceAppendix_Anfang zu definieren? Weil TTS_SentenceAppendix und  silence.mp3 funktioniert am ende auch prima!

ZitatTTS_SentenceAppendix
Optional: Angabe einer mp3-Datei die mit jeder Sprachausgabe am Ende ausgegeben wird.
Voraussetzung ist die Nutzung von MP3Wrap. Die Sprachbausteine müssen bereits als mp3 im CacheFileDir vorliegen. Beispiel: silence.mp3

Aber ich glaube das hier geht (leider noch immer nicht Global)

http://forum.fhem.de/index.php/topic,18481.msg137666/topicseen.html#msg137666

ChrisD

Hallo,

Zum Testen gibt es neue Versionen von Server und Player.

Geändert wurden:

97_SB_SERVER:
  - updateModules hinzugefügt

98_SB_PLAYER:
  - wenn der Player ausgeschaltet ist zuerst einschalten bevor play gesendet wird
  - ttsDelay hinzugefügt
  - ttsOptions:ttsforcegroupon implementiert
  - ttsOptions:internalSave unterstützt auch Remote-Streams

Es ist jetzt auch möglich die Module direkt von FHEM aus zu installieren/updaten. Dazu muss im Web-Interface von FHEM
update force https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txteingegeben werden.

Mit dem Attribut ttsDelay kann festgelegt werden um wieviel die Ausgabe verzögert wird. Es gibt 2 Möglichkeiten:
- es wird eine Zeit in Sekunden angegeben, z.B.
attr meinPlayer ttsDelay 2verzögert jede Ausgabe um 2s.

- es werden 2 Zeiten durch Komma getrennt angegeben, z.B.
attr meinPlayer ttsDelay 0.2,3verzögert die Ausgabe um 200ms wenn der Player bereits eingeschaltet ist und um 3s wenn der Player nicht eingeschaltet ist.

@Günter:
Ich habe den Befehl play geändert wenn der Player ausgeschaltet ist, kannst du mit der neuen Version testen ob die Wiedergabe ohne dein notify funktioniert (attr Sq_buero_play disable 1)?

@mrbreil:
Kannst du mit der neuen Version testen ob TTS mit internalSave und Remote-Streams funktioniert ?

@Von-XS1-Nach-FHEM:
Die Squeezebox-Module verwenden kein Text2Speech da der LMS dies selbst kann. Da das Text2Speech-Modul anders funktioniert kannst du die Lösung mit den Punkten nicht ohne weiteres übernehmen.

Grüße,

ChrisD

Von-XS1-Nach-FHEM

#650
Hallo, super.

OK danke für deine Antwort. Aber.........

Andere Frage wie bekomme ich diese Verzögerung Möglichkeit dann in MyTTS Text2Speech Engine wenn mann kein Squeezebox hat und zum beispiel ein normale Lautsprecher benutzt angeschlossen auf FHEM?

siggi85

ChrisD, wow. Wie schnell du auf die Belange hier im Thread mit neuen Versionen reagierst!
Ich will nicht zu weit nach vorne preschen, aber ich bin der Meinung (sagt bitte wenn ihr das anders seht), dass das Modul sich immer mehr Richtung Stable Release bewegt. Natürlich hast du gerade erst wieder neue Versionen hochgelegen welche getestet werden müssen, aber so langsam scheinen alle Probleme die mal vorhanden waren behoben zu sein. Eure Meinungen hierzu?!

mrbreil

Das ist ja wieder eine super Arbeit.  Radio wird jetzt auch wieder hergestellt nach dem die ansage kam. Jetzt kann ich meine Bastellösung mit text2speech in Rente schicken. Das einzige Feature welches ich bei text2speech noch Spitze finde, ist das es vor einer ansage noch eine mp3 abspielen kann. Bei mir ist das eine Art Gong, so nach dem Motto, Achtung zuhören, ich habe etwas zu sagen. Mir ist bewußt das du viel Arbeit mit diesem Modul hast und das ich/wir immer noch ein extra mehr haben wollen,  aber ließe sich das auch technisch einbauen in einer späteren Version? Oder ist das mit den squeezeboxen gar nicht realisierbar?

Ich bin auch der Meinung das es eingecheckt werden kann, bei mir gibt es keine Bugs.

gibacht

Da schliesse ich mich mrbreil an...
Gute Idee  8)
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

thecreep

#654
Hallo,

ich bin absoluter Neuling und habe jetzt FHEM seit 2Tagen auf einem Raspberry Pi installiert ebenfalls habe ich den LMS und einen squeezelite installiert.

Jetzt bin ich ein wenig mit FHEM und diesem Squeezebox Modul am testen.

Meine Frage wäre:
Wie stelle ich es an, daß sobald sich das Volume meines SB_PLAYER ändert, der neue Lautstärkenwert in eine Dummy geschrieben wird?
Das gleiche versuche ich ebenfalls mit dem playStatus (playing, paused, stopped).

Für ein Beispiel, wie ich das umsetzen kann, wäre ich dankbar.

N.B. : Gibt es eine Dokumentation des Squeezebox Moduls?

Gruß

ChrisD

Hallo,

@thecreep:
Die Dokumentation findest du im 1. Beitrag dieses Threads. Sie ist auch in den Modulen selbst und sollte nach der Installation und nach einem Update von FHEM in der Commandref enthalten sein.

ZitatWie stelle ich es an, daß sobald sich das Volume meines SB_PLAYER ändert, der neue Lautstärkenwert in eine Dummy geschrieben wird?
Dies kannst du über ein notify machen, siehe Commandref, z.B.:
define v dummy
define n_VolumeMeinPlayer notify meinPlayer:volume.* set v %EVTPART1

Damit es funktioniert musst du aber das Attribut donotnotify deines Players auf false setzen:
attr meinPlayer donotnotify false

@mrbeil:
Ich werde das Abspielen von MP3s (oder beliebigen Streams) einbauen, weiß aber noch nicht ob ich die Syntax von Text2Speech oder Sonos nehmen soll.

@Von-XS1-Nach-FHEM:
Wenn du Text2Speech verwendest musst du entweder die Lösung von Rince die du gefunden hast verwenden oder den Modulautor bitten ein entsprechendes Attribut hinzuzufügen.

Grüße,

ChrisD

thecreep

Vielen Dank, kenne mich halt noch nicht so gut mit FHEM und  Perl aus.

vbs

Wäre es evtl. sinnvoll, folgende Meldungen auf LogLevel 4 zu setzen? Die kommen ja recht häufig.

2015.03.15 19:34:24 3: SB_SERVER_Alive(sbserver): called
2015.03.15 19:34:24 3: SB_SERVER_Alive(sbserver): RCC:off Ping:on
2015.03.15 19:36:24 3: SB_SERVER_Alive(sbserver): called
2015.03.15 19:36:24 3: SB_SERVER_Alive(sbserver): RCC:off Ping:on
2015.03.15 19:38:24 3: SB_SERVER_Alive(sbserver): called
2015.03.15 19:38:24 3: SB_SERVER_Alive(sbserver): RCC:off Ping:on
2015.03.15 19:40:24 3: SB_SERVER_Alive(sbserver): called
2015.03.15 19:40:24 3: SB_SERVER_Alive(sbserver): RCC:off Ping:on
2015.03.15 19:42:24 3: SB_SERVER_Alive(sbserver): called
2015.03.15 19:42:24 3: SB_SERVER_Alive(sbserver): RCC:off Ping:on
2015.03.15 19:44:24 3: SB_SERVER_Alive(sbserver): called
2015.03.15 19:44:24 3: SB_SERVER_Alive(sbserver): RCC:off Ping:on


Ich meine, den neuesten Stand zu haben. Ich habe das Modul mit diesem Befehl upgedatet:
update force https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txt

Komischerweise kommen folgende Meldungen immer wieder, auch wenn ich den Update-Befehl (+Neustart) später nochmal eingebe:

UPD FHEM/97_SB_SERVER.pm
UPD FHEM/98_SB_PLAYER.pm

New entries in the CHANGED file:
97_SB_SERVER:
  150308 0013 - updateModules hinzugefügt
98_SB_PLAYER:
  150312 0030 - wenn Player ausgeschaltet ist zuerst einschalten bevor play gesendet wird
              - ttsDelay hinzugefügt
              - ttsOptions:ttsforcegroupon implementiert
              - ttsOptions:internalSave unterstützt auch Remote-Streams
                                                                                                 .
Historie Änderungen:
                                                                                                 .
97_SB_SERVER:
  150308 0013 - updateModules hinzugefügt
  150301 0012 - fhemrelay nicht mehr an LMS schicken sondern direkt an Dispatch übergeben
  150209 0011 - Alarmplaylisten an Player übertragen (benötigt 98_SB_PLAYER 0026 oder höher)
              - weitere ungültige Zeichen aus Favoriten und Playlisten ausfiltern
  150202 0010 - Encoding der Playlisten und Favoriten korrigiert
  150201 0009 - URL der Favoriten abfragen und an Player verteilen
              - Namen der Favoriten nicht mehr abschneiden bei Umlauten
              - Umlaute bei Favoriten umwandeln statt zu löschen
              - diverse Loglevel geändert
              - in UTF8 gespeichert
  141222 0008 - Testversion mit zusätzlichen Logausgaben
  141220 0007 - PRESENCE hinzugefügt
              - bei Verwendung von WOL Verbindungsaufbau beschleunigen
              - Login und Passwort funktionieren wieder
              - Broadcast ON an Player erst wenn Login funktioniert hat
... rest of lines skipped.

update finished, "shutdown restart" is needed to activate the changes.

fheminfo server response: ==> ok


Sollte er nicht bei einem erneuten Update sowas sagen wie "nothing to do"?

Besten Dank!

ChrisD

Hallo,

Bei einem 'update force' wird jedes Mal alles heruntergeladen. Wenn du 'update force' einmalig verwendest hast kannst du
update all https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txtverwenden, dabei wird geprüft ob geänderte Dateien vorhanden sind.

Ich habe in 97_SB_SERVER die Loglevel geändert, du kannst somit direkt ausprobieren ob 'update all ...' funktioniert. Es sollte beim 1. Aufruf nur 97_SB_SERVER aktualisiert werden, bei folgenden Aufrufen sollte 'nothing to do' kommen.

Grüße,

ChrisD

vbs

Super, vielen Dank! Update hat geklappt und logs sind weg! Und Sorry: hatte das 'force' übersehen...