Modul für Yamaha Musiccast

Begonnen von Leugi, 10 März 2019, 16:07:57

Vorheriges Thema - Nächstes Thema

JonasE

#60
Ich habe ein bisschen was angepasst und es scheint zu funktionieren. Ich arbeite auf github und wollte fragen wie ich die Änderung am besten zur Verfügung stelle?

@Leugi
Arbeitest du mit github? Ich könnte dir einen Patch zukommen lassen oder auch direkt ein PullRequest machen.

Wenn du schonmal reinschauen möchtest das ist mein Repo mit dem entsprechend Branch:
https://github.com/jonaseickhoff/fhem-mirror/commits/YamahaMusiccast

Ich habe auch schon UDP zum laufen bekommen. Dann könnte man auf ein polling verzichten.

EDIT: Ich habe jetzt auch das Link und Unlink noch überarbeitet. Da gab es noch ein paar Probleme im Hinblick auf die Gruppennamen. Außerdem wird jetzt überprüft ob die Geräte überhaupt verbunden sind bevor sie getrennt werden soll. Bzw. ob sie nicht schon verbunden sind, wenn sie verbunden werden sollen.

Grüße
Jonas

Leugi

Hallo Jonas,

danke für das Update des Moduls, du kannst das gerne direkt per Git pushen.
Alternativ mir zusenden, dann stell ich das ein.

Gruß,
Leugi
FHEM auf RaspPi 2, USB-CUL V3, div. HM Aktoren

JonasE

#62
Hi,
irgendwie komm ich aktuell nicht dazu das bei Github mit dem controls.txt fertig zu machen. Also veröffentliche ich die Version hier erst einmal so.

Änderungen:
- UTF8 Probleme bei Gruppennamen behoben
- bei mclinkto und mcunlink werden jetzt die möglichen Yamaha Geräte in einer Liste vorgeschlagen.

Grüße
Jonas

esk

Hi Leugi,

ich habe einen kleinen bugfix angehängt, der das Vollaufen der CMD_QUEUE verhindert, wenn das Gerät nicht erreichbar ist.

Problem siehe Post #55 : https://forum.fhem.de/index.php/topic,98383.msg931446.html#msg931446

(Variable alreadyinqueue wurde doppelt deklariert)

Mfg. esk

JonasE

Das mit dem Fix ist super. Vielleicht kann Leugi, wenn es auch mit meiner Version soweit keine Probleme gibt, die Updates als neue Version ins SVN einchecken?

Grüße
Jonas

kilderman

#65
Hallo zusammen,

ich könnte ggf. ein wenig Hilfe gebrauchen. Ich habe mich einmal wieder daran versucht (hat aber nicht geklappt), den Yamaha-Lautsprecher zum Sprechen zu bekommen. Mein Problem mit dem Media-Server habe ich lösen können, indem ich für FHEM einfach einen extra MiniDLNA-Server aufgesetzt habe, so bleibt die Musiksammlung unberührt. Ich bekomme es aber einfach nicht hin, dass beim Yamaha-Lautsprecher der DLNARenderer eingetragen wird.

Hier ein List des Devices:

