> doch woran erkenne ich, dass ich jetzt hier in dem Datensatz einen schalter
> vorliegen habe? TYPE: "FS20" ist ja ein bisschen weit gefasst oder?
FHEMWEB loest das Problem, indem das jeweilige Geraet mit getAllSets nach der
Liste der moeglichen Set-Kommandos fragt. Diese liefern auch (in begrenztem
Umfeld) moegliche Prameter bzw. Darstellungsform zurueck:
- die Liste ist durch Leerzeichen getrennt.
- falls nach einem Wort, durch Doppelpunkt getrennt eine Komma serparierte
Liste erscheint, dann ist das als Liste der moeglichen Parameter zu
interpretieren.
- falls diese Werte den Form "slider,from,step,to" haben, dann wird auf der
Oberflaeche ein Slider angeboten (fuer den Dimmer).
Das gleiche gilt fuer die Liste der moeglichen Attribute, siehe getAllAttr().
JSonlist (von Martin) scheint weder die Set- noch die Attr-List zu enthalten,
XmlList (ist von mir) enthaelt immerhin die Set-Liste. Ich meine beide
Kommandos sollten beide Listen enthalten, und in der Lage sein, nur bestimmte
Geraete (
http://fhem.de/commandref.html#devspec) zurueckzuliefern.
Hier sollte spaeter auch die Liste aller moeglichen Events auftauchen.
Zukunft:
Boris hat mit einer Interface Definition angefangen, auch dokumentiert, und
Stubs in
fhem.pl implementiert. Ich meine, dass diese Stubs unnnoetig sind, und
die Entwickler (frontend/backend) unnoetig behindern. Was aber meiner Ansicht
nach notwendig ist, diese Interfaces genau zu dokumentieren, und im Moduldoku
darauf hinzuweisen, welche Interfaces eingehalten werden. Der Rest kann aus
der Liste der sets/attribute/events abgelesen werden.
Wie gesagt, das ist mein (momentane :) Meinung.
Btw.: ZWave implementiert das Interface-Konzept bis auf die Geraete-Ebene,
leider scheitert es teilweise daran, dass diese Interfaces ohne viel Erfahrung
gebaut wurden, z.Bsp. habe ich kein on-for-timer entdeckt, von komplexeren
Einstellungen ganz zu schweigen. Und dann kommt noch dazu die Versionierung der
Interfaces...