Modul für Yamaha Musiccast

Begonnen von Pythonf, 20 Juni 2016, 10:28:46

Vorheriges Thema - Nächstes Thema

Leugi

@Pythonf

wie hast du dein Device deklariert ? SOllte in der From sein :

define <device> YAMAHA_MC <IP-Adresse> <Port> <Intervall Off> <Intervall On>
define wx030 YAMAHA_MC 192.168.0.28 80 120 60

vielleicht solltest du auch besser ein FHEM restart durchführen.

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

Pythonf

Also mein FHEM ist up-to-date. Ich hab das Modul in den Ordner /FHEM zu den anderen Modulen kopiert und FHEM neu gestartet. Es kommt beim definieren der Fehler Cannot load module YAMAHA_MC. Wenn ich versuch das Modul mit dem Befehl reload 71_YAMAHA_MC liefert er nun den Fehler "Can't use a hash as a reference at ./FHEM/71_YAMAHA_MC.pm line 2005" .  Zur Definition des Moduls bin ich bisher noch garnicht gekommen. Da der Fehler aber nur bei mir aufzutreten scheint bin ich etwas verwirrt. Ich hab die Datei mittlerweile schon zum 3ten. mal runter geladen und versucht zu installieren. Leider erfolglos.

Gruß
Fabian

Anjo1979

Ich habe vor paar Minuten das Modul integiert. Ich habe einen WX010 Lautsprecher, hat auf anhieb funktioniert. Großes Lob und danke für den Job!

Grüße Thomas

Leugi

@Pythonf

Hast du Json installiert ?

sudo apt-get install libjson-perl

Ansonsten ein Device definieren wie oben beschrieben und mir ein Fhem-Log des Fhem-Starts bei verbose 5 senden.
Da sollte eigentlich genau drin stehen, was nicht funktioniert.

Einige Warnmeldungen bekomme ich auch noch, die sollten aber nicht stören.
Vielleich kann mir jemand sagen, wie ich diese beseitigen kann :

2017.02.06 23:06:01.854 1: PERL WARNING: Using a hash as a reference is deprecated at ./FHEM/71_YAMAHA_MC.pm line 2084, <$fh> line 3511.
2017.02.06 23:06:01.857 1: PERL WARNING: Using a hash as a reference is deprecated at ./FHEM/71_YAMAHA_MC.pm line 2117, <$fh> line 3511.
2017.02.06 23:06:01.859 1: PERL WARNING: Using a hash as a reference is deprecated at ./FHEM/71_YAMAHA_MC.pm line 2152, <$fh> line 3511.
2017.02.06 23:06:01.865 1: PERL WARNING: Using a hash as a reference is deprecated at ./FHEM/71_YAMAHA_MC.pm line 2236, <$fh> line 3511.
2017.02.06 23:06:01.869 1: PERL WARNING: Using a hash as a reference is deprecated at ./FHEM/71_YAMAHA_MC.pm line 2277, <$fh> line 3511.
2017.02.06 23:06:01.871 1: PERL WARNING: Using a hash as a reference is deprecated at ./FHEM/71_YAMAHA_MC.pm line 2300, <$fh> line 3511.

Gruss,
Stefan.

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

sprudelverduenner

Moin Leugi,

der WXA-50 hängt am LAN - Abrüche sind also keine vorhanden.

Ein Test heute Morgen ergab folgendes:

WXA-50 mit MusicCast APP eingeschaltet.
Mit FHEM konnte ich nun on / off / Lautstärke ohne Probleme regeln.
Dann habe ich TurnFavNetRadioChannelOn benutzt.
Danach ging mit FHEM gar nix mehr zu bedienen.

Während dieser Phase hatte ich den Verbose 5 an und somit geloggt - LOG im Anhang.

Was meinst DU bitte genau mit "List des Devices"?

LG, Sprudelverduenner
FHEM @ RaspberryPi 3, HMLAN, HMUART + HMRS485, Homematic, ESPEasy @ Sonoff / Shelly / ESP8266, ZigBee @ CC2531
Echo Dot, Dreambox, Yamaha MusicCast, Logitech Hub, LW-12, LD382
FRITZ!Box 7590 AX, Mesh @ FRITZ!Repeater 2400, FRITZ!Fon, iPhone 13, iPad Air 5, AppleWatch 8

Leugi

@Sprudelverduenner

das sieht im Log alles recht gut aus. Ich bermute du hast ein Attribut einfach vom Beispiel übernommen, das musst du je nach NAmen deines Menüs anpassen. Also bei dir :

attr wx030 menuNameFavoritesNetRadio "My__Favorite"

Damit sollte es wesentlich besser funktionieren.

Ich habe im Log noch ein paar fehlgeschlagene Menu-Navigationen gesehen. Ich versuche da noch etwas zu optimieren.

Gruss,
Stefan

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

Leugi

Sorry bei dir muss es so eingerichtet werden :

attr wx030 menuNameFavoritesNetRadio "My__Favorites"
FHEM auf RaspPi 2, USB-CUL V3, div. HM Aktoren

sprudelverduenner

Ich habe den Eintrag ergänzt - das Fehlverhalten bleibt.
Beim WX-030 hatte ich den Eintrag auch nicht - trotzdem funktionierte es.

Was mir gerade bei Testen aufgefallen ist (ich hatte es von heute morgen dem Test auch noch im Hinterkopf - wusste aber nicht mehr ganz genau ob es so war):

Wenn ich den WXA-50 mit dem Sender ausschalte, der auch mit der Favoriten-Funktion wieder eingeschaltet wird, dann geht es.
Wenn ich den WXA-50 mit einem anderen Sender ausschalte dann funktioniert die Funktion nicht.

