Welcome!
The CAME Domotic Library (aiocamedomotic) provides a streamlined Python interface for interacting with CAME Domotic plants, much like the official CAME Domotic app. This library is designed to simplify the management of domotic devices by abstracting the complexities of the CAME Domotic API.
Although primarily developed for use with Home Assistant, the library is freely available under the Apache license 2.0 for anyone interested in experimenting with a CAME Domotic plant.
Important
This library is independently developed and is not affiliated with, endorsed by, or supported by CAME. It may not be compatible with all CAME Domotic systems. While this library is stable and publicly released, it comes with no guarantees. Use at your own risk.
Danger
This library is not intended for use in critical systems, such as security or life-support systems. Always use official and supported tools for such applications.
Security considerations
CAME ETI/Domo servers expose their API over plain HTTP only: all traffic between this library and the server, including the username and password sent at login, travels unencrypted on your local network. This is a limitation of the CAME hardware and its proprietary protocol, not of this library — the official CAME clients communicate the same way, and the server offers no TLS/HTTPS endpoint.
In practice this means that anyone able to sniff traffic on your LAN could capture your CAME credentials and control your plant. To keep your installation safe:
Keep the CAME server on a trusted local network (ideally a dedicated VLAN or an isolated IoT network segment).
Never expose the CAME server’s HTTP port directly to the internet (no port forwarding). For remote access, use a VPN into your home network.
Use a dedicated CAME user with a password not reused for any other service.
On its side, the library never persists your credentials to disk, keeps them encrypted in memory, and automatically redacts passwords and other sensitive values from its debug and traffic logs.
Key Features
Simplicity: Easy interaction with domotic entities.
Automatic session management: No need for manual login or session handling.
Real-time updates: Built-in long-polling support with typed update classes for monitoring device state changes as they happen.
First of its kind: Unique in providing integration with CAME Domotic systems.
Open source: Freely available under the Apache 2.0 license, inviting contributions and adaptations.
Quick Start
Have a look at the following guides to learn how to install and use the library:
Once you are a bit more familiar with the library, you may want to explore the following resources too:
Acknowledgments
Special thanks to Andrea Michielan for his foundational work with the eti_domo library, which greatly facilitated the initial development of this library. We also found great inspiration in the Home Assistant document Building a Python library for an API.
License
This project is licensed under the Apache License 2.0. For more details, see the LICENSE file on GitHub.