{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":160979679,"defaultBranch":"dev","name":"zigpy-deconz","ownerLogin":"zigpy","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-12-08T21:21:12.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/30303551?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1708108639.0","currentOid":""},"activityList":{"items":[{"before":"8d2315df8ebc78192dfa0b143483c7e44cfc6260","after":"6135c058f90c6fccb576858327a4e526dac94f7f","ref":"refs/heads/dev","pushedAt":"2024-04-11T15:46:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"TheJulianJES","name":"TheJulianJES","path":"/TheJulianJES","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6409465?s=80&v=4"},"commit":{"message":"Support Codecov v4 changes (#254)\n\nPass `CODECOV_TOKEN` to shared workflow","shortMessageHtmlLink":"Support Codecov v4 changes (#254)"}},{"before":"8c64072ea9f72080616c386bc599ce4c8cd83600","after":"8d2315df8ebc78192dfa0b143483c7e44cfc6260","ref":"refs/heads/dev","pushedAt":"2024-02-16T18:17:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Register the command response listener before sending (#248)","shortMessageHtmlLink":"Register the command response listener before sending (#248)"}},{"before":"8d993738491f460b3fdf1b9746cec535ad46c052","after":"8c64072ea9f72080616c386bc599ce4c8cd83600","ref":"refs/heads/dev","pushedAt":"2024-02-16T18:17:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Replace `57600` with `38400` (#250)","shortMessageHtmlLink":"Replace 57600 with 38400 (#250)"}},{"before":"adf2b39b98598f2d6c055403fc820cdaae56b381","after":"8d993738491f460b3fdf1b9746cec535ad46c052","ref":"refs/heads/dev","pushedAt":"2024-02-03T15:30:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Handle CB3 not sending the correct `add_neighbor` response (#247)\n\n* Handle CB3 not sending the correct response\r\n\r\n* Fix broken unit test\r\n\r\n* Fix remaining broken unit tests","shortMessageHtmlLink":"Handle CB3 not sending the correct add_neighbor response (#247)"}},{"before":"df9c0c6ceaa6a819f129d19fc8de04321b7e63ad","after":"adf2b39b98598f2d6c055403fc820cdaae56b381","ref":"refs/heads/dev","pushedAt":"2024-02-03T15:30:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Update README.md to mention ConBee 3 (#245)\n\nUpdate README.md to mention and link to ConBee III (ConBee 3)","shortMessageHtmlLink":"Update README.md to mention ConBee 3 (#245)"}},{"before":"76cdef51940ea37ea01558ae9c44b159879ff00e","after":"df9c0c6ceaa6a819f129d19fc8de04321b7e63ad","ref":"refs/heads/dev","pushedAt":"2023-12-30T21:52:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Allow delayed duplicate responses (#244)\n\n* Demote duplicate or delayed response to debug, not warning\r\n\r\n* Log the waiting response queue\r\n\r\n* Delay `MismatchedResponseError` in case the firmware eventually responds\r\n\r\n* Add some logging\r\n\r\n* Make sure we do not resolve the future right away\r\n\r\n* Add a unit test","shortMessageHtmlLink":"Allow delayed duplicate responses (#244)"}},{"before":"55c4f798c707b7352a0bd3b03611baef7d590655","after":"76cdef51940ea37ea01558ae9c44b159879ff00e","ref":"refs/heads/dev","pushedAt":"2023-12-30T19:28:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Demote delayed response from `WARNING` to `DEBUG` (#243)\n\n* Demote duplicate or delayed response to debug, not warning\r\n\r\n* Log the waiting response queue","shortMessageHtmlLink":"Demote delayed response from WARNING to DEBUG (#243)"}},{"before":"bc7e9609d48552302432ddb617a4fb0e1d21cac4","after":"55c4f798c707b7352a0bd3b03611baef7d590655","ref":"refs/heads/dev","pushedAt":"2023-12-20T15:34:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Implement command priority (#240)","shortMessageHtmlLink":"Implement command priority (#240)"}},{"before":"cc1f018ee91bba0c5dd483a2c20cf9b48d56aa93","after":"bc7e9609d48552302432ddb617a4fb0e1d21cac4","ref":"refs/heads/dev","pushedAt":"2023-12-18T15:02:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Detect when the firmware responds with the wrong response (#241)\n\n* Handle mismatched `seq` commands\r\n\r\n* Globally retry all commands in case of `MismatchedResponseError`\r\n\r\n* Add a unit test and make sure command futures are always removed\r\n\r\n* Exclude `if TYPE_CHECKING` from coverage","shortMessageHtmlLink":"Detect when the firmware responds with the wrong response (#241)"}},{"before":"09cd1b352c099188410315c9d173fc1517c4ce85","after":"cc1f018ee91bba0c5dd483a2c20cf9b48d56aa93","ref":"refs/heads/dev","pushedAt":"2023-12-13T14:54:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Rename `add_neighbour` to `update_neighbor` and document `action` field (#238)\n\n* Rename `add_neighbour` to `update_neighbor` and document `action` field\r\n\r\n* Fix unit tests","shortMessageHtmlLink":"Rename add_neighbour to update_neighbor and document action fie…"}},{"before":"83872b1d0a3ff032fd95da0ea914336d7da0672f","after":"09cd1b352c099188410315c9d173fc1517c4ce85","ref":"refs/heads/dev","pushedAt":"2023-12-13T14:54:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Revert watchdog back to once every 7.5 minutes (#239)\n\n* Revert watchdog back to once every 7.5 minutes\r\n\r\n* Ensure unit tests reflect commands that are now sent","shortMessageHtmlLink":"Revert watchdog back to once every 7.5 minutes (#239)"}},{"before":"ecaf3764bc77c07d94a1569d5b59e548279b4bb7","after":"83872b1d0a3ff032fd95da0ea914336d7da0672f","ref":"refs/heads/dev","pushedAt":"2023-12-08T16:40:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Gracefully handle neighbors table filling up on startup (#237)","shortMessageHtmlLink":"Gracefully handle neighbors table filling up on startup (#237)"}},{"before":"7264e6a4b5649641b97140f439e74d5017712873","after":"ecaf3764bc77c07d94a1569d5b59e548279b4bb7","ref":"refs/heads/dev","pushedAt":"2023-11-16T17:23:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Conbee III support (#232)\n\n* Initial support for the Conbee III\r\n\r\n* Add a delay when changing network state\r\n\r\n* Do not write security mode for Conbee III\r\n\r\n* Skip restoring neighbors for current CB3 firmwares\r\n\r\n* Account for EmberZNet ZDO energy scanning bug\r\n\r\n* Fix logic for neighbor restoration for CB2\r\n\r\n* Fix existing unit tests\r\n\r\n* Add a new unit test for CB3 energy scanning\r\n\r\n* Add unit test for wrong device state callback handling\r\n\r\n* Fix new unit tests\r\n\r\n* Remove unnecessary `_change_network_state` from `load_network_info`\r\n\r\n* Add a `probe` method\r\n\r\n* Fix probing schema\r\n\r\n* Handle state change polling failures gracefully\r\n\r\n* Bump minimum zigpy version to 0.60.0\r\n\r\n* Use new zigpy probing methods\r\n\r\n* Use zigpy watchdog\r\n\r\n* Fix API using removed config\r\n\r\n* Implement `permit_with_link_key`\r\n\r\n* Remove watchdog from unit tests\r\n\r\n* Fix unit tests\r\n\r\n* Parse model info during `load_network_info`","shortMessageHtmlLink":"Conbee III support (#232)"}},{"before":"3c82aedc53a0a6e75f675187466f985ee9d67ff7","after":"7264e6a4b5649641b97140f439e74d5017712873","ref":"refs/heads/dev","pushedAt":"2023-11-10T16:43:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Rewrite command parsing/serialization (#231)\n\n* WIP\r\n\r\n* Replace implicit polling tasks with explicit polling loop\r\n\r\n* Get API unit tests passing\r\n\r\n* Fix remaining unit tests\r\n\r\n* Merge TX and RX schemas into a single object\r\n\r\n* Match command responses by both command ID and the seq\r\n\r\n* Increase test coverage\r\n\r\n* Parse firmware structure\r\n\r\n* Increase coverage\r\n\r\n* Restrict `cancelling` to 3.11+\r\n\r\n* Add unit test for `utils`\r\n\r\n* Add unit tests for request retries\r\n\r\n* Unit test request locking","shortMessageHtmlLink":"Rewrite command parsing/serialization (#231)"}},{"before":"5f4afad11f5c9d247a00381e417957efa9f42f88","after":"a14912dec1af0105afe46a3a480feea21ec5030d","ref":"refs/heads/puddly/command-parsing-rewrite","pushedAt":"2023-11-10T16:37:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Unit test request locking","shortMessageHtmlLink":"Unit test request locking"}},{"before":"e793bf8bfced15b4f007af612ccb21b1c7dc2d85","after":"5f4afad11f5c9d247a00381e417957efa9f42f88","ref":"refs/heads/puddly/command-parsing-rewrite","pushedAt":"2023-11-10T12:47:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Add unit tests for request retries","shortMessageHtmlLink":"Add unit tests for request retries"}},{"before":"5cbe5cd5f96d632705d08afffd9c35fc9c965262","after":"e793bf8bfced15b4f007af612ccb21b1c7dc2d85","ref":"refs/heads/puddly/command-parsing-rewrite","pushedAt":"2023-11-10T00:27:48.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Restrict `cancelling` to 3.11+","shortMessageHtmlLink":"Restrict cancelling to 3.11+"}},{"before":"dc4a1d3383670b69cba199b887fd2d6376bdd60a","after":"3c82aedc53a0a6e75f675187466f985ee9d67ff7","ref":"refs/heads/dev","pushedAt":"2023-11-10T00:26:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"added a Baudrate Variable to config for Baudrate selection (#229)\n\n* added a Baudrate Variable to config for Baudrate selection\r\n\r\n* changed default baudrate for backw. compatibility\r\n\r\n* ran pre-commit\r\n\r\n* Include baudrate in unit tests\r\n\r\n---------\r\n\r\nCo-authored-by: puddly <32534428+puddly@users.noreply.github.com>","shortMessageHtmlLink":"added a Baudrate Variable to config for Baudrate selection (#229)"}},{"before":"4362ac344fc59485bd5cfc43e58b66ad18125c80","after":"5cbe5cd5f96d632705d08afffd9c35fc9c965262","ref":"refs/heads/puddly/command-parsing-rewrite","pushedAt":"2023-11-09T20:53:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Increase test coverage","shortMessageHtmlLink":"Increase test coverage"}},{"before":"90bdee4a1d263d13cf86b8ab4ab9828b91ae9c03","after":"4362ac344fc59485bd5cfc43e58b66ad18125c80","ref":"refs/heads/puddly/command-parsing-rewrite","pushedAt":"2023-11-09T19:50:04.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Match command responses by both command ID and the seq","shortMessageHtmlLink":"Match command responses by both command ID and the seq"}},{"before":null,"after":"90bdee4a1d263d13cf86b8ab4ab9828b91ae9c03","ref":"refs/heads/puddly/command-parsing-rewrite","pushedAt":"2023-11-07T22:18:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Replace implicit polling tasks with explicit polling loop","shortMessageHtmlLink":"Replace implicit polling tasks with explicit polling loop"}},{"before":"09e952bbfb2b26b80e048a2c6236163b7403d94f","after":"dc4a1d3383670b69cba199b887fd2d6376bdd60a","ref":"refs/heads/dev","pushedAt":"2023-09-11T22:26:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Switch asyncio.wait_for to asyncio_timeout (#228)\n\n* Switch asyncio.wait_for to asyncio_timeout\r\n\r\nsee https://github.com/zigpy/zigpy/pull/1187\r\n\r\n* Directly import from the `async_timeout` package\r\n\r\n---------\r\n\r\nCo-authored-by: puddly <32534428+puddly@users.noreply.github.com>","shortMessageHtmlLink":"Switch asyncio.wait_for to asyncio_timeout (#228)"}},{"before":"ecdc8d57f8e7101c6a018058dfc9b5cc5768cd21","after":"09e952bbfb2b26b80e048a2c6236163b7403d94f","ref":"refs/heads/dev","pushedAt":"2023-08-02T16:48:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Remove release drafter config (#226)","shortMessageHtmlLink":"Remove release drafter config (#226)"}},{"before":"53603d96d71cc1b744e45731d479162938244c4b","after":"ecdc8d57f8e7101c6a018058dfc9b5cc5768cd21","ref":"refs/heads/dev","pushedAt":"2023-08-02T16:48:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Use shared PyPi release workflow (#225)\n\n* Use shared PyPi release workflow\r\n\r\n* Drop `with` section to use default Python version\r\n\r\n* Change trigger from `released` to published`\r\n\r\nThis would also upload \"pre-releases\" to PyPi","shortMessageHtmlLink":"Use shared PyPi release workflow (#225)"}},{"before":"4a9a3c0c3ce558649a903970ed50d71c9c34a157","after":"53603d96d71cc1b744e45731d479162938244c4b","ref":"refs/heads/dev","pushedAt":"2023-08-02T16:47:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Fix unit tests for 3.12 (#227)","shortMessageHtmlLink":"Fix unit tests for 3.12 (#227)"}},{"before":"5f72d9858cd8d854c185cc292e8acb700c25b3b6","after":"4a9a3c0c3ce558649a903970ed50d71c9c34a157","ref":"refs/heads/dev","pushedAt":"2023-08-02T16:44:14.000Z","pushType":"push","commitsCount":66,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Merge branch 'master' into dev","shortMessageHtmlLink":"Merge branch 'master' into dev"}},{"before":"322520e5070fcf02e65ef20f971575d620262970","after":"5f72d9858cd8d854c185cc292e8acb700c25b3b6","ref":"refs/heads/dev","pushedAt":"2023-07-03T22:50:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Merge `master` into `dev` (#224)\n\n* 0.7.0 version bump.\r\n\r\n* 0.8.0 version bump.\r\n\r\n* 0.9.0 Version bump.\r\n\r\n* 0.9.1 Version bump\r\n\r\n* 0.9.2 Version bump\r\n\r\n* 0.10.0 version bump.\r\n\r\n* 0.11.0 Version bump\r\n\r\n* 0.11.1 Version bump\r\n\r\n* 0.12.0 Version bump\r\n\r\n* 0.12.1 Version bump\r\n\r\n* 0.13.0 Version bump\r\n\r\n* 0.14.0 version bump\r\n\r\n* Bump version to 0.15.0\r\n\r\n* 0.16.0 Release\r\n\r\n* 0.17.0 Release\r\n\r\n* 0.18.0 version bump\r\n\r\n* Bump version to 0.18.1\r\n\r\n* 0.19.0 version bump\r\n\r\n* Bump version to 0.19.1\r\n\r\n* Bump version to 0.19.2\r\n\r\n* 0.20.0 version bump\r\n\r\n* 0.21.0 release\r\n\r\n* Remove `__version__`\r\n\r\n* Fix unit tests\r\n\r\n---------\r\n\r\nCo-authored-by: Alexei Chetroi \r\nCo-authored-by: Alexei Chetroi ","shortMessageHtmlLink":"Merge master into dev (#224)"}},{"before":"04f9501d295bc2631d7118b69b4c7faecfc1a264","after":"322520e5070fcf02e65ef20f971575d620262970","ref":"refs/heads/dev","pushedAt":"2023-07-03T21:49:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Migrate to `pyproject.toml` and Git versioning (#223)\n\n* Migrate to pyproject.toml\r\n\r\n* Fix pre-commit formatting errors","shortMessageHtmlLink":"Migrate to pyproject.toml and Git versioning (#223)"}},{"before":"e8037c476c3cb64d77d2bffd7753a15f1f9d753a","after":"3e0092c6c622558bfafa0029ae347691fb5f1f64","ref":"refs/heads/master","pushedAt":"2023-04-24T18:58:49.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Merge pull request #221 from puddly/rc\n\n0.21.0 Release","shortMessageHtmlLink":"Merge pull request #221 from puddly/rc"}},{"before":"c310ce2d19d8f6e42997d96ac6dd0f473f73af51","after":"04f9501d295bc2631d7118b69b4c7faecfc1a264","ref":"refs/heads/dev","pushedAt":"2023-04-24T18:52:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Implement channel migration (#220)","shortMessageHtmlLink":"Implement channel migration (#220)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAELkTgGQA","startCursor":null,"endCursor":null}},"title":"Activity · zigpy/zigpy-deconz"}