Neues Modul: YAMAHA_AVR zur Steuerung von Yamaha AV Receivern per Netzwerk

3,312 views
Skip to first unread message

Markus Bloch

unread,
Nov 5, 2012, 5:48:54 PM11/5/12
to fhem-...@googlegroups.com
Hallo zusammen,

mit diesem Thread möchte ich euch mein erstes Modul was nun den Weg in das FHEM Projekt geschafft hat vorstellen. Es handelt sich hierbei um das Modul YAMAHA_AVR. Es dient im Grundlegenden zum steuern von AV-Receivern der Marke Yamaha, welche über einen Netzwerkanschluss verfügen.

Auf Grund einer Yamaha-intern standardisierten Schnittstelle (für die iOS/Android-App) kann damit eingentlich jeder AV-Receiver von Yamaha gesteuert werden, sofern ein Netzwerkanschluss vorhanden ist. Ich persönlich habe in meinen bescheidenen vier Wänden einen RX-V473 im Einsatz. Ich habe aber im Rahmen der Entwicklungsphasen das selbe Modul auch schon mit einem  RX-V3067 (Danke an den User Hausautomat für die durchgeführten Tests) im Einsatz gesehen.

Aktuelle Features sind:
  • An- und Ausschalten (state: on | off)
  • Auswählen aller tatsächlich vorhandenen Inputs (variert stark, je nach Modell; es werden nur die tatsächlich verfügbaren Inputs angeboten)
  • Setzen der Lautstärke (sowohl direkt, als auch gleitende Anpassung) 
  • Stummschaltung an/aus
Natürlich kann man hier noch viel, viel mehr an Befehlen und Optionen hineinbauen, aber ich denke dies sind die wichtigsten Befehle im Zusammenhang mit FHEM.

Als kleines Beispiel:
 
Bei mir wird die Lautstärke des Receivers durch FHEM heruntergefahren, sobald mein Festnetztelefon klingelt (gelöst mit dem Modul FB_CALLMONITOR, was ich direkt im Anschluss ebenfalls noch vorstelle). Sobald ich das Gespräch geführt habe und auflege, wird die Lautstärke wieder auf den vorherigen Wert hochgeregelt, sofern dies erforderlich ist.

Ich denke hier gibt es noch eine Menge mehr an Ideen was man damit machen kann.

Wichtig um dieses Modul zu nutzen ist, dass die Option Network Standby am Receiver aktiviert sein muss, sonst funktioniert das Modul nicht. 

Falls ihr Fragen zu dem Modul habt, kommt gerne auf mich zu.

Viele Grüße

Markus

JörgB

unread,
Nov 6, 2012, 4:32:18 AM11/6/12
to fhem-...@googlegroups.com
Hi Markus,
wenn es mit dem RX-2010 geht, teste ich gerne mit. :)

Notausstieg0309

unread,
Nov 6, 2012, 8:14:21 AM11/6/12
to fhem-...@googlegroups.com
Hallo Jörg,

ja mit dem Receiver sollte das Modul funktionieren.

Generell funktioniert das Modul mit allen Modellen, welche die iPhone/iPad App von Yamaha unterstützen.

Viele Grüße

Markus

Von meinem iPhone gesendet

Am 06.11.2012 um 10:32 schrieb JörgB <goo...@backus-online.de>:

Hi Markus,
wenn es mit dem RX-2010 geht, teste ich gerne mit. :)

--
To unsubscribe from this group, send email to
fhem-users+...@googlegroups.com

Shoddy

unread,
Nov 6, 2012, 11:18:07 AM11/6/12
to fhem-...@googlegroups.com, notauss...@googlemail.com
Hey Markus,

super Idee! Vorallem kann ich meinen Receiver so auch steuern, wenn ich unterwegs bin... Nur leider will das alles noch nicht so funktionieren. Wenn ich ein "set" absetze (egal welches, auch statusRequest), will er, dass ich meinen Receiver anschalte. Logfile sagt folgendes:

Use of uninitialized value in lc at ./FHEM/71_YAMAHA_AVR.pm line 140.
Use of uninitialized value in lc at ./FHEM/71_YAMAHA_AVR.pm line 141.

Bin jetzt absolut kein Perl-Spezi, von daher hoffe ich auf Hilfe oder Erklärung für Dummies ;-)

Das FB-Modul werde ich mir übrigens auch noch zu Gemüte führen! Denke schon daran, den Klingelton meines Telefons stumm zu machen und stattdessen Metallicas Master of Puppets auf 80% aufm Receiver laufen zu lassen (ich spinne gerne rum...).

Grüße!

Markus Bloch

unread,
Nov 6, 2012, 11:44:32 AM11/6/12
to fhem-...@googlegroups.com, notauss...@googlemail.com
Hallo Shoddy,

Bitte einmal dein FHEM neustarten (oder den Befehl rereadcfg innerhalb von FHEM).

Sollte es dann nicht funktionieren bitte mal den Output der folgenden Befehle auf der Konsole schicken, dann schau ich mir das mal an.

 curl -d "<YAMAHA_AV cmd=\"GET\"><Main_Zone><Input>
<Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>" http://<ip-address>/YamahaRemoteControl/ctrl

 curl -d "<YAMAHA_AV cmd=\"GET\"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>" http://<ip-address>/YamahaRemoteControl/ctrl

Bitte <ip-address> durch die IP-Adresse des Receivers ersetzen.

