ariela
(Andrea Riela)
June 27, 2025, 9:29pm
1
Hi folks,
I have a Aeotec aerQ, I receive all the info (temp, humidity, dew point ..) but not the battery level. I don’t know how to try. Here my .item:
// Zwave Binding - Aeotec aerQ
Number Aeotec_WineCooler_Temperature "Temperature [%.1f °C]" (gFF_Kitchen, gTemperature, gAVGTemperature, gFF_AVGTemperature, gChart, gHistory)
Number Aeotec_WineCooler_Humidity "Humidity [%d %%]" (gFF_Kitchen, gIAirQuality, gAVGHumidity, gFF_AVGHumidity, gChart, gHistory)
Number Aeotec_WineCooler_DeWPoint "dew point [%.1f]" (gFF_Kitchen, gIAirQuality, gChart)
Number Aeotec_WineCooler_BatteryLevel "Battery Level [%d]" (gFF_Kitchen, gBatteries)
Any clue how can troubleshoot the issue?
openhab 5.0.0 M3 here.
thanks
Andrea
apella12
(Bob Eckhoff)
June 28, 2025, 12:02am
2
No experience with text based items, but don’t they need a channel of the thing?
DiegoDf
(Diego)
June 28, 2025, 7:01am
3
I have two aerQs. The battery levels are unreliable. Some days they show a value, some days they show 0%.
If you use Zwave-js-ui there is a MQTT topic lastActive , that shows the last time a message was received from the aerQ. I use a rule: if the last update was more than one day ago then an error status item is set.
ariela
(Andrea Riela)
June 28, 2025, 12:45pm
4
No, you can link the item with the thing via UI. This is the way I go for zwave devices (only for it, to be frank)
ariela
(Andrea Riela)
June 28, 2025, 12:49pm
5
thank you, can you explain a bit more your solution? is now reliable? what I’m thinking is that I don’t receive any data, just “NULL” …
apella12
(Bob Eckhoff)
June 28, 2025, 2:22pm
6
Ok. I was concerned because the format of the battery channel is slightly different than the other channels, but if you linked via the UI, it should work.
Also note that the battery is only read when the device wakes up. What frequency do you have the wake-up? If the device is new, you may not be fully configured. You could try to manually wake the device while the binding is debug to see what is happening.
ariela
(Andrea Riela)
June 28, 2025, 2:58pm
7
the wake-up interval is as per default:
wakeup_interval: 604800
do you think I need to decrease this number? The device is new, installed yesterday. I’ve already received some changes in temperature and humidity, so I was presuming that also the battery level should be populated already.
apella12
(Bob Eckhoff)
June 28, 2025, 3:06pm
8
That is once a week. Long term that is fine, but you could do a manual wake with debug to check it out
ariela
(Andrea Riela)
June 28, 2025, 3:13pm
9
In the meantime I’ve just changed the parameter 4 to “1800”, so I expect a periodic report every half an hour.
here my zwave file
<node>
<homeId>0xd70842d6</homeId>
<nodeId>66</nodeId>
<version>4</version>
<manufacturer>0x371</manufacturer>
<deviceId>0x9</deviceId>
<deviceType>0x2</deviceType>
<listening>false</listening>
<frequentlyListening>false</frequentlyListening>
<routing>true</routing>
<security>false</security>
<beaming>true</beaming>
<maxBaudRate>40000</maxBaudRate>
<sleepDelay>500</sleepDelay>
<nodeInformationFrame>
<commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
<commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
<commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
<commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
<commandClass>COMMAND_CLASS_TRANSPORT_SERVICE</commandClass>
<commandClass>COMMAND_CLASS_VERSION</commandClass>
<commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
<commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
<commandClass>COMMAND_CLASS_INDICATOR</commandClass>
<commandClass>COMMAND_CLASS_POWERLEVEL</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_SECURITY</commandClass>
<commandClass>COMMAND_CLASS_SECURITY_2</commandClass>
<commandClass>COMMAND_CLASS_ALARM</commandClass>
<commandClass>COMMAND_CLASS_WAKE_UP</commandClass>
<commandClass>COMMAND_CLASS_SUPERVISION</commandClass>
<commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</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>
<entry>
<int>2</int>
<associationGroup>
<index>2</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
<entry>
<int>3</int>
<associationGroup>
<index>3</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
<entry>
<int>4</int>
<associationGroup>
<index>4</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
<entry>
<int>5</int>
<associationGroup>
<index>5</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
<entry>
<int>6</int>
<associationGroup>
<index>6</index>
<maxNodes>0</maxNodes>
<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_NOTIFICATION</genericDeviceClass>
<specificDeviceClass>SPECIFIC_TYPE_NOTIFICATION_SENSOR</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_SENSOR_BINARY</commandClass>
<COMMAND__CLASS__SENSOR__BINARY>
<version>2</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<isGetSupported>true</isGetSupported>
<types>
<binarySensorType>GENERAL</binarySensorType>
</types>
</COMMAND__CLASS__SENSOR__BINARY>
</entry>
<entry>
<commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
<COMMAND__CLASS__SENSOR__MULTILEVEL>
<version>11</version>
<instances>1</instances>
<control>false</control>
<versionSupported>11</versionSupported>
<sensors>
<entry>
<multilevelSensorType>TEMPERATURE</multilevelSensorType>
<multilevelSensor>
<sensorType>TEMPERATURE</sensorType>
<initialised>true</initialised>
</multilevelSensor>
</entry>
<entry>
<multilevelSensorType>RELATIVE_HUMIDITY</multilevelSensorType>
<multilevelSensor>
<sensorType>RELATIVE_HUMIDITY</sensorType>
<initialised>true</initialised>
</multilevelSensor>
</entry>
<entry>
<multilevelSensorType>DEW_POINT</multilevelSensorType>
<multilevelSensor>
<sensorType>DEW_POINT</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>3</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>2</zwPlusVersion>
<zwPlusRole>ROLE_TYPE_SLAVE_SLEEPING_REPORTING</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>4</versionSupported>
<configParameters>
<entry>
<int>1</int>
<configurationParameter>
<index>1</index>
<size>1</size>
<value>1</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>2</int>
<configurationParameter>
<index>2</index>
<size>1</size>
<value>1</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>3</int>
<configurationParameter>
<index>3</index>
<size>1</size>
<value>15</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>4</int>
<configurationParameter>
<index>4</index>
<size>2</size>
<value>-22336</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>5</int>
<configurationParameter>
<index>5</index>
<size>2</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>6</int>
<configurationParameter>
<index>6</index>
<size>2</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>7</int>
<configurationParameter>
<index>7</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>8</int>
<configurationParameter>
<index>8</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>9</int>
<configurationParameter>
<index>9</index>
<size>1</size>
<value>-1</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>10</int>
<configurationParameter>
<index>10</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>11</int>
<configurationParameter>
<index>11</index>
<size>1</size>
<value>-1</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>12</int>
<configurationParameter>
<index>12</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>13</int>
<configurationParameter>
<index>13</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>14</int>
<configurationParameter>
<index>14</index>
<size>2</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>15</int>
<configurationParameter>
<index>15</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>16</int>
<configurationParameter>
<index>16</index>
<size>1</size>
<value>15</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>64</int>
<configurationParameter>
<index>64</index>
<size>1</size>
<value>1</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>65</int>
<configurationParameter>
<index>65</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>255</int>
<configurationParameter>
<index>255</index>
<size>4</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>8</version>
<instances>1</instances>
<control>false</control>
<versionSupported>8</versionSupported>
<alarms>
<entry>
<alarmType>HEAT</alarmType>
<alarmState>
<alarmType>HEAT</alarmType>
<reportedEvents/>
<outer-class reference="../../../.."/>
</alarmState>
</entry>
<entry>
<alarmType>POWER_MANAGEMENT</alarmType>
<alarmState>
<alarmType>POWER_MANAGEMENT</alarmType>
<reportedEvents/>
<outer-class reference="../../../.."/>
</alarmState>
</entry>
<entry>
<alarmType>WEATHER</alarmType>
<alarmState>
<alarmType>WEATHER</alarmType>
<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>881</deviceManufacturer>
<deviceType>2</deviceType>
<deviceId>9</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>5</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>604800</interval>
<minInterval>3600</minInterval>
<maxInterval>15724800</maxInterval>
<defaultInterval>604800</defaultInterval>
<intervalStep>240</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>6</maxGroups>
</COMMAND__CLASS__ASSOCIATION>
</entry>
<entry>
<commandClass>COMMAND_CLASS_VERSION</commandClass>
<COMMAND__CLASS__VERSION>
<version>2</version>
<instances>1</instances>
<control>false</control>
<versionSupported>3</versionSupported>
<libraryType>LIB_SLAVE_ENHANCED</libraryType>
<protocolVersion>7.15</protocolVersion>
<applicationVersion>2.3</applicationVersion>
<hardwareVersion>1</hardwareVersion>
</COMMAND__CLASS__VERSION>
</entry>
<entry>
<commandClass>COMMAND_CLASS_INDICATOR</commandClass>
<COMMAND__CLASS__INDICATOR>
<version>3</version>
<instances>1</instances>
<control>false</control>
<versionSupported>3</versionSupported>
<isGetSupported>true</isGetSupported>
<supportedIndicatorsInitialised>true</supportedIndicatorsInitialised>
<supportedIndicators>
<ZWaveIndicator>
<type>NODE_IDENTIFY</type>
</ZWaveIndicator>
</supportedIndicators>
</COMMAND__CLASS__INDICATOR>
</entry>
<entry>
<commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
<COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
<version>3</version>
<instances>1</instances>
<control>false</control>
<versionSupported>3</versionSupported>
<maxGroups>6</maxGroups>
</COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
</entry>
<entry>
<commandClass>COMMAND_CLASS_SECURITY</commandClass>
<COMMAND__CLASS__SECURITY>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
</COMMAND__CLASS__SECURITY>
</entry>
</supportedCommandClasses>
</endPoint>
</entry>
</endpoints>
<nodeNeighbors/>
<lastReceived>2025-06-27 21:09:27.226 UTC</lastReceived>
apella12
(Bob Eckhoff)
June 28, 2025, 3:28pm
10
Ironically that won’t be sent to the device until it wakes up. I’m still concerned it isn’t fully configured. Edit: never mind, if you have the xml it should be configured.
ariela
(Andrea Riela)
June 28, 2025, 3:30pm
11
it seems there is a firmware update that should solve the issue with the battery:
But I don’t know how to do this with openhab
@chris any suggestion here? sorry to bother. Aeotec aerQ ZWA039, not receiving any value for the battery level
thanks
Andrea
apella12
(Bob Eckhoff)
June 28, 2025, 3:35pm
12
It can’t be done with OH zw binding, use the silabs simplicity option in the directions. It could be done with the zw-js, but that’s another story.
ariela
(Andrea Riela)
June 28, 2025, 3:35pm
13
checking how to trigger the wake-up. Nothing in the manual. Pressing the button perhaps?
ariela
(Andrea Riela)
June 28, 2025, 3:42pm
14
is the zwave_version the firmware version of this device?
because I see:
zwave_version 2.3
so perhaps the device is already up to date
apella12
(Bob Eckhoff)
June 28, 2025, 3:59pm
15
It does look like 2.3 already. They usually ship new devices with the latest FW.
Usually it is button press(es). What did you do to include the device. It is usually the same to wake.
1 Like
ariela
(Andrea Riela)
June 28, 2025, 4:28pm
16
I’ve pressed one time and now I see the battery “100%”
Now we see how reliable is it. But thanks for the hint
DiegoDf
(Diego)
June 28, 2025, 4:29pm
17
Version 2.3 should indeed be better than version 2.0.1 as in my devices.
Here is the wake-up section in your xml:
<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>604800</interval>
<minInterval>3600</minInterval>
<maxInterval>15724800</maxInterval>
<defaultInterval>604800</defaultInterval>
<intervalStep>240</intervalStep>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__WAKE__UP>
</entry>
You should change the interval to something like 43200, which corresponds to half a day. Then wake up the device manually (short press once). Not sure if it will work this way.
1 Like
ariela
(Andrea Riela)
June 28, 2025, 9:51pm
18
strange thing … it seems I can’t modify the interval via UI. When I set 43200 then save, I see again the 604800 default value
apella12
(Bob Eckhoff)
June 28, 2025, 11:00pm
19
When you change a parameter on a battery device, you need to wake it afterward. If that doesn’t work a debug log might show what is going wrong.
1 Like
Levin1
(Levin)
July 8, 2025, 7:19pm
20
Of course you can change the interval, I had no issues with my AerQ.
But I also saw this behaviour some time ago with other devices.
It helped to use the “Code” tab to change the value instead.
Dont’ forget to wake it up after changing the value, especially if you had a long intervall.