# Frisquet API
Python client for the Frisquet API that features:
- Complete control of your Frisquet Connect boiler
- Async/await support for modern Python applications
- Type hints for better IDE integration
- Comprehensive error handling
## Usage
```python
from frisquet_api.client import FrisquetClient, Zone, Mode, ModeChange
client = FrisquetClient(email="your@email.com", password="your-password")
```
### Get site data
```python
site_data = await client.get_site_data("your-site-id")
```
### Set mode
```python
await client.set_mode("your-site-id", Zone.ZONE_1, Mode.COMFORT, ModeChange.PERMANENT)
```
### Set temperature
```python
await client.set_temperature("your-site-id", Zone.ZONE_1, HeatingMode.FROST_PROTECTION, 8.0)
```
### Set water mode
```python
await client.set_water_mode("your-site-id", WaterMode.ECO_TIMER)
```
## Development
Install [uv](https://astral.sh/uv/) and setup your python environment with the following commands:
```bash
uv sync
```
Setup the pre-commit hooks:
```bash
uvx pre-commit install
```
Run the tests:
```bash
uv run pytest .
```
## Inspiration
This project is inspired by the [Frisquet-connect-for-home-assistant](https://github.com/TheGui01/Frisquet-connect-for-home-assistant) project.
Raw data
{
"_id": null,
"home_page": null,
"name": "frisquet-api",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "boiler, frisquet, heating, iot, smart home",
"author": null,
"author_email": "markkvdb <github@mvanderbroek.com>",
"download_url": "https://files.pythonhosted.org/packages/b1/bb/898413e7e6fb51259f9e479091d961b4fd734e9ef59e5e3cbe08b130cbd1/frisquet_api-0.1.2.tar.gz",
"platform": null,
"description": "# Frisquet API\n\nPython client for the Frisquet API that features:\n\n- Complete control of your Frisquet Connect boiler\n- Async/await support for modern Python applications\n- Type hints for better IDE integration\n- Comprehensive error handling\n\n## Usage\n\n```python\nfrom frisquet_api.client import FrisquetClient, Zone, Mode, ModeChange\n\nclient = FrisquetClient(email=\"your@email.com\", password=\"your-password\")\n```\n\n### Get site data\n\n```python\nsite_data = await client.get_site_data(\"your-site-id\")\n```\n\n### Set mode\n\n```python\nawait client.set_mode(\"your-site-id\", Zone.ZONE_1, Mode.COMFORT, ModeChange.PERMANENT)\n```\n\n### Set temperature\n\n```python\nawait client.set_temperature(\"your-site-id\", Zone.ZONE_1, HeatingMode.FROST_PROTECTION, 8.0)\n```\n\n### Set water mode\n\n```python\nawait client.set_water_mode(\"your-site-id\", WaterMode.ECO_TIMER)\n```\n\n## Development\n\nInstall [uv](https://astral.sh/uv/) and setup your python environment with the following commands:\n\n```bash\nuv sync\n```\n\nSetup the pre-commit hooks:\n\n```bash\nuvx pre-commit install\n```\n\nRun the tests:\n\n```bash\nuv run pytest .\n```\n\n## Inspiration\n\nThis project is inspired by the [Frisquet-connect-for-home-assistant](https://github.com/TheGui01/Frisquet-connect-for-home-assistant) project.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python client for the Frisquet API",
"version": "0.1.2",
"project_urls": {
"Bug Tracker": "https://github.com/markkvdb/frisquet-api/issues",
"Documentation": "https://github.com/markkvdb/frisquet-api#readme",
"Homepage": "https://github.com/markkvdb/frisquet-api",
"Repository": "https://github.com/markkvdb/frisquet-api.git"
},
"split_keywords": [
"boiler",
" frisquet",
" heating",
" iot",
" smart home"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9e99ea88f0fc2c1206d67b152334356060dba77087a89e10be6f161e648b7664",
"md5": "b2e029f948bd6944f5bf9290c17a8f07",
"sha256": "8b07867a2e0b29037281b0a47d795674a68d24e6fb82bd234258762b738cb9f7"
},
"downloads": -1,
"filename": "frisquet_api-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b2e029f948bd6944f5bf9290c17a8f07",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 6710,
"upload_time": "2024-12-16T22:49:44",
"upload_time_iso_8601": "2024-12-16T22:49:44.865967Z",
"url": "https://files.pythonhosted.org/packages/9e/99/ea88f0fc2c1206d67b152334356060dba77087a89e10be6f161e648b7664/frisquet_api-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b1bb898413e7e6fb51259f9e479091d961b4fd734e9ef59e5e3cbe08b130cbd1",
"md5": "8bb101b30ac46bb56e29744c055e1977",
"sha256": "b77ec66af2d59d900c8f7c8846276b6bd54eeb8a74c0df8b244a17d7252a98a2"
},
"downloads": -1,
"filename": "frisquet_api-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "8bb101b30ac46bb56e29744c055e1977",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 7820,
"upload_time": "2024-12-16T22:49:47",
"upload_time_iso_8601": "2024-12-16T22:49:47.293745Z",
"url": "https://files.pythonhosted.org/packages/b1/bb/898413e7e6fb51259f9e479091d961b4fd734e9ef59e5e3cbe08b130cbd1/frisquet_api-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-16 22:49:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "markkvdb",
"github_project": "frisquet-api",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "frisquet-api"
}