Viele Grüße

Markus

Markus Bloch

unread,
Nov 6, 2012, 11:51:50 AM11/6/12
to fhem-...@googlegroups.com
Ich hoffe du hast auch den Network Standby an deinem Receiver aktiviert.

BTW: Die Idee mit Master of Puppets gefällt mir  ;-)

Shoddy

unread,
Nov 6, 2012, 11:51:52 AM11/6/12
to fhem-...@googlegroups.com, notauss...@googlemail.com
rereadcfg und neustart habens leider nicht gebracht...

verrat mir doch mal bitte, welche konsole du meinst. vermute mal, dass du nicht die im webfrontend meinst oder? da meckert er nur rum, dass er den befehl curl nicht kennt...

Shoddy

unread,
Nov 6, 2012, 11:55:10 AM11/6/12
to fhem-...@googlegroups.com
Ist aktiviert ;-) Nutze die Android-App seit längerem..

Wenns an meiner Tür klingelt, läuft For whom the bell tolls ;-)

Markus Bloch

unread,
Nov 6, 2012, 11:55:28 AM11/6/12
to fhem-...@googlegroups.com, notauss...@googlemail.com
nein ich mein eine linux-shell  aka

root@laptop #

;-)

Shoddy

unread,
Nov 6, 2012, 11:58:02 AM11/6/12
to fhem-...@googlegroups.com, notauss...@googlemail.com
Verdammte Axt, hätte ich mal was ordentliches gelernt, dann wüsste ich jetzt, was du meinst :D

wie bekomme ich das auf meiner FB7390 hin? Oder wir warten einfach, bis jemand das gleiche Problem, aber mehr Ahnung hat ;-)

Markus Bloch

unread,
Nov 7, 2012, 9:16:03 AM11/7/12
to fhem-...@googlegroups.com
Schick mir doch einfach mal ein Screenshot der Detailseite von deinen AV-Receiver Device.

Ich gugg mir das am Wochenende mal an.

Viele Grüße

Markus

Shoddy

unread,
Nov 7, 2012, 11:52:58 AM11/7/12
to fhem-...@googlegroups.com

Super, dankeschön!

Ich hoffe doch, dass du diese Detailseite meinst? Oder das Webinterface des Receivers selbst? Könnte ich dann auch anbieten...

Markus Bloch

unread,
Nov 7, 2012, 4:22:30 PM11/7/12
to fhem-...@googlegroups.com
Hallo Shoddy,


Dieses Model unterstützt laut Specs die Yamaha iPhone/Android App und sollte daher damit funktionieren. Da das Modul von mir schon nicht einmal das Modell deines Receivers ermitteln kann, tippe ich ganz stark auf ein älteres Vorgängermodell, welches zwar einen Netzwerkanschluss hat, aber keine Yamaha iPhone-App-Unterstützung.

Nutzt du denn zufällig die iPhone/Android-App von Yamaha?

Das Modul funktioniert nur mit Receivern, die die Yamaha-App für Smartphones/Tablets unterstützen.

Viele Grüße

Markus

Markus Bloch

unread,
Nov 7, 2012, 4:29:49 PM11/7/12
to fhem-...@googlegroups.com
Im FHEM-Logfile müssten bestimmt bei einem Neustart deines FHEM bzw. bei einem rereadcfg einige GetFileFromUrl-Fehler sehen. Poste die mal bitte und bitte mal die URL http://<ip-adresse>/YamahaRemoteControl/desc.xml im Webbrowser reinhacken und mal bitte posten, was dabei rauskommt (meine Vermutung ist: URL nicht gefunden). Da müsste ein fettes XML Dokument zurückkommen, sofern dein AV-Receiver die Fernsteuerung per Netzwerk unterstützt.

Vielen Dank

Gruß
Markus
Message has been deleted

Shoddy

unread,
Nov 8, 2012, 1:17:56 AM11/8/12
to fhem-...@googlegroups.com
Das Logfile gibt nach rereadcfg "leider" nur die Standart-Initialisierungs-
Zeilen her, nichts im Zusammenhang mit dem Receiver. Wenn ich dann wieder einen Befehl rausschicken will, bekomme ich


Use of uninitialized value in lc at ./FHEM/71_YAMAHA_AVR.pm line 140.
Use of uninitialized value in lc at ./FHEM/71_YAMAHA_AVR.pm line 141.

Im Modul sind das diese Zeilen:

    my $inputs_piped = InputParamToFhemInput(lc($hash->{INPUTS}), 0);
    my $inputs_comma = InputParamToFhemInput(lc($hash->{INPUTS}), 1);

Und ab hier hört mein Verständnis auf ;-)


Wenn ich die URL reinhacke, bekomme ich (wie Du schon vermutet hast) die berühmte 404 - File not found (The requested URL '/YamahaRemoteControl/desc.xml' was not found on this server. ).

Habe den (wie du auch richtig vermutet hast) RX-A2010, kann ihn auch über die Android-App fernsteuern.

Bin ein wenig ratlos... Du musst Dir jetzt aber nicht unbedingt ein Bein rausreißen... Ich werde mich zwar in den Schlaf weinen, aber das geht vorbei ;-) Nee, Quark... Der Receiver macht sowieso ein paar Probleme und ich überlege umzusteigen... Das wäre jetzt nur ein Argument gewesehen, bei Yamaha zu bleiben...

