Autor Thema: einheitliche kommandos für av geräte  (Gelesen 36556 mal)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19399
Aw: einheitliche kommandos für av geräte
« Antwort #90 am: 16 August 2013, 14:49:02 »
ich hab die tabelle eben etwas vereinfacht. ich hoffe ich hab dabei keine falschen symbole eingebaut.

bitte schaut jeder noch mal kurz drauf.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3571
Aw: einheitliche kommandos für av geräte
« Antwort #91 am: 16 August 2013, 15:49:03 »
Passt soweit,

allerdings würde ich es toll finden, wenn du die zwei neuen set-Befehle "repeat" und "shuffle" noch in der Tabelle im Kapitel "Kommandos" einträgst inkl. möglicher Parameter und einer kurzen Erklärung.

Viele Grüße

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)

Offline TeeVau

  • Developer
  • Full Member
  • ****
  • Beiträge: 452
Aw: einheitliche kommandos für av geräte
« Antwort #92 am: 16 August 2013, 17:21:56 »
Hallo,

ich probiere es heute Abend mal bei mir aus, wie es sich mit 5% Änderung bei Volume verhält. 10% werden bei dem TV zu viel sein (TV gucke ich so bei 20-23, auf 16 schalte ich für Hintergrundgedudel). Ich befürchte bei 10% Änderung hätte ich nur laut oder leise :-)

Aber die Alternative die Schrittweite per Attribut volumeStep zu ändern finde ich gut! Das wäre eben sehr flexibel und in Abhängigkeit der unterschiedlichen Geräte kann jeder Modulauthor bzw. Benutzer den Schrittwert so setzten, wie er es benötigt.
Somit hätten wir keinen festen Wert der z.B bei XBMC total Super passt, bei anderen Geräten aber eigentlich zur Funktion Mute/unmute führt.
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3571
Aw: einheitliche kommandos für av geräte
« Antwort #93 am: 16 August 2013, 18:24:39 »
Dann lasst uns die Festlegung "volumeUp"/"volumeDown" muss um X % erhöhen/veringern aus der Guideline entfernen. Jeder Entwickler sollte dann entsprechende Volume-Steps verwenden die nachträglich durch ein Attribut verändert werden kann.

Attribut-Bezeichnungen würde ich hier allerdings nicht in der Guideline aufnehmen wollen, da die ja nichts mit remoteControl, LightScene usw. am Hut haben.

Viele Grüße

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)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19399
Aw: einheitliche kommandos für av geräte
« Antwort #94 am: 16 August 2013, 19:19:01 »
es spricht doch aber auch nichts dagegen das attribut fest zu legen oder ?

der default kann ja trozdem modulspezifisch sein, der name des attributes um es einzustellen aber fest.

die version mit optionalem parameter finde ich trozdem immer noch sinnvoll fürs direkte programmieren aus einen notify z.b.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19399
Aw: einheitliche kommandos für av geräte
« Antwort #95 am: 16 August 2013, 22:38:15 »
ich habe die letzen vorschläge mal in die wikiseite eingepflegt. dabei habe ich den optionalen paramter für volumeUp und volumeDown mit dokumentiert und die alternative version eines kombinierten message komandos statt sayText und showText.

Ich habe als empfehlung noch dokumentiert das der inhalt eines readings sich als argument eines zugehörigen set verwenden lassen sollte. in dem zusammenhang sind mir die diversen current... readings aufgefallen. ist das current wirklich nötig und sinnvoll oder könnte es nicht einfach weg gelassen werden?

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3571
Aw: einheitliche kommandos für av geräte
« Antwort #96 am: 17 August 2013, 00:03:12 »
wollte grad nachschauhen, aber das Wiki ist grade down.

Gute Nacht

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)

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3571
Aw: einheitliche kommandos für av geräte
« Antwort #97 am: 17 August 2013, 00:09:34 »
Die Readings "currentInput" und "currentOutput" würde ich schon zu "input" und "output" ändern. Bei Artist, Album, Title und Media bin ich leidenschaftslos.

Den Rest find ich gut und werde ich auch so umsetzen in meinem Modul.

Viele Grüße

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)

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3571
Aw: einheitliche kommandos für av geräte
« Antwort #98 am: 26 August 2013, 00:11:15 »
Da ja aktuell alle am umsetzen sind, habe ich einfach mal das Baustellensymbol aus dem Wiki-Eintrag entfernt, da nicht mehr an der Guideline geschraubt wird.

Viele Grüße

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)

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3655
  • ~ Challenging Innovation ~
Aw: einheitliche kommandos für av geräte
« Antwort #99 am: 21 September 2013, 20:31:22 »
Hi all,

