Homylon

Main Menu

  • Home
  • Architecture
  • Language
  • Protocol
  • Manual
  • Cheatsheets
  • Downloads
  • Homylon Examples
Unique (most likely human) visitors
16
(since October 2026)

Homylon architecture

Homylon starts with a simple idea: a house should outlive the brands, hubs and cloud services that happen to be installed in it. The house and the people who live in it come first. Devices of any age or brand are welcome, but none of them owns the behaviour of the home.

The building blocks

  • Things are the physical devices: lamps, sensors, blinds, doors, meters, speakers and appliances. They may connect directly or through a proprietary hub.
  • Agents are translators. Each agent speaks the language of one device family on one side and Homylon on the other.
  • The Engine is the small, brand-independent brain. It remembers the house, keeps time, listens for events, applies rules and reports what it hears and does.
  • Apps let people look in and take control: remotes, monitors, notifications and views of the house.

The Homylon language is the human-facing door into the Engine. The Homylon protocol is the machine-facing door. A lamp command can therefore travel from a readable rule, through the Engine and an agent, to a physical lamp without the rule mentioning Hue, IKEA, X10, Zigbee, Matter or any other brand.

Read more: Homylon architecture

Make your own agents and tools

The "loosely coupled" agents are the whole point of the Homylon architecture. On any hardware with any programming language you can make your own agents. One side of an agent "talks" to the devices it needs to read or control in their own proprietary protocols. The other side "talks" JSON with the Engine over standard Internet protocols.

Sooner or later every household owns something no existing agent knows about. The old alarm panel in the hall cupboard with a serial port nobody has used in years. A weather station on the roof. A heat pump with a little web page on the local network. A sensor you soldered together yourself. For every one of them the answer is the same: write an agent.

Chapter 9 of the manual, Writing your own agents, shows how. This article gives a short summary.

Read more: Make your own agents and tools

Network Kit - the foundation

The Network Kit is the piece of Swift code every Homylon app and agent uses to talk to the Engine. The Monitor, the remotes and the Hue, IKEA, MQTT and Matter agents all run on it, and it is the same code the Engine itself uses. If you want to write your own app, tool or agent in Swift, this is the place to start. It is open source under the MIT licence, so you are free to use it in your own projects.

It does the network work for you. It sends your messages to the Engine (small ones by UDP, large ones by TCP, with a timestamp and your house's security key), it receives what the Engine sends back (with a UDP and a TCP server), it finds the Engine on your network (Bonjour first, then the last Engine that answered, then the address from your settings) and it tells you your own address as the Engine sees it.

Read more: Network Kit - the foundation