Auf jeden Fall Danke für die Hilfe bis hierher!

Grüße!

Markus Bloch

unread,
Nov 8, 2012, 7:14:04 AM11/8/12
to fhem-...@googlegroups.com
Hi,

Kein Problem ;-) Dann hat Yamaha wohl in deinem Fall ein anderes internes Interface als die Receiver der RX-V Serie. 

Kann ich nur leider so nicht direkt genauer sagen ohne genauer Analysen am lebenden Objekt ;-)

Vielleicht entscheidest du dich ja für einen aktuellen Yamaha Receiver.

Viele Grüße

Markus

Von meinem iPhone gesendet
--

Shoddy

unread,
Nov 9, 2012, 11:39:27 AM11/9/12
to fhem-...@googlegroups.com, notauss...@googlemail.com
So... jetzt wirds peinlich... Es funktioniert...

So viel sage ich am besten nicht dazu, nur folgendes: ich habe 2 receiver, einen yamaha und einen onkyo... und der eine hat die .24 als IP... und der andere die .23

reicht, oder?

sry für die unannehmlichkeiten =/ auf jeden fall weiß ich, wer mir helfen kann, wenn ich mal echte probleme habe :D danke trotzdem nochmal!

Grüße!

Markus Bloch

unread,
Nov 9, 2012, 1:15:39 PM11/9/12
to fhem-...@googlegroups.com, notauss...@googlemail.com
:-D So einfach kann die Welt sein 

Sag bescheid, falls ich dir eine Abfrage reinmachen soll, ob es ein Onkyo ist, Dann bekommste nen GROSSEN EINTRAG im Logfile, dass es ein Onkyo ist. Nur für dich ;-)

Ich helf doch immer wieder gerne.

Viele Grüße

Markus

Carl Tenschert

unread,
Nov 9, 2012, 6:14:48 PM11/9/12
to fhem-...@googlegroups.com
Supper !

es funktioniert
in der fhem.conf
einfach ein
define avr YAMAHA_AVR 192.168.178.82
eingefügt

mein RX-V771
wurde direkt erkannt und ist bediehnbar :-)
vielen Dank
MfG carl

Joachim

unread,
Nov 11, 2012, 5:37:18 PM11/11/12
to fhem-...@googlegroups.com

Whow, das hört sich ja Alles sehr gut an.
Wäre Folgendes möglich: Power on und Abspielen eines bestimmten MP3 von der NAS?
Oder muesste man NAS seitig auch was machen? Airplay, streaming etc.?
Wie seid Ihr denn mit den RX-Vx73 Series zufrieden?
Es liest sich ja toll, um 300€ für den 373 5.1 Sound, Integration via HDMI, app, Netzwerk, Upgradebar über Firmware, eco mode, einmessbar etc.

Gruss Joachim

Markus Bloch

unread,
Nov 11, 2012, 5:48:38 PM11/11/12
to fhem-...@googlegroups.com
Also ich bin mit meinem V473 (309€) voll zufrieden. Nutz den zurzeit nur reinweg zum Musik hören und bin voll begeistert.

Zu deiner Frage: Möglich währe das durchaus, hatte ich nur nicht einprogrammiert, da ich es nicht brauch. Wer genau dabei den Stream initieren müsste, muss ich mal testen.

Wenn man via FHEM den Receiver auf Server schaltet sollte das direkt klappen. Ich nutze nur AirPlay ausschließlich (allerdings nicht over the Air, sondern direkt Kabel)

Hoffe ich konnte helfen

Viele Grüße

Markus
Message has been deleted

Fidel

unread,
Nov 14, 2012, 6:04:07 AM11/14/12
to fhem-...@googlegroups.com
Hallo,

nach vielen Bemühungen und Versuchen meinen Yamaha zeitgesteuert über den Router ein und auszuschalten bin ich nun auf FHEM gestoßen.
Ich bin begeistert von den Möglichkeiten die sich dadurch ergeben.
Mittlerweile habe ich FHEM auf einer Fb 7390 laufen und meinen AVR auch schon in der config definiert.
Nun meine Frage ist es möglich die Zone 2 über das jetzige Modul anzusteuern oder ist das bis jetzt noch nicht gegeben?
Mir geht es eigentlich nur darum meine Zone 2 Werktags als "Wecker" zu nutzen...

Grüße

Markus Bloch

unread,
Nov 14, 2012, 12:44:13 PM11/14/12
to fhem-...@googlegroups.com
Hallo Fidel,

generell ist das natürlich möglich. Da ich aber zuhause nur einen RX-V473 habe, welcher nur eine Main-Zone hat, konnt ich die dafür nötigen Befehle nicht in Erfahrung bringen.
l
Am einfachsten ist es, wenn du via Smartphone mal das umschalten via Yamaha App durchführst und das dabei auf der FritzBox mit-tracen tust. Ist ganz einfach:

2. Drücke bei der Netzwerkschnittstelle "ath0" auf start (es startet ein Download mit unbekannter größe)
3. Geh in deinem Smartphone auf die Yamaha-App und schalte mal die Zone 2 an und wähle einen Input aus
4. spiel etwas mit der Lautstärke und Mute in der App herum
5. Drücke in der FritzBox auf der Capture Seite auf Stopp 

Das resultierende File aus dem Download mir bitte schicken, dann kann ich die ganzen Befehle für die zweite Zone (und auch theoretisch die 3. Zone bei anderen Modellen) mit einpfegen.

