Open Buom01 opened 7 months ago
As an abstraction layer see TuyaDAEMON. It uses a different approach: a big json object handles all devices, DP properties, and quirks. Adding a new device only requires an update of this object ('global.alldevices', a global singleton with set and get methods). Evens are filtered by ID AND CID, so no problems.
Hello,
Describe the bug Tuyapi's devices sharing a gateway emits
dp-refresh
events of all other devices of the gateway, like if the event come from the tuyapi's device itself.To Reproduce [Ask if you need more details, I didn't make a separate repo]
tuyapi
(preferably same device type).dp-refresh
on one of them, like clicking a button or anythingdp-refresh
is emitted from all devices bytuyapi
Solution
dp-refresh
provide anything like.
The
cid
is theuuid
we got on the Query Device Details API page from Tuya. Should use it to only emits from the right device instead of the whole gateway.Screenshots![Capture d’écran du 2023-11-21](https://github.com/codetheweb/tuyapi/assets/1537208/8f22fd44-d6ed-447f-8ae4-ee4318876bb1)
Desktop (please complete the following information):
Additional context I'm currently making a small abstraction layer for my smart house, making an object for each kind of devices. According to my research, device's events from the same gateway seem to not being filtered, according to the source code ( https://github.com/codetheweb/tuyapi/blob/master/index.js#L827 ). I don't think it's intended.