ahochsteger
(Andreas Hochsteger)
January 5, 2019, 9:57pm
1
Hi,
I’ve got a bunch Oomi MultiSensor (FT100) devices which cannot be fully discovered by openHAB.
They seem to be a rebranded version of the Aeotec MultiSensor 6 (ZW100) which I have too and work flawlessly with openHAB.
There’s already an entry in the Z-Wave Database but it seems to be incomplete contain some errors:
https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/975
Here’s all the information I’ve been able to find to help integrate the device into the database:
http://manuals-backend.z-wave.info/make.php?lang=en&sku=FT100-A&cert=ZC10-15100014
That’s the XML file that got created after discovering the device with openHAB:
network_cb10ff7c__node_14.xml (6.3 KB)
Would it be possible somehow to test the Aeotec device definition with minimal adjustments for Oomi? If so, how?
Since I’m not really sure how to proceed from here to get it into the database (create a new device or update the existing one) I’d be happy for any advice and pointers.
Let me know if there’s more I can do (testing/debugging with the real device) don’t hesitate to ask.
Thanks,
Andreas
ahochsteger
(Andreas Hochsteger)
January 6, 2019, 12:02am
2
Update: I just was able to update the existing device entry to remove all errors and all but one warning:
https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/975
The remaining warning says:
thingid
should not contain manufacturer name.
But I don’t see thingid meantioned anywhere on the page.
Any hints on what I can do about it?
Thanks,
Andreas
sihui
(SiHui)
January 6, 2019, 6:57am
3
Just put ft100
in there .
ahochsteger
(Andreas Hochsteger)
January 6, 2019, 7:52am
4
Thanks, @sihui , that helped.
sihui
(SiHui)
January 6, 2019, 7:56am
5
That database field was changed from Thing Id
to Unique Reference
a while ago, I guess Chris just forgot to also change the output from the database verification checks
Bazzy
(Bas)
December 9, 2020, 9:34pm
6
Hi Andreas, Did you ever got it to work? I have a FT100 but only receiving 3 channels. Is that correct and if so can you point me in the direction to use the motion sensor?
Kind regards,
Bas
sercasyr
(sercasyr)
May 19, 2021, 4:47pm
7
I have the same problem.
I only see 3 channels (temperature motion and battery), and not all the config. parameters.
To make things worse, the motion channel does not work. So it is pretty much useless for me.
Is there a solution for this?
It is supposed to work with OH.
sercasyr
(sercasyr)
May 20, 2021, 9:47am
8
Some people report that one possible solution is to flash the FT-100 with the official Aeotec firmware.
Here they discuss about that (they don’t use OH, they use other controllers):
https://forum.fhem.de/index.php?topic=95312.0
I am not sure about this solution because I am not 100% sure the FT-100 is the same device as the Aeotec ZW-100. Maybe it is, maybe not.
If someone has ever tried this, it would be nice to know if this solves this issue in OH.
sercasyr
(sercasyr)
May 22, 2021, 9:55am
9
Hi again,
I will answer myself, so I can help others. I have tried this and it definitely works.
2 Likes
@chris
For the faint-hearted who are reluctant to flash the device from Fantem/Oomi to Aeotec, I would like to fix the existing entry in the Z-Wave database.
The current entry for ‘Fantem FT100 Oomi Multisensor’ is missing several endpoints:
LUMINANCE
RELATIVE_HUMIDITY
ULTRAVIOLET
Please find attached the complete XML file:
<node>
<homeId>0xbeef</homeId>
<nodeId>62</nodeId>
<version>4</version>
<manufacturer>0x16a</manufacturer>
<deviceId>0x64</deviceId>
<deviceType>0x2</deviceType>
<listening>true</listening>
<frequentlyListening>false</frequentlyListening>
<routing>true</routing>
<security>false</security>
<beaming>true</beaming>
<maxBaudRate>40000</maxBaudRate>
<sleepDelay>1000</sleepDelay>
<nodeInformationFrame>
<commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
<commandClass>COMMAND_CLASS_VERSION</commandClass>
<commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
<commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
<commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
<commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
<commandClass>COMMAND_CLASS_ALARM</commandClass>
<commandClass>COMMAND_CLASS_WAKE_UP</commandClass>
<commandClass>COMMAND_CLASS_BATTERY</commandClass>
<commandClass>COMMAND_CLASS_SENSOR_BINARY</commandClass>
<commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
<commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
<commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</commandClass>
<commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
<commandClass>COMMAND_CLASS_MARK</commandClass>
</nodeInformationFrame>
<associationGroups class="concurrent-hash-map">
<entry>
<int>1</int>
<associationGroup>
<index>1</index>
<maxNodes>0</maxNodes>
<associations>
<associationMember>
<node>1</node>
</associationMember>
</associations>
</associationGroup>
</entry>
</associationGroups>
<endpoints class="concurrent-hash-map">
<entry>
<int>0</int>
<endPoint>
<deviceClass>
<basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
<genericDeviceClass>GENERIC_TYPE_SENSOR_MULTILEVEL</genericDeviceClass>
<specificDeviceClass>SPECIFIC_TYPE_ROUTING_SENSOR_MULTILEVEL</specificDeviceClass>
</deviceClass>
<endpointId>0</endpointId>
<secureCommandClasses/>
<supportedCommandClasses class="concurrent-hash-map">
<entry>
<commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>
<COMMAND__CLASS__NO__OPERATION>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
</COMMAND__CLASS__NO__OPERATION>
</entry>
<entry>
<commandClass>COMMAND_CLASS_BASIC</commandClass>
<COMMAND__CLASS__BASIC>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__BASIC>
</entry>
<entry>
<commandClass>COMMAND_CLASS_SENSOR_BINARY</commandClass>
<COMMAND__CLASS__SENSOR__BINARY>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<isGetSupported>true</isGetSupported>
<types/>
</COMMAND__CLASS__SENSOR__BINARY>
</entry>
<entry>
<commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
<COMMAND__CLASS__SENSOR__MULTILEVEL>
<version>5</version>
<instances>1</instances>
<control>false</control>
<versionSupported>5</versionSupported>
<sensors>
<entry>
<multilevelSensorType>TEMPERATURE</multilevelSensorType>
<multilevelSensor>
<sensorType>TEMPERATURE</sensorType>
<initialised>true</initialised>
</multilevelSensor>
</entry>
<entry>
<multilevelSensorType>LUMINANCE</multilevelSensorType>
<multilevelSensor>
<sensorType>LUMINANCE</sensorType>
<initialised>true</initialised>
</multilevelSensor>
</entry>
<entry>
<multilevelSensorType>RELATIVE_HUMIDITY</multilevelSensorType>
<multilevelSensor>
<sensorType>RELATIVE_HUMIDITY</sensorType>
<initialised>true</initialised>
</multilevelSensor>
</entry>
<entry>
<multilevelSensorType>ULTRAVIOLET</multilevelSensorType>
<multilevelSensor>
<sensorType>ULTRAVIOLET</sensorType>
<initialised>true</initialised>
</multilevelSensor>
</entry>
</sensors>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__SENSOR__MULTILEVEL>
</entry>
<entry>
<commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
<COMMAND__CLASS__ASSOCIATION__GRP__INFO>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<autoSubscribeGroups/>
</COMMAND__CLASS__ASSOCIATION__GRP__INFO>
</entry>
<entry>
<commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
<COMMAND__CLASS__DEVICE__RESET__LOCALLY>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
</COMMAND__CLASS__DEVICE__RESET__LOCALLY>
</entry>
<entry>
<commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
<COMMAND__CLASS__ZWAVEPLUS__INFO>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<zwPlusVersion>1</zwPlusVersion>
<zwPlusRole>ROLE_TYPE_SLAVE_ALWAYS_ON</zwPlusRole>
<zwPlusNodeType>NODE_TYPE_ZWAVEPLUS_NODE</zwPlusNodeType>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__ZWAVEPLUS__INFO>
</entry>
<entry>
<commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
<COMMAND__CLASS__CONFIGURATION>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<configParameters>
<entry>
<int>2</int>
<configurationParameter>
<index>2</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>3</int>
<configurationParameter>
<index>3</index>
<size>2</size>
<value>240</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>4</int>
<configurationParameter>
<index>4</index>
<size>1</size>
<value>5</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>5</int>
<configurationParameter>
<index>5</index>
<size>1</size>
<value>1</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>39</int>
<configurationParameter>
<index>39</index>
<size>1</size>
<value>20</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>40</int>
<configurationParameter>
<index>40</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
</configParameters>
</COMMAND__CLASS__CONFIGURATION>
</entry>
<entry>
<commandClass>COMMAND_CLASS_ALARM</commandClass>
<COMMAND__CLASS__ALARM>
<version>3</version>
<instances>1</instances>
<control>false</control>
<versionSupported>3</versionSupported>
<alarms>
<entry>
<alarmType>BURGLAR</alarmType>
<alarmState>
<alarmType>BURGLAR</alarmType>
<reportedEvents>
<int>3</int>
<int>8</int>
</reportedEvents>
<outer-class reference="../../../.."/>
</alarmState>
</entry>
</alarms>
<v1Supported>true</v1Supported>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__ALARM>
</entry>
<entry>
<commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
<COMMAND__CLASS__MANUFACTURER__SPECIFIC>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<initSerialNumber>false</initSerialNumber>
<deviceManufacturer>362</deviceManufacturer>
<deviceType>2</deviceType>
<deviceId>100</deviceId>
</COMMAND__CLASS__MANUFACTURER__SPECIFIC>
</entry>
<entry>
<commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
<COMMAND__CLASS__POWERLEVEL>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<powerLevel>0</powerLevel>
<powerTimeout>0</powerTimeout>
</COMMAND__CLASS__POWERLEVEL>
</entry>
<entry>
<commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</commandClass>
<COMMAND__CLASS__FIRMWARE__UPDATE__MD>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
</COMMAND__CLASS__FIRMWARE__UPDATE__MD>
</entry>
<entry>
<commandClass>COMMAND_CLASS_BATTERY</commandClass>
<COMMAND__CLASS__BATTERY>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<batteryLevel>100</batteryLevel>
<batteryLow>false</batteryLow>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__BATTERY>
</entry>
<entry>
<commandClass>COMMAND_CLASS_WAKE_UP</commandClass>
<COMMAND__CLASS__WAKE__UP>
<version>2</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<targetNodeId>1</targetNodeId>
<interval>3600</interval>
<minInterval>240</minInterval>
<maxInterval>3600</maxInterval>
<defaultInterval>3600</defaultInterval>
<intervalStep>60</intervalStep>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__WAKE__UP>
</entry>
<entry>
<commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
<COMMAND__CLASS__ASSOCIATION>
<version>2</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<maxGroups>1</maxGroups>
</COMMAND__CLASS__ASSOCIATION>
</entry>
<entry>
<commandClass>COMMAND_CLASS_VERSION</commandClass>
<COMMAND__CLASS__VERSION>
<version>2</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<libraryType>LIB_SLAVE_ENHANCED</libraryType>
<protocolVersion>4.54</protocolVersion>
<applicationVersion>1.3</applicationVersion>
<hardwareVersion>100</hardwareVersion>
</COMMAND__CLASS__VERSION>
</entry>
</supportedCommandClasses>
</endPoint>
</entry>
</endpoints>
<nodeNeighbors/>
<lastReceived>2021-11-20 20:04:33.608 UTC</lastReceived>
</node>
IIRC, it’s not possible to upload an XML file for an already existing device. Please advise how to proceed. TIA.
apella12
(Bob Eckhoff)
November 20, 2021, 9:56pm
11
I had a similar situation for an existing device that was missing some parameters. With edit access you can add endpoints, parameters, etc. After that you can export the XML to see that it matches what you want it to have.
Bob
edit: Quick look: It looks like the endpoint is Ok. Need to add channels to the sensor_Multilevel.
I could add the the channels, but the versions of the command classes do not match - I’ll wait for @chris ’ reply.
apella12
(Bob Eckhoff)
November 20, 2021, 10:58pm
13
Okey doke. Just trying to help and save the big guy a little time.
Bob
1 Like
chris
(Chris Jackson)
November 22, 2021, 4:48am
14
Just to be picky - I assume you mean it’s missing some channels - there only seems to be 1 endpoint in the XML you posted.
Correct - this is to avoid someone screwing things too badly
In general, the CC version doesn’t really matter. It’s stored in the database, but that’s really just as a reference and the binding will work with whatever data it receives no matter what the database says the version is.
I’m not sure I understand the issue - is it just missing channels, or is there a version change here? If it’s just missing the channels, then I think adding them should be fine - otherwise it’s the “new entry for the new version” concept that I know you are familiar with already.
Yep, one endpoint, missing channels. Manual/documentation is a mess. AFAICT, just missing channels and wrong/missing alarm types in the database. What I’ve done so far:
missing channels added,
alarm types fixed/added (burglar → motion, new alarm type: tamper),
Association Groups 2 and 3 added (the manual mentions settings for Groups 2 and 3 (parameters 101-103/111-113), but doesn’t mention Groups 2 and 3 …),
parameters 101-103/111-113 added,
review requested.
The latest Z-Wave snapshot (#118 ) adds support for all sensors:
How to update:
Install latest Z-Wave snapshot (bundle:update).
Delete the Thing.
Add Thing (+) → Z-Wave Binding → Scan
Re-add the Thing from the Inbox.
sercasyr:
flash
I couldn’t get my Oomi/Fantem FT100 to run reliably - it got stuck about once a month, so I flashed it with the latest Aeotec fimware (v1.15) - it’s too early to draw a final conclusion, but the sensor seems to be indistinguishable from a ZW100 after the firmware update.
Edit:
Just an update:
My Oomi FT100 flashed with the latest Aeotec firmware (v1.15) for ZW100 has been running flawlessly for more than a month now.