Bitte häng mal noch das ergebniss des folgenden Aufrufs an deinem AV-Receiver mit an:  http://<ip-adresse-des-receivers>/YamahaRemoteControl/desc.xml

Vielen Dank

Gruß
Markus

JörgB

unread,
Nov 14, 2012, 2:15:19 PM11/14/12
to fhem-...@googlegroups.com
Hi Markus,
nun habe ich doch mal einige Fragen. :D

Meinen RX-A2010 habe ich so definiert:
    define AVR1 YAMAHA_AVR 192.168.0.40 15
    attr AVR1 event-on-change-reading power,volume,input
    attr AVR1 room (a)OG_Wohnzimmer


So wie ich das verstanden habe, wird doch wenn ein anderer Input gewählt wird, oder ich das Gerät ausschalte, bzw. die Lautstärke ändere, doch das Notify ausgelöst:
define n_AVR notify AVR1 {
...
}


Bei mir ist es so, dass es nur bei Power und Input auslöst. Volume wird ignoriert. Da ich volume bei event-on-change-reading angegeben habe, sollte das doch gehen, oder?


Des weiteren verstehe ich noch nicht so ganz die GET - Syntax.
Mit my $AVRv = get AVR1 volume bekomme ich die Fehlermeldung: n_AVR return value: Bareword "volume" not allowed while "strict subs" in use at (eval 21) line 1.

Wenn ich nun in dem Notify my $AVRv = get AVR1 'volume' eintrage, bekomme ich n_AVR return value: Can't locate object method "get" via package "AVR1" (perhaps you forgot to load "AVR1"?) at (eval 21) line 1.

Wie sieht das denn nun richtig aus?


LG Jörg

Markus Bloch

unread,
Nov 14, 2012, 2:40:00 PM11/14/12
to fhem-...@googlegroups.com
Hallo Jörg,

das ist ganz einfach:


So wie ich das verstanden habe, wird doch wenn ein anderer Input gewählt wird, oder ich das Gerät ausschalte, bzw. die Lautstärke ändere, doch das Notify ausgelöst:
define n_AVR notify AVR1 {
...
}


Bei mir ist es so, dass es nur bei Power und Input auslöst. Volume wird ignoriert. Da ich volume bei event-on-change-reading angegeben habe, sollte das doch gehen, oder?


Ja das geht auch. Setze event-on-change-reading auf "power,volume_level,input" ;-)


 

Des weiteren verstehe ich noch nicht so ganz die GET - Syntax.
Mit my $AVRv = get AVR1 volume bekomme ich die Fehlermeldung: n_AVR return value: Bareword "volume" not allowed while "strict subs" in use at (eval 21) line 1.

Wenn ich nun in dem Notify my $AVRv = get AVR1 'volume' eintrage, bekomme ich n_AVR return value: Can't locate object method "get" via package "AVR1" (perhaps you forgot to load "AVR1"?) at (eval 21) line 1.

Wie sieht das denn nun richtig aus?

Der GET Befehl ist ein rein FHEM interner Befehl und kann so direkt nicht in FHEM verwendet werden. In einer Perl-Funktion würde das so aussehen:

my $AVRv = fhem("get AVR1 volume_level");      <= die Funktion fhem führt einen FHEM-Befehl aus und gibt das Ergebnis zurück

oder 

my $AVRv = ReadingsVal("AVR1","volume_level","");      <= meinte bevorzugte Variante


Ich habe gerade noch bezüglich des "get AVR1 volume_level" noch etwas gefixet, da der Befehl aktuell nur volume akzeptiert und dann anschließen "no such reading: volume" als Fehler zurück gibt.

Das habe ich bereits gefixed. Ist bereits im SVN drin und wird ab morgen via update verfügbar sein.

Viele Grüße

Markus

JörgB

unread,
Nov 14, 2012, 2:43:29 PM11/14/12
to fhem-...@googlegroups.com
Bin ein Stück weiter gekommen. Mit my $AVRv = {("get AVR1 volume")} gibt es keine Fehlermeldung mehr. Der Inhalt von $AVRv ist HASH(0xa690e0c).

Damit komme ich aber auch nicht weiter. :-D

Markus Bloch

unread,
Nov 14, 2012, 2:52:13 PM11/14/12
to fhem-...@googlegroups.com
Hi Jörg,

Bin ein Stück weiter gekommen. Mit my $AVRv = {("get AVR1 volume")} gibt es keine Fehlermeldung mehr. Der Inhalt von $AVRv ist HASH(0xa690e0c).

Damit komme ich aber auch nicht weiter. :-D

Mit Klammern hast du auch gerade ein Hash (ein Array mit Wörtern als Index) erzeugt, welches quasi die zeichenfolge "get AVR1 volume beinhaltet. Nutze einfach die Funktion ReadingsVal:

my $AVRv = ReadingsVal("AVR1","volume_level",""); 

Damit klappt es auf jedenfall ;-)

Viele Grüße

Markus

JörgB

unread,
Nov 14, 2012, 2:55:00 PM11/14/12
to fhem-...@googlegroups.com
Danke Markus, es funktioniert nun. :-)))

Werde morgen ein Update ausführen!

JörgB

unread,
Nov 14, 2012, 2:58:33 PM11/14/12
to fhem-...@googlegroups.com
Wie ich den Beitrag geschrieben habe, hatte ich nicht gesehen, dass Du schon geantwortet hast. :)

