Hallo Artur,
Homegear nutzt aktuell quasi diegleichen XML-Dateien (zu finden in /etc/homegear/devices). Für HomeMatic Wired müssen diese leicht angepasst werden.
Hier ein Auszug aus der Patch-Datei, der die Änderungen zeigt:
diff -Naur Original/hmw_io_12_fm.xml Patched/hmw_io_12_fm.xml
--- Original/hmw_io_12_fm.xml 2015-03-10 11:27:27.999317500 +0100
+++ Patched/hmw_io_12_fm.xml 2015-03-10 11:27:33.619317400 +0100
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0"?>
<device eep_size="1024" version="7">
<supported_types>
<type id="HMW-IO-12-FM" name="RS485 I/O module 12-channel (flush-mount)" priority="2">
@@ -28,6 +28,14 @@
</physical>
</parameter>
<enforce id="DIRECT_LINK_DEACTIVATE" value="true"/>
+ <parameter id="POLLING" ui_flags="internal">
+ <logical type="boolean" default="false"/>
+ <physical type="integer" interface="store"/>
+ </parameter>
+ <parameter id="POLLING_INTERVAL" ui_flags="internal">
+ <logical type="integer" min="10" max="1440" default="60" unit="min"/>
+ <physical type="integer" interface="store"/>
+ </parameter>
</paramset>
<frames>
<frame channel_field="10" direction="to_device" id="LEVEL_SET" type="#x">
@@ -77,6 +85,13 @@
<logical type="boolean"/>
<physical interface="internal" type="integer" value_id="CONFIG_PENDING"/>
</parameter>
+ <parameter id="CENTRAL_ADDRESS_SPOOFED" operations="read,write,event" ui_flags="service,sticky" control="NONE">
+ <logical type="option">
+ <option id="UNSET" index="0" default="true"/>
+ <option id="CENTRAL_ADDRESS_SPOOFED" index="1"/>
+ </logical>
+ <physical type="integer" interface="internal" value_id="CENTRAL_ADDRESS_SPOOFED"/>
+ </parameter>
</paramset>
</channel>
<channel count="12" index="1" physical_index_offset="-1" type="INPUT_OUTPUT">
@@ -124,25 +139,7 @@
<physical interface="internal" type="integer" value_id="BEHAVIOUR"/>
</parameter>
</paramset>
- <paramset address_start="0x349" address_step="6" channel_param="CHANNEL" count="30" id="hmw_input_ch_link" peer_param="ACTUATOR" type="LINK">
- <parameter hidden="true" id="CHANNEL" operations="none">
- <logical default="255" max="255" min="0" type="integer"/>
- <physical interface="eeprom" size="1.0" type="integer">
- <address index="+0"/>
- </physical>
- </parameter>
- <parameter hidden="true" id="ACTUATOR" operations="none">
- <logical type="address"/>
- <physical type="array">
- <physical interface="eeprom" size="4.0" type="integer">
- <address index="+1"/>
- </physical>
- <physical interface="eeprom" size="1.0" type="integer">
- <address index="+5"/>
- </physical>
- </physical>
- </parameter>
- </paramset>
+ <paramset address_start="0x349" address_step="6" count="30" id="hmw_input_ch_link" type="LINK" channel_offset="0" peer_address_offset="1" peer_channel_offset="5"> </paramset>
<paramset id="hmw_input_ch_values" type="VALUES">
<parameter control="BUTTON.SHORT" id="PRESS_SHORT" operations="event,write" loopback="true">
<logical type="action"/>
@@ -190,28 +187,11 @@
<physical interface="internal" type="integer" value_id="BEHAVIOUR"/>
</parameter>
</paramset>
- <paramset address_start="0x39" address_step="28" channel_param="CHANNEL" count="28" id="hmw_switch_ch_link" peer_param="SENSOR" type="LINK">
+ <paramset address_start="0x39" address_step="28" count="28" id="hmw_switch_ch_link" type="LINK" channel_offset="5" peer_address_offset="0" peer_channel_offset="4">
<parameter id="UI_HINT">
<logical default="" type="string" use_default_on_failure="true"/>
<physical id="UI_HINT" interface="store" save_on_change="true" type="string"/>
</parameter>
- <parameter hidden="true" id="SENSOR" operations="none">
- <logical type="address"/>
- <physical type="array">
- <physical interface="eeprom" size="4.0" type="integer">
- <address index="+0"/>
- </physical>
- <physical interface="eeprom" size="1.0" type="integer">
- <address index="+4"/>
- </physical>
- </physical>
- </parameter>
- <parameter hidden="true" id="CHANNEL" operations="none">
- <logical default="255" max="255" min="0" type="integer"/>
- <physical interface="eeprom" size="1.0" type="integer">
- <address index="+5"/>
- </physical>
- </parameter>
<parameter id="SHORT_ON_TIME_MODE">
<logical type="option">
<option id="MINIMAL"/>
Im Prinzip haben wir wegen des unlogischen Aufbaus nur die Adress-Parameter entfernt und stattdessen die drei Attribute “channel_offset”, “peer_address_offset” und “peer_channel_offset” eingefügt.
In Homegear Version 0.6 werden wir aber ein komplett neues XML-Schema verwenden (aus urheberrechtlichen Gründen - eQ3 sagt, ihr XML-Schema sei urheberrechtlich geschützt). Es wird aber einen Converter geben und vielleicht auch ein Tool zum leichten Erstellen von XML-Dateien.
Liebe Grüße
Sathya