Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ptz0n/ctc-controller
https://github.com/ptz0n/ctc-controller
arduino home-automation smarthome
Last synced: 11 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ptz0n/ctc-controller
- Owner: ptz0n
- Created: 2021-11-25T07:45:29.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2021-11-25T10:08:24.000Z (about 3 years ago)
- Last Synced: 2024-10-31T02:23:03.928Z (about 2 months ago)
- Topics: arduino, home-automation, smarthome
- Language: Python
- Homepage:
- Size: 344 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CTC Controller
Retrofitting of an old CTC Ecoheat geothermal heat pump to act on electricity price fluctuations.
## Interfaces
### Output: Heat pump
Our heat pump does support an external control switch to be connected for activating a feature they call "Night drop". When activated, the target indoor temperature is dropped according to the setting. If Night drop is set to -5° C and activated, the target will drop from 22 to 17° C until deactivated.
![CTC Ecoheat terminal block](/ctc-io.png)
### Input: Electricity price
We're using [Tibber](https://tibber.com/se/invite/fb7a2cc5) and they have a great API to get the current prices.
```json
{
"total": 0.2328,
"energy": 0.1658,
"tax": 0.067,
"startsAt": "2021-11-23T00:00:00.000+01:00"
}
```### Controller: USB controlled relay
I could have used a RaspberryPi (or similar) but wanted to try out the [Adafruit MCP2221A Breakout](https://www.adafruit.com/product/4471), which I hooked up to my home server via USB. Using a compatible one channel relay module and some Python logic to analyze the current prices to know when we should activate the Night drop.
## Installation
First, make sure to setup the required hardware and environment vars:
- TIBBER_TOKEN
- INFLUXDB_HOST
- INFLUXDB_USERNAME
- INFLUXDB_PASSWORD
- INFLUXDB_DATABASE```bash
pip3 install -r requirements.txt
python3 main.py
```