![]() |
|
Namron Zigbee Thermostat compatibility - Printable Version +- LogicMachine Forum (https://forum.logicmachine.net) +-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1) +--- Forum: Gateway (https://forum.logicmachine.net/forumdisplay.php?fid=10) +--- Thread: Namron Zigbee Thermostat compatibility (/showthread.php?tid=6044) |
Namron Zigbee Thermostat compatibility - econex - 06.07.2025 Hello! I have bought the Zigbee RS232 GW and a few Namron electric thermostats for a specific project. The thermostats are Namron Zigbee Touch Thermostat 4512752. I checked the the Zigbee Compatibility list and found that Namron Touch Thermostat 4512737 was compatible, but it seems like that particular thermostat is no longer in production (not as i could find, so i hoped the 4512752 would work). I get this as device info: Manufacturer: _TZE204_p3lqqy2r Model: TS0601 Device type: Router Power source: Mains Receive when idle: Yes Endpoint 1 Profile: 260 Input clusters - Basic (0) - Groups (4) - Scenes (5) - 61184 Output clusters - Ota (25) - Time (10) When I monitor it reports "empty" messages when i change setpoints (see attached screenshot). I have a resident script that tries to read from the normal attributes of the device: Code: -- Set the polling interval in seconds (e.g., 60)
local poll_interval = 60
-- Initialize lastpoll timestamp if it doesn't exist
if not lastpoll then
lastpoll = 0
end
-- Check if it's time to poll again
if os.time() >= lastpoll + poll_interval then
-- It's time, so update the timestamp immediately
lastpoll = os.time()
-- Load Zigbee library
local zb = require('applibs.zigbee')
-- Device info
local mac = '3425b4fffecf73b8'
local endpoint = 1
local cluster = 0 -- Basic Cluster
log('--- Polling Thermostat ---')
-- 1. Read the Measured Temperature (Attribute 65506)
local temp, err_temp = zb.cmdsync('getrawattribute', mac, endpoint, cluster, 65506)
if temp then
-- To write this value to Group Object '1/1/1', uncomment the next line
-- grp.write('1/1/1', temp)
log('Thermostat Measured Temperature: ' .. tostring(temp))
else
log('Failed to read temperature. Error: ' .. tostring(err_temp))
end
-- 2. Read the Heating State (Attribute 65508)
local state, err_state = zb.cmdsync('getrawattribute', mac, endpoint, cluster, 65508)
if state then
-- To write this value to Group Object '1/1/2', uncomment the next line
-- grp.write('1/1/2', state)
log('Thermostat Heating State: ' .. tostring(state))
else
log('Failed to read heating state. Error: ' .. tostring(err_state))
end
endBut its timing out (see errors in attached screenshot). Am I correct in assuming that this device is not supported? RE: Namron Zigbee Thermostat compatibility - admin - 08.07.2025 Most likely you need to specify manufacturer code when reading these attributes. Try 0x1224 or 0x125D: Code: local manufcode = 0x1224
local temp, err_temp = zb.cmdsync('getrawattribute', mac, endpoint, cluster, 65506, manufcode)You can adjust the script sleep interval as needed instead of checking the time in the script. Another option is to monitor report messages coming from ZigBee: https://kb.logicmachine.net/libraries/zigbee/#resident-script-for-monitoring-several-devices |