Modul für Yamaha Musiccast

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

Vorheriges Thema - Nächstes Thema

Leugi

Hallo Sledge,

sollte kein Problem sein, die Funktion getFuncStatus mit zu integrieren und bei der Aktualisierung des DeviceStatus mit auszuführen.
Werde mir das mal vornehmen umzusetzen.

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

sledge

Zitat von: Leugi am 03 Juli 2018, 13:16:36
Hallo Sledge,

sollte kein Problem sein, die Funktion getFuncStatus mit zu integrieren und bei der Aktualisierung des DeviceStatus mit auszuführen.
Werde mir das mal vornehmen umzusetzen.

Gruß,
Leugi

Hi Leugi,

super. Habe mir aktuell mit einem HTTPMOD beholfen, in dem ich auch aktiv die Lautsprecher A/B setzen kann... Wireshark macht's möglich:

Hier nur das raw-def - sollte ja reichen, wenn Du was übernehmen möchtest:


defmod test.yamaha HTTPMOD http://192.168.0.49/YamahaExtendedControl/v1/system/getFuncStatus 60
attr test.yamaha userattr set01IMap set01Name set01TextArg:0,1 set01URL set02IMap set02Name set02TextArg:0,1 set02URL
attr test.yamaha alias Lautsprecher
attr test.yamaha extractAllJSON 1
attr test.yamaha group Yamaha
attr test.yamaha icon scene_livingroom
attr test.yamaha room Multimedia
attr test.yamaha set01IMap true:on, false:off
attr test.yamaha set01Name Speaker_A
attr test.yamaha set01TextArg 1
attr test.yamaha set01URL http://192.168.0.49/YamahaExtendedControl/v2/system/setSpeakerA?enable=$val
attr test.yamaha set02IMap true:on, false:off
attr test.yamaha set02Name Speaker_B
attr test.yamaha set02TextArg 1
attr test.yamaha set02URL http://192.168.0.49/YamahaExtendedControl/v2/system/setSpeakerB?enable=$val
attr test.yamaha stateFormat A: speaker_a / B: speaker_b
attr test.yamaha webCmd Speaker_A:Speaker_B
attr test.yamaha webCmdLabel Speaker A : Speaker B


Ich könnte auch die anderen Kommandos noch "sniffen" - habe aktuell noch keinen Bedarf, mehr zu automatisieren.

Gruß,

Tom
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

Leugi

Ich habe das gerade getestet mit der Funktion getFuncStatus, aber leider scheint die Funktion geräteabhängig zu antworten.
Mein Lautsprecher wx030 meldet dann nur :

{"response_code":0,"auto_power_standby":true}

Mein Receiver meldet :

{"response_code":0,"hdmi_out_1":true,"party_mode":false}

Ich habe noch eine Version beigefügt, die die Readings für speaker_a, speaker_b und headphones setzt, ich kann das aber leider nicht testen.
Vielleicht kannst du das einfach mal ausprobieren und schauen, ob die Readings bei dir korrekt gesetzt werden, wenn du die Funktion getFuncStatus ausführst.

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

sledge

Zitat von: Leugi am 03 Juli 2018, 23:08:50
Ich habe das gerade getestet mit der Funktion getFuncStatus, aber leider scheint die Funktion geräteabhängig zu antworten.
Mein Lautsprecher wx030 meldet dann nur :

{"response_code":0,"auto_power_standby":true}

Mein Receiver meldet :

{"response_code":0,"hdmi_out_1":true,"party_mode":false}

Ich habe noch eine Version beigefügt, die die Readings für speaker_a, speaker_b und headphones setzt, ich kann das aber leider nicht testen.
Vielleicht kannst du das einfach mal ausprobieren und schauen, ob die Readings bei dir korrekt gesetzt werden, wenn du die Funktion getFuncStatus ausführst.

Gruß,
Leugi

Hi Leugi,

stimmt schon - der Verstärker / Receiver meldet immer nur das zurück, was er "kann".

Hinweis: Die aktuelle Version des Modules benötigt eine weitere Perl-Bibliothek:

Net::UPnP::ControlPoint

Muss man also ggf. nachinstallieren.

Das Auslesen klappt einwandfrei, wenn man die Funktion "getFuncStatus" manuell ausführst. Ohne die manuelle Ausführung der Funktion bleiben die Readings unverändert.

Danke bis hierher!

Gruß,

Tom


FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

Leugi

Hallo Tom,

anbei auch noch die Version zum Schalten der Lautsprecher setSpeakerA und setSpeakerB.
Konnte es bei mir leider nicht testen, da mein Receiver die Möglichkeit nicht anbietet, sollte aber funktionieren.

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

