Purpose of this page is to share all findings regarding the WISER Zigbee product familly.
Work in progress, so only validated informations are written
In short your extended PANID must looks like : 0x—-484504015e10, where the 1st 4 digits can be any hex digit
Read Attribute Cluster 0x0000 Attribute 0xe002
Read Attribute Cluster 0x0702 Attribute 0x0301
Read Attribute Cluster 0x0702 Attribute 0x5001
Command Specific: Cluster 0x0009 cmd: 0x50 payload 0x01 0x00 0x00
Read Attribute Cluster 0x0001 Attribute 0x0020
Write Attribute 0x0000 Attribute 0xe050 ( Data Type: Bool 0x10; Value: True 0x01 )
DEC | HEX | VALUE |
---|---|---|
0 | 0 | currentSummationDelivered |
256 | 100 | currentTier1SummationDelivered |
258 | 102 | currentTier2SummationDelivered |
260 | 104 | currentTier3SummationDelivered |
262 | 106 | currentTier4SummationDelivered |
264 | 108 | currentTier5SummationDelivered |
266 | 10A | currentTier6SummationDelivered |
2 | 2 | currentMaxDemandDelivered |
6 | 6 | powerFactor |
768 | 300 | unitOfMeasure |
769 | 301 | multiplier |
770 | 302 | divisor |
512 | 200 | meterStatus |
771 | 303 | summationFormatting |
772 | 304 | demandFormatting |
774 | 306 | meterType |
1024 | 400 | instantaneousDemand |
2049 | 801 | Electricity Alarm Mask |
20480 | 5000 | electricCurrentMultiplier |
20481 | 5001 | electricCurrentDivisor |
20737 | 5101 | RMSElectricCurrentPhase1 |
20753 | 5111 | maxElectricCurrentPhase1 |
20769 | 5121 | RMSElectricCurrentPhase1MaxThreshold |
21760 | 5500 | voltageMultiplier |
21761 | 5501 | voltageDivisor |
22017 | 5601 | RMSVoltagePhase1 |
22049 | 5621 | RMSVoltagePhase1MinThreshold |
22050 | 5622 | RMSVoltagePhase1MaxThreshold |
23072 | 5A20 | activePowerAlarmMask |
23073 | 5A21 | activePowerMinThreshold |
23074 | 5A22 | activePowerMaxThreshold |
23296 | 5B00 | apparentPower |
23345 | 5B31 | apparentPowerMultiplier |
23346 | 5B32 | apparentPowerDivisor |
24576 | 6000 | loadConnectedLabel |
28674 | 7002 | numberOfPhases |
28675 | 7003 | supplierContractName |
28688 | 7010 | numberOfTiers |
28690 | 7012 | tiersAlarmMask |
28752 | 7050 | referencePowerFactor |
28753 | 7051 | referenceRMSElectricCurrent |
28758 | 7056 | referenceRMSVoltage |
28766 | 705E | referenceFrequency |
57600 | E100 | MMSSensorType |
57632 | E120 | MMSAlarmsMask |
57856 | E200 | ctStatusRegister This is for BMS (first bit 0 == Not active, first bit 1 == Active |
57857 | E201 | ctPowerConfiguration |
57858 | E202 | ctCalibrationMultiplier |
Device Announcement
Bind Cluster 0x0201
Configure Reporting 0x0702 Attr: 0x0400 Type: 0x2a Min: 30 Max: 600
Read Attribute 0x0201 / 0x0016
Read Attribute 0x0201 / 0xe011 (Manufacturer Specific)
Read Attribute 0x0702 / 0x0302
Read Attribute 0x0702 / 0x5a20
Write Attribute 0x0201 Attribute 0xe011 Type: 0x18 Value: 0x00
EP 0b
ProfileID 0104
ZDeviceID 0301
Manufacturer Name : "Schneider Electric"
Model: EH-ZB-HACT
Application Version 0010
Cluster IN Count: 06
Cluster In 1: 0000 (Basic)
Cluster In 2: 0003 (Identify)
Cluster In 3: 0009 (Alarms)
Cluster In 4: 0201 (Thermostat)
Cluster In 5: 0702
Cluster In 6: fe02
Cluster OUT Count: 02
Cluster Out 1: 0019 (Over-the-Air Upgrade)
Cluster Out 2: 0402 (Temperature Measurement)
0x0000/0x5011 ATTRIBUTE_BASIC_LANGUAGE
0x0201/0xe011 HACT Configuration
Bind 0x0204
Configure Reporting 0x0402 on Attribut 0x0000 / Min: 30 Max: 30 /Measured Value 0.01
Read Attribute Cluster 0x0402 on attribute 0x0000 ( Temperature )
Write Attribute Cluster 0x0000 on attribute 0x5011 DataType: 0x42 Value ‘en’
At a point of time the device is quering the controler
ProfileID : "0104"
ZDeviceID : "0302"
Manufacturer : "105e"
MacCapa: 0x80
DeviceType : "RFD"
LogicalType : "End Device"
PowerSource : "Battery"
ReceiveOnIdle : "Off"
Stack Version : "2"
ZCL Version : "1"
Max Buffer Size : "50"
Max Rx : "00a0"
Max Tx : "00a0"
Manufacturer Name : "Schneider Electric"
Model: EH-ZB-RTS
Ep: 0b
Cluster IN Count: 07
Cluster In 1: 0000 (Basic)
Cluster In 2: 0001 (Power Configuration)
Cluster In 3: 0003 (Identify)
Cluster In 4: 0009 (Alarms)
Cluster In 5: 0204 (Thermostat User Interface Configuration)
Cluster In 6: 0402 (Temperature Measurement)
Cluster In 7: fe02
Cluster OUT Count: 02
Cluster Out 1: 0019 (Over-the-Air Upgrade)
Cluster Out 2: 0201 (Thermostat)
At that stage, someone set a target temperature on the Application managing the HUB
ZigBee Cluster Lib Frame: 0x11
Sequence number : 0xc1
Command : 0xe0
: 0x00
Length : 0x01
Value : 0x34 0x08 (Setpoint with LBHB , don't forgett the Endian ;-)
: 0xff
ATTRIBUTE_THERMOSTAT_HACT_CONFIG
# Simple Metering, current summation delivered.
# Always report after 30 seconds / 10 minutes whatever the change.
702_0_0_normal_interval_minimum=600
702_0_0_normal_interval_maximum=600
702_0_0_normal_reportable_change=281474976710655
702_0_0_fast_interval_minimum=30
702_0_0_fast_interval_maximum=30
702_0_0_fast_reportable_change=281474976710655
# Simple Metering, current max demand delivered.
# Always report after 30 seconds / 10 minutes whatever the change.
702_2_0_normal_interval_minimum=600
702_2_0_normal_interval_maximum=600
702_2_0_normal_reportable_change=16777215
702_2_0_fast_interval_minimum=30
702_2_0_fast_interval_maximum=30
702_2_0_fast_reportable_change=16777215
# Simple Metering, instantaneous demand.
# Commented out, we want to use values from MeteringFeatureImpl
#702_400_0_normal_interval_minimum=600
#702_400_0_normal_interval_maximum=600
#702_400_0_normal_reportable_change=16777215
#702_400_0_fast_interval_minimum=30
#702_400_0_fast_interval_maximum=30
#702_400_0_fast_reportable_change=16777215
# Temperature Measurement, current measured value, battery device
# Report interval: [1 minute; 10 minutes], change: 1,00 C
402_0_1_normal_interval_minimum=60
402_0_1_normal_interval_maximum=600
402_0_1_normal_reportable_change=100
# On/Off
# Report on-change and always after 10 minutes.
6_0_0_normal_interval_minimum=0
6_0_0_normal_interval_maximum=600
6_0_0_normal_interval_change=1
# Thermostat Set-Point, current measured value, battery device
# Report interval: 10 minutes whatever the change.
201_12_1_normal_interval_minimum=600
201_12_1_normal_interval_maximum=600
201_12_1_normal_reportable_change=32767
# Thermostat Local Temperature, current measured value, battery device
# Report interval: [1 minute; 10 minutes], change: 1,00 C
201_0_1_normal_interval_minimum=60
201_0_1_normal_interval_maximum=600
201_0_1_normal_reportable_change=100
# Thermostat Valve Position, current measured value, battery device
# Report interval: [1 minute; 10 minutes]
201_e030_1_normal_interval_minimum=60
201_e030_1_normal_interval_maximum=600
201_e030_1_normal_reportable_change=10
# Thermostat Open Window Detection Status
# Report on-change or otherwise never
201_e012_0_normal_interval_minimum=10
201_e012_0_normal_interval_maximum=600
201_e012_0_normal_reportable_change=1
# Thermostat Calibration Status, current calibration status, battery device
# Report interval: [0 minute; 10 minutes]
201_e031_1_normal_interval_minimum=10
201_e031_1_normal_interval_maximum=600
201_e031_1_normal_reportable_change=1
| cluster | cluster name | Attribut | purpose | value | type|Read / Write | |—|—|—|—|—|—|—| |0x0000 | Basic | 0x0005 | Mode Identifier |EH-ZB-RTS |0x42| Read| |0x0000 | Basic | 0x0007 | Power source | 0x03 |0x30 (8bits enum)| Read| |0x0000 | Basic | 0x0020 | Location Description| Zigate zone |0x342| Write| |0x0000 | Basic | 0x0013 | Alarm Mask | 0x00 |0x18 (8bits bitmap)| Read| |0x0000 | Basic | 0xe000 | brickSWVersion | SNP.R.04.01.14 |0x42| Read| |0x0000 | Basic | 0xe001 | applSWVersion | RTS.R.04.01.00 |0x42| Read| |0x0000 | Basic | 0xe002 | version | RTS.R.00.00.2 |0x42| Read| |0x0000 | Basic | 0xe050 | Commissioned | 0x01 |0x10| Write| |0x0000 | Basic | 0x5011 | Language | en,fr,… |0x42| Write| |||||||| |0x0001 | Power Configuration | 0x0035 | Alarm Mask | 0x01 |0x18 (8bits bitmap)| Read| |0x0001 | Power Configuration | 0x0036 | Battery Voltage Minimum Threshold | voltage |0x20| Read| |0x0001 | Power Configuration | 0x0020 | Battery Voltage | voltage |0x20| Read| |||||||| |0x0201 | Thermostat | 0x0012 | Occuppied Heating Setpoint | Temperature |0x29| Read to Coordinnator| |0x0201 | Thermostat | 0x0015 | Min Heating Setpoint | Temperature |0x29| Read to Coordinnator| |0x0201 | Thermostat | 0x0016 | Max Heating Setpoint | Temperature |0x29| Read to Coordinnator| |0x0201 | Thermostat | 0xe010 | Thermostat Mode | 0x01 (Manual) |0x30| Read to Coordinnator| |||||||| |0x0402 | Thermostat Measurement | 0x0000 | Measure Value | Temperature |0x29| Read|
cluster | cluster name | command | purpose | payload |
---|---|---|---|---|
0x0201 | Thermostat | 0xe0 | setpoint | zone 0x01 + temperature in centi degree (uint16) + end 0xff |
0x0201 | Thermostat | 0xe1 | set fip mode | zone 0x01 + fip mode (0-confort, 1-confort -1, 2 confort -2, 3-eco, 4-FrostP, 5-off) + prio (0x01) end 0xff |
Sources of information: