Skip to main content

Homealone home automation platform

Overview

Home automation refers to the use of various devices and systems within a home that are interconnected and can be controlled remotely. This project provides a software platform and application framework for controlling and monitoring devices in a home. It allows any device in the home that can be electronically controlled or sensed to be connected to a system, enabling remote access and management. Examples of such devices include lights, sprinklers, temperature sensors, and door sensors.

This project focuses on the software, defining how devices can be connected and controlled. It establishes a template for abstracting hardware interfaces to a common API, allowing the software running on a server to connect to devices using various hardware interfaces like GPIO pins, serial ports, or network adapters. An object model is used to further abstract device functions, and network protocols are defined to enable the server to advertise itself on the network and provide access to connected devices. Other servers can then implement interfaces, such as a web server, for human interaction.

The typical open source home automation project, such as Home Assistant, OpenHAB, or Domoticz, implements a system where devices are connected to a central hub or gateway that allows for control via a smartphone, tablet, or computer using a customizable user interface that is provided. The package is installed on hub device and is then configured to access the devices in the home via supported interfaces. There is no software development required on the part of the user.

HomeAlone is quite different. It is fundamentally a project that is intended for use by hardware and software developers and not a turnkey project that is usable by non-developers. It provides a software platform that can be used to develop custom hardware devices and integrate them into a system. It provides an application framework that can be used to develop user interfaces, but it does not provide a specific user interface.

Design goals

The design of the project targets the following goals.

  • Distributed - Functions are distributed across the system.
  • Devices are autonomous - Whenever possible, devices can run independently of the system. There is no requirement for a centralized controller.
  • Devices are dynamically discoverable - Devices can be added or removed from the system without requiring changes to a system configuration.
  • Connected to the local home network - Devices are connected to the system via the local wired or wireless home network.
  • Not dependent on the internet - The system may be accessed remotely via the internet and use cloud servers for certain functions, however internet connectivity is not required for routine functions.
  • Reasonably secure - The system does not explicitly implement any security features. It relies on the security of the local network.
  • Not dependent on proprietary systems, interfaces, or devices - Proprietary interfaces and devices may be accessed, but there is no requirement for any particular manufacturer's products.
  • Open source - All code is open source.

Limitations

  • Does not provide applications - Examples are provided, however they must be tailored for specific installations.
  • Does not provide a user interface - An example web based user interface is provided that may be extended.
  • Operating system specific - Currently only runs on Raspberry Pi OS, however there is no inherent reason it could not be made OS independent.

Documentation

More detailed documentation and examples may be found in these files.

Release files for homealone 0.0.24

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for homealone 0.0.24
File Size Uploaded
homealone-0.0.24.tar.gz 63.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for homealone 0.0.24
File Interpreter ABI Platform
homealone-0.0.24-py3-none-any.whl Python 3 none any Details

Total release size: 137.6 kB

Release files / homealone-0.0.24.tar.gz

Download URL homealone-0.0.24.tar.gz
Size 63.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4bc5ded013ccdbb6602bf70b9fc3c9f00acee9b28cba6790b7e41421f22554ff
BLAKE2b-256 checksum
How to use checksums
2c5e38bc86a4eefbecc568fdb2d38669191b9fa4a0fee79997834b1f3dc8b602
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.1

Release files / homealone-0.0.24-py3-none-any.whl

Download URL homealone-0.0.24-py3-none-any.whl
Size 74.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c8713b647eeb243e1d00e68383a21dc1ec9f2ad82d2b754204deb06d5680b1c5
BLAKE2b-256 checksum
How to use checksums
9e68dafb50bab13149b4e4850cc13e7d17d27dc7f0d8d38850bae01a78f8e6a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.1

Release history Release notifications | RSS feed

This release

0.0.24 This release

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page