Hello everyone,
Im trying to pair fan coil thermostat ( https://salus-controls.com/uk/product/fc600/#description ) with Hass.io.
Thermostat measures room temperature, on thermostat can be set cooling/heating mode, three fan speeds, schedule (not currently interested in), working and standby function and etc.
So fare I add device description in configuration.yaml and basic description in device.js file.
It would be great if anyone is interested in helping me configure this product.
Im ready to provide any logs, descriptions and etc as well as test any configuration posted.
Thanks for participating.
This is latest log:
zigbee2mqtt:info 2019-1-22 13:13:47 zigbee-shepherd started
zigbee2mqtt:info 2019-1-22 13:13:47 Coordinator firmware version: '20181024'
zigbee2mqtt:debug 2019-1-22 13:13:47 zigbee-shepherd info: {"enabled":true,"net":{"state":"Coordinator","channel":11,"panId":"0x1a62","extPanId":"0xdddddddddddddddd","ieeeAddr":"0x00124b0018ed20be","nwkAddr":0},"firmware":{"transportrev":2,"product":0,"version":"2.6.3","revision":20181024},"startTime":1548162827,"joinTimeLeft":0}
zigbee2mqtt:info 2019-1-22 13:13:47 Currently 1 devices are joined:
zigbee2mqtt:info 2019-1-22 13:13:47 FC600 (0x001e5e090223703d): unkown - undefined unknown (Router)
zigbee2mqtt:warn 2019-1-22 13:13:47 permit_join set to true in configuration.yaml.
zigbee2mqtt:warn 2019-1-22 13:13:47 Allowing new devices to join.
zigbee2mqtt:warn 2019-1-22 13:13:47 Set permit_join to false once you joined all devices.
zigbee2mqtt:info 2019-1-22 13:13:47 Zigbee: allowing new devices to join.
zigbee2mqtt:info 2019-1-22 13:13:47 Connecting to MQTT server at mqtt://192.168.0.92
zigbee2mqtt:info 2019-1-22 13:13:47 zigbee-shepherd ready
zigbee2mqtt:info 2019-1-22 13:13:47 Connected to MQTT server
zigbee2mqtt:info 2019-1-22 13:13:47 MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
zigbee2mqtt:debug 2019-1-22 13:13:47 Mounted the cieApp (epId {epId})
/zigbee2mqtt-1.0.1/node_modules/zcl-packet/lib/functional.js:27
throw new Error('Unrecognized cluster');
^
Error: Unrecognized cluster
at new FuncPayload (/zigbee2mqtt-1.0.1/node_modules/zcl-packet/lib/functional.js:27:15)
at /zigbee2mqtt-1.0.1/node_modules/zcl-packet/lib/zcl.js:33:22
at Dissolve.
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
at Dissolve.emit (events.js:211:7)
at Dissolve.
at emitNone (events.js:106:13)
at Dissolve.emit (events.js:208:7)
at emitReadable_ (/zigbee2mqtt-1.0.1/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:456:10)
npm
ERR! code ELIFECYCLE
npm ERR! errno 1
npm
ERR! [email protected] start: node index.js
npm ERR!
Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm
ERR! /root/.npm/_logs/2019-01-22T13_13_51_881Z-debug.log
2019-01-22T13:13:52: PM2 log: App [npm:0] exited with code [1] via signal [SIGINT]
2019-01-22T13:13:52: PM2 log: App [npm:0] starting in -fork mode-
2019-01-22T13:13:52: PM2 log: App [npm:0] online
[email protected] start /zigbee2mqtt-1.0.1
node index.js
zigbee2mqtt:info 2019-1-22 13:13:55 Logging to directory: '/share/zigbee2mqtt/log/2019-01-22.13-13-55'
zigbee2mqtt:debug 2019-1-22 13:13:55 Removing old log directory '/share/zigbee2mqtt/log/2019-01-22.13-02-26'
zigbee2mqtt:debug 2019-1-22 13:13:56 Using zigbee-shepherd with settings: '{"net":{"panId":6754,"channelList":[11]},"dbPath":"/share/zigbee2mqtt/database.db","sp":{"baudRate":115200,"rtscts":true}}'
zigbee2mqtt:debug 2019-1-22 13:13:56 Can't load state from file /share/zigbee2mqtt/state.json (doesn't exsist)
zigbee2mqtt:info 2019-1-22 13:13:56 Starting zigbee2mqtt version 1.0.1 (commit #unknown)
zigbee2mqtt:info 2019-1-22 13:13:56 Starting zigbee-shepherd
Hi
Please post your modification of device.js and dB record for the device
Hi, I delete everything from device.js apart from the name of device. and try to pair it. this is what recorded inside dB:
{"id":2,"type":"Router","ieeeAddr":"0x001e5e090223703d","nwkAddr":26048,"manufId":4216,"manufName":"SALUS","powerSource":"Mains (single phase)","modelId":"FC600","epList":[9],"status":"online","joinTime":1548176339,"endpoints":{"9":{"profId":260,"epId":9,"devId":769,"inClusterList":[0,3,4,5,513,514,516,1026,64516,64518,64521],"outClusterList":[3,10,25,64516],"clusters":{"64516":{"dir":{"value":3},"attrs":{}},"64518":{"dir":{"value":1},"attrs":{}},"64521":{"dir":{"value":1},"attrs":{}},"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":1,"stackVersion":87,"hwVersion":2,"manufacturerName":"SALUS","modelId":"FC600","dateCode":"20170503","powerSource":1}},"genIdentify":{"dir":{"value":3},"attrs":{"identifyTime":0}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{"count":0,"currentScene":0,"currentGroup":0,"sceneValid":0,"nameSupport":0}},"genTime":{"dir":{"value":2},"attrs":{}},"genOta":{"dir":{"value":2},"attrs":{}},"hvacThermostat":{"dir":{"value":1},"attrs":{"localTemp":2000,"ocupancy":0,"localTemperatureCalibration":0,"occupiedCoolingSetpoint":2400,"occupiedHeatingSetpoint":2100,"unoccupiedCoolingSetpoint":1500,"unoccupiedHeatingSetpoint":3000,"minHeatSetpointLimit":500,"maxHeatSetpointLimit":4000,"minCoolSetpointLimit":500,"maxCoolSetpointLimit":4000,"ctrlSeqeOfOper":4,"systemMode":4,"runningMode":0,"programingOperMode":0,"runningState":0,"acErrorCode":0}},"hvacFanCtrl":{"dir":{"value":1},"attrs":{"fanMode":5,"fanModeSequence":2}},"hvacUserInterfaceCfg":{"dir":{"value":1},"attrs":{"tempDisplayMode":0,"keypadLockout":0}},"msTemperatureMeasurement":{"dir":{"value":1},"attrs":{"measuredValue":0,"minMeasuredValue":0,"maxMeasuredValue":5000}}}}},"_id":"oOkTYOIHhQ9clKyj"}
Check out the ecozy or bitron thermostat implementation.
You should be up and running in no time.
I think this is just a copy & paste job.
I've tried both but no luck (Unsupported cluster), also I tried my custom setting which are written below still same. I'm not sure if I wrote everything correctly.
zigbeeModel: ['FC600'],
model: 'FC600',
vendor: 'SALUS',
description: 'Smart heating thermostat',
supports: 'temperature, occupancy, un-/occupied heating, schedule',
fromZigbee: [
fz.ignore_basic_change, fz.thermostat_att_report, fz.thermostat_dev_change,
],
toZigbee: [
tz.factory_reset, tz.thermostat_local_temperature, tz.thermostat_local_temperature_calibration,
tz.thermostat_occupancy, tz.thermostat_occupied_heating_setpoint,
tz.thermostat_unoccupied_heating_setpoint, tz.thermostat_setpoint_raise_lower,
tz.thermostat_remote_sensing, tz.thermostat_control_sequence_of_operation, tz.thermostat_system_mode,
tz.thermostat_weekly_schedule, tz.thermostat_clear_weekly_schedule, tz.thermostat_weekly_schedule_rsp,
tz.thermostat_relay_status_log, tz.thermostat_relay_status_log_rsp,
],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 9);
const actions = [
(cb) => device.bind('genBasic', coordinator, cb),
(cb) => device.bind('genIdentify', coordinator, cb),
(cb) => device.bind('genGroups', coordinator, cb),
(cb) => device.bind('genScenes', coordinator, cb),
(cb) => device.bind('genTime', coordinator, cb),
(cb) => device.bind('genOta', coordinator, cb),
(cb) => device.report('hvacThermostat', 'localTemp', 300, 5500, 0, cb),
(cb) => device.report('hvacThermostat', 'localTemperatureCalibration', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'occupiedCoolingSetpoint', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'occupiedHeatingSetpoint', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'unoccupiedCoolingSetpoint', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'unoccupiedHeatingSetpoint', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'minHeatSetpointLimit', 500, 4000, 1, cb),
(cb) => device.report('hvacThermostat', 'maxHeatSetpointLimit', 4000, 500, 1, cb),
(cb) => device.report('hvacThermostat', 'minCoolSetpointLimit', 500, 4000, 1, cb),
(cb) => device.report('hvacThermostat', 'ctrlSeqeOfOper', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'systemMode', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'runningMode', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'programingOperMode', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'runningState', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'runningState', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'acErrorCode', 1, 0, 0, cb),
(cb) => device.report('hvacFanCtrl', 'fanMode', 1, 0, 3, cb),
(cb) => device.report('hvacFanCtrl', 'fanModeSequence', 1, 0, 5, cb),
(cb) => device.bind('hvacUserInterfaceCfg', coordinator, cb),
(cb) => device.report('msTemperatureMeasurement', 'measuredValue', 1, 0, 0, cb),
(cb) => device.report('msTemperatureMeasurement', 'minMeasuredValue',1, 0, 0, cb),
(cb) => device.report('msTemperatureMeasurement', 'maxMeasuredValue',5000, 0, 0, cb),
this is log:
zigbee2mqtt:warn 1/22/2019, 11:05:33 PM permit_join set to true in configuration.yaml.
zigbee2mqtt:warn 1/22/2019, 11:05:33 PM Allowing new devices to join.
zigbee2mqtt:warn 1/22/2019, 11:05:33 PM Set permit_join to false once you joined all devices.
zigbee2mqtt:info 1/22/2019, 11:05:33 PM Zigbee: allowing new devices to join.
zigbee2mqtt:info 1/22/2019, 11:05:33 PM Connecting to MQTT server at mqtt://192.168.0.43
zigbee-shepherd:request REQ --> ZDO:mgmtPermitJoinReq +53ms
cc-znp:SREQ --> ZDO:mgmtPermitJoinReq, { addrmode: 15, dstaddr: 65532, duration: 255, tcsignificance: 0 } +0ms
serialport:main _write 10 bytes of data +73ms
serialport:bindings write 10 bytes +73ms
serialport:unixWrite Starting write 10 bytes offset 0 bytesToWrite 10 +89ms
serialport:unixWrite write returned null 10 +1ms
serialport:unixWrite wrote 10 bytes +0ms
serialport:unixWrite Finished writing 10 bytes +0ms
serialport:main binding.write write finished +1ms
zigbee2mqtt:info 1/22/2019, 11:05:33 PM zigbee-shepherd ready
zigbee-shepherd:request REQ --> AF:register +4ms
zigbee2mqtt:info 1/22/2019, 11:05:33 PM Connected to MQTT server
zigbee2mqtt:info 1/22/2019, 11:05:33 PM MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
serialport:poller received "readable" +94ms
serialport:bindings read +23ms
serialport:unixRead Starting read +94ms
serialport:unixRead Finished read 6 bytes +1ms
serialport:main binding.read finished +23ms
cc-znp { sof: 254,
cc-znp len: 1,
cc-znp type: 'SRSP',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'mgmtPermitJoinReq',
cc-znp payload: { status: 0 },
cc-znp fcs: 82,
cc-znp csum: 82 } +22ms
serialport:main _read reading +1ms
serialport:bindings read +2ms
serialport:unixRead Starting read +1ms
cc-znp:SRSP <-- ZDO:mgmtPermitJoinReq, { status: 0 } +0ms
serialport:unixRead waiting for readable because of code: EAGAIN +0ms
serialport:poller Polling for "readable" +2ms
cc-znp:SREQ --> AF:register, { endpoint: 11, appprofid: 260, appdeviceid: 1024, appdevver: 0, latencyreq: 0, appnuminclusters: 3, appinclusterlist: [ 0, 1281, 3 ], appnumoutclusters: 3, appoutclusterlist: [ 1280, 1282, 3 ] } +1ms
serialport:main _write 26 bytes of data +1ms
serialport:bindings write 26 bytes +1ms
serialport:unixWrite Starting write 26 bytes offset 0 bytesToWrite 26 +25ms
serialport:unixWrite write returned null 26 +1ms
serialport:unixWrite wrote 26 bytes +0ms
serialport:unixWrite Finished writing 26 bytes +0ms
serialport:main binding.write write finished +1ms
serialport:poller received "readable" +5ms
serialport:bindings read +4ms
serialport:unixRead Starting read +5ms
serialport:unixRead Finished read 6 bytes +0ms
serialport:main binding.read finished +3ms
cc-znp { sof: 254,
cc-znp len: 1,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'permitJoinInd',
cc-znp payload: { duration: 255 },
cc-znp fcs: 112,
cc-znp csum: 112 } +5ms
serialport:main _read reading +1ms
serialport:bindings read +1ms
serialport:unixRead Starting read +1ms
cc-znp:AREQ <-- ZDO:permitJoinInd, { duration: 255 } +0ms
zigbee-shepherd:msgHdlr IND <-- ZDO:permitJoinInd +1ms
serialport:unixRead waiting for readable because of code: EAGAIN +1ms
serialport:poller Polling for "readable" +2ms
serialport:poller received "readable" +3ms
serialport:bindings read +4ms
serialport:unixRead Starting read +3ms
serialport:unixRead Finished read 8 bytes +1ms
serialport:main binding.read finished +5ms
cc-znp { sof: 254,
cc-znp len: 3,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'mgmtPermitJoinRsp',
cc-znp payload: { srcaddr: 0, status: 0 },
cc-znp fcs: 240,
cc-znp csum: 240 } +4ms
serialport:main _read reading +0ms
serialport:bindings read +1ms
serialport:unixRead Starting read +1ms
cc-znp:AREQ <-- ZDO:mgmtPermitJoinRsp, { srcaddr: 0, status: 0 } +1ms
zigbee-shepherd:msgHdlr IND <-- ZDO:mgmtPermitJoinRsp +0ms
serialport:unixRead Finished read 6 bytes +0ms
serialport:main binding.read finished +1ms
cc-znp { sof: 254,
cc-znp len: 1,
cc-znp type: 'SRSP',
cc-znp subsys: 'AF',
cc-znp cmd: 'register',
cc-znp payload: { status: 0 },
cc-znp fcs: 101,
cc-znp csum: 101 } +0ms
serialport:main _read reading +2ms
serialport:bindings read +3ms
serialport:unixRead Starting read +2ms
cc-znp:SRSP <-- AF:register, { status: 0 } +2ms
zigbee-shepherd:request RSP <-- AF:register, status: 0 +0ms
zigbee-shepherd Register zApp, epId: 11, profId: 260 +0ms
zigbee-shepherd:request REQ --> ZDO:nodeDescReq +0ms
cc-znp:SREQ --> ZDO:nodeDescReq, { dstaddr: 0, nwkaddrofinterest: 0 } +3ms
serialport:main _write 9 bytes of data +3ms
serialport:bindings write 9 bytes +3ms
serialport:unixWrite Starting write 9 bytes offset 0 bytesToWrite 9 +15ms
serialport:unixRead waiting for readable because of code: EAGAIN +3ms
serialport:poller Polling for "readable" +7ms
serialport:unixWrite write returned null 9 +0ms
serialport:unixWrite wrote 9 bytes +0ms
serialport:unixWrite Finished writing 9 bytes +1ms
serialport:main binding.write write finished +1ms
serialport:poller received "readable" +10ms
serialport:bindings read +10ms
serialport:unixRead Starting read +10ms
serialport:unixRead Finished read 6 bytes +1ms
serialport:main binding.read finished +10ms
cc-znp { sof: 254,
cc-znp len: 1,
cc-znp type: 'SRSP',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'nodeDescReq',
cc-znp payload: { status: 0 },
cc-znp fcs: 102,
cc-znp csum: 102 } +11ms
serialport:main _read reading +0ms
serialport:bindings read +1ms
serialport:unixRead Starting read +1ms
cc-znp:SRSP <-- ZDO:nodeDescReq, { status: 0 } +1ms
serialport:unixRead waiting for readable because of code: EAGAIN +0ms
serialport:poller Polling for "readable" +2ms
serialport:poller received "readable" +10ms
serialport:bindings read +11ms
serialport:unixRead Starting read +10ms
serialport:unixRead Finished read 23 bytes +0ms
serialport:main binding.read finished +11ms
cc-znp { sof: 254,
cc-znp len: 18,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'nodeDescRsp',
cc-znp payload:
cc-znp { srcaddr: 0,
cc-znp status: 0,
cc-znp nwkaddr: 0,
cc-znp logicaltype_cmplxdescavai_userdescavai: 0,
cc-znp apsflags_freqband: 64,
cc-znp maccapflags: 143,
cc-znp manufacturercode: 0,
cc-znp maxbuffersize: 80,
cc-znp maxintransfersize: 160,
cc-znp servermask: 1,
cc-znp maxouttransfersize: 160,
cc-znp descriptorcap: 0 },
cc-znp fcs: 75,
cc-znp csum: 75 } +11ms
serialport:main _read reading +1ms
serialport:bindings read +1ms
serialport:unixRead Starting read +1ms
cc-znp:AREQ <-- ZDO:nodeDescRsp, { srcaddr: 0, status: 0, nwkaddr: 0, logicaltype_cmplxdescavai_userdescavai: 0, apsflags_freqband: 64, maccapflags: 143, manufacturercode: 0, maxbuffersize: 80, maxintransfersize: 160, servermask: 1, maxouttransfersize: 160, descriptorcap: 0 } +0ms
zigbee-shepherd:msgHdlr IND <-- ZDO:nodeDescRsp +1ms
zigbee-shepherd:request REQ --> ZDO:activeEpReq +0ms
cc-znp:SREQ --> ZDO:activeEpReq, { dstaddr: 0, nwkaddrofinterest: 0 } +0ms
serialport:main _write 9 bytes of data +1ms
serialport:bindings write 9 bytes +1ms
serialport:unixWrite Starting write 9 bytes offset 0 bytesToWrite 9 +24ms
serialport:unixRead waiting for readable because of code: EAGAIN +2ms
serialport:poller Polling for "readable" +3ms
serialport:unixWrite write returned null 9 +0ms
serialport:unixWrite wrote 9 bytes +0ms
serialport:unixWrite Finished writing 9 bytes +0ms
serialport:main binding.write write finished +1ms
serialport:poller received "readable" +10ms
serialport:bindings read +11ms
serialport:unixRead Starting read +10ms
serialport:unixRead Finished read 6 bytes +1ms
serialport:main binding.read finished +11ms
cc-znp { sof: 254,
cc-znp len: 1,
cc-znp type: 'SRSP',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'activeEpReq',
cc-znp payload: { status: 0 },
cc-znp fcs: 97,
cc-znp csum: 97 } +13ms
serialport:main _read reading +2ms
serialport:bindings read +3ms
serialport:unixRead Starting read +2ms
cc-znp:SRSP <-- ZDO:activeEpReq, { status: 0 } +1ms
serialport:unixRead waiting for readable because of code: EAGAIN +1ms
serialport:poller Polling for "readable" +4ms
serialport:poller received "readable" +2ms
serialport:bindings read +4ms
serialport:unixRead Starting read +3ms
serialport:unixRead Finished read 18 bytes +0ms
serialport:main binding.read finished +4ms
cc-znp { sof: 254,
cc-znp len: 13,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'activeEpRsp',
cc-znp payload:
cc-znp { srcaddr: 0,
cc-znp status: 0,
cc-znp nwkaddr: 0,
cc-znp activeepcount: 7,
cc-znp activeeplist:
cc-znp fcs: 198,
cc-znp csum: 198 } +4ms
serialport:main _read reading +1ms
serialport:bindings read +1ms
serialport:unixRead Starting read +1ms
cc-znp:AREQ <-- ZDO:activeEpRsp, { srcaddr: 0, status: 0, nwkaddr: 0, activeepcount: 7, activeeplist:
zigbee-shepherd:msgHdlr IND <-- ZDO:activeEpRsp +0ms
serialport:unixRead waiting for readable because of code: EAGAIN +1ms
serialport:poller Polling for "readable" +3ms
zigbee2mqtt:debug 1/22/2019, 11:05:33 PM Mounted the cieApp (epId {epId})
serialport:poller received "readable" +7s
serialport:bindings read +7s
serialport:unixRead Starting read +7s
serialport:unixRead Finished read 8 bytes +1ms
serialport:main binding.read finished +7s
cc-znp { sof: 254,
cc-znp len: 3,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'srcRtgInd',
cc-znp payload: { dstaddr: 4491, relaycount: 0, relaylist:
cc-znp csum: 24 } +7s
serialport:main _read reading +1ms
serialport:bindings read +3ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- ZDO:srcRtgInd, { dstaddr: 4491, relaycount: 0, relaylist:
serialport:unixRead waiting for readable because of code: EAGAIN +0ms
serialport:poller Polling for "readable" +3ms
serialport:poller received "readable" +61ms
serialport:bindings read +61ms
serialport:unixRead Starting read +61ms
serialport:unixRead Finished read 100 bytes +0ms
serialport:main binding.read finished +63ms
cc-znp { sof: 254,
cc-znp len: 95,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 64516,
cc-znp srcaddr: 4491,
cc-znp srcendpoint: 9,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 110,
cc-znp securityuse: 0,
cc-znp timestamp: 8080470,
cc-znp transseqnumber: 0,
cc-znp len: 75,
cc-znp data:
cc-znp
cc-znp fcs: 58,
cc-znp csum: 58 } +62ms
serialport:main _read reading +1ms
serialport:bindings read +2ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 64516, srcaddr: 4491, srcendpoint: 9, dstendpoint: 1, wasbroadcast: 0, linkquality: 110, securityuse: 0, timestamp: 8080470, transseqnumber: 0, len: 75, data:
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +1ms
/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:27
throw new Error('Unrecognized cluster');
^
Error: Unrecognized cluster
at new FuncPayload (/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:27:15)
at /opt/zigbee2mqtt/node_modules/zcl-packet/lib/zcl.js:33:22
at Dissolve.
at Object.onceWrapper (events.js:276:13)
at Dissolve.emit (events.js:188:13)
at Dissolve.
at Dissolve.emit (events.js:188:13)
at emitReadable_ (/opt/zigbee2mqtt/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:456:10)
at emitReadable (/opt/zigbee2mqtt/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:450:7)
at readableAddChunk (/opt/zigbee2mqtt/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:206:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: node index.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
I would try to build ignore converter for
"64516":{"dir":{"value":3},"attrs":{}},
"64518":{"dir":{"value":1},"attrs":{}},
"64521":{"dir":{"value":1},"attrs":{}}
but first remove everything and start as described at the support new devices documentation.
FC600 - log.txt
Hi again,
I did as you said, removed all and only add configure: and everything worked perfectly, you can see in text file.
zigbee2mqtt:info 1/23/2019, 1:47:58 AM Succesfully configured FC600 0x001e5e090223703d.
device.js
{
zigbeeModel: ['FC600'],
model: 'FC600',
vendor: 'Salus',
description: 'Thermostat, fan control, heat/cool',
supports:'Measuring room temperature every 60s, setting room temperatyre, cooling/heating, 3 fan speed, programing schedule, temperature offset and etc.',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 9);
const actions = [
(cb) => device.bind('genBasic', coordinator, cb),
(cb) => device.bind('genIdentify', coordinator, cb),
(cb) => device.bind('genGroups', coordinator, cb),
(cb) => device.bind('genScenes', coordinator, cb),
(cb) => device.bind('genTime', coordinator, cb),
(cb) => device.bind('genOta', coordinator, cb),
(cb) => device.report('hvacThermostat', 'localTemp', 300, 5500, 0, cb),
(cb) => device.report('hvacThermostat', 'localTemperatureCalibration', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'occupiedCoolingSetpoint', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'occupiedHeatingSetpoint', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'unoccupiedCoolingSetpoint', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'unoccupiedHeatingSetpoint', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'minHeatSetpointLimit', 500, 4000, 1, cb),
(cb) => device.report('hvacThermostat', 'maxHeatSetpointLimit', 4000, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'minCoolSetpointLimit', 500, 4000, 1, cb),
(cb) => device.report('hvacThermostat', 'ctrlSeqeOfOper', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'systemMode', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'runningMode', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'programingOperMode', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'runningState', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'runningState', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'acErrorCode', 1, 0, 0, cb),
(cb) => device.report('hvacFanCtrl', 'fanMode', 1, 0, 3, cb),
(cb) => device.report('hvacFanCtrl', 'fanModeSequence', 1, 0, 5, cb),
(cb) => device.bind('hvacUserInterfaceCfg', coordinator, cb),
(cb) => device.report('msTemperatureMeasurement', 'measuredValue', 1, 0, 0, cb),
(cb) => device.report('msTemperatureMeasurement', 'minMeasuredValue',1, 0, 0, cb),
(cb) => device.report('msTemperatureMeasurement', 'maxMeasuredValue',5000, 0, 0, cb)
];
execute(device, actions, callback);
},
},
can you please tell me what to do next as im stuck.
let it run and see which messages you receive... After that include the converters.
Why do you want to report all that stuff? I think you didn't understand the syntax.
And this (cb) => device.report('hvacThermostat', 'runningState', 1, 0, 0, cb), is set twice.
Thank you, i edited devices.js and remove unnecessary reports.
This is the error i get afther thermostat make some changes(starts or stops blowing air)
zigbee2mqtt:info 1/23/2019, 1:17:20 PM Succesfully configured FC600 0x001e5e090223703d
serialport:unixRead waiting for readable because of code: EAGAIN +0ms
serialport:poller Polling for "readable" +2ms
serialport:poller received "readable" +4m
serialport:bindings read +4m
serialport:unixRead Starting read +4m
serialport:unixRead Finished read 40 bytes +10ms
serialport:main binding.read finished +4m
cc-znp { sof: 254,
cc-znp len: 3,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'srcRtgInd',
cc-znp payload: { dstaddr: 8967, relaycount: 0, relaylist:
cc-znp csum: 166 } +4m
cc-znp { sof: 254,
cc-znp len: 27,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 64516,
cc-znp srcaddr: 8967,
cc-znp srcendpoint: 9,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 105,
cc-znp securityuse: 0,
cc-znp timestamp: 8998659,
cc-znp transseqnumber: 0,
cc-znp len: 7,
cc-znp data:
cc-znp fcs: 153,
cc-znp csum: 153 } +1ms
serialport:main _read reading +3ms
serialport:bindings read +14ms
serialport:unixRead Starting read +4ms
cc-znp:AREQ <-- ZDO:srcRtgInd, { dstaddr: 8967, relaycount: 0, relaylist:
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 64516, srcaddr: 8967, srcendpoint: 9, dstendpoint: 1, wasbroadcast: 0, linkquality: 105, securityuse: 0, timestamp: 8998659, transseqnumber: 0, len: 7, data:
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +0ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
serialport:unixRead waiting for readable because of code: EAGAIN +1ms
serialport:poller Polling for "readable" +49ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
zigbee2mqtt:debug 1/23/2019, 1:22:11 PM Saving state to file /opt/zigbee2mqtt/data/state.json
serialport:poller received "readable" +44s
serialport:bindings read +44s
serialport:unixRead Starting read +44s
serialport:unixRead Finished read 8 bytes +0ms
serialport:main binding.read finished +44s
cc-znp { sof: 254,
cc-znp len: 3,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'srcRtgInd',
cc-znp payload: { dstaddr: 8967, relaycount: 0, relaylist:
cc-znp csum: 166 } +44s
serialport:main _read reading +2ms
serialport:bindings read +3ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- ZDO:srcRtgInd, { dstaddr: 8967, relaycount: 0, relaylist:
serialport:unixRead waiting for readable because of code: EAGAIN +0ms
serialport:poller Polling for "readable" +3ms
serialport:poller received "readable" +39ms
serialport:bindings read +40ms
serialport:unixRead Starting read +40ms
serialport:unixRead Finished read 100 bytes +0ms
serialport:main binding.read finished +40ms
cc-znp { sof: 254,
cc-znp len: 95,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 64516,
cc-znp srcaddr: 8967,
cc-znp srcendpoint: 9,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 147,
cc-znp securityuse: 0,
cc-znp timestamp: 9136168,
cc-znp transseqnumber: 0,
cc-znp len: 75,
cc-znp data:
cc-znp
cc-znp fcs: 31,
cc-znp csum: 31 } +41ms
serialport:main _read reading +1ms
serialport:bindings read +1ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 64516, srcaddr: 8967, srcendpoint: 9, dstendpoint: 1, wasbroadcast: 0, linkquality: 147, securityuse: 0, timestamp: 9136168, transseqnumber: 0, len: 75, data:
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +0ms
/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:27
throw new Error('Unrecognized cluster');
^
Error: Unrecognized cluster
at new FuncPayload (/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:27:15)
at /opt/zigbee2mqtt/node_modules/zcl-packet/lib/zcl.js:33:22
at Dissolve.
at Object.onceWrapper (events.js:276:13)
at Dissolve.emit (events.js:188:13)
at Dissolve.
at Dissolve.emit (events.js:188:13)
at emitReadable_ (/opt/zigbee2mqtt/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:456:10)
at emitReadable (/opt/zigbee2mqtt/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:450:7)
at readableAddChunk (/opt/zigbee2mqtt/node_modules/dissolve/node_modules/readable-stream/lib/_stream_readable.js:206:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: node index.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/frozen/.npm/_logs/2019-01-23T12_22_22_910Z-debug.log
please show your devices.js and build ignore converter for these unrecognized clusters (i hope that will work).
you could easily paste logs etc. at pastebin.com
Unfortunately, im not very familiar with this work, in which file I should make unrecognised cluster?
Also it would be great if you have some example on how its made.
The cluster should be added to zcl-id first.
Can you add to https://github.com/Koenkk/zcl-packet/blob/master/lib/functional.js#L25 console.log("This is the cluster", clusterId, direction, cmd) you will find this file under [ZIGBEE2MQTT_DIR]/node_modules/zcl-packet/lib/functional.js
Thanks for the clarification. So zigbee-shepherd has to know the zcl-id first to be able to ignore it at all, right?
@Chrischi- yes, otherwise it will crash
Hi @Koenkk, this is what I got.
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +0ms
This is the cluster 64516 1 0
/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:27
throw new Error('Unrecognized cluster');
@frozenwave11 add to https://github.com/Koenkk/zcl-id/blob/master/definitions/common.json#L197
"manuSpecificCluster": 64516
I'm sure the following will cause a problem.
"clusters":
"64516":{"dir":{"value":3},"attrs":{}},
"64518":{"dir":{"value":1},"attrs":{}},
"64521":{"dir":{"value":1},"attrs":{}},
@Koenkk Now i got
This is the cluster 64516 1 0
/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:33
throw new Error('Unrecognized command');
https://pastebin.com/6vcfk0Su
@Chrischi- What do you think, how should I build ignore converter?
@frozenwave11
add to https://github.com/Koenkk/zcl-id/blob/master/definitions/common.json#L197
"manuSpecificCluster1": 64516
add to https://github.com/Koenkk/zcl-id/blob/master/definitions/cluster_defs.json#L1
"manuSpecificCluster1": {
"attrId":{},
"cmd":{"cmd1":0},
"cmdRsp":null},
@Koenkk same error
https://pastebin.com/1PfsV26H error
https://pastebin.com/LHKjsu58 common.json
https://pastebin.com/9SFjC4J4 cluster_defs.json
add to https://github.com/Koenkk/zcl-id/blob/master/definitions/cluster_defs.json#L1
"manuSpecificCluster1": {
"attrId":{},
"cmd": null,
"cmdRsp":{"cmd1":0}},
@Koenkk
Error: Unrecognized direction
full log - https://pastebin.com/BufCkLPB
add to https://github.com/Koenkk/zcl-id/blob/master/definitions/cluster_defs.json#L1
"manuSpecificCluster1": {
"attrId":{},
"cmd": null,
"cmdRsp":{"cmdRsp1":0}},
add to https://github.com/Koenkk/zcl-packet/blob/master/lib/defs/zcl_meta.json#L131
"manuSpecificCluster1": {
"cmdRsp1":{
"params":[],
"dir":1}
},
@Koenkk tried, same error
zigbee2mqtt:info 1/23/2019, 3:41:23 PM Succesfully configured FC600 0x001e5e090223703d
serialport:unixRead waiting for readable because of code: EAGAIN +1ms
serialport:poller Polling for "readable" +2ms
serialport:poller received "readable" +13s
serialport:bindings read +13s
serialport:unixRead Starting read +13s
serialport:unixRead Finished read 8 bytes +0ms
serialport:main binding.read finished +13s
cc-znp { sof: 254,
cc-znp len: 3,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'srcRtgInd',
cc-znp payload: { dstaddr: 48945, relaycount: 0, relaylist:
cc-znp csum: 12 } +13s
serialport:main _read reading +2ms
serialport:bindings read +3ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- ZDO:srcRtgInd, { dstaddr: 48945, relaycount: 0, relaylist:
serialport:unixRead waiting for readable because of code: EAGAIN +0ms
serialport:poller Polling for "readable" +3ms
serialport:poller received "readable" +60ms
serialport:bindings read +60ms
serialport:unixRead Starting read +60ms
serialport:unixRead Finished read 100 bytes +0ms
serialport:main binding.read finished +60ms
cc-znp { sof: 254,
cc-znp len: 95,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 64516,
cc-znp srcaddr: 48945,
cc-znp srcendpoint: 9,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 120,
cc-znp securityuse: 0,
cc-znp timestamp: 5431960,
cc-znp transseqnumber: 0,
cc-znp len: 75,
cc-znp data:
cc-znp
cc-znp fcs: 111,
cc-znp csum: 111 } +61ms
serialport:main _read reading +2ms
serialport:bindings read +2ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 64516, srcaddr: 48945, srcendpoint: 9, dstendpoint: 1, wasbroadcast: 0, linkquality: 120, securityuse: 0, timestamp: 5431960, transseqnumber: 0, len: 75, data:
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +0ms
This is the cluster 64516 1 0
/opt/zigbee2mqtt/node_modules/zcl-packet/lib/functional.js:41
throw new Error('Unrecognized direction');
Hi @Koenkk I have make comp reboot and tried again, now I received this error:
https://pastebin.com/YZiBNRBh
@frozenwave11 are the changes of https://github.com/Koenkk/zigbee2mqtt/issues/917#issuecomment-456809777 still there?
@Koenkk yes they are
The cluster is different this time, add to https://github.com/Koenkk/zcl-id/blob/master/definitions/common.json#L197
"manuSpecificCluster2": 64518
see my comment ;)
https://github.com/Koenkk/zigbee2mqtt/issues/917#issuecomment-456801432
@Chrischi- good point, @frozenwave11 can you also add the third cluster?
@Koenkk @Chrischi-
I add all three, but getting same old error - https://pastebin.com/7SqSet4q
https://pastebin.com/cdeeZ6a7 - common.json
@Koenkk
why not directly add the range from 0xfc00 to 0xffff? This should prevent future problems directly...
These IDs are according to ZCL the Manufacturer specific cluster
@Chrischi- AFAIK we also need to add commands, otherwise it will still crash. (which we cannot do without knowing what is send?)
@Koenkk @Chrischi-
here is the latest log.
https://pastebin.com/KUjmSZGW
No, error, when ever I rise or lower temperature i this kind of message
@Koenkk
why not output a console.log as default so you can add the command with your PR.
when i do nothing at this point it stops,
zigbee-shepherd-converters:devices Configured '(cb) => device.bind('hvacUserInterfaceCfg', coordinator, cb)' with result 'OK' +468ms
zigbee2mqtt:info 1/23/2019, 6:28:57 PM Succesfully configured FC600 0x001e5e090223703d
serialport:unixRead waiting for readable because of code: EAGAIN +1ms
serialport:poller Polling for "readable" +3ms
after min or i get this and still continue working
serialport:poller received "readable" +1m
serialport:bindings read +1m
serialport:unixRead Starting read +1m
serialport:unixRead Finished read 8 bytes +1ms
serialport:main binding.read finished +1m
cc-znp { sof: 254,
cc-znp len: 3,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'srcRtgInd',
cc-znp payload: { dstaddr: 48945, relaycount: 0, relaylist:
cc-znp csum: 12 } +1m
serialport:main _read reading +1ms
serialport:bindings read +2ms
serialport:unixRead Starting read +1ms
cc-znp:AREQ <-- ZDO:srcRtgInd, { dstaddr: 48945, relaycount: 0, relaylist:
serialport:unixRead waiting for readable because of code: EAGAIN +1ms
serialport:poller Polling for "readable" +4ms
serialport:poller received "readable" +55ms
serialport:bindings read +56ms
serialport:unixRead Starting read +55ms
serialport:unixRead Finished read 32 bytes +0ms
serialport:main binding.read finished +56ms
cc-znp { sof: 254,
cc-znp len: 27,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 64516,
cc-znp srcaddr: 48945,
cc-znp srcendpoint: 9,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 63,
cc-znp securityuse: 0,
cc-znp timestamp: 5994177,
cc-znp transseqnumber: 0,
cc-znp len: 7,
cc-znp data:
cc-znp fcs: 250,
cc-znp csum: 250 } +57ms
serialport:main _read reading +2ms
serialport:bindings read +2ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 64516, srcaddr: 48945, srcendpoint: 9, dstendpoint: 1, wasbroadcast: 0, linkquality: 63, securityuse: 0, timestamp: 5994177, transseqnumber: 0, len: 7, data:
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +0ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
serialport:unixRead waiting for readable because of code: EAGAIN +2ms
serialport:poller Polling for "readable" +4ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
please show your devices.js
https://pastebin.com/jcEcvVjs
Starts at Line 1842
please try at first only these:
(cb) => device.bind('genBasic', coordinator, cb),
(cb) => device.bind('genPowerCfg', coordinator, cb),
(cb) => device.bind('genIdentify', coordinator, cb),
(cb) => device.bind('genTime', coordinator, cb),
(cb) => device.bind('genPollCtrl', coordinator, cb),
(cb) => device.bind('hvacThermostat', coordinator, cb),
(cb) => device.bind('hvacUserInterfaceCfg', coordinator, cb),
(cb) => device.report('hvacThermostat', 'localTemp', 300, 3600, 0, cb),
(cb) => device.report('hvacThermostat', 'localTemperatureCalibration', 1, 0, 0, cb),
(cb) => device.report('hvacThermostat', 'occupiedHeatingSetpoint', 1, 0, 1, cb),
(cb) => device.report('hvacThermostat', 'runningState', 1, 0, 0, cb),
and look for a "successfully configured ..." at your debug output.
After this you should get the localTemp every 5 (300 secs) minutes
and at least every 60 (3600 secs) minutes.
i tried at the bottom there are two messages, i dont beleve it works correctly
https://pastebin.com/KnKE89Ey
message i got:
zigbee2mqtt:info 1/23/2019, 8:41:30 PM Succesfully configured FC600 0x001e5e090223703d
serialport:poller received "readable" +2m
serialport:bindings read +2m
serialport:unixRead Starting read +2m
serialport:unixRead Finished read 8 bytes +1ms
serialport:main binding.read finished +2m
cc-znp { sof: 254,
cc-znp len: 3,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'srcRtgInd',
cc-znp payload: { dstaddr: 48945, relaycount: 0, relaylist:
cc-znp csum: 12 } +2m
serialport:main _read reading +2ms
serialport:bindings read +3ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- ZDO:srcRtgInd, { dstaddr: 48945, relaycount: 0, relaylist:
serialport:unixRead waiting for readable because of code: EAGAIN +0ms
serialport:poller Polling for "readable" +3ms
serialport:poller received "readable" +52ms
serialport:bindings read +52ms
serialport:unixRead Starting read +52ms
serialport:unixRead Finished read 32 bytes +1ms
serialport:main binding.read finished +53ms
cc-znp { sof: 254,
cc-znp len: 27,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 64516,
cc-znp srcaddr: 48945,
cc-znp srcendpoint: 9,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 70,
cc-znp securityuse: 0,
cc-znp timestamp: 7557797,
cc-znp transseqnumber: 0,
cc-znp len: 7,
cc-znp data:
cc-znp fcs: 189,
cc-znp csum: 189 } +54ms
serialport:main _read reading +2ms
serialport:bindings read +3ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 64516, srcaddr: 48945, srcendpoint: 9, dstendpoint: 1, wasbroadcast: 0, linkquality: 70, securityuse: 0, timestamp: 7557797, transseqnumber: 0, len: 7, data:
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +0ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
serialport:unixRead waiting for readable because of code: EAGAIN +1ms
serialport:poller Polling for "readable" +4ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +0ms
zigbee2mqtt:debug 1/23/2019, 8:46:24 PM Saving state to file /opt/zigbee2mqtt/data/state.json
wrong clusterid _64516_ but the config message looks good.
wait and let it run until you get other messages.
You can also try changing settings or states on the device itself to see if and what messages you receive.
@Chrischi-
Thermostat can be set in online and offline mode.
When from factory reset I set it in pair (online mode) I got this error
If I first set it in offline mode then from menu pair it it doesn't show any error
This is switching on
Temperature rising and lowering
Changing from heating to cooling and cooling to heating
@Chrischi-
This is error when I switch fan from max to off.
Edit: I think I know to continue for this stage. just need to follow documentation instructions.
serialport:poller received "readable" +2m
serialport:bindings read +2m
serialport:unixRead Starting read +2m
serialport:unixRead Finished read 8 bytes +1ms
serialport:main binding.read finished +2m
cc-znp { sof: 254,
cc-znp len: 3,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'srcRtgInd',
cc-znp payload: { dstaddr: 60254, relaycount: 0, relaylist:
cc-znp csum: 55 } +2m
serialport:main _read reading +8ms
serialport:bindings read +9ms
serialport:unixRead Starting read +9ms
cc-znp:AREQ <-- ZDO:srcRtgInd, { dstaddr: 60254, relaycount: 0, relaylist:
serialport:unixRead waiting for readable because of code: EAGAIN +2ms
serialport:poller Polling for "readable" +13ms
serialport:poller received "readable" +50ms
serialport:bindings read +53ms
serialport:unixRead Starting read +50ms
serialport:unixRead Finished read 100 bytes +1ms
serialport:main binding.read finished +54ms
cc-znp { sof: 254,
cc-znp len: 95,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 64516,
cc-znp srcaddr: 60254,
cc-znp srcendpoint: 9,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 39,
cc-znp securityuse: 0,
cc-znp timestamp: 930299,
cc-znp transseqnumber: 0,
cc-znp len: 75,
cc-znp data:
cc-znp
cc-znp csum: 194 } +58ms
serialport:main _read reading +10ms
serialport:bindings read +12ms
serialport:unixRead Starting read +11ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 64516, srcaddr: 60254, srcendpoint: 9, dstendpoint: 1, wasbroadcast: 0, linkquality: 39, securityuse: 0, timestamp: 930299, transseqnumber: 0, len: 75, data:
This is the cluster 64516 1 0
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +5ms
serialport:unixRead waiting for readable because of code: EAGAIN +8ms
serialport:poller Polling for "readable" +21ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +2ms
serialport:poller received "readable" +916ms
serialport:bindings read +926ms
serialport:unixRead Starting read +918ms
serialport:unixRead Finished read 8 bytes +1ms
serialport:main binding.read finished +928ms
cc-znp { sof: 254,
cc-znp len: 3,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'srcRtgInd',
cc-znp payload: { dstaddr: 60254, relaycount: 0, relaylist:
cc-znp csum: 55 } +924ms
serialport:main _read reading +9ms
serialport:bindings read +10ms
serialport:unixRead Starting read +9ms
cc-znp:AREQ <-- ZDO:srcRtgInd, { dstaddr: 60254, relaycount: 0, relaylist:
serialport:unixRead waiting for readable because of code: EAGAIN +3ms
serialport:poller Polling for "readable" +14ms
serialport:poller received "readable" +49ms
serialport:bindings read +52ms
serialport:unixRead Starting read +50ms
serialport:unixRead Finished read 100 bytes +0ms
serialport:main binding.read finished +54ms
cc-znp { sof: 254,
cc-znp len: 95,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 64516,
cc-znp srcaddr: 60254,
cc-znp srcendpoint: 9,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 42,
cc-znp securityuse: 0,
cc-znp timestamp: 933421,
cc-znp transseqnumber: 0,
cc-znp len: 75,
cc-znp data:
cc-znp
cc-znp csum: 17 } +58ms
serialport:main _read reading +10ms
serialport:bindings read +12ms
serialport:unixRead Starting read +12ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 64516, srcaddr: 60254, srcendpoint: 9, dstendpoint: 1, wasbroadcast: 0, linkquality: 42, securityuse: 0, timestamp: 933421, transseqnumber: 0, len: 75, data:
This is the cluster 64516 1 0
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +6ms
serialport:unixRead waiting for readable because of code: EAGAIN +9ms
serialport:poller Polling for "readable" +22ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
serialport:poller received "readable" +5s
serialport:bindings read +5s
serialport:unixRead Starting read +5s
serialport:unixRead Finished read 8 bytes +0ms
serialport:main binding.read finished +5s
cc-znp { sof: 254,
cc-znp len: 3,
cc-znp type: 'AREQ',
cc-znp subsys: 'ZDO',
cc-znp cmd: 'srcRtgInd',
cc-znp payload: { dstaddr: 60254, relaycount: 0, relaylist:
cc-znp csum: 55 } +5s
serialport:main _read reading +8ms
serialport:bindings read +10ms
serialport:unixRead Starting read +10ms
cc-znp:AREQ <-- ZDO:srcRtgInd, { dstaddr: 60254, relaycount: 0, relaylist:
serialport:unixRead waiting for readable because of code: EAGAIN +2ms
serialport:poller Polling for "readable" +13ms
serialport:poller received "readable" +38ms
serialport:bindings read +41ms
serialport:unixRead Starting read +39ms
serialport:unixRead Finished read 33 bytes +0ms
serialport:main binding.read finished +43ms
cc-znp { sof: 254,
cc-znp len: 28,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 513,
cc-znp srcaddr: 60254,
cc-znp srcendpoint: 9,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 39,
cc-znp securityuse: 0,
cc-znp timestamp: 949067,
cc-znp transseqnumber: 0,
cc-znp len: 8,
cc-znp data:
cc-znp fcs: 227,
cc-znp csum: 227 } +47ms
serialport:main _read reading +10ms
serialport:bindings read +12ms
serialport:unixRead Starting read +12ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 513, srcaddr: 60254, srcendpoint: 9, dstendpoint: 1, wasbroadcast: 0, linkquality: 39, securityuse: 0, timestamp: 949067, transseqnumber: 0, len: 8, data:
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +2ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +18ms
serialport:unixRead waiting for readable because of code: EAGAIN +21ms
serialport:poller Polling for "readable" +34ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +2ms
zigbee2mqtt:debug 1/24/2019, 11:59:31 AM Received zigbee message of type 'attReport' with data '{"cid":"hvacThermostat","data":{"runningState":0}}' of device 'FC600' (0x001e5e090223703d)
zigbee2mqtt:warn 1/24/2019, 11:59:31 AM No converter available for 'FC600' with cid 'hvacThermostat', type 'attReport' and data '{"cid":"hvacThermostat","data":{"runningState":0}}'
zigbee2mqtt:warn 1/24/2019, 11:59:31 AM Please see: https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html.
zigbee2mqtt:debug 1/24/2019, 11:59:31 AM Received zigbee message of type 'devChange' with data '{"cid":"hvacThermostat","data":{"runningState":0}}' of device 'FC600' (0x001e5e090223703d)
zigbee2mqtt:warn 1/24/2019, 11:59:31 AM No converter available for 'FC600' with cid 'hvacThermostat', type 'devChange' and data '{"cid":"hvacThermostat","data":{"runningState":0}}'
zigbee2mqtt:warn 1/24/2019, 11:59:31 AM Please see: https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html.
yeah looks good...
add some fromZigbee converters to your devices.js and don't forget to make a PR when you successfully integrated the device.
@Chrischi- Hi , I'm testing yours implementation (fromZigbee.js) for bitron thermostat, so far everything is working.
About file toZigbee do you think I could also use your code lines, of not how should I know which one to use?
You can use mine or you can take the converters from the ecozy.
You can take all converters you need, they are normally declared in the ZCL and should work accordingly. You can test this with a "get" if you get values for the part you made a "get".
if you not now which one to use, take a look here: https://github.com/Koenkk/zigbee2mqtt/blob/dev/docs/information/mqtt_topics_and_message_structure.md#ecozy-smart-heating-thermostat-1tst-eu-bitron-wireless-wall-thermostat-with-relay-av201032
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Hi, Finally you got it?
It's salus FC600 integrated in zigbee2mqtt ?
How can I add it?
Thanks
Hi, Finally you got it?
It's salus FC600 integrated in zigbee2mqtt ?
How can I add it?
Thanks
Also interested in...
Most helpful comment
The cluster should be added to zcl-id first.
Can you add to https://github.com/Koenkk/zcl-packet/blob/master/lib/functional.js#L25
console.log("This is the cluster", clusterId, direction, cmd)you will find this file under[ZIGBEE2MQTT_DIR]/node_modules/zcl-packet/lib/functional.js