Codevorschlag für das YAMAHA_NP Modul

Begonnen von ra666ack, 06 Januar 2015, 00:58:34

Vorheriges Thema - Nächstes Thema

topfi

So, ich habe die beiden Versionen heute mal verglichen: Die alte Routine verstehe ich mangels Syntaxkenntnissen nicht.

Dann flugs die alte Version wieder eingespielt und festgestellt ...   dort wurde timerVolume auch nicht gesetzt.  :o Ich habe es bloß nicht bemerkt, weil die bei mir sowieso immer bei 12 steht und das alte Modul in FHEM keine Fehlermeldung generiert. Soll heißen: das neue Modul ist richtiger, weil eine Fehlermeldung kommt. Wie man es richtig macht, weiß ich leider nicht, womöglich ist das Format, in dem die Variable timerVolume übergeben wird, verkehrt.

Übrigens werden die Readings der timer-Variablen genau einmal gelesen: nach der ersten Definition des Moduls oder nach dem manuellen Löschen dieser readings.

Ich werde also weiterhin, nun aber bewußt, mit diesem kleinen Fehler leben.

ra666ack

#136
Hi Topfi,

habe nochmals die Timerfunktionalität geprüft.

Diese Schritte haben bei mir funktioniert:

1. Über die WEB GUI die Attribute setzen: timerHour, timerMinute, timerVolume, timerRepeat setzen. (ALLE müssen gesetzt sein).
2. timerSet
3. timer on

Mit dem Schritt 1 werden die Parameter gesammelt
Mit dem Schritt 2 werden die Daten an den NP übertragen
Mit dem Schritt 3 wird der timer eingeschaltet

(Der NP muss dabei eingeschaltet sein.)

Die etwas umständliche Prozedur liegt an dem NP Protokoll.

Gruß

ra666ack

ra666ack

In der Tat wird die Lautstärke nich übernommen. Habe den Fehler gefunden.
Neue Version wird schnellstmöglich hochgeladen.

Ciao

ra666ack

topfi

Kaum sachaut man mal ein paar Tage nicht herein...

Super, vielen Dank. Für mein Verständnis: Woran lag es denn? War das Format der Variable timerVolume schuld?

ra666ack

Hi topfi,

nein, beim Code-Aufräumen habe ich wohl einen C&P Fehler gemacht.
Die Daten an den NP wurden falsch verpackt. Im Protokoll fehlte <Volume><Lvl>12</Lvl></Volume>

https://svn.fhem.de/trac/changeset?reponame=&new=19747%40trunk%2Ffhem%2FFHEM%2F71_YAMAHA_NP.pm&old=16025%40trunk%2Ffhem%2FFHEM%2F71_YAMAHA_NP.pm

Danke für den Hinweis.


topfi

Ich bzw. wir alle habe(n) zu danken. Dank Deines Moduls weckt mich die Anlage jeden Tag zur richtigen Zeit.  :D

Am Wochenende stelle ich dann wieder auf das neue Modul um.

ra666ack

Gut zu wissen, dass das Modul einem den (Arbeits)Tag versüssen kann  :)


topfi

Mhhhm  ... nun setzt er timerVolume richtig. Beim Befehl timerSet kommt aber immer noch die Fehlermeldung:

YAMAHA_NP (Yamaha_C560D) - Could not execute "timerSet"

Es ist aber trotzdem alles richtig eingestellt. Merkwürdig.

ra666ack

#143
Gefixt.

Attribute 'Once' und 'Every' im timerRepeat sind case-sensitive. Sie werden zwar in lower case vom NP akzeptiert, der Player gibt aber einen Fehler zurück. Der Code passt sie jetzt an das NP Protokoll an.

topfi


topfi

So, gestern habe ich das update gemacht. Nun funktioniert alles bestens, noch einmal danke dafür.

Eine kurze off-Topic Bemerkung:
Gestern habe ich auch bemerkt, dass Yamaha sich von vtuner verabschiedet hat. Leider gibt es u.a. für den CRX-N650D das update für den neuen Internetradio Anbieter nicht. Noch funktioniert vtuner, kostet jedoch Geld, wenn man die Senderliste ändern möchte. Nicht viel, 3$ im Jahr, das ist aber trotzdem ärgerlich. Denn wenn dieses Portal dichtmacht, ist die teure Anlage (ja, für eine Mini-Anlage war die richtig teuer) für mich wertlos. Ich habe sie wegen des Super-Klangs, dem Subwoofer-Anschluss, der Timer- und Weckfunktion und der Größe nur zum Webradio hören im Schlafzimmer gekauft. Es betrifft aber auch die Jungs und Mädels mit den großen Receivern (nicht nur Yamaha), die sind nun so richtig sauer. Ich verstehe sowieso nicht, warum man die Senderliste nicht einfach lokal im Gerät bewirtschaften kann und so ein blödes Portal braucht. So oft ändern sich die Streams ja nun auch nicht.

ra666ack

#146
In der Tat. Ich habe den 560er und einen RX-A830.
War vermutlich zu erwarten.... Habe $3 überwiesen und beide Geräte funktionieren wieder. Beide sind auf den selben Account angemeldet.

Wer soooo viel Kohle für einen Luxusartikel, wie den 560er ausgegeben hat, wird sich das wohl leisten können :)

Wenn dich das stört, versuch mal forked-daap auf einen RPi zu installieren. Dort kannst du InternetRadio Listen Ablegen und über Airplay abspielen.
Das Geile ist: Multiroom und ohne Delay.


ra666ack

#147
So, nach 4 Tagen Mittelohrentzündung war mir zu langweilig...
Yamaha weigert sich, das Protokoll herauszurücken. Der Wettbewerb macht das besser...
Habe die offizielle Android App mit apktool und das YNC Protokoll angeschaut.

Weitere, nicht dokumentierte und in der App nicht implementierte(!) Funktionen verfügbar gemacht! *Klopf auf die Schulter.

Balance, Equalizer und Enhancer.

IP Filter und weitere Netzwerkfunktionen (außer friendlyName) habe ich bewusst nicht implementiert, da fehleranfällig. Man könnte über FHEM den Zugriff auf das Device verlieren. (Ich kenne meine Pappenheimer... :) )

Viel Spass.

666




topfi

Die drei Euro ruinieren mich nicht. Ich fürchte nur, dass diese Plattform nicht mehr lange existiert.

forked-daap  klingt interessant. Dafür kann ich ja einen kleinen Container auf dem Host starten. Wie muss ich mir das vorstellen? Kann ich mit direkt am Yamaha-NP mit der Fernbedienung die Streams aussuchen oder geht das wieder nur übers Smartphone oder einen anderen Client? Unter dem Menüpunkt "Airplay" passiert erstmal nichts weiter auf meinem NP. Ich glaube, meine Spotify App vom IPhone streamt darüber.

Ich habe heute noch etwas anderes versucht, nämlich einfach eine pls- oder m3u-Datei meines Lieblingssenders auf meinem Medienserver bereitzustellen. Der Yamaha sieht das auch im Modus "Server", er spielt aber nichts ab und meldet nur "no Content found".  :o

ra666ack

Hi,

der forked-daapd kommt mit einem UI auf dem Port 3689. Darüber kannst du alle AirPlay-fähigen Geräte remote steuern.
Es gibt auch Remot Apps, jedoch geht es über den Server direkt deutlich flüssiger.

Das schöne ist, dass es, wie beschrieben multiroom unterstützt, was m.W. erst seit Airplay 2 möglich ist und ähnlich wie bei Sonos.