PHPackages                             markushaug/homify - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. markushaug/homify

AbandonedArchivedProject[Utility &amp; Helpers](/categories/utility)

markushaug/homify
=================

Modular home automation system

v0.2(7y ago)5114614MITPHPPHP &gt;=7.0.0

Since Feb 8Pushed 3y ago1 watchersCompare

[ Source](https://github.com/markushaug/homify)[ Packagist](https://packagist.org/packages/markushaug/homify)[ RSS](/packages/markushaug-homify/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (3)Dependencies (12)Versions (6)Used By (0)

 Homify 🏡

===========

[](#--homify---)

#### Open-source home-automation / smarthome platform running on PHP (Laravel).

[](#open-source-home-automation--smarthome-platform-running-on-php-laravel)

 [ ![](https://camo.githubusercontent.com/c897160cb769f2d4cdeb38b16f6507330870182863612963d332be6036faabee/68747470733a2f2f7472617669732d63692e6f72672f6d61726b7573686175672f686f6d6966792e7376673f6272616e63683d6d6173746572) ](https://travis-ci.org/markushaug/homify) [ ![](https://camo.githubusercontent.com/4a804272665f49d3ee86891f93afd7f6304c0685d03db52e529825102fd02d0c/68747470733a2f2f6170692e636f646163792e636f6d2f70726f6a6563742f62616467652f47726164652f6361663932316432376564393462363862383231373932626439353266623632) ](https://www.codacy.com/app/markushaug/homify?utm_source=github.com&utm_medium=referral&utm_content=markushaug/homify&utm_campaign=Badge_Grade) [ ![](https://camo.githubusercontent.com/79a22a628a50592a591deb7fbc49cbcc91b2ba07d6749799ad9cbcc27202488c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d372d677265656e2e7376673f7374796c653d666c6174) ](https://packagist.org/packages/markushaug/homify) [ ![](https://camo.githubusercontent.com/ec8d12e37ca761d12daa1bb69544ca051d9d7af1ec89f76c67d525c0d60fe239/687474703a2f2f696d672e736869656c64732e696f2f62616467652f736f757263652d6d61726b7573686175672f686f6d6966792d677265656e2e7376673f7374796c653d666c6174) ](https://github.com/markushaug/homify) [ ![](https://camo.githubusercontent.com/725d1697770440b522672b2e1fcd0a722122d20aa83397bb490f61f6b46201f4/68747470733a2f2f706f7365722e707567782e6f72672f6d61726b7573686175672f686f6d6966792f646f776e6c6f616473) ](https://packagist.org/packages/markushaug/homify) [ ![](https://camo.githubusercontent.com/fc6f69e9354044dfad0eeb2dd207a1e50b1e6266630e44da00934e488594e02a/68747470733a2f2f706f7365722e707567782e6f72672f6d61726b7573686175672f686f6d6966792f762f737461626c65) ](https://packagist.org/packages/markushaug/homify)

[![Dashboard](https://camo.githubusercontent.com/57d926dc51f8d28d7d7fb65e6a42a4db6cb669e8b15c04dfe6898df9c0d07e12/68747470733a2f2f696d6775722e636f6d2f495a78646974322e706e67)](https://github.com/markushaug/homify)

Table of content
----------------

[](#table-of-content)

- [About Homify](#about-homify)
- [Key Features](#key-features)
- [Featured Plug-ins](#featured-plug-ins)
- [Setup](#setup)
    - [Composer](#composer)
    - [Database](#database)
    - [Webserver](#webserver)
    - [Note for PI users](#note-for-raspberry-pi-users)
- [Rules](#rules)
    - [Features](#features)
    - [Structure](#structure)
    - [Example](#example)
- [HTTP-API](#http-api)
- [Coming Soon](#coming-soon)
- [Plug-in Development](#plug-in-development)
- [FAQ / CONTACT / TROUBLESHOOT](#faq--contact--troubleshoot)
- [Contributing](#contributing)

ABOUT HOMIFY
------------

[](#about-homify)

Homify is built using a modular approach so support for other devices or actions can be implemented easily. See also the section on creating your own plug-in below in this READ.me.

KEY FEATURES
------------

[](#key-features)

- Manage your IoT-devices simply over the GUI
    - Instantly see if your device is online or not
- Automate your home with rules
- Install Plug-ins
    - Homify is built using a modular approach so support for other devices or actions can be implemented easily.
- Central Room Management
- Tablet View for your rooms

FEATURED PLUG-INS
-----------------

[](#featured-plug-ins)

- [`Sonos Plug-in`](https://github.com/markushaug/homify-sonos)
- [`RFOutlet (433 Mhz) Plug-in `](https://github.com/markushaug/homify-rfoutlet)
- [`Hue Plug-in`](https://github.com/markushaug/homify-phue)

SETUP
-----

[](#setup)

To install and run this application, you'll need [Composer](https://getcomposer.org/) and PHP7 installed on your computer.

### Composer

[](#composer)

```
# Download & install Homify with its dependencies
$ composer create-project markushaug/homify
$ composer update
```

### Database

[](#database)

Setup your database &amp; mail settings in the `.env` file and then run:

```
# Creating tables and inserting their default values to them
$ php artisan migrate
$ php artisan db:seed
```

### Webserver

[](#webserver)

- Set the webroot of your webserver to the `public` folder
- Grant permissions to the homify folder.
    - If the application runs into an issue, try this command inside of the homify directory: `chmod -R 777 storage`.

### Note for Raspberry Pi users

[](#note-for-raspberry-pi-users)

I highly recommend to use nginx or lighttp. Apache2 is using too much CPU and RAM on the Raspberry PI.

RULES
-----

[](#rules)

Homify supports rules to automate your home. You can create a rule via Homifys web interface.

### Features

[](#features)

- Define multiple rules for one thing.
    Each rule expands the entire rule base of the respective item with a logical OR.
    `IF  === TRUE ||  === TRUE || ...`
- The `ThingController` calls the RuleParser every time an event is triggered and scans for defined rules in the rule base.
- Time-controlled events are constructed as a cron job that triggers the execution block. ( Not yet implemented )

### Structure

[](#structure)

Each Rule has the following structure:

```
{
	"rule": "rule name (unique)",
	"if": {
        /**/
	},
	"then": {
        /*

        */
	}
}

```

### Example

[](#example)

Below is an example of a rule with a time-controlled event wich triggers a channel of the defined thing.

```
{
	"rule": "goodEvening",
	"if": {
		"time": "20:00:00"
	},
	"then": {
		"thing": {
			"name": "Play1",
			"channel": "off"
		}
	}
}
```

HTTP-API
--------

[](#http-api)

Homify provides a http-api to acces your things. You can use the following HTTP-GET Request to access your things:

- `https:///thing//`

For example:

- `https://10.10.3.1/thing/Sonos:Play1/on`

COMING SOON
-----------

[](#coming-soon)

- WebGUI for central room management &amp; device management
- Tablet View for single rooms
- HAP-Protocol (HomeKit) integration
- Cron-Jobs for Time-triggered rules

PLUG-IN DEVELOPMENT
-------------------

[](#plug-in-development)

Each Plug-in inherits from a Thing-Type (`Light`, `Switch`, `Speaker`, etc.). Each Thing-Type inherits from the abstract thing class. So each thing has the required functions.

If you are creating a plug-in for homify, you have to inherit from a Thing-Type. Or you create an additional thing-type. Each Thing needs a `.php`, `Create.php` and a `Update.php` File. You can take on of the existing Plug-ins as template.

[![ThingClass](https://camo.githubusercontent.com/c1a643d116f0e5d118299c0abe0dd96edc7f57d16bc0cc028ad2299a56797184/68747470733a2f2f696d6775722e636f6d2f764f4e6f316d352e706e67)](https://camo.githubusercontent.com/c1a643d116f0e5d118299c0abe0dd96edc7f57d16bc0cc028ad2299a56797184/68747470733a2f2f696d6775722e636f6d2f764f4e6f316d352e706e67)

FAQ / CONTACT / TROUBLESHOOT
----------------------------

[](#faq--contact--troubleshoot)

If you run into issues while using Homify or during development of a component, please use one of the following options:

- Use github's issue reporter on the right, so that other people can search these issues too
- Send me an email [](mailto:mh@haugmarkus.de) (might take a few days)

CONTRIBUTING
------------

[](#contributing)

I would appreciate it if you would contribute to this project. Do not hesitate to contact me if you are interested. I can give you an introduction to the core and the main concepts of the program. (Intermediate) Laravel skills are desirable.

For further information please read our [contributing guidelines](https://github.com/markushaug/homify/blob/master/CONTRIBUTING.md)

---

> Homepage [haugmarkus.de](https://www.haugmarkus.de) · GitHub [@markushaug](https://github.com/markushaug) · Twitter [@*markushaug*](https://twitter.com/_markushaug_)

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~174 days

Total

3

Last Release

2667d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e1bec5685c519e0879294c58ed227240ff59ccd0bef1e0ac6a3dffe3f25c6c66?d=identicon)[markushaug](/maintainers/markushaug)

---

Top Contributors

[![markushaug](https://avatars.githubusercontent.com/u/19834699?v=4)](https://github.com/markushaug "markushaug (100 commits)")[![RokSiEu](https://avatars.githubusercontent.com/u/2094036?v=4)](https://github.com/RokSiEu "RokSiEu (3 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![LouisBrosch](https://avatars.githubusercontent.com/u/16720976?v=4)](https://github.com/LouisBrosch "LouisBrosch (1 commits)")[![paralax](https://avatars.githubusercontent.com/u/5619153?v=4)](https://github.com/paralax "paralax (1 commits)")

---

Tags

composerdiyhome-automationhomekitlaravelmodularphppiplug-insraspberry-piraspberrypismarthomephplaravelmodularAlexasmarthomehomifyhomebridgehomekitalexa-support

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/markushaug-homify/health.svg)

```
[![Health](https://phpackages.com/badges/markushaug-homify/health.svg)](https://phpackages.com/packages/markushaug-homify)
```

###  Alternatives

[gehrisandro/tailwind-merge-laravel

TailwindMerge for Laravel merges multiple Tailwind CSS classes by automatically resolving conflicts between them

341682.2k18](/packages/gehrisandro-tailwind-merge-laravel)[iteks/laravel-enum

A comprehensive Laravel package providing enhanced enum functionalities, including attribute handling, select array conversions, and fluent facade interactions for robust enum management in Laravel applications.

2516.7k](/packages/iteks-laravel-enum)[salmanzafar/laravel-geocode

A Laravel Library to find Lat and Long of a given Specific Address

153.9k](/packages/salmanzafar-laravel-geocode)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