Internals:
   ACTIVE_ZONE main
   API_VERSION 2.04
   CHANGED   
   DEF        192.168.2.52 80 120 60 main
   DEVICEID   0
   DEVICE_ID  BC30D9848434
   FUUID      5c439285-f33f-3364-60d3-ca1608c9d75e1aa4
   HOST       192.168.2.52
   LastTtsFile
   MODEL      WX-021
   NAME       mo_KURadio
   NR         876
   OFF_INTERVAL 120
   ON_INTERVAL 60
   PORT       80
   PowerOnInProgress 0
   STATE      on
   SYSTEM_ID  0E9922C3
   SYSTEM_VERSION 1.69
   TYPE       YAMAHA_MC
   URLCMD     /YamahaExtendedControl
   VERSION    v2.1.0
   WLAND_STRENGTH 0
   WLAN_SSID 
   ZONE       main
   attemptsToReturnMenu 0
   connection wired_lan
   location_id 5c736e517be54440b5aba0940be83ca1
   location_name Schlafzimmer
   network_name Küche
   settingChannelInProgress 0
   vtuner_id 
   READINGS:
     2019-08-04 15:38:34   DLNARenderer    unknown
     2019-08-07 19:41:18   FirmwareAvailable 0
     2019-08-04 15:41:14   MediaServer     miniDLNA-FHEM
     2019-08-07 19:28:59   album_name     
     2019-08-07 19:28:59   albumart_id     6903
     2019-08-07 19:28:59   albumart_url    http://192.168.2.52/YamahaRemoteControl/AlbumART/AlbumART6903.png
     2019-08-07 19:41:18   auto_power_standby 1
     2019-08-02 23:43:46   currentFavNetRadioChannel 2
     2019-08-07 19:28:59   currentMenuName NET RADIO
     2019-08-07 19:28:59   currentMenuPlayingIndex -1
     2019-08-07 19:28:59   currentMenumaxItems 2
     2019-01-07 18:08:20   equalizer_low   -4
     2019-01-07 18:07:20   equalizer_mid   -2
     2019-08-07 19:41:18   hdmi_out_1      false
     2019-08-07 19:41:18   hdmi_out_2      false
     2019-08-07 19:41:18   headphone       false
     2019-08-02 23:43:33   input           net_radio
     2019-08-07 19:41:18   ir_sensor       false
     2019-05-24 17:57:07   last_error      connect to http://192.168.2.52:80 timed out
     2019-06-04 19:44:28   linkedClients   
     2019-08-07 19:41:18   max_volume      60
     2019-01-06 16:38:51   mute            0
     2019-08-07 19:41:18   party_mode      false
     2019-08-07 19:28:59   playback_input  net_radio
     2019-08-07 19:28:59   playback_status play
     2019-08-07 19:41:18   power           on
     2019-08-07 19:41:18   presence        present
     2019-08-07 19:41:18   response_code   0
     2019-01-06 16:38:51   sound_program   standard
     2019-08-07 19:41:18   speaker_a       false
     2019-08-07 19:41:18   speaker_b       false
     2019-08-07 19:41:18   state           on
     2019-08-07 19:28:59   station_name    NDR 2 Niedersachsen (Hanover/German)
     2019-08-07 19:28:59   track           Queen - I Was Born To Love You
     2019-08-07 19:41:18   volume          56
   helper:
     AVAILABLE  1
     DISABLED   0
     INPUTS     napster|spotify|qobuz|tidal|deezer|airplay|mc_link|server|net_radio|bluetooth
     MENUITEMS  Radio|Podcasts
     RUNNING_REQUEST 0
     SELECTED_ZONE main
     TIMEOUT_COUNT 0
     ZONES      main
     inputs_comma napster,spotify,qobuz,tidal,deezer,airplay,mc_link,server,net_radio,bluetooth
     inputs_piped napster|spotify|qobuz|tidal|deezer|airplay|mc_link|server|net_radio|bluetooth
     menuitems_comma radio,podcasts
     menuitems_piped radio|podcasts
     soundprograms_comma
     CMD_QUEUE:
   mac_address:
     wired_lan  BC30D9848434
     wireless_direct BC30D9848435
     wireless_lan BC30D9848435
   mo_KURadio:
     READINGS:
Attributes:
   DLNAServer miniDLNA-FHEM
   DLNAsearch on
   DbLogExclude .*
   FavoriteNetRadioChannel 1
   alias      Radio KU
   devStateIcon off:ios-off on:ios-on-green
   event-on-change-reading power
   eventMap   TurnFavNetRadioChannelOn:fav_on NetRadioPrevFavChannel:fav_- NetRadioNextFavChannel:fav_+
   group      Multimedia
   room       Küche
   standard_volume 42
   ttsvolume  50
   verbose    0
   volumeSteps 3
   webCmd     fav_on:fav_-:fav_+:volume


Einmal mit BubbleDingens zu schauen, ob da der Lautsprecher als DLNARenderer gefunden wird, habe ich ausprobiert und er wird auch gefunden.

Wenn ich spaßeshalber einmal das Modul DLNARender definiere, wird der Yamaha-Lautsprecher ebenfalls als DLNARenderer gefunden und aufgeführt. Hier dazu auch einmal ein List:


