External REST control API for an Enervent Pingvin Kotilämpö residential heating/ventilation unit via RS485 bus using the Modbus protocol. Designed for Home Assistant integration
Go to file
Jarno Rankinen d53e976a36 Squashed commit of the following:
commit 468bc33f7e
Author: Jarno Rankinen <jarno@oranki.net>
Date:   Tue Mar 14 09:37:07 2023 +0200

    gh-7 Log failed authentications. Forked rocketlaunchr/https-go to add CN to the generated certifcate

commit 0e10c9d925
Author: Jarno Rankinen <jarno@oranki.net>
Date:   Sun Mar 12 22:30:53 2023 +0200

    gh-7 Added HTTP basic authentication to REST API. Default credentials pingvin:enervent. Still need to implement logging failed auth requests. A log file option is also a good idea.

commit a3165db631
Author: Jarno Rankinen <jarno@oranki.net>
Date:   Sun Mar 12 12:41:41 2023 +0200

    gh-7 Updated Home Assistant rest example to https

commit 54b555c523
Author: Jarno Rankinen <jarno@oranki.net>
Date:   Sun Mar 12 12:25:53 2023 +0200

    gh-7 Enabled SSL encryption

commit 2738b60386
Author: Jarno Rankinen <jarno@oranki.net>
Date:   Sun Mar 12 12:07:36 2023 +0200

    gh-7 Implemented automatic self-signed SSL generation on startup under ~/.config/enervent-ctrl

Closes gh-7
2023-03-14 09:37:36 +02:00
.github/workflows Update add_to_project.yml 2023-02-08 19:55:28 +02:00
enervent-ctrl-go Squashed commit of the following: 2023-03-14 09:37:36 +02:00
enervent-ctrl-python Bump werkzeug from 2.2.2 to 2.2.3 in /enervent-ctrl-python 2023-02-16 07:20:35 +00:00
homeassistant Squashed commit of the following: 2023-03-14 09:37:36 +02:00
.gitignore Python: Fix Lock import 2023-01-29 14:41:25 +02:00
README.md Update README.md 2023-03-11 12:28:02 +02:00

README.md

Enervent-control

External control of an Enervent Pingvin Kotilämpö residential heating/ventilation unit via RS485 bus using the Modbus protocol.

Work part of my Bachelor's Thesis at Oulu University of Applied Sciences.

The Python version under enervent-ctrl-python is an initial proof-of-concept, mainly to test that the hardware side of things works as expected. The main daemon is written in Go and the source is under enervent-ctrl-go

The daemon is designed to run on a Linux host that has some sort of RS485 connector attached. For development a Raspberry Pi 4B was initially used for convenience, but after the Go implementation started, a RPi Zero W 1 with a connected Zihatec RS 485 HAT has been used to make sure the daemon stays as lightweight as possible.

Pingvin and Kotilämpö are registered trademarks of Enervent Zehnder Oy.