Noch einmal danke für Deine Hilfe und auch für das Modul !!!!


LG Jörg





Mit Klammern hast du auch gerade ein Hash (ein Array mit Wörtern als Index) erzeugt, welches quasi die zeichenfolge "get AVR1 volume beinhaltet. Nutze einfach die Funktion ReadingsVal:
Message has been deleted
Message has been deleted

Fidel

unread,
Nov 15, 2012, 2:45:53 AM11/15/12
to fhem-...@googlegroups.com
Hallo,

vielen Dank für die heißen Tipps. Anbei die Files.
Ich hänge noch eine Tabelle an, mit der ich mir curl Befehle zusammen gebastelt habe, weil ich hier auch etwas von curl-Befehlen gelesen habe.
Ich weiß nicht ob diese bekannt und von nutzen ist ist.

Hier Beispiel-Befehle:
curl -X POST -H "Content-Type: text/xml; charset=UTF-8" -d "<YAMAHA_AV cmd=\"PUT\"><Main_Zone><Volume><Mute>On</Mute></Volume></Main_Zone></YAMAHA_AV>" http://192.168.x.xxx/YamahaRemoteControl/ctrl

curl -X POST -H "Content-Type: text/xml; charset=UTF-8" -d "<YAMAHA_AV cmd=\"PUT\"><Zone_2><Power_Control><Power>On</Power></Power_Control></Zone_2></YAMAHA_AV>" http://192.168.1.32/YamahaRemoteControl/ctrl

curl -X POST -H "Content-Type: text/xml; charset=UTF-8" -d "<YAMAHA_AV cmd=\"PUT\"><Zone_2><Power_Control><Power>Standby</Power></Power_Control></Zone_2></YAMAHA_AV>" http://192.168.1.32/YamahaRemoteControl/ctrl
YamahaRemoteControldesc.txt

Fidel

unread,
Nov 15, 2012, 2:46:27 AM11/15/12
to fhem-...@googlegroups.com
...
RX AX10 VX71 Series Function Tree.xls
Message has been deleted

Markus Bloch

unread,
Nov 15, 2012, 3:24:24 AM11/15/12
to fhem-...@googlegroups.com
Hallo Fidel,

vielen Dank für die Daten, werde ich mir heute abend anschauen.

Viele Grüße

Markus

Markus Bloch

unread,
Nov 15, 2012, 3:38:04 AM11/15/12
to fhem-...@googlegroups.com
Hallo Fidel,