Internals:
   CFGFN     
   DEF        uuid:9ab0c000-f668-11de-9976-bc30d9848434
   FUUID      5d4b092a-f33f-3364-cef0-2378e5f481188aa0
   NAME       DLNA_bc30d9848434
   NR         2256
   STATE      online
   TYPE       DLNARenderer
   UDN        uuid:9ab0c000-f668-11de-9976-bc30d9848434
   Helper:
     DBLOG:
       state:
         DBLogging1:
           TIME       1565198634.99624
           VALUE      offline
   READINGS:
     2019-08-07 19:23:55   friendlyName    Küche
     2019-08-07 19:23:55   manufacturer    Yamaha Corporation
     2019-08-07 19:23:55   manufacturerURL http://www.yamaha.com/
     2019-08-07 19:23:55   modelDescription MusicCast
     2019-08-07 19:23:55   modelName       WX-021
     2019-08-07 19:23:55   modelNumber     021
     2019-08-07 19:23:55   modelURL        http://www.yamaha.com/
     2019-08-07 19:23:55   multiRoomSupport 0
     2019-08-07 19:23:55   presence        online
     2019-08-07 19:23:55   presentationURL http://192.168.2.52/
     2019-08-07 19:23:55   state           online
     2019-08-07 19:28:58   stream          http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Dies ist ein Test
   helper:
     caskeid    0
     caskeidClients
Attributes:
   DbLogExclude .*
   alias      Küche
   userattr   channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
   verbose    0
   webCmd     volume


Hätte vielleicht jemand eine Idee, was ich noch probieren kann, um den Lautsprecher zum Reden zu bewegen?

Herzlichen Dank und viele Grüße

PS. Im LOG steht an der entsprechenden Stelle wiederkehrend folgendes:

2019.08.07 20:18:37 4: (mo_KURadio) - + Es laeuft kein Request mehr
2019.08.07 20:18:37 4: YAMAHA_MC (mo_KURadio) YAMAHA_MC_HandleCmdQueue - pending requests 0
2019.08.07 20:19:05 4: mo_KURadio YAMAHA_MC_DiscoverDLNAProcess started
2019.08.07 20:19:05 4: mo_KURadio YAMAHA_MC_DiscoverDLNAProcess started, DLNAsearch turned on
2019.08.07 20:19:05 4: mo_KURadio YAMAHA_MC_DiscoverDLNAProcess calling YAMAHA_MC_DiscoverDLNAServer
2019.08.07 20:19:05 4: mo_KURadio  YAMAHA_MC_DiscoverMediaServer START
2019.08.07 20:19:05 3: mo_KURadio  Searching for MediaServer..
2019.08.07 20:19:15 3: mo_KURadio Found 2 MediaServer

2019.08.07 20:19:15 3: mo_KURadio  found [1] : device name: [miniDLNA-FHEM]
2019.08.07 20:19:15 4: mo_KURadio YAMAHA_MC_DiscoverMediaServer found correct media server : miniDLNA-FHEM
2019.08.07 20:19:15 3: Init MediaServer now
2019.08.07 20:19:15 4: mo_KURadio  Saving MediaServer in helper
2019.08.07 20:19:15 4: mo_KURadio  Saving MediaServer in helper done
2019.08.07 20:19:15 4: mo_KURadio YAMAHA_MC_DiscoverDLNAProcess calling YAMAHA_MC_DiscoverRenderer
2019.08.07 20:19:15 4: mo_KURadio  YAMAHA_MC_DiscoverRenderer START
2019.08.07 20:19:15 4: mo_KURadio  YAMAHA_MC_DiscoverRenderer DLNAsearch is turned on

2019.08.07 20:19:15 4: mo_KURadio YAMAHA_MC_DiscoverRenderer start search for own dlna Renderer
2019.08.07 20:19:21 4: mo_KURadio YAMAHA_MC_DiscoverDLNAProcess returning

und danach keine weiteren anderslautenden Einträge mit diesem Bezug

Jack-Luck

Meine Box spricht nun endlich auch!  :D Aber leider bekomme ich jedesmal wenn ich eine Sprachausgabe mache eine Meldung:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