Evt. hilft Dir diese Beobachtung?
FHEM @ RaspberryPi 3, HMLAN, HMUART + HMRS485, Homematic, ESPEasy @ Sonoff / Shelly / ESP8266, ZigBee @ CC2531
Echo Dot, Dreambox, Yamaha MusicCast, Logitech Hub, LW-12, LD382
FRITZ!Box 7590 AX, Mesh @ FRITZ!Repeater 2400, FRITZ!Fon, iPhone 13, iPad Air 5, AppleWatch 8

Leugi

Ich habe im Log gefunden, dass dein Device auf sein Set-Befehl nicht reagiert, ich weiss aber nicht warum. Vielleicht ist der Aufruf beim wxa-50 etwas anders.
Beim zurücknavigieren im Menü erhalte ich einen Fehler über ungültige Parameter. Vielleicht kannst du den mal direkt bei dir im Browser aufrufen. Also wenn du per App im Net_radio auf deine Senderliste stehst.
Dann sollte folgender Aufruf dazu führen, dass man eine Ebene zurück geht und es sollte eine Response 0 zurückkommen :

http://192.168.1.35:80/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=return

So steht der Aufruf auch in der API Refernce von Yamaha.

und so kannst du das Menu auslesen :

http://192.168.1.35:80/YamahaExtendedControl/v1/netusb/getListInfo?list_id=main&input=net_radio&size=8&lang=en

ich habe auch schon eine Variante des Return-Request gesehen, vielleich funktioniert das ja besser :

http://192.168.1.35:80/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=return&zone=main

Bitte mal berichten, was bei den Aufrufen im Browser passiert.

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

Pythonf

Ich bekomms einfach nicht zum laufen. Das konnte ich FHEM entlocken:
2017.02.07 22:28:23 4: name: /fhem&fw_id=294&cmd=define+Yamaha+YAMAHA_MC+192.168.37.54+80+120+60 / RL:1414 / text/html; charset=UTF-8 / Content-Encoding: gzip

2017.02.07 22:33:30 5: Cmd: >define Yamaha YAMAHA_MC 192.168.37.54 80 120 60<
2017.02.07 22:33:30 5: Loading ./FHEM/71_YAMAHA_MC.pm
2017.02.07 22:33:30 1: reload: Error:Modul 71_YAMAHA_MC deactivated:
Can't use a hash as a reference at ./FHEM/71_YAMAHA_MC.pm line 2005.

2017.02.07 22:33:30 0: Can't use a hash as a reference at ./FHEM/71_YAMAHA_MC.pm line 2005.


Bin mir jetzt nicht sicher ob es an FHEM oder am Modul hängt. Sicher ist nur, Ich bin ratlos.
Gruß
Fabian

sprudelverduenner

Guten MOrgen Leugi,

hier die Ergebnisse:

Zitat von: Leugi am 07 Februar 2017, 22:35:31
http://192.168.1.35:80/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=return
{"response_code":4}

Zitat von: Leugi am 07 Februar 2017, 22:35:31
http://192.168.1.35:80/YamahaExtendedControl/v1/netusb/getListInfo?list_id=main&input=net_radio&size=8&lang=en
{"response_code":0,"input":"net_radio","menu_layer":0,"max_line":7,"index":0,"playing_index":-1,"menu_name":"NET RADIO","list_info":[{"text":"Bookmarks","thumbnail":"","attribute":2},{"text":"Locations","thumbnail":"","attribute":2},{"text":"Genres","thumbnail":"","attribute":2},{"text":"New Stations","thumbnail":"","attribute":2},{"text":"Popular Stations","thumbnail":"","attribute":2},{"text":"Podcasts","thumbnail":"","attribute":2},{"text":"Help","thumbnail":"","attribute":2}]}


Zitat von: Leugi am 07 Februar 2017, 22:35:31
http://192.168.1.35:80/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=return&zone=main
{"response_code":4}

LG, Sprudelverduenner
FHEM @ RaspberryPi 3, HMLAN, HMUART + HMRS485, Homematic, ESPEasy @ Sonoff / Shelly / ESP8266, ZigBee @ CC2531
Echo Dot, Dreambox, Yamaha MusicCast, Logitech Hub, LW-12, LD382
FRITZ!Box 7590 AX, Mesh @ FRITZ!Repeater 2400, FRITZ!Fon, iPhone 13, iPad Air 5, AppleWatch 8

Pythonf

Auf meinem Test-FHEM läuft das Modul auch super. Muss also irgendwas mit meinem Host-System sein.

Grüße
Fabian

Leugi

@PythonF

ich glaube das liegt an der Perl Version. Die oben genannten Warnungen sind nur in älteren Perl Versionen wirklich Warnungen. Bei neueren Perl Versionen sind es echte Fehler.

Versuche es mal mit der angehängten Version. Dort habe ich alles auf neue Syntax geändert.

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

Pythonf

Danke! Es funktioniert. Was mir allerdings als erstes aufgefallen ist. Volume stimmt nicht mehr. Bei 100% ist er bei mir bei ca. -30 db

Leugi

Hallo Fabian,

schön das es jetzt bei dir funktioniert. Mit der Lautsärkeregelung scheint sich dein Verstärker anders zu verhalten als meine Lautsprecher.
Ich muss das nochmals durchtesten und ggf. eine modellweise Fallunterscheidung einbauen. Bei meiner Box ist anscheinend schon bei Slider unter 100 die 100% erreicht.
Wollte das gerade aber nicht austesten, weil sonst meine Kinder aus dem Bett fallen würden  :o

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