einheitliche kommandos für av geräte

Begonnen von justme1968, 15 Juli 2013, 18:07:35

Vorheriges Thema - Nächstes Thema

der-Lolo

Hallo Zusammen,
ich bastle gerade mithilfe des Dashboards und readingsGroup einen - sagen wir mal einen Multimedia Tab.

Von dort aus kann ich alle verfügbaren Eingangsquellen zu den entsprechenden Ausgängen Mappen und die playerfunktion bedienen. Ich las irgendwann mal das versucht werden sollte möglichst einheitliche befehle zu nutzen.
OK, hier geht es um AV Geräte - mir geht es eher um Audio, aber vielleicht macht es trotzdem sinn das ganze zu erweitern.

Mir fehlen die Player Kommandos skip ff, skip rew, crossfade, record
Welche befehle werden z.b. bei Squezzebox oder iTunes verwendet? Wie läuft das bei ListenLive? 

Oder würde es zu weit führen diese player typen & Sonos zu vereinheitlichen?
Gibt es noch mehr Module / Geräte die diese Befehlstypen verwenden?

Loredo


HI Folks,

Ich weiß, dass ich mit meiner Ergänzung der Guidlines im Wiki für ein stateAV Reading vielleicht etwas voreilig/übereifrig war, deshalb möchte ich formell nochmals auf diesen Beitrag verweisen wo erklärt ist, wofür das Reading gut ist.

Ich habe das Reading in all meinen Modulen implementiert und wie im verlinkten Beitrag zu lesen ist auch für SONOSPLAYER einen Workaround bei mir im Einsatz (auch wenn stateAV hier aufgrund des SONOSPLAYER Modul etwas von dem Reading in den anderen Modulen abweicht, da es sich an den wichtigen Stellen ohnehin nicht an die AV-Standards hält und es daher für SONOSPLAYER sinnvoll erschien es anders auszulegen).

Seht das hier gerne als Antrag an.
Dementsprechend überlasse ich es gerne der Community meine Wiki Ergänzungen wieder zu löschen.




Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Ich schlage außerdem noch die Standard-Readings channelList und inputList vor, um diese aus anderen Frontends als Eingabe für die AV-Setter "channel" und "input" verwenden zu können.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Markus Bloch

Hi Julian,

mit dem Reading stateAV habe ich so meine Bauchschmerzen, es ist zu speziell auf das Abspielen von steuerbaren Eingängen (wie Bluetooth, DLNA, Airplay) ausgelegt. Was sollte der Status bei Eingängen sein, die nicht direkt durch ein Gerät gesteuert wird (bspw. AV1/2/3, PHONO, CD, ...)? In so einem Fall ginge ja nur absent->off->muted->on???

Wozu genau benötigt man die channelList/inputList? Wenn man bei den set-Kommandos die Usage entsprechend dynamisch generiert, dann ist doch die channelList/inputList daraus ableitbar:

Unknown argument ?, choose one of on:noArg off:noArg volumeStraight:slider,-80,1,16 volume:slider,0,1,100 volumeUp volumeDown input:audio,av1,av2,av3,av4,av5,av6,airplay,hdmi1,hdmi2,hdmi3,hdmi4,netradio,server,tuner,usb,v-aux,ipod_usb mute:on,off,toggle remoteControl:setup,up,down,left,right,return,option,display,tunerPresetUp,tunerPresetDown,enter scene:scene1,scene2,scene3,scene4 straight:on,off 3dCinemaDsp:off,auto adaptiveDrc:off,auto direct:on,off dsp:hallinmunich,hallinvienna,chamber,cellarclub,theroxytheatre,thebottomline,sports,actiongame,roleplayinggame,musicvideo,standard,spectacle,sci-fi,adventure,drama,monomovie,surrounddecoder,2chstereo,5chstereo enhancer:on,off sleep:off,30min,60min,90min,120min,last bass:slider,-6,0.5,6 treble:slider,-6,0.5,6 tunerFrequency statusRequest:noArg