sudo: no tty present and no askpass program specified

Scheint ein rechte Problem zu sein, ich weiß leider nicht mehr weiter.

Liegt es vielleicht hier dran:

fhem ALL=NOPASSWD: /usr/bin/mplayer
fhem ALL=NOPASSWD: /usr/bin/minidlna
fhem ALL=NOPASSWD: /usr/sbin/service minidlna

wobei es völlig egal ist was ich dort eintrage, kann die drei Zeilen auch weg lassen,
die Sprachausgabe geht trotzdem und die Meldung kommt immer.


Gruß
Jack

Helmuth

Hallo
Ich bekomme keine Sprachausgabe hin und hoffe auf Updates.

Nu noch eine Frage für das ältere Semester. Warum kann ich bei standard_volume nur 15 auswählen. Da brauche ich ja nen Hörgerät. Hab ich da irgendwo etwas übersehen?

Gruß Helmuth
Wer einen Tippfehler findet darf ihn behalten.

JonasE

Hi,

welche MusicCast Box hast du denn? Ich würde bei mir nochmal gegen testen. Hast du das Problem bei bestimmten Sätzen oder grundsätzlich?

Das mit dem standard_volume scheint noch ein Bug zu sein. Du kannst aber glaube ich das Attribut über ,,attr meineBox standard_volume 30" einfach selber höher setzten.


Gesendet von iPhone mit Tapatalk

Helmuth

Hi

das mit der standard lautstärke geht tatsächlich direkt über attr. An Lautsprechern habe ich die Bar 400, 2 x MusicCast 20,1 x Musiccast 50 und einen RX V685 Receiver. Momentan habe ich in jedem Raum ein Android Handy liegen für die Sprachausgabe. Die will ich aber abschaffen und die Yamaha Lautsprecher bzw. AV-Receiver sollen das übernehmen. Das war mein Plan aber leider bekomme ich es nicht hin. Kann das damit zusammen hängen das Fhem bei mir im Docker läuft?
Wer einen Tippfehler findet darf ihn behalten.

Leugi

@Jack

Mit den Medlungen
We trust you have received the usual lecture from the local System..

gibt es hier einige Hinweise :
https://unix.stackexchange.com/questions/448810/what-does-this-warning-mean-and-what-should-i-do-to-fix-it/448818

FHEM auf RaspPi 2, USB-CUL V3, div. HM Aktoren

Jack-Luck

Cool, danke Leugi! Ich guck mir das mal an.

JonasE

Hi,

ich habe das Modul nochmal erweitert. Man kann nun mit dem Attribut "eventProcessing" das EventParsing aktivieren. Damit ist ein Warten auf den Pull für das Aktualisieren mancher Werte nicht mehr nötig. Erstmal habe ich nur die Readings power, mute und volume im eventParser mit drin. Das ganze lässt sich jetzt aber relativ einfach auch erweitern.

Das Modul habe ich mit perltidy für die bessere Lesbarkeit formatiert. Deshalb ist der Patch ziemlich groß.

Im Anhang findet ihr die neue Version. Vielleicht möchte @Leugi ja die ein oder andere Änderung übernehmen.


Leugi

Hallo JonasE,

viel Dank für die Änderungen !

Ich habe das geänderte Modul getestet und ins FHEM Repository eingecheckt. Wird ab morgen dann in FHEM zur Verfügung stehen.

Gruß,
Leugi
FHEM auf RaspPi 2, USB-CUL V3, div. HM Aktoren

chopsor

Hoihoi,


Mal ne evtl doofe Frage aber wie könnte man mit dem Speakfile eine Datei au einem anderen DLNA Server abspielen ? oder geht hier sogar eine URL ?


Die Frage begründet sich dadurch, da ich die Sprachausgabe/Soundausgabe auf einen Dockercontainer auslagern wollte (probiere gerade die Schreibzugriffe auf dem PI zu minimieren) (fhem Docker auf Synology) hier der Minidlna Server aber nicht funktioniert und ich nun stattdessen den DLNA Server vom Synology selbst nehmen will.


Danke.
Hier könnte Ihre Werbung stehen !