[patch] - Fibaro FGS 221 V1.02 Configuration Parameters

Begonnen von Thargor, 24 März 2015, 09:48:37

Vorheriges Thema - Nächstes Thema

Thargor

Hi,

mein FGS 221 hat modelid 010f-0200-100a und version Lib 3 Prot 3.42 App 2.1. Daher passen die schon hinterlegten Befehle in der openzwave_deviceconfig.xml bei mir nicht (Die sind glaub ich für V1.00). Ich habe daher dort den folgenden Eintrag hinzugefügt:


<Product sourceFile="fibaro/fgs221v102.xml">
<CommandClass id="112">
<Value type="list" genre="config" instance="1" index="1" label="Enable/Disable ALL ON/OFF" value="255" size="1">
<Help>Activate/Deactive ALL ON/OFF</Help>
<Item label="ALL ON disabled/ ALL OFF disabled" value="0" />
<Item label="ALL ON disabled/ ALL OFF active" value="1" />
<Item label="ALL ON active / ALL OFF disabled" value="2" />
<Item label="ALL ON active / ALL OFF active" value="255" />
</Value>
<Value type="list" genre="config" instance="1" index="3" label="Enable/Disable OFF-delay" value="0" size="1">
<Help>Auto off relay after specified time, with the possibility of manual override - immediate Off after button push. </Help>
<Item label="manual override disabled" value="0" />
<Item label="manual override enabled" value="1" />
</Value>
<Value type="short" genre="config" instance="1" index="4" label="Relay 1: OFF-delay time (ms)" value="0" size="2">
<Help>[1- 65535] (0,1 s . 6553,5 s) Time period for auto off, in miliseconds (0 = Auto off disabled)</Help>
</Value>
<Value type="short" genre="config" instance="1" index="5" label="Relay 2: OFF-delay time (ms)" value="0" size="2">
<Help>[1- 65535] (0,1 s . 6553,5 s) Time period for auto off, in miliseconds (0 = Auto off disabled)</Help>
</Value>
<Value type="list" genre="config" instance="1" index="6" label="Sending commands group 1" value="0" size="1">
<Help> Sending commands to control devices assigned to 1-st association group (key no. 1). </Help>
<Item label="Send on and off" value="0" />
<Item label="Send DoubleClick-on and off.Dimmers memorize last state" value="1" />
<Item label="Send DoubleClick-on and off.Dimmers to 100%" value="2" />
</Value>
<Value type="list" genre="config" instance="1" index="7" label="Sending commands group 2 " value="0" size="1">
<Help> Sending commands to control devices assigned to 2-nd association group (key no. 2). </Help>
<Item label="Send on and off" value="0" />
<Item label="Send DoubleClick-on and off.Dimmers memorize last state" value="1" />
<Item label="Send DoubleClick-on and off.Dimmers to 100%" value="2" />
</Value>
<Value type="list" genre="config" instance="1" index="13" label="Assigns bistable key status" value="0" size="1">
<Help>Assigns bistable key status to the device status</Help>
<Item label="device changes status on key change" value="0"/>
<Item label="ON when key is ON, OFF when key is OFF." value="1"/>
</Value>
<Value type="list" genre="config" instance="1" index="14" label="Inputs Button/Switch configuration" value="1" size="1">
<Help> Switch type connector, you may choose between momentary and toggle switches. </Help>
<Item label="momentary switch" value="0"/>
<Item label="toggle switch" value="1"/>
</Value>
<Value type="list" genre="config" instance="1" index="15" label="Dimmer/Roller shutter control" value="0" size="1">
<Help> Enabling this option allows the user to dim lighting/shut roller by associating Dimmer/Roller Shutter Controller and holding or double press of double switch (only
<Item label="Disable" value="0"/>
<Item label="Enable" value="1"/>
</Value>
<Value type="list" genre="config" instance="1" index="16" label="Restore state after power faillure" value="1" size="1">
<Help>Restore old state after power faillure</Help>
<Item label="Do not restore state" value="0"/>
<Item label="Restore state" value="1"/>
</Value>
<Value type="list" genre="config" instance="1" index="30" label="Relay 1: Response to General Alarm" value="3" size="1">
<Help></Help>
<Item label="Do not response" value="0"/>
<Item label="Turn relay 1 on" value="1"/>
<Item label="Turn relay 1 off" value="2"/>
<Item label="Turn ON and OFF periodically" value="3"/>
</Value>
<Value type="list" genre="config" instance="1" index="31" label="Relay 1: Response to Water Flood Alarm" value="2" size="1">
<Help></Help>
<Item label="Do not response" value="0"/>
<Item label="Turn relay 1 on" value="1"/>
<Item label="Turn relay 1 off" value="2"/>
<Item label="Turn ON and OFF periodically" value="3"/>
</Value>
<Value type="list" genre="config" instance="1" index="32" label="Relay 1: Response to Smoke, CO, CO2 Alarm" value="3" size="1">
<Help></Help>
<Item label="Do not response" value="0"/>
<Item label="Turn relay 1 on" value="1"/>
<Item label="Turn relay 1 off" value="2"/>
<Item label="Turn ON and OFF periodically" value="3"/>
</Value>
<Value type="list" genre="config" instance="1" index="33" label="Relay 1: Response to Temperature Alarm" value="1" size="1">
<Help></Help>
<Item label="Do not response" value="0"/>
<Item label="Turn relay 2 on" value="1"/>
<Item label="Turn relay 2 off" value="2"/>
<Item label="Turn ON and OFF periodically" value="3"/>
</Value>
<Value type="byte" genre="config" instance="1" index="39" label="ALARM FLASHING alarm time" value="600" size="2">
<Help>Amount of time (ms) the device keeps on flashing after receipt of Alarm Frame</Help>
</Value>
<Value type="list" genre="config" instance="1" index="40" label="Relay 2: Response to General Alarm" value="3" size="1">
<Help></Help>
<Item label="Do not response" value="0"/>
<Item label="Turn relay 2 on" value="1"/>
<Item label="Turn relay 2 off" value="2"/>
<Item label="Turn ON and OFF periodically" value="3"/>
</Value>
<Value type="list" genre="config" instance="1" index="41" label="Relay 2: Response to Water Flood Alarm" value="2" size="1">
<Help></Help>
<Item label="Do not response" value="0"/>
<Item label="Turn relay 2 on" value="1"/>
<Item label="Turn relay 2 off" value="2"/>
<Item label="Turn ON and OFF periodically" value="3"/>
</Value>
<Value type="list" genre="config" instance="1" index="42" label="Relay 2: Response to Smoke, CO, CO2 Alarm" value="3" size="1">
<Help></Help>
<Item label="Do not response" value="0"/>
<Item label="Turn relay 2 on" value="1"/>
<Item label="Turn relay 2 off" value="2"/>
<Item label="Turn ON and OFF periodically" value="3"/>
</Value>
<Value type="list" genre="config" instance="1" index="43" label="Relay 2: Response to Temperature Alarm" value="1" size="1">
<Help></Help>
<Item label="Do not response" value="0"/>
<Item label="Turn relay 2 on" value="1"/>
<Item label="Turn relay 2 off" value="2"/>
<Item label="Turn ON and OFF periodically" value="3"/>
</Value>
</CommandClass>
<CommandClass id="96" mapping="endpoints" />
<CommandClass id="133">
<Associations num_groups="3">
<Group index="1" max_associations="5" label="Group 1 for key 1" auto="false"/>
<Group index="2" max_associations="5" label="Group 2 for key 2" auto="false" />
<Group index="3" max_associations="1" label="Group 3 reports state of devices" auto="true"/>
</Associations>
</CommandClass>
</Product>


Und dementsprechend in der openzwave_manufacturer_specific.xml Zeile 203 folgendermaßen abgeändert:

<Product type="0200" id="100a" name="FGS221 Double Relay Switch 2x1.5kW" config="fibaro/fgs221v102.xml" />


Damit stimmen soweit ich überprüfen konnte die Parameter nun bei mir.
Aus mir noch nicht ganz nachvollziehbaren Gründen wird bei Betätigung des Schalter 2 der Multichannel 2 aktualisiert, bei Betätigung des Schalter 1 allerdings das Hauptdevice aktualiert. Über Multichannel 1 kann ich das Relay 1 in FHEM schalten (genauso wie über das Hauptdevice), allerdings bekommt Multichannel 1 keine Aktualisierung mit.

Gruß Lars

P.S: Sorry, keine Patchdateien, aber ich denke das ist so fast einfacher.

rudolfkoenig

Der hier reinkopierte Text enthaelt ein XML-Syntaxfehler, eine Help-Zeile ist abgeschnitten. Das habe ich zwar gefixt, aber ein Teil der Hilfe ist weg: bitte in der Zukunft die Dateien/Daten als Anhang posten.
Wo kommen die Daten her? Selbst eingetippt?

Ich habe die Aenderungen uebernommen, und bei der Gelegenheit die XML Datei etwas eingerueckt, damit man (ich) besser lesen kann. Dazu musste die 10_ZWave.pm auch geaendert werden.

Mir ist auch aufgefallen, dass manche Parameter mit type="byte" und size="2" drinstehen. Da zusaetzlich in einer Zeile default="600" steht, ist vermutlich die Angabe type="short" richtig. Habe das Modul geaendert, damit size Vorrang vor type hat.

Thargor

Zitat von: rudolfkoenig am 26 März 2015, 16:06:42
Der hier reinkopierte Text enthaelt ein XML-Syntaxfehler, eine Help-Zeile ist abgeschnitten. Das habe ich zwar gefixt, aber ein Teil der Hilfe ist weg: bitte in der Zukunft die Dateien/Daten als Anhang posten.
Wo kommen die Daten her? Selbst eingetippt?

Ja, bzw die Vorlage vom alten FGS221 nach Fibaro Manual abgeändert.

Zitat von: rudolfkoenig am 26 März 2015, 16:06:42
Ich habe die Aenderungen uebernommen, und bei der Gelegenheit die XML Datei etwas eingerueckt, damit man (ich) besser lesen kann. Dazu musste die 10_ZWave.pm auch geaendert werden.
Mir ist auch aufgefallen, dass manche Parameter mit type="byte" und size="2" drinstehen. Da zusaetzlich in einer Zeile default="600" steht, ist vermutlich die Angabe type="short" richtig. Habe das Modul geaendert, damit size Vorrang vor type hat.

Leider gibt die Doku das nicht vor, ich hatte den Typ schon geändert wo es mir aufgefallen war, aber alle Parameter konnte ich nicht testen.

Vielen Dank auf jeden Fall!
Gruß Lars



krikan

Hallo Rudi,
was ist eigentlich Dein geplantes Vorgehen bei den Config-XMLs: Willst Du die Neuerungen/Änderungen von openzwave regelmäßig übernehmen oder pflegen wir hier unsere eigenen XMLs? Den hier von Dir eingepflegten FGS221 hat openzwave mittlerweile auch. Ich könnte Dir auch noch XMLs vom Philio PST02 und dem neuen Fibaro-Aktor liefern, würde aber genauso gerne auf openzwave warten. XMLs tippen ist jetzt für mich nicht so spannend... Wenn ich Dir bei einer evtl. regelmäßigen Übernahme von openzwave irgendwie helfen kann, lass es mich wissen.
Gruß, Christian

rudolfkoenig

@krikan: Ich habe gerade die updates uebernommen.

Da wir zwei zusaetzliche Eintraege haben (ZME_WALLC-S und den FGS221 hier, was vermutlich besser ist als der openzwave Eintrag), habe ich contrib/zwave_configconvert.pl um ein Auspackmodus erweitert, um unsere Dateien im open-zwave Verzeichnis auszupacken.

Howto:
- open-zwave auschecken/updaten
- in config/manufacturer_specific.xml in den richtigen Abschnitt die folgende erste Zeile anpassen, die zweite hinzufuegen.
    <Product type="0400" id="100a" name="FGS211 Switch 3kW" config="fibaro/fgs211v102.xml" />
    <Product type="0100" id="0101" name="ZME_WALLC-S 4 Button Wall Controller" config="zwave.me/ZME_WALLC-S.xml"/>

- die geaenderte Datei nach ...fhem/FHEM/lib/openzwave_manufacturer_specific.xml kopieren.
- unsere zusaetzlichen Dateien in open-zwave auspacken:
cd open-zwave
gzip -d < .../FHEM/lib/openzwave_deviceconfig.xml.gz |
perl .../contrib/zwave_configconvert.pl -d

- Die neuen Dateien von open-zwave einpacken:
perl .../contrib/zwave_configconvert.pl config |
gzip > .../FHEM/lib/openzwave_deviceconfig.xml.gz


@krikan: falls du das uebernehmen willst, habe ich nichts dagegen.
Fuer SVN Schreibrechte brauche ich eine PM von dir mit deinem sourceforge Account.

krikan

@rudolfkoenig
Hallo Rudi,
habe mir die Zwave-Config-XMLs von openhab im Vergleich zu openzwave noch mal angesehen. Openhab bietet aus meiner Sicht detailliertere XMLs. Grundinhalt der für Fhem wichtigen und ausgewerteten Config-Parameter ist aber in beiden gleich. Openzwave hat einen größeren Umfang bei der Geräteanzahl. Die in openhab im Vergleich zu openzwave zusätzlich enthaltenen Geräte sind an einer Hand abzählbar. Im Fazit lohnt sich nach meiner Meinung kein weiterer Fhem-Converter mit dem entsprechenden Pflegeaufwand für die openhab-XMLs. Sollten einzelne openhab-XMLs in Fhem vermisst werden, könnte man die derzeit auch manuell ins openzwave-Format überführen und einchecken. Bisher ist die Nachfrage im Forum nach fehlenden XMLs sowieso nicht vorhanden. Im letzten Thread, in dem jemand hier XMLs vermisste, hat man mir auf Nachfrage nicht mal verraten, welche Geräte es betrifft.
Gruß, Christian

rudolfkoenig