Closed BillsGate closed 3 years ago
The node in question:
"id": 16,
"interviewStage": "Complete",
"deviceClass": {
"basic": 4,
"generic": 16,
"specific": 1
},
"isListening": true,
"isFrequentListening": false,
"isRouting": true,
"supportedDataRates": [
40000,
100000
],
"protocolVersion": 3,
"nodeType": "Routing End Node",
"supportsSecurity": false,
"supportsBeaming": true,
"isSecure": false,
"commandClasses": {
"0x25": {
"name": "Binary Switch",
"endpoints": {
"0": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 1
},
"1": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 0
},
"2": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 0
},
"3": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 0
}
}
},
"0x27": {
"name": "All Switch",
"endpoints": {
"0": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 0
},
"1": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 0
},
"2": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 0
},
"3": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 0
}
}
},
"0x60": {
"name": "Multi Channel",
"endpoints": {
"0": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 3
}
}
},
"0x70": {
"name": "Configuration",
"endpoints": {
"0": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 1
}
}
},
"0x71": {
"name": "Notification",
"endpoints": {
"0": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 1
}
}
},
"0x72": {
"name": "Manufacturer Specific",
"endpoints": {
"0": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 2
}
}
},
"0x85": {
"name": "Association",
"endpoints": {
"0": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 1
}
}
},
"0x86": {
"name": "Version",
"endpoints": {
"0": {
"isSupported": true,
"isControlled": false,
"secure": false,
"version": 1
}
}
}
}
},```
What you posted is not a driver logfile => https://zwave-js.github.io/zwavejs2mqtt/#/troubleshooting/bug_report?id=driver-logs
Also please attach it as a file.
What you posted is not a driver logfile => https://zwave-js.github.io/zwavejs2mqtt/#/troubleshooting/bug_report?id=driver-logs
Also please attach it as a file.
Very sorry, this is te first time I've reported an issue. Driver logfile is attached now.
I believe all we need to do here is restore the mapping from endpoint 0 to 1 that we did automatically before v8.
@zwave-js-bot add compat flag to 0x0118:0x0001:0x0004
"mapRootReportsToEndpoint": 1
🔨 I created a PR at #3156 - check it out!
@BillsGate can you test this file https://raw.githubusercontent.com/zwave-js/node-zwave-js/add-compat-flag-1628108692/packages/config/config/devices/0x0118/tz06.json as described here? zwavejs2mqtt lets you upload that file with the included file browser. You'll have to restart zwavejs2mqtt for the change to take.
@AlCalzone Thank you for your swift reply!
Adding that config file makes the group switch respond again if I toggle a physical switch, so that's half the problem solved:
However, the switch I toggled still remains off in the binary switch panel until I click refresh. Is there anyway that can be fixed? Is there anything I can do/try to fix this?
Can you make a driver log of that too please?
I've tried to set "isLifeline": false on association 1 and rebooted ZwaveJS as per this suggestion, but that didn't help.
Your log looks strange and is randomly missing a bunch of info. Can you try again?
zwavejs_2021-08-05-1.log Here's a new log. I've generated it like this:
only logging node 16
Ah, maybe that's why it looks like some logs are missing.
Both your switches send a report via the root endpoint without saying which switch the report came from. With the updated config that report now gets mapped to endpoint 1 (switch 1), but it doesn't look like we'll be able to figure out which switch was toggled.
Looking at the manual for the Zipato PAN04, I also don't understand how that is supposed to work, since the device doesn't support multi channel associations and seems to report everything without source endpoint information.
What I think could work:
That sounds like something we could absolutely try, thank you!
Ah, maybe that's why it looks like some logs are missing.
Not sure if still needed, but this is a log file following same steps as above, but not limited to node 16 zwavejs_2021-08-05-2.log
I'm not sure if the manual of the TKB TZ06 is any more helpful: https://doc.eedomus.com/files/Manual%20-%20TZ06%20manual.pdf
Here's a config file for you to test again tz06.json.txt - you'll need to rename back to .json
.
Like we agreed, this preserves the root endpoint's values, so you can poll the endpoint values automatically whenever the root changes. Let me know if that helps.
Thank you so much for your effort!
As far as I can see, the latest config adds a switch entity which turn if either of the physical switches turns on. However, such an endpoint already existed and since your config update of three days ago that worked perfectly:
The only issue left is that the physical buttons now aren't monitored individually, which means (in case of this specific screenshot) I can't automate a different timer for each light on this switch module. For me that's easy to work around, it's absolutely fine for me to have one timer-automation for both bulbs.
In short: You've helped me a great deal! I can automate my light switches again. Thank you ever so much!
The only issue left is that the physical buttons now aren't monitored individually
That's what I meant above. You need to set up an automation in HA that polls (refreshes) the individual switches' states whenever the "group" state changes.
Is your problem within Home Assistant (Core or Z-Wave JS Integration)?
NO, my problem is NOT within Home Assistant or the ZWave JS integration
Is your problem within ZWaveJS2MQTT?
YES, BUT a ZWaveJS2MQTT developer has told me to come here
Checklist
[X] I have checked the troubleshooting section and my problem is not described there.
[X] I have read the changelog and my problem was not mentioned there.
Describe the bug
Among all my Z-wave devices I own a couple of Zipato PH-pan04 double switch modules, which are in fact rebrands of TKB TZ06 modules. They show up as TKB TZ06 in my ZwaveJS-panel.
Since a few updates of ZwaveJS, the switch state of these modules isn't received by ZwaveJS: If I push a physical switch connected to the module, the light turns on, but this state-change isn't updated in the Binary switch-panel of the module in ZwaveJS
Pressing the REFRESH button at the right side of the panel updates the values correctly, but having to refresh manually defeats the purpose of automating switch actions :)
Other Zwave-devices in my network don't have this issue.
I've added a log of re-interviewing a node and pressing both connected physical buttons afterwards. However, pressing the physical buttons doesn't show up in the log, not even in loglevel Silly.
Related question in Q&A
Device information
Manufacturer: Model name: Node ID in your network:
How are you using
node-zwave-js
?zwavejs2mqtt
Docker image (latest)zwavejs2mqtt
Docker image (dev)zwavejs2mqtt
Docker manually built (please specify branches)ioBroker.zwave2
adapter (please specify version)HomeAssistant zwave_js
integration (please specify version)pkg
node-red-contrib-zwave-js
(please specify version, double click node to find out)Which branches or versions?
zwavejs2mqtt: 5.4.2 zwave-js: 8.0.5 home id: 4039718769 home hex: 0xf0c93771
Did you change anything?
no
If yes, what did you change?
No response
Did this work before?
Yes (please describe)
If yes, where did it work?
A few ZwaveJS versions back this worked perfectly.
A while ago only the virtual switch, which gets turned on if either of the physical switches turned on, was the only thing responding in this module. After the latest update of ZwaveJS, this switch isn't updated anymore as well.
Attach Driver Logfile