You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(readme): trim duplicated examples, surface docs site (#2101)
## Summary
Trims the main README so it leans on the documentation site rather than
duplicating tutorial content.
- Replaces the two large Cloud + Local API code blocks (~95 lines) with
a single short cloud snippet showing the shape of the library, plus a
link to the Getting started guide for commands, events, and the local
API.
- Adds a **Documentation** section near the top with direct links to the
high-value docs pages (getting started, core concepts, device control,
event handling, migration, SDK reference).
- Keeps the intro, supported hubs, installation, projects-using, and
contribute sections unchanged.
## Why
The duplicated examples drifted easily (especially across the v2 API
renames) and made up over half the README. The docs site is versioned
alongside the code, so it's the better home for tutorial-depth content.
Net change: -76 / +15 lines.
Copy file name to clipboardExpand all lines: README.md
+18-78Lines changed: 18 additions & 78 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,17 @@
2
2
3
3
A fully asynchronous and user-friendly API client for the OverKiz platform. This client enables interaction with smart devices connected to OverKiz, supporting multiple vendors such as Somfy TaHoma and Atlantic Cozytouch.
4
4
5
-
This package is primarily used by Home Assistant Core to provide the Overkiz integration. If you wish to use this package in your own project, refer to the [full documentation](https://imicknl.github.io/python-overkiz-api/), the [examples below](#getting-started), or explore the [Home Assistant source code](https://github.com/home-assistant/core/tree/dev/homeassistant/components/overkiz) for additional usage examples.
5
+
This package is primarily used by Home Assistant Core to provide the Overkiz integration. If you wish to use this package in your own project, refer to the [full documentation](https://imicknl.github.io/python-overkiz-api/), the [example below](#getting-started), or explore the [Home Assistant source code](https://github.com/home-assistant/core/tree/dev/homeassistant/components/overkiz) for additional usage examples.
6
+
7
+
## Documentation
8
+
9
+
Full documentation is available at **[imicknl.github.io/python-overkiz-api](https://imicknl.github.io/python-overkiz-api/)**:
10
+
11
+
-[Getting started](https://imicknl.github.io/python-overkiz-api/getting-started/) — cloud and local API setup
12
+
-[Core concepts](https://imicknl.github.io/python-overkiz-api/core-concepts/) — clients, servers, credentials, and models
13
+
-[Device control](https://imicknl.github.io/python-overkiz-api/device-control/) and [event handling](https://imicknl.github.io/python-overkiz-api/event-handling/)
14
+
-[Migrating from v1](https://imicknl.github.io/python-overkiz-api/migration-v2/)
@@ -11,7 +21,7 @@ This package is primarily used by Home Assistant Core to provide the Overkiz int
11
21
- Brandt Smart Control **\***
12
22
- Hitachi Hi Kumo
13
23
- Nexity Eugénie
14
-
- Rexel Energeasy Connect **\***
24
+
- Rexel Energeasy Connect **\*\***
15
25
- Sauter Cozytouch
16
26
- Simu (LiveIn2)
17
27
- Somfy Connexoon IO
@@ -20,7 +30,8 @@ This package is primarily used by Home Assistant Core to provide the Overkiz int
20
30
- Somfy TaHoma Switch
21
31
- Thermor Cozytouch
22
32
23
-
\[*]_These servers utilize an authentication method that is currently not supported by this library. To use this library with these servers, you will need to obtain an access token (by sniffing the original app) and create a local user on the Overkiz API platform._
33
+
\[*]_This server's authentication method isn't supported yet. To use it, obtain an access token (by sniffing the original app) and create a local user on the Overkiz API platform._
34
+
\[**]_Requires OAuth credentials provided by Rexel._
24
35
25
36
## Installation
26
37
@@ -30,103 +41,32 @@ pip install pyoverkiz
30
41
31
42
## Getting started
32
43
33
-
34
-
### Cloud API
44
+
Connect to the cloud API, authenticate, and list your devices:
35
45
36
46
```python
37
47
import asyncio
38
48
39
49
from pyoverkiz.auth.credentials import UsernamePasswordCredentials
40
50
from pyoverkiz.client import OverkizClient
41
-
from pyoverkiz.models import Action, Command
42
-
from pyoverkiz.enums import Server, OverkizCommand
For executing commands, listening to events, and connecting to the **local API**, see the [Getting started guide](https://imicknl.github.io/python-overkiz-api/getting-started/) in the documentation.
Copy file name to clipboardExpand all lines: docs/getting-started.md
+18-4Lines changed: 18 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
This guide will help you install the library, connect to your hub, and perform your first actions.
4
4
5
-
> Need the official Overkiz cloud API reference? Visit the [Overkiz API Documentation](https://ha101-1.overkiz.com/enduser-mobile-web/enduserAPI/doc) ([mirror](/api)). Most endpoints are accessible via the pyOverkiz package.
5
+
> Need the official Overkiz cloud API reference? Visit the [Overkiz API Documentation](https://ha101-1.overkiz.com/enduser-mobile-web/enduserAPI/doc) ([mirror](api/index.html)). Most endpoints are accessible via the pyOverkiz package.
6
6
7
7
> Upgrading from pyOverkiz 1.x? See the [migration guide](migration-v2.md) for a full list of breaking changes.
8
8
@@ -178,6 +178,10 @@ Use a cloud server when you want to connect through the vendor’s public API. U
Copy file name to clipboardExpand all lines: docs/index.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,16 +24,17 @@ pyOverkiz is an async Python library for interacting with Overkiz-based platform
24
24
25
25
- Atlantic Cozytouch
26
26
- Bouygues Flexom
27
+
- Brandt Smart Control **\***
27
28
- Hitachi Hi Kumo
28
29
- Nexity Eugénie
30
+
- Rexel Energeasy Connect **\*\***
29
31
- Sauter Cozytouch
30
32
- Simu (LiveIn2)
31
33
- Somfy Connexoon IO
32
34
- Somfy Connexoon RTS
33
35
- Somfy TaHoma
34
36
- Somfy TaHoma Switch
35
37
- Thermor Cozytouch
36
-
- Brandt Smart Control **\***
37
-
- Rexel Energeasy Connect **\***
38
38
39
-
\[*]_These servers utilize an authentication method that is currently not supported by this library._
39
+
\[*]_This server's authentication method isn't supported yet. To use it, obtain an access token (by sniffing the original app) and create a local user on the Overkiz API platform._
40
+
\[**]_Requires OAuth credentials provided by Rexel._
Copy file name to clipboardExpand all lines: docs/troubleshooting.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,15 @@
6
6
- Re-run `login()` and retry the call.
7
7
- On `NotAuthenticatedError`, re-authenticate before retrying.
8
8
9
+
## Rexel (Energeasy Connect)
10
+
11
+
Rexel authenticates with OAuth2 and scopes every request to a single gateway, so its failure modes differ from username/password servers.
12
+
13
+
-`InvalidTokenError: Consent is missing or revoked for Rexel token.` — the access token does not carry the consent Rexel requires. Re-run the OAuth2 authorization flow so the user grants consent again.
14
+
-`InvalidTokenError: Error retrieving Rexel access token: ...` — the code exchange or refresh failed (expired authorization code, reused code, or invalid `code_verifier`). Restart the flow from a freshly generated PKCE pair.
15
+
-`NoGatewaySelectedError: Multiple Rexel gateways available; call discover_gateways() ...` — the account has more than one gateway and none is selected. Call `discover_gateways()` and pass one id to `select_gateway()` before making device calls. A single-gateway account is auto-selected on `login()`.
16
+
-`AccessDeniedToGatewayError` — the selected `gateway_id` is not reachable for this token. Re-discover gateways and select a valid one; if you persisted a `gateway_id`, confirm it still belongs to the account.
0 commit comments