ich hab mir bereits schonmal den Trace angeschaut, da sind leider keine Yamaha Befehle enthalten :(

Ist jetzt die Frage wie dein Receiver innerhalb deines Netzwerks verbunden ist. Da ja ein Kabel drann muss, müsste der AV-Receiver entweder per Kabel direkt an der FritzBox sein oder über eine WLAN-Brücke eben via WLAN an der FritzBox hängen, dann klappt das.

Nutzt du die FritzBox als WLAN Accesspoint?

Alternativ nochmal einen Trace mit der Netzwerkschnittstelle "lan" durchführen. Das ganze funktioniert natürlich nur, wenn der Verkehr zwischen deinem Smartphone und dem AV-Receiver auch über die FritzBox läuft (Smartphone via WLAN an der FritzBox oder Yamaha-AV-Receiver an der Box via LAN/WLAN).

Viele Grüße

Markus

Fidel

unread,
Nov 15, 2012, 4:47:34 AM11/15/12
to fhem-...@googlegroups.com
Hi,

also mein Receiver hängt per lan an der Fritzbox und mein Smartphone per wlan. Ich vermute mal das ath0 die falsche Schnittstelle war, oder? Ich habe es auch leider gestern um Mitternacht gemacht, mit 4% Akku vom Smartphone.
Also unter idealen Voraussetzungen =D
Ich versuche es nochmal in ruhe wenn ich daheim bin.

Grüße

Steven

Markus Bloch

unread,
Nov 15, 2012, 5:02:52 AM11/15/12
to fhem-...@googlegroups.com
Kein Problem. Am besten mal mit "lan" und "ath1" probieren. Irgendwo müssen die Pakete ja auftauchen.

Viele Grüße

Markus

Markus Bloch

unread,
Nov 15, 2012, 8:00:06 AM11/15/12
to fhem-...@googlegroups.com
Eine Frage habe ich noch, wo hast du eigentlich diesen Function Tree als Excel Dokument her? :-/

Konnte da nix wirkliches zu finden bei Yamaha.

Vielen Dank

Gruß
Markus
Message has been deleted

Markus Bloch

unread,
Nov 15, 2012, 11:03:25 AM11/15/12
to fhem-...@googlegroups.com
Vielen Dank, werd ich mir nachher anschauhen.

Zu der Function List: Ja diese Liste hilft mir sehr, weil das die volle Schnittstellendokumentation ist. Damit kann ich erfahren, welche Befehle in welchem XML-Kontext genau möglich sind und was sie bewirken. Vielen Dank nochmal für die Liste. Eine Quelle währe sehr hilfreich, um hier auf dem aktuellen Stand zu bleiben.

Viele Grüße

Markus

Fidel

unread,
Nov 15, 2012, 12:37:15 PM11/15/12
to fhem-...@googlegroups.com
Hi Markus,


Welches Forum es war finde ich nicht mehr, ist aber meines Erachtens irrelevant.

Leider verlangt die normale Seite einen Login: http://www.avhifiresources.co.uk

Fidel

unread,
Nov 15, 2012, 12:52:14 PM11/15/12
to fhem-...@googlegroups.com
Leider nicht der Dealer-Login...

Username: press_tsx 
Password: aventagenxa 

Markus Bloch

unread,
Nov 15, 2012, 3:11:27 PM11/15/12
to fhem-...@googlegroups.com
Hallo Fidel, tut mir leid vermelden zu müssen, dass dieser Trace auch nicht die gewünschten Daten enthält :-(

Das sind die aktuellen Befehle von dem jetzigen YAMAHA_AVR-Modul aus FHEM. :(

Versuchs mal bitte über ath1 und schau dann mal ob Yamaha-Befehle auftauchen die nicht von der 192.168.1.1 stammen.

Ich werd aber dennoch schonmal anfangen die Werte aus der desc.xml einzuarbeiten.

Viele Grüße

Markus

Markus Bloch

unread,
Nov 15, 2012, 4:08:53 PM11/15/12
to fhem-...@googlegroups.com
Hallo Fidel,


ich baue gerade mal die Befehle laut Excel-Liste ein. Sollte denke ich klappen. Musst nur leider dann Versuchskaninchen spielen ;-)

Ein paar generelle Fragen zu dem Zoning-Feature von Yamaha habe ich noch (wegen der Logik-Abbildung im Modul).

Können die verfügbaren Zusatzzonen (Zone 2/3/4) nur dann eingeschaltet werden, wenn die Main_Zone angeschaltet ist?
Kann der Input-Kanal, welcher auf der Main_Zone oder einer anderen Zone läuft auch auf weiteren Zonen ausgewählt werden?

Vielen Dank

Gruß
Markus

Fidel

unread,
Nov 15, 2012, 4:36:57 PM11/15/12
to fhem-...@googlegroups.com
Hi,

klar mache ich gerne. Leider fehlt mir noch ein wenig die Erfahrung das in FHEM einzubinden. Aber ich denke irgendwie wird das schon.
Ich habe nur eine zweite Zone. Diese lässt sich jedoch auch einschalten wenn die Main Zone aus ist.
Den Input Kanal kann ich für Zone 2 separat auswählen.
Beispiel: MainZone läuft TV; Zone 2 - WebRadio

Jedoch lassen sich in der zweiten Zone nicht alle Inputs auswählen.
Auswahl Zone 2 geht für:Napster, Net Radio, PC, Dock, USB ,Tuner, AV 5, AV 6, Audio 1, Audio 2, Phono, und V-AUX

Auswahl der Main Zone : HDMI 1-5, AV 1-4 geht nicht für die Zone 2

Ich kann Aber zum Beispiel auch in Main und Zone 2 WebRadio laufen lassen (Das war glaube ich die Frage...)
Ich hoffe ich habe dich richtig verstanden... :)

Ich denke für weitere Zonen verhält es sich genauso...

Gruß

Steven 

Markus Bloch

unread,
Nov 15, 2012, 5:09:42 PM11/15/12
to fhem-...@googlegroups.com
Hi Steven,

das hilft mir schonmal weiter. Bin nur noch am überlegen wie ich das am geschicktesten reinbringe.

1. Variante: alle Zonen direkt in einem YAMAHA_AVR-Device steuern mit entsprechenden Zusatzkommandos wo man die Zone mit angeben kann,
2. Variante: jede Zone separat in einem YAMAHA_AVR-Device inkl. Zonen-Name definieren. So kann man auch jede Zone einem anderen Raum zuordnen und unabhängig steuern.

Was meinst du? Welche Variante gefällt dir besser?

Ich würde aktuell eher zur 2. tendieren. Ist denke ich für den Nutzer flexibler und einfacher.

Viele Grüße

Markus

Markus Bloch

unread,
Nov 15, 2012, 7:05:06 PM11/15/12
to fhem-...@googlegroups.com
Hallo Steven,

anbei mal eine vorab-Version mit Zoning-Support.

Bitte diese Datei in deiner FHEM installation im Ordner FHEM (wo alle Module liegen) mit der angehangenen Version ersetzen (VORHER BACKUP VOM MODUL + FHEM CONFIG MACHEN!!!) Und dann FHEM mal durchstarten.

Du solltest so initial mit dem Device dasselbe machen können wie bissher. Um deine zweite Zone steuern zu können, erzeuge ein neues Device:

define AV_Receiver_Zone_2 YAMAHA_AVR 192.168.1.32 zone2

mit diesem zusätzlichen Device solltest du nun ausschlieslich die Zone 2 steuern können (auch mit den tatsächlich verfügbaren inputs).

Ich habs, soweit es mit kleinen Schummeleien möglich war, getestet.

Bin gespannt auf das Ergebnis.

Viele Grüße

Markus
71_YAMAHA_AVR.pm

Fidel

unread,
Nov 16, 2012, 5:17:44 AM11/16/12
to fhem-...@googlegroups.com
Hi Markus,

ja Variante 2 finde ich auch besser da man so die Zonen den Räumen zuordnen kann.
Testen kann ich leider erst heute nachmittag...
Aber ich vermute mal ganz stark dass das passen wird... ;)

Ich habe leider ein paar doofe fragen...