chopsor

Hallo,

Wollte mal nachfragen ob du in Sachen TTS weitergekommen bist ?Wäre super diverse Ansagen über das System durchgeben zu können. :-D
Hier könnte Ihre Werbung stehen !

RockThisParty

Moin in die Runde!

Ich wollte gerade von einer alten Version (Oktober 17) auf die aktuelle 71_YAMAHA_MC updaten und bekomme folgende Fehlermeldung:

2018.08.14 18:15:59 0: Can't locate UPnP/ControlPoint.pm in @INC (@INC contains: . /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl ./FHEM) at ./FHEM/71_YAMAHA_MC.pm line 38, <$fh> line 591.
BEGIN failed--compilation aborted at ./FHEM/71_YAMAHA_MC.pm line 38, <$fh> line 591.


Die ControlPoint.pm liegt in /FHEM/lib/UPnP

Habt Ihr einen Tipp für mich?

Danke und Grüße,
Stefan

adjanz

Hallo,

also bei mir funktioniert nur die Version aus Post 42. Grund ist die Perl Version.
Könnte man eine aktuellere Version auch fit machen für die neuere Perl Version?

mfg
Armin

Jack-Luck

TTS wäre echt cool!  ;D Und vielleicht das man die Sender direkt anwählen kann, so wie bei dem yamaha_avr Modul:

set <name> navigateListMenu Lesezeichen/Favoriten/1LIVE

Gruß
Jack

RockThisParty

Oh ja, die direkte Senderanwahl (netradio) wäre toll!!!
Viele Grüße
Stefan

sprudelverduenner

@Leugi

Ich habe Deine Version von 05/2018 am Laufen.

Ich habe nun in meiner Tablet UI die Link/Unlink Funktion implementiert.
Dabei ist mir aufgefallen, dass beim Unlink ein Fehler sein könnte - oder ich verwende es falsch...:

Ich habe 3 Geräte - musiccast.mobil, musiccast.bad und mussiccast.wc

Zum linken verwende ich:
set musiccat.mobil mcLinkTo mussiccast.bad und set musiccat.mobil mcLinkTo mussiccast.wc
Ergebnis: Mobil ist der Master - BAD und WC sind die Clienten - alles Gut.

Jetzt möchte ich wieder unlinken - ich verwende:
set musiccat.mobil mcUnLink mussiccast.wc
Ergebnis: beide Clienten werden getrennt.

Verwende ich set musiccat.mobil mcUnLink mussiccast.bad werden auch beide getrennt.
Verwende ich nur set musiccat.mobil mcUnLink passiert gar nichts.

BUG oder FEATURE ??
Für Hilfe wäre ich dankbar.

BTW: ich wollte mal auf Deine aktuelle Version von September upgraden - da kam als Fehler cannot load Yamaha MC module.
Alte Version von Mai 2018 wieder eingespielt - alles in Ordnung.

Lieben Gruß,
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

ToKa

Hallo zusammen,

ich bekomme mit der neusten Modulversion leider auch den Fehler hinsichtlich UPnP. Die notwendige Perl-Bibliothek "libnet-upnp-perl" ist installiert und die ControlPoint.pm liegt unter fhem/lib/UPnP.

2018.09.24 18:29:39 1: reload: Error:Modul 71_YAMAHA_MC deactivated:
Can't locate UPnP/ControlPoint.pm in @INC (you may need to install the UPnP::ControlPoint module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM) at ./FHEM/71_YAMAHA_MC.pm line 38, <$fh> line 2948.
BEGIN failed--compilation aborted at ./FHEM/71_YAMAHA_MC.pm line 38, <$fh> line 2948.


Kann mir jemand auf die Sprünge helfen?

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Leugi

Bezüglich der ControlPoint.pm hatte ich noch eine alte Library refernziert, die garnicht mehr benötigt wird.
Es werden trotzdem die folgenden Module benötigt :

Net::UPnP::AV::MediaRenderer;
Net::UPnP::ControlPoint;
Net::UPnP::Device;
Net::UPnP::Service;
Net::UPnP::AV::MediaServer;

Die können per
sudo apt-get install -y libnet-upnp-perl

installiert werden.

Bitte einmal mit der beigefügten Version testen und zurückmelden, ob die Fehlermeldung noch kommt.
FHEM auf RaspPi 2, USB-CUL V3, div. HM Aktoren

ToKa

Die Fehlermeldung ist weg, das Modul wird geladen und scheint zu funktionieren (so mal auf die schnelle getestet).

Danke!

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

RockThisParty

Danke!! Nach erstem Eindruck läuft es bei mir auch!
Viele Grüße
Stefan