ich habe jetzt das ENIGMA2 Modul vollständig konform zu eurer Guideline umgebaut.
Kann mir jemand sagen, ob ich das alles richtig umgesetzt habe?

Link


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

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3571
Aw: einheitliche kommandos für av geräte
« Antwort #100 am: 22 September 2013, 00:31:13 »
Hi Julian,

hab soeben mal drübergeschaut. Sieht meiner Meinung nach gut aus. Mir ist jedenfalls nichts negatives aufgefallen.

Viele Grüße

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)

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3655
  • ~ Challenging Innovation ~
Aw: einheitliche kommandos für av geräte
« Antwort #101 am: 22 September 2013, 00:37:08 »
Danke!

Ich bin/war unsicher insbesondere wegen des channel.
Ich zeige dort den aktuellen Kanalnamen oder den Videonamen an. Mit diesen funktioniert aber der channel Set-Befehl nicht. Man kann beim channel-Befehl zwar die Service Referenz (z.B. 1:0:19:75:A:85:C00000:0:0:0:) oder eine Kanalnummer zwischen 1 und 9999 angeben. Aber da die Service Referenz so unleserlich ist wollte ich sie nicht nehmen, da ich vermute, dass das channel-Reading eher für die Anzeige irgendwo geeignet sein sollte. Die aktuelle Kanalnummer kriege ich nicht ausgelesen, aber irgendwie erscheint mir das auch zu wenig als Wert für das channel-Reading.

Ich denke den Kanalnamen anzuzeigen ist hier die beste Lösung, oder?


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

Offline henryk

  • Jr. Member
  • **
  • Beiträge: 53
Aw: einheitliche kommandos für av geräte
« Antwort #102 am: 09 Oktober 2013, 10:20:55 »
Moin,

Zitat von: justme1968 schrieb am Fr, 02 August 2013 16:02
für lightScene wäre es mir wichtig wie ich den aktuellen zustand festhalten und wieder her stellen kann.


Wie ist denn da der aktuelle Status bezüglich LightScene und A/V-Geräten, oder komplexeren Geräten generell? Für mein Epson-Beamer-Steuerungsmodul (70_ESCVP21) hab ich mir das so gedacht, dass das set-Kommando auch Werte der Art status-eingang akzeptiert, damit LightScene out of the box (mit einem entsprechend angereicherten state in get) funktioniert. Für noch komplexere Dinge muss man aber wohl LightScene (und ggbf. die Module) anfassen. In keinem Fall will man wohl irgendeine Geräte-spezifische Sonderlogik in LightScene.

Grade dachte ich an ein Attribut ("scene_parameters" oder so) mit einer Liste von get-Parametern. Zum sichern müsste LightScene dann die Parameter alle mit get ... abfragen, und beim wiederherstellen mit set ... ... zurück setzen. Vorteil des Attributs: Der User kann da so viele oder wenige Geräte-Zustands-Aspekte einschließen wie er möchte. Der Modul-Autor muss nur sicherstellen, dass korrespondierende get/set-Paare verfügbar sind. Man kann sich dann sogar überlegen, das Attribut nicht (nur) auf dem Gerät zu erlauben (wo es der Modul-Autor ggbf. sogar einen Default-Wert zur Verfügung stellen kann), sondern auch auf dem LightScene-Objekt erlauben, eine Liste von Gerätenamen-Attributlistenpaaren zu setzen. Dann kann das gleiche Gerät in mehreren Scenen verwendet werden wobei zu jeder Scene unterschiedliche Aspekte beitragen dürfen.

Einziger Nachteil hier: Sichern und Wiederherstellen erfordern eine Reihe von get/set-Kommandos.

Zitat von: justme1968 schrieb am Fr, 02 August 2013 16:02
am liebsten wäre mir eine set commando oder eine funktione die z.b. an/aus, lautstäreke, kanal, playlist und was auch immer nötig ist auf einen schlag einzusammeln und das entsprechende gegenstück um genau den zustand wieder her zu stellen