Ein Backup vermute ich einfach den FHEM Ordner irgendwo lokal auf meinem Rechner zu sichern!?
Ist das richtig?

Wo ist der Ordner wo alle Module liegen?
Wenn ich über den Windows Explorer suche, finde ich verschiedene Pfade...

fhem/usr/share/fhem/contrib
fhem/usr/share/fhem/FHEM

und auch noch weitere...

ich vermute den zweiten!?

vielen Dank für deine Mühen
Grüße
Steven
Message has been deleted

Markus Bloch

unread,
Nov 16, 2012, 5:57:44 AM11/16/12
to fhem-...@googlegroups.com

Hallo Steven,


 
Ein Backup vermute ich einfach den FHEM Ordner irgendwo lokal auf meinem Rechner zu sichern!?
Ist das richtig?

Ja genau
 
Wo ist der Ordner wo alle Module liegen?
Wenn ich über den Windows Explorer suche, finde ich verschiedene Pfade...

fhem/usr/share/fhem/contrib
fhem/usr/share/fhem/FHEM

Der zweite Pfad ist dein Freund, da liegt nämlich die aktuelle 71_YAMAHA_AVR.pm rum. Ich möchte aber erst das neue Modul durch jemanden mit einem solchen Receiver verifiziert haben, bevor ich es in das Repository hochlade ;-)

Vielen Dank. Bin gespannt auf dein Feedback.

Gruß
Markus

Fidel

unread,
Nov 16, 2012, 10:35:05 AM11/16/12
to fhem-...@googlegroups.com
Hi Markus,

ich habe es eingebunden und es funktioniert sehr gut...

2-3 Kleinigkeiten sind mir aufgefallen:

1- Wenn ich input auswähle erscheint Ipod doppelt als Auswahlmöglichkeit
2- Wenn ich volume setze zb.:-80db wird der Wert gesetzt er läuft jedoch von 0db oder -12db (ich kann es nicht erkennen) hoch,
er regelt halt nicht vom vorherigen Wert aus nach
3 selbiges geschieht bei der Statusabfrage, jedoch nur wenn man zuvor Volume gesetzt hat. Ich denke das wäre mit Punkt 2 behoben.

Ansonsten läuft alles super.
Riesen Dank schonmal für den Stand der jetzt schon erreicht wurde.

Jetzt muss ich nur noch die config für eine zeitgesteuerte Einschaltung+Ausschaltung der Zone 2 hinbekommen :)

Viele Grüße

Steven
 

Fidel

unread,
Nov 16, 2012, 11:32:47 AM11/16/12
to fhem-...@googlegroups.com
Hallo nochmal,

kann mir jemand sagen warum das nicht funktioniert!?

define RXV671Zone2 YAMAHA_AVR 192.168.1.32 zone2 at *17:30 { if (!$we) { fhem(“set RXV671Zone2 on”) } }

mir ist eigentlich am meisten unklar was nach dem "set" stehen muss...

Grüße Steven


Markus Bloch

unread,
Nov 16, 2012, 11:40:56 AM11/16/12
to fhem-...@googlegroups.com
Hallo Steven,

deine genannten Punkte schauh ich mir gleich mal an.

kann mir jemand sagen warum das nicht funktioniert!?
define RXV671Zone2 YAMAHA_AVR 192.168.1.32 zone2 at *17:30 { if (!$we) { fhem(“set RXV671Zone2 on”) } }

Du musst erst mal das generelle AV-Receiver Device definieren:

 define RXV671Zone2 YAMAHA_AVR 192.168.1.32 zone2

Dannach definierst du den at-Job:

define Zone2_anschalten at *17:30 { if(!$we) { fhem(“set RXV671Zone2 on”);; } }

Und nicht das doppelte Semikolon am Ende von fhem() vergessen ;;-)

Viele Grüße

Markus

Markus Bloch

unread,
Nov 16, 2012, 11:53:27 AM11/16/12
to fhem-...@googlegroups.com
Hallo Steven,

kannst du mir mal die Ausgabe von

curl -X POST -H "Content-Type: text/xml; charset=UTF-8" -d "<YAMAHA_AV cmd=\"GET\"><Zone_2><Basic_Status>GetParam</Basic_Status></Zone_2></YAMAHA_AV>" http://192.168.1.32/YamahaRemoteControl/ctrl

und im FHEM ein "list RXV671Zone2" (Also das Zone 2 Device) schicken?

Vielen Dank

Gruß
Markus

Fidel

unread,
Nov 16, 2012, 12:07:22 PM11/16/12
to fhem-...@googlegroups.com


kannst du mir mal die Ausgabe von

curl -X POST -H "Content-Type: text/xml; charset=UTF-8" -d "<YAMAHA_AV cmd=\"GET\"><Zone_2><Basic_Status>GetParam</Basic_Status></Zone_2></YAMAHA_AV>" http://192.168.1.32/YamahaRemoteControl/ctrl

<YAMAHA_AV rsp="GET" RC="0"><Zone_2><Basic_Status><Power_Control><Power>Standby<
/Power><Sleep>Off</Sleep></Power_Control><Volume><Lvl><Val>-500</Val><Exp>1</Exp
><Unit>dB</Unit></Lvl><Mute>Off</Mute><Output>Variable</Output></Volume><Input><
Input_Sel>TUNER</Input_Sel><Input_Sel_Item_Info><Param>TUNER</Param><RW>RW</RW><
Title>TUNER</Title><Icon><On>/YamahaRemoteControl/Icons/icon008.png</On><Off></O
ff></Icon><Src_Name>Tuner</Src_Name><Src_Number>1</Src_Number></Input_Sel_Item_I
nfo></Input><Pure_Direct><Mode>Off</Mode></Pure_Direct></Basic_Status></Zone_2><
/YAMAHA_AV> 


und im FHEM ein "list RXV671Zone2" (Also das Zone 2 Device) schicken?

wo soll ich das eingeben? Habe es per telnet im fhem Ordner und in der Web Oberfläche probiert.

Grüße

Markus Bloch

unread,
Nov 16, 2012, 12:09:40 PM11/16/12
to fhem-...@googlegroups.com
In der FHEM Oberfläche einfach oben in die Textbox den befehl eingeben und direkt auf der Tastatur Enter drücken (nicht Save mit der Maus daneben)

Viele Grüße

Markus

Fidel

unread,
Nov 16, 2012, 12:18:37 PM11/16/12
to fhem-...@googlegroups.com


In der FHEM Oberfläche einfach oben in die Textbox den befehl eingeben und direkt auf der Tastatur Enter drücken (nicht Save mit der Maus daneben)

Internals:
   ACTIVE_ZONE zone2
   DEF        192.168.1.32 zone2
   FIRMWARE   1.1
   MODEL      RX-V671
   NAME       RXV671Zone2
   NR         25
   STATE      off
   TYPE       YAMAHA_AVR
   ZONES_AVAILABLE mainzone,zone2
   Readings:
     2012-11-16 17:24:21   input           tuner
     2012-11-16 17:24:21   power           standby
     2012-11-16 16:37:03   volume_level    0
   Helper:
     ADDRESS    192.168.1.32
     INPUTS     Napster|NET RADIO|PC|iPod|Bluetooth|UAW|USB|iPod (USB)|TUNER|AV5|AV6|AUDIO1|AUDIO2|PHONO|V-AUX
     INTERVAL   30
     SELECTED_ZONE zone2
     ZONES      Main_Zone|Zone_2
Attributes:
   room       Schlafzimmer 
   volume-smooth-change 1 


hmm das mit dem Zeitbefehl haut nicht hin... Fehlt da nochwas?

define RXV671Zone2 YAMAHA_AVR 192.168.1.32 zone2
attr RXV671Zone2 room Schlafzimmer
attr RXV671Zone2 volume-smooth-change 1
define Zone2_anschalten at *18:15 { if(!$we) { fhem(“set RXV671Zone2 on”);; } }

Markus Bloch

unread,
Nov 16, 2012, 12:49:48 PM11/16/12
to fhem-...@googlegroups.com
Hallo Fidel,

anbei ein Update wo die Kleinigkeiten gefixed sind (ein Hoch auf die Excel-Liste von dir).

Deine Definition für die Anschaltung sieht aber gut aus. Ich kann da keinen Fehler entdecken :-/

Viele Grüße

Markus 
71_YAMAHA_AVR.pm

Fidel

unread,
Nov 16, 2012, 2:03:42 PM11/16/12
to fhem-...@googlegroups.com
Hi Markus,

Ich habe jetzt nur auf die schnelle testen können, weil ich weg musste, aber das mit der Lautstärke passt jetzt auch.

Diese Zeitschaltung geht dennoch nicht... Wenn ich den set in fhem in der Befehlszeile eingebe geht es.
Vielleicht liegt es irgendwie an der Zeit?
Woher bekommt fhem die Zeit?

Aber ein riesen Lob an dich und auch an den ganzen Rest der hieran arbeitet. Ohne dich hätte ich glaube ich das nächste habe Jahr vor dd wrt gehangen und wäre danach Single gewesen... ;)

Viele grüße

Fidel

unread,
Nov 16, 2012, 4:55:30 PM11/16/12
to fhem-...@googlegroups.com
Hier die Fehlermeldungen der Logfile bezüglich einer zeitgesteuerten Einschaltung:

2012.11.16 22:48:00 3: Bareword "off" not allowed while "strict subs" in use at (eval 21) line 1.

2012.11.16 22:49:00 3: Bareword "on" not allowed while "strict subs" in use at (eval 22) line 1.

Markus Bloch

unread,
Nov 16, 2012, 6:27:27 PM11/16/12
to fhem-...@googlegroups.com
puh du, da bin ich auch überfragt. Am besten mal einen neuen separaten Thread aufmachen mit der Frage. Vielleicht können dir die FHEM Spezies da weiterhelfen. Wenn du das wirklich genauso in der FHEM cfg drinne stehen hast, sollte das laut der professionellen Meinung meines unscharfen Matschauge funktionieren.

Ich hab das neue Modul mit Zonen-Unterstützung nun für alle FHEM User verfügbar gemacht. Kannst du mit dem Update Befehl ihm laufe DIESES Tages dir ebenfalls runterladen.

Ich würde auch gerne diesen Thread mal abschließen. Ursprünglich war er ja zur Vorstellung dieses Moduls gedacht. Und langsam wirds echt unübersichtlich. ;-)



Daher würde ich JEDEN bitten, für ein neues Thema zu diesem Modul bitte auch einen neuen Thread erstellen.


[Thread closed]
Reply all
Reply to author
Forward
0 new messages