Homematic Commandline Tools (HoCoTo)
Control Homematic Thermostats from the commandline.
Features:
- Visualisation: Output device status as a graph or table
- Save device status into an easily reasable table
- Read from tables and write to devices
- Specify multiple profiles in a table
- Assign profiles per day (templating)
- Duplicaton detection
- Copy profiles between devices
- Offline capability
Installation
pip install hocoto
Examples:
Plotting
$ ./hocoto -in dev:test -p --day mon
testing
=========
MONDAY
22.0 +----+---+----+---+----+---+----+---+
21.5 | · ·|· ·|· · | · | · ·|· ·|· · | · |
21.0 | · ·|· ·***· | · | · ·|· ·|· · | · |
20.5 | · ·|· ·|· · | · | · ·|********* · |
20.0 +----+---+----+---+----+---+----+---+
19.5 | · ·|· ·|· · | · | · ·|· ·|· · | · |
19.0 | · ·|· ·|· · | · | · ·|· ·|· · | · |
18.5 | · ·|· ·|· · | · | · ·|· ·|· · | · |
18.0 +----+---+----+---+----+---+----+---+
17.5 | · ·|· ·|· · | · | · ·|· ·|· · | · |
17.0 |*********·************** ·|· · ****|
16.5 | · ·|· ·|· · | · | · ·|· ·|· · | · |
16.0 +----+---+----+---+----+---+----+---+
3 6 9 12 15 18 21 24
Tables
$ ./hocoto -in dev:test --table --day mon
testing
=========
MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY | SUNDAY |
5:30 - 17°C | Same as MONDAY | Same as MONDAY | Same as MONDAY | Same as MONDAY | Same as MONDAY | Same as MONDAY |
7:00 - 21°C | | | | | | |
16:00 - 17°C | | | | | | |
21:00 - 20.5°C | | | | | | |
23:00 - 17°C | | | | | | |
24:00 - 17°C | | | | | | |
File ouptput:
$ ./hocoto -in dev:test --out file:delme
testing
=========
$ cat delme
MONDAY
5:30 - 17°C
7:00 - 21°C
16:00 - 17°C
21:00 - 20.5°C
23:00 - 17°C
24:00 - 17°C
TUESDAY
Same as MONDAY
WEDNESDAY
Same as MONDAY
THURSDAY
Same as MONDAY
FRIDAY
Same as MONDAY
SATURDAY
Same as MONDAY
SUNDAY
Same as MONDAY
Apply profile for whole week:
$ ./hocoto -in file:delme -o dev:test
Input from file "delme"
=========================
Copying from Input from file "delme" to Testing-Target
All days
Use profiles:
$ cat profiles
Workday
5:30 - 17°C
7:00 - 21°C
16:00 - 17°C
21:00 - 20.5°C
23:00 - 17°C
Weekend
5:30 - 17°C
23:00 - 20.5°C
24:00 - 17°C
Homeoffice
5:30 - 17°C
23:00 - 20.5°C
24:00 - 17°C
MONDAY
= workday
TUESDAY
Same as MONDAY
WEDNESDAY
= homeoffice
THURSDAY
Same as MONDAY
FRIDAY
Same as homeoffice
SATURDAY
= weekend
SUNDAY
Same as saturday
./hocoto -in file:delme -o dev:test
Use profiles for specific dasy:
./hocoto -in file:delme -out dev:test -p --fromday weekend --today MON
Background:
HoCoTo is written in python3 using the homegear Python interface.
The intention was to be as useful as possible. The use case I needed to cover was "Bring the house into homeoffice state next tuesday" or "I am sick today, so bring the house into weekend state".
Future work:
I want to add a tool that monitors a calendar (e.g. ics) file, so that I can set profiles for longer periods of time, and based on whether anybody is at home at a given day or not.
Metadata
Release files for hocoto 0.6.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hocoto-0.6.3.tar.gz | 24.2 kB | Without provenance | Details for hocoto-0.6.3.tar.gz |
Release files / hocoto-0.6.3.tar.gz
| Download URL | hocoto-0.6.3.tar.gz |
|---|---|
| Size | 24.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3eeb861d90437542ad9d5d79fac69b27e0fd7b0938e252b867dc89c8de71a2dd
|
|
BLAKE2b-256 checksum How to use checksums |
4177e6a2d2081783f9ad2fddc77067a178bab1c0c31835fd6eca33d5bd937403
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.3
|
Security for hocoto 0.6.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.