Unknown argument ?, choose one of statusRequest:noArg showPairCode:noArg removeP                                                                                                                                                             airing:noArg remoteControl:0,1,2,3,3D_L/R,3Dvideo,4,5,6,7,8,9,PiP,PiP_channelDow                                                                                                                                                             n,PiP_channelUp,audioDescription,avMode,back,blue,channelDown,channelUp,dash,dow                                                                                                                                                             n,energySaving,epg,exit,fastForward,favouriteChannel,green,home,info,input,left,                                                                                                                                                             liveTv,mark,menu,mute,myApps,netCast,ok,pause,play,power,prevchannel,proglist,qu                                                                                                                                                             ickMenu,ratio,record,recordingList,red,repeat,reservationProglist,rewind,right,s                                                                                                                                                             implink,skipBackward,skipForward,stop,subtitle,switchPriSecVideo,teletext,textOp                                                                                                                                                             tion,up,volumeDown,volumeUp,yellow channelDown:noArg channelUp:noArg channel:1,2                                                                                                                                                             ,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32                                                                                                                                                             ,33,34,36,38,39,40,41,42,43,44,45,46,47,49,50,51,52,54,58,59,60,61,62,63,65,70,7                                                                                                                                                             2,74,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,100,10                                                                                                                                                             1,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,12                                                                                                                                                             1,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,143,14                                                                                                                                                             4,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,16                                                                                                                                                             4,165,166,167,168,169,170,171,172,173,174,175,176,177,180,181,182,183,189,190,19                                                                                                                                                             1,192,194,195,196,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,21                                                                                                                                                             6,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,23                                                                                                                                                             6,237,238,239,240,242,243,244,245,246,247,248,249,250,251,252,253,254,255,261,26                                                                                                                                                             2,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,28                                                                                                                                                             2,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,30                                                                                                                                                             2,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,32                                                                                                                                                             2,323,324,325,326,327,328,330,331,332,333,334,335,336,337,338,339,340,341,342,34                                                                                                                                                             3,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,36                                                                                                                                                             3,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,38                                                                                                                                                             3,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,403,40                                                                                                                                                             5,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,423,424,425,42                                                                                                                                                             6,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,44                                                                                                                                                             6,447,448,449,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,47                                                                                                                                                             1,472,473,474,475,476,480,481,482,483,484,485,486,488,490,491,492,493,494,495,49                                                                                                                                                             6,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,51                                                                                                                                                             6,517,519,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,53                                                                                                                                                             8,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,55                                                                                                                                                             8,562,563,564,567,568,571,573,574 startApp:149,Aufnahmeliste,Benutzerhandbuch,Be                                                                                                                                                             rliner_Philharmoniker,Digitale_Videoaufnahme,Dual_Play,Eingangsliste,Einstellung                                                                                                                                                             en,Fernsehprogramm,Fotos,HDplusReplay,Internet,Kamera,LG_Smart_World,LOVEFiLM,Ma                                                                                                                                                             xdome,Musik,MyVideo,Myspass,Netflix,Neueste_Liste,Prg.Liste,SIMPLINK,Schnellmen,                                                                                                                                                             Skype,SmartShare,Spotify,Suchen,UlmAllg,Universalsteuerung,Videoload,Videos,Watc                                                                                                                                                             hever,YouTube,Zattoo,tagesschau,wuaki_tv_ui30 stopApp:149,Aufnahmeliste,Benutzer                                                                                                                                                             handbuch,Berliner_Philharmoniker,Digitale_Videoaufnahme,Dual_Play,Eingangsliste,                                                                                                                                                             Einstellungen,Fernsehprogramm,Fotos,HDplusReplay,Internet,Kamera,LG_Smart_World,                                                                                                                                                             LOVEFiLM,Maxdome,Musik,MyVideo,Myspass,Netflix,Neueste_Liste,Prg.Liste,SIMPLINK,                                                                                                                                                             Schnellmen,Skype,SmartShare,Spotify,Suchen,UlmAllg,Universalsteuerung,Videoload,                                                                                                                                                             Videos,Watchever,YouTube,Zattoo,tagesschau,wuaki_tv_ui30


Ein nachgelagertes Frontend sollte daraus die entsprechenden Listen auslesen. FHEMWEB als Frontend macht ebenfalls nichts anderes. Daher sollten auch Frontends die Usage mittels "set <name> ?" abfragen um die möglichen Werte zu erhalten.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

justme1968

die idee hinter stateAV finde ich im prinzip nicht schlecht. eine reihenfolge mit prioritäten wir z.b. absent -> off -> playing könnte nützlich sein um einfacher in icon anzuzeigen. das steuern per single klick ist aber schon schwieriger. man kann aus off zwar einschalten und auch zwischen play und pause wechseln, aber wieder ausschalten geht schon nicht mehr. mute noch mit rein zubringen halten ich für problematisch. je nach anwendung ist mute höher oder niedriger einzustufen als play. bei einkniff bedienung ist auch nicht eindeutig ob von mute aus nach pause oder nach unmute gewechselt werden soll.

ich vermute es gibt nich mehr solche nicht eindeutigen zustände/anforderungen und die logik ist besser im fronted/widget aufgehoben das jeweils zur steuerung verwendet wird statt es im modul fest zu legen. für fhemweb wäre das tatsächlich ein user reading.

@Markus Bloch: bei den nich gesteuerten eingängen gibt es die prinzipielle frage ob on = play ist und ob state bei diesen statt on play (und pause?) anzeigen sollte. das ist aber glaube ich unabhängig von stateAV.

