[patch] ZWave - MANUFACTURER_PROPRIETARY class: Jalousiemodus Fibaro FGRM 222

Begonnen von krikan, 28 September 2014, 15:10:44

Vorheriges Thema - Nächstes Thema

krikan

Vielen Dank für Deine schnelle Änderung und insgesamt fürs Ein- und Umbauen.

Zitat
Die Verwendung der Geraetedateien habe ich erstmal nach hinten verschoben, wg. zu viel anderes FHEM-TODO.
Erinnere mich daran, falls wieder Ruhe eingekehrt ist.
Ist ja überhaupt nicht wichtig; nur leider befürchte ich, dass Dein TODO nicht gerade kleiner wird, wenn ich mir den Andrang derzeit durchlese...  ;)

rudolfkoenig

Wenigstens sagt mir keiner, in welcher Reihenfolg ich die TODOs abzuarbeiten habe.

Ich habe einige deviceconfig Aenderungen eingecheckt.
Es betrifft z.Zt. nur die Config (CONFIGURATION Class) Funktionen:
- die Config-Moeglichkeiten koennen samt Argument ausgewaehlt werden (set/get)
- Hilfe wird eingeblendet.
Voraussetzung: "get model" muss erneut durchgefuehrt werden, damit das modelConfig Reading gesetzt wird.

Was noch nicht geht: Rueckgabewerte von get Config werden nicht entschluesselt.
Firefox Select-Auswahl ist etwas  buggy, da es zu frueh die Hilfe holt. Chrome scheint zu funktionieren.

Das deviceconfig Dokument kann mit contrib/zwave_convertconfig aus den openzwave Quellen erstellt werden.
In der Datei sind noch mehr Klassen beschrieben, ich habe aber erstmal nicht vor, diese Daten auszuwerten.
Es sei denn, man erklaert mir wieso das gut waere.

Und die Hilfe koennte unter den Selects eingeblendet werden, ist mir aber z.Zt. noch zu aufwendig.
Insg. sollte ich das FHEMWEB-JavaScript Support mal ordentlich bauen, z.Zt. ist es ziemlich kaputt.

krikan

Danke für die richtige Reichfolge der Todos. Habe aber leider ein Problem bei den Config-Funktionen für den FGRM222 in Verbindung mit Firefox, das ich nicht allein gelöst bekomme:

In der set/get- Werteauswahlbox der Detailansicht scheint es eine Längenbeschränkung zu geben, die zu unvollständigen Wertauswahlmöglichkeiten führt:
https://code.google.com/p/open-zwave/source/browse/trunk/config/fibaro/fgrm222.xml:

  • In Zeile 21ff der XML wird das Label "Reports Type" definiert. Hieraus wird configReportsType. In der Werteauswahlbox gibt es nur eine Auswahlmöglichkeit "BlindPositionReportsSentToThe" statt der 2 in Zeile 24 und 25 genannten Werte.
  • In Zeile 45ff der XML wird das Label "Set lamellas back to previous position" definiert. Hieraus wird "ConfigSetLamellasBackToPrevious". In der Werteauswahlbox gibt es nur eine Auswahlmöglichkeit  "LamellasReturnToPreviouslySet" statt der 3 in in Zeile 48-50 genannten.
Wenn Du mehr Info oder Tests brauchst, lass es mich bitte wissen.

rudolfkoenig

ReportsType hat zwei Argumente:
<Item label="Blind position reports sent to the main controller using Z-Wave Command Class" value="0" />
<Item label="Blind position reports sent to the main controller using Fibar Command Class" value="1" />


Mit der aktuellen max 32-Byte auf Wortgrenze fallen halt beide zusammen.
Das andere Problem ist auf die gleiche Ursache zurueckzufuehren, wobei hier sogar die ersten 112 Zeichen gleich sind.

Faellt Dir was ein, wie man sie besser abkuerzen koennte?

krikan

1. Variante
Keine wirklich schöne, aber programmtechnisch vermutlich einfache Lösung:
Wenn ersten 32-Byte gleich, dann suchen bis Unterschied auftaucht und nur das anbieten, also
Z-Wave Command Class
Fibar Command Class

Hier passt es per Zufall, beim 2. Problembeispiel ist es schon nicht mehr so sinnig. Letztlich betrifft es beim schnellen Durchschauen der XML aber nicht die Masse an Parametern

2. Variante
Oder Du müsstest es komplett umstellen :-[. Vor Deiner Umsetzung, hatte ich zunächst folgende Vorgehensweise im Kopf, weil ich auf deine Klartext-Idee nicht gekommen bin (am Beispiel FGRM222-XML):
Zwave-Parameter "index" 13 wird als 1. Auswahlbox beim vorhandenen Befehl "ConfigByte" mit "label" als Hilfetext angeboten und 2. Auswahlbox ist "value" 0, 1 und 2 mit "Item label" als Hilfetext.
       oder
Zwave-Parameter "index" 13 wird als "Befehl" ConfigPara13 mit "label" als Hilfetext angeboten und value Werte-Auswahlbox ist "value" 0, 1 und 2 mit "Item label" als Hilfetext.

rudolfkoenig

Ich habe deine Variante 2 nicht verstanden, sie hat mich aber zur folgenden Loesung inspiriert: Falls eine Abkuerzung vorgenommen wird, dann wird an die Abkuerzung hinten das dazugehoerige Befehls-Byte angehaengt, und in der Hilfe die Abkuerzung erlaeutert. Siehe Anhang.

krikan

Danke. Der Fibaro funktioniert nun problemlos.

Bei meinem PSM02 wird anscheinend aber etwas zusammengefasst. Ich habe nur einen einzigen "config" Befehl statt vieler laut https://code.google.com/p/open-zwave/source/browse/trunk/config/philio/psm02.xml. Der Hilfetext, der angezeigt wird, gehört zum letzten "config" in der XML-Datei. Zum besseren Verständnis habe ich einen Screenshot angehängt.

Ähnliches Phänomen vermute ich beim Aeotec 4in1. Laut "list" in diesem Beitrag http://forum.fhem.de/index.php/topic,26827.msg208697.html#msg208697 gibt es ein Reading "configGroupReports". Hiernach https://code.google.com/p/open-zwave/source/browse/trunk/config/aeon_labs/alms.xml dürfte es aber doch nur ein configGroup1Reports, configGroup2Reports oder configGroup3Reports geben? Aber ich muss zugeben, dass diese XML wegen "Bitsets" bei "Group X Reports" für mich sowieso nicht eindeutig verständlich ist.

rudolfkoenig

PSM02 habe ich gefixt: der Text hat mit 2. angefangen, und ich habe alles nach Punkt geloescht, und nicht Buchstaben dann auch. Ersteres habe ich entfernt, war meiner Ansicht nach ueberfluessig.
Aeotec scheint auch zu funktionieren, kann aber sein, dass hier noch ein Problem mit configByte statt configLong besteht.

krikan

Alles Bestens: Config-Befehle meiner Z-Wave Geräte sind iO. Vielen Dank für Deinen Einsatz.