Das ist natürlich auch schön. Man würde ein neues Kommandopaar definieren (get sceneState, set sceneState ...) welches, wenn implementiert, eine kompakte Repräsentation des aktuellen Zustands zurückliefert bzw. wieder einliesst und setzt (je nach Gerätefähigkeiten könnten die beiden Operationen sogar atomar implementiert sein, ein Vorteil gegenüber der Variante mit einzelnen gets und sets). Nachteile: Erfordert nicht nur an LightScene sondern auch an jedem einzelnen Modul Modifikationen (die obige Variante würde mit den meisten Modulen ohne weitere Veränderungen funktionieren), ist mehr Aufwand (lässt sich durch entsprechende Bibliotheksfunktionen stark reduzieren) und lässt die Flexibilität vermissen, die eine frei konfigurierbare Parameterliste hätte. Letzteres kann man durch noch mehr Komplexität kompensieren: get sceneState ... mit einer Parameterliste als zusätzlichem Argument die entweder aus dem Geräte- oder dem Scene-Attribut (siehe oben) kommt. Das zurückgelieferte Format muss dann derart sein, dass bei set sceneState ... erkannt werden kann, welche Parameter gesetzt werden sollen.

--
Henryk Plötz
Grüße aus Berlin

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19399
Aw: einheitliche kommandos für av geräte
« Antwort #103 am: 09 Oktober 2013, 10:53:04 »
lightscene kann zur zeit 'out of the box' nur geräte die ihren eigenen state als set verstehen. das funktioniert und wird auch schon an einigen stellen mit av geräten eingesetzt. für dinge bei denen das nicht reicht, aber immer noch ein einziges set genug ist kann man von hand das kommando per set setzen.

bis jetzt gibt es eine sonderbehandlung für die hue devices. dort sind immer zwingend zwei paramter nötig um den zustand zu speichern und wieder her zu stellen. da habe ich es so gelöst das die lightscene weiss welche beiden parameter zu speichern sind und das hue modul kann eine beliebige anzahl an set mit : getrennt auf einen schlag entgegen nehmen. also eine art erweiterung des set damit es atomar mehrere parameter entgegen nehmen kann.

ersteres (d.h. eine sonderbehandlung für jedes kompliziertere device) möchte ich auf jeden fall vermeiden.

letzteres (d.h. mehrere set auf einen schlag auszuführen) ist eigentlich auch für andere dinge sehr nützlich weil das kommando dann tatsächlich auf ein mal abgearbeitet werden kann (z.b. eingang wählen und lautstärke setzen). ich fürchte aber das lässt sich nicht so einfach und vor allem rückwärts kompatibel im fhem einbauen. es steht natürlich jedem modul frei das für sich zu machen.

zu deinem vorschlag mit den attributen: wenn man das mit den mehrfach set von oben kombiniert ist der nachteil der mehrfachen set nicht mehr vorhanden. nur noch der mehrfachen get. das stört aber nicht so sehr und wenn doch liesse es sich mit der gleichen methode verhindern.

ein wichtiger punkt der hier noch fehlt ist aber das die liste der zu sichernden parameter nicht nur vom benutzer sondern auch vom aktuellen zustand abhängen kann.

je länger ich darüber nachdenke um so besser gefällt es mir. sogar ohne atomares set und get. ich glaube ich baue das einfach mal in lightscene ein. dann kann man testen ob es wirklich so gut funktioniert. module die ein atomares set brauchen können das ja unabhänigig davon bereit stellen.

das ganze lässt sich ja auch mit den speziellen get sceneState und set sceneState kombinieren wenn die tatsächlich trozdem nötig sein sollten. dann gibt man einfach sceneState als scene_parameter an.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19399
Antw:einheitliche kommandos für av geräte
« Antwort #104 am: 16 Oktober 2013, 20:11:20 »
anbei eine erste version die die idee von oben umsetzt. es gibt damit ein neues attribut lightSceneParamsToSave das in jedem device gesetzt werden kann dessen zustand in einer lightLightScene gesichert werden soll. das attribut gibt eine liste der readings die gesichert und später dann mit einem gleichnamigen set wieder hergestellt werden. der string kann entweder direkt als string oder als perl in {} eingeschlossener perl ausdruck der genau einen solchen string zurückgibt angegeben werden. readings die mit doppelpunkt statt komma getrennt sind werden zu einem einzigen set zusammen gefasst. das muss von device untgerstütz werden.

zwei beispiele
attr myReceiver lightSceneParamsToSave volume,channel
attr myHueDevice lightSceneParamsToSave {(Value($DEVICE) eq "off")?"state":"bri : xy"}

die fertige version wird noch ein zweites attribut unterstützen um eventuell unterschiedliche namen von reading und set zuzuordnen und die möglichkeit statt readings get kommandos zu verwenden um einen status abzufragen.

gruss
  andre

edit: ich habe das file noch mal aktualisiert. in der liste können jetzt auch einträge der form 'abc -> xyz' oder 'get cba -> set uvw' vorkommen um das reading abc auf ein set xyz oder den wert eines get cba auf ein set uvw zu mappen.
« Letzte Änderung: 16 Oktober 2013, 23:18:42 von justme1968 »
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH