A fixes release. P2P streams lose less on a lossy link, pushes carry their device serial, and two races that dropped a working session or MQTT connection are gone.
npm install @mega-yfue/eufy-sdk@0.3.0P2P
- The device's punch can land on any of several registered source ports, so a connection that used to miss now comes up.
- Retransmitted datagrams are reassembled in sequence instead of discarded, which means fewer gaps in live video.
Push
- Motion, person, package and doorbell pushes now carry their
deviceSn. Before, a push whose serial was only in the envelope arrived withdeviceSn: undefined.
Session and realtime
- The session key exchange is single-flight, so concurrent calls no longer race each other into a re-login. The "another client" hint no longer fires on a plain expiry.
- One connection per
SecureMqtt: a secondwatch()no longer evicts the first.
Devices
- T84A1 Wall Light Cam S100 is recognised and treated as mains-powered.
- T8423 floodlight: the light switch works.
- HomeBase AI detection type (1299) decodes as JSON.
Breaking changes
| Change | What to do |
|---|---|
pushRaw: raw.payload is now the whole push envelope, with its payload entry JSON-parsed in place (#180)
| For a push that has a payload entry, read detail fields from raw.payload.payload. push / PushEvent consumers are unaffected.
|
No export removed and no new LiveTrace phase, so an exhaustive phase table compiles unchanged.
Thanks to everyone who contributed to this release: @max246, @sapireli, @rwunsch, @ImSkully and @lenoxys.
What's Changed
- fix(p2p): register several source ports so the device's punch can land by @sapireli in #211
- fix(light): map T8423 floodlight switch to the int+string wire by @ImSkully in #252
- fix(p2p): use the device's retransmissions instead of discarding them by @sapireli in #212
- fix(http): single-flight the session key exchange and soften the contention hint by @max246 in #251
- fix(push): keep the whole envelope, so every push carries its device serial by @rwunsch in #180
- docs(agents): one rules file for every agent, the checks before a pull request, and a template gate by @lenoxys in #263
- fix(device): decode hbAiDetectType (1299) as JSON by @max246 in #248
- Ask for the examples' 2FA code and captcha in the same run by @max246 in #247
- fix(mqtt): one connection per SecureMqtt, so a second watch() cannot evict the first by @max246 in #239
- fix(camera): treat the T84A1 Wall Light Cam S100 as mains-powered by @max246 in #250
- release: 0.3.0 by @lenoxys in #265
New Contributors
Full Changelog: v0.2.0...v0.3.0