für channelList/inputList schliesse ich mich markus im prinzip an. warum ein eigenes reading wenn die dynamische set ? liste die gleiche info liefert.

andererseits hat diese liste das problem das bei einer änderung kein event gibt das man im frontend auswerten kann um die darstellung dynamisch anzupassen. wäre es eventuell sinnvoll einen generellen mechanismus zu haben mit dem ein modul das frontend über eine änderung an der set/get/attr liste informieren kann? so eine generelle lösung hätte gegenüber deinen beiden readings noch den vorteil das es auch für alle anderen module und kommandos sinnvoll zu verwenden wäre.

gruss
  andre



hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

KölnSolar

Ich bin derzeit dabei umfangreiche Veränderungen am STV-Modul vorzunehmen. Leider bin ich jetzt erst auf die AV Development Guidelines aufmerksam geworden. Ich finde die Idee gut, frage mich aber, ob es bei 371 Definitionen(lt. Statistik) eine gute Idee ist, Befehle zu verändern. OK, ich könnte zumindest für evtl. Abhängigkeiten die "alten" cmd's zulassen, sie aber im Frontend nicht mehr anzeigen.

Die commands gemäß der Richtlinie sind lowercase. Im STV grundsätzlich uppercase. Ändere ich nun die relevanten cmd's auf lowercase verändere ich die Sortierreihenfolge im Frontend. Irgendwie unschön. Alle ca. 100 cmd's auf lowercase umstellen ?

Da die jetzigen cmd's quasi dem Befehl an das API 1:1 entsprechen, macht es da Sinn einen Hash zu bauen, der Übersetzungen enthält, obwohl eigentlich nur ein Handvoll Befehle betroffen sind ?

Und macht es wirklich Sinn aus z.B. CHDOWN ein channelDown zu transformieren, nur um dem Standard zu entsprechen ?

Und dann muss auch noch das remotecontrol-Modul angepasst werden, weil dort ja das layout für die Samsung-TV's hinterlegt ist.

Readings haben wir eigentlich noch keine, so dass ich mich dort anpassen könnte. In der Regel habe ich aber kein Feedback vom TV. Wird also über die physische RC geschaltet, ist das reading falsch bzw. beinhaltet "nur" den letzten FHEM-Befehl.

Ich bin mir sowas von unschlüssig, was ich machen soll.

Bitte um Tipps.

Und dann wäre da noch die Frage nach dem Unterschied zwischen dem power- u. dem presence-Reading. Ich sehe da einfach keinen. Wobei mir "logisch" das presence-reading besser gefällt, denn das Modul kann nicht beurteilen, ob der TV an oder aus ist, wohl aber ob eine TCP/IP-Verbindung möglich ist. Das passt dann aber irgendwie nicht zum state-Reading, das kein present bieten soll.
(und ich hatte gerade erst den state auf connected/disconnected umgestellt ::) )

Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

CoolTux

Hallo Markus,

Und wenn Du ein komplett neues Modul erstellst? STV2?


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KölnSolar

#127
Hi Leon,
würde sicherlich das Problemchen der Abwärtskompatibilität lösen. Wer eine meiner inoffiziellen Versionen nutzt, hat aber auch sicher-(hoffent-)lich (noch) ein excludefromupdate. ;D Hat also das Problem der plötzlichen Veränderung nicht. Betroffen wären "nur" die Nutzer von TVs mit Alter > 5 Jahren, denn nur für die funktioniert überhaupt das offizielle Modul.
Einerseits hat meine Version nicht mehr viel  mit dem ursprünglichen STV gemeinsam. Andererseits ein weiteres Modul ins offizielle FHEM für den selben device-type übernehmen ? :-\ Ist das nicht am Ende des Tages mit Kanonen auf Spatzen geschossen ?

Grüße Markus

Edit: btw. da ich eh Antworten von AV-Modulautoren erwarte, guckt Euch bitte mal meine Gedanken zur Vereinheitlichung an
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

CoolTux

Indirekt. Du zwingst die User nicht Ihre Konfiguration zu ändern, wollen sie aber ein aktuelles Modul welches gepflegt wird müssen sie auf Dein neues Umschalten.
Irgendwann kann man darüber nachdenken das alte (sofern Du die Hohheit darüber hast) komplett aus dem SVN von FHEM zu entfernen. Es bleibt lokal bei den User erhalten ist aber bei Neuinstallationen von FHEM nicht mehr dabei.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KölnSolar

Ah, OK, also nur temporär 2 Module. Mit dem Gedanken könnt ich mich anfreunden. Dann aber als 70_SamsungAV.  ;)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt