Codevorschlag für das YAMAHA_NP Modul

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

Vorheriges Thema - Nächstes Thema

ra666ack

Hi topfi,

Die Menünavigation ist nun implementiert, soeben eingecheckt s. 'playerList*' Befehle.

(Üblicherweise dauert es 24h, bis das Modul über 'update' verfügbar wird.)

Gruß

ra666ack

topfi

Genial! Danke.  ;D Ich kann es leider erst am Wochenende ausprobieren.

tomster

Servus ra666ck!

Ich hab mich heute auch einmal ein bissl mit dem Modul beschäftigt. Dabei ist mir aufgefallen, dass einige Readings augenscheinlich nicht automatisch aktualisiert werden. Auch wenn ich den Code des Moduls nicht wirklich verstehe, kann ich erkennen, dass einige Abfragen erst manuell durch ein set <device> statusRequest xy angestossen werden. Gerade bei Readings, die sich im Betrieb häufig ändern, wie z.B. tunerRadioTextAFM ist das natürlich unschön, weil man dadurch ja nicht kontinuierlich den passenden Text zum Inhalt erhält.
Darf ich nachfragen, warum Du dieses Verhalten eingebaut hast? Tendenziell will man doch sämtliche Werte automatisch aktualisiert haben, oder?

ra666ack

Sers tomster,

das Verhalten des Moduls ist in der Tat, wie beschrieben. Habe bei der Entwicklung sehr viel hin und her überlegt...
Die für FHEM Funktionalität nicht relevanten Abfragen wie RadioText usw. müssen aktuell manuell erfolgen.
Mein Ansatz war/ist, die automatischen Aktionen des Moduls und somit von FHEM auf ein Minimum zu reduzieren, um evtl. wichtigeren Modulen mehr Ressource zu geben z.B. Geräte, die über Ethernet regeln müssen usw. Die Statusabfrage erzeugt Einiges an HTTP Traffic. Die Kontrolle über die Häufigkeit wollte ich dem User überlassen. Soviel zum Hintergrund.

Nun zur Useability und Kundenzufriedenheit  :)

Ich gehe davon aus, dass eher die dynamischen Änderungen wie Tuner und Player Readings aktualisiert werden sollten. Ich könnte mir vorstellen, in Abhängigkeit des geschalteten Eingangs, diese zyklische Abfrage einzubauen. Evtl. konfigurierbar über Attribute.

Würde das in deinem Sinn sein?

Ciao

ra666ack

tomster

Sers ra666ck,

freilich, wenn die Readings in Abhängigkeit vom gewählten Ausgang ausgelesen würden, wär des a feine Gschicht, Attribute wären vielleicht noch besser. FHEM-User haben ja tendenziell gerne über jedes Fitzelchen die volle Kontrolle ;-)

Ich hab zwar schon vermutet, dass Dein Ansatz einen Traffic-Hintergrund hatte, aber letztendlich wird es die iOS/ Android App wohl auch nicht recht viel anders machen können, oder?

ra666ack

Hi,

erfüllt das Modul deine Wünsche?
Per default werden die Readings aktualisiert. Mit dem Attribut auto_update_[player/tuner]_readings kann man es abschalten.

Gruß

ra666ack

tomster

#21
Zitat von: ra666ack am 14 Februar 2016, 14:20:48
erfüllt das Modul deine Wünsche?

Noch nicht ganz. Siehe hier:

syntax error at ./FHEM/71_YAMAHA_NP.pm line 864, near ") # Check
the string "
syntax error at ./FHEM/71_YAMAHA_NP.pm line 900, near "else"
Global symbol "$usage" requires explicit package name at ./FHEM/71_YAMAHA_NP.pm line 920.
Can't use global @_ in "my" at ./FHEM/71_YAMAHA_NP.pm line 927, near "= @_"
Global symbol "$def" requires explicit package name at ./FHEM/71_YAMAHA_NP.pm line 928.
syntax error at ./FHEM/71_YAMAHA_NP.pm line 982, near "}"
Can't use global @_ in "my" at ./FHEM/71_YAMAHA_NP.pm line 985, near "= @_"
syntax error at ./FHEM/71_YAMAHA_NP.pm line 1007, near "}"
Can't use global @_ in "my" at ./FHEM/71_YAMAHA_NP.pm line 1010, near "= @_"
syntax error at ./FHEM/71_YAMAHA_NP.pm line 1014, near "}"
./FHEM/71_YAMAHA_NP.pm has too many errors.


Edith


Lässt sich nun doch laden. Da hat wohl beim ersten Mal FTP'en was nicht hingehaut...

Werde gleich testen!

tomster

Funktioniert mit den Tuner-Readings einwandfrei! Vielen Dank dafür!

ra666ack

Freut mich. Dann werde ich es noch dokumentieren und einchecken.

tomster

#24
Eine Sache ist mir noch aufgefallen:

Es gibt anscheindend "Zombie-Readings". Wenn man z.B. auf einem Sender war, der tunerRadioTextAFM oder tunerProgramServiceFM, etc. übertragen hat und danach auf einen Sender schaltet, der die entsprechende(n) Zeile(n) nicht überträgt, dann bleibt das alte Reading bis zum Sankt-Nimmerleins-Tag stehen. Wird das Reading schon auf der Yama nicht "geblanked" oder nur nicht im Modul?

Zudem hab ich gerade ein set Yamaha statusRequest tunerPresetFM ausgeführt, um die Stationsbelegung zu sehen. Danach wurden die Readings tunerRadioTextAFM und tunerProgramServiceFM nicht mehr aktualisiert - egal ob auto_update_tuner_readings true war, oder das attr ganz gelöscht ist...

Hast Du seit gestern noch was am Code geschraubt?

ra666ack

Hi,

wenn keine neuen Informationen kommen, werden die Readings nicht upgedated somit auch auch nicht geblanked.
Falls es stört könnte man beim Sonderwechsel Tunerband, Input usw. die "dynamischen" Readings blanken.

Beim letzten Thema vermute ich den Browser. Versuch danach die Seite neu zu laden.

Falls die Zombie-Readings stören, könnte man sie blanken.

tomster

Geblankde Readings sind eigentlich fast "wichtiger", als das Reading selbst. Lieber kein Reading, als ien Falsches...
Hat mich bei Internet-Radios auch schon immer genervt. Kann ja ned so schwer sein, vernünftige Tags zu Liefern, oder?
Beim FM-Text ist das natürlich schwieriger, weil zum Einen die Daten tendenziell weniger oft upgedatetd werden, zum Anderen eben auch gar keine Infos gesendet werden. Aus diesem Grund würde ein "Blanken" beim Senderwechsel sicher Sinn machen.

Zum Browser-Reload mach ich morgen Mal einen Test. Ich hab heut einfach das Device gelöscht und neu angelegt. Dabei hatte ich erst nach einiger Zeit wieder die aktualisierten Readings. Könnte also wirklich ein Reload-Problem sein...

Übrigens, Merci für Deine Bemühungen! Is ned selbstverständlich, so a schnelle Response-Time...

LG,
Tom

ra666ack

Danke für die Blumen.

OK. Also, von Anfang an und nicht wenn sie Aufgerufen wurden sollen alle verfügbaren Readings sofort erscheinen.
Veraltete Information wird gelöscht. Wenn man z.B. vom Tuner DAB nach FM wechselt, werden DAB relevanten Daten gelöscht. (Der Yammy sendet nämlich munter weiter.)

Muss dich vermutlich aufs Wochenende vertrösten. Vorher wird es freizeittechnisch eher eng.

Melde mich.

tomster

Ich wart da gern ab. Pressiert ja nix...

P.S. Bist Du schon dahinter gestiegen, welches File-Format sich hinter der YamahaRemoteControl/AlbumART/AlbumART.ymf verbirgt?
Ich hab Mal ein paar gängige Dateiendungen durchprobiert, aber jpg,gif,png oder so scheint es nicht zu sein...

ra666ack

Hi tomster,

So, Readings-Overkill bis der Arzt kommt...

Mit dem Bildformat habe ich mich nicht nicht befasst. Scheint was Spezielles zu sein. Evtl. gibt es in der ImageMagick Programmsammlung es rausfinden.

Bitte um Feedback. Falls es nach deinem Geschmack ist, würde ich es einchecken.

Danke.

Gruß

ra666ack