All Projects → markushaug → homify

markushaug / homify

Licence: MIT license
🏡 Open-source home automation / smarthome platform running on PHP (Laravel).

Programming Languages

PHP
23972 projects - #3 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to homify

Ct Smart Home
A ready-to-use Node-RED setup for home automation
Stars: ✭ 132 (+193.33%)
Mutual labels:  home-automation, smarthome, raspberrypi, homekit
Hoobs
Build your Smart Home with HOOBS. Connect over 2,000 Accessories to your favorite Ecosystem.
Stars: ✭ 325 (+622.22%)
Mutual labels:  home-automation, smarthome, homekit
Majordomo
Home automation platform
Stars: ✭ 352 (+682.22%)
Mutual labels:  home-automation, smarthome, diy
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: ✭ 3,487 (+7648.89%)
Mutual labels:  home-automation, smarthome, diy
Homepoint
Espressif ESP32 Based Smarthome screen for MQTT
Stars: ✭ 391 (+768.89%)
Mutual labels:  home-automation, smarthome, homekit
Redmatic
Node-RED packaged as Addon for the Homematic CCU3 and RaspberryMatic 🤹‍♂️
Stars: ✭ 407 (+804.44%)
Mutual labels:  home-automation, smarthome, homekit
Raspberrymatic
🏠 A lightweight, buildroot-based Linux operating system alternative for your CCU3, ELV-Charly or for running your IoT "HomeMatic CCU" as a virtual appliance (using ESXi, Proxmox, VirtualBox, Docker/OCI, Kubernetes/K8s, Home Assistant, etc.) or on your own RaspberryPi, Tinkerboard, etc. SBC devices...
Stars: ✭ 803 (+1684.44%)
Mutual labels:  home-automation, smarthome, raspberrypi
Smart Home
⭐ (Almost) everything needed to run my smart home with Home Assistant and more!
Stars: ✭ 221 (+391.11%)
Mutual labels:  home-automation, smarthome
Iobroker.js Controller
ioBroker controller
Stars: ✭ 238 (+428.89%)
Mutual labels:  home-automation, smarthome
Iobroker.javascript
Script engine for JavaScript and Blockly
Stars: ✭ 244 (+442.22%)
Mutual labels:  home-automation, smarthome
ambianic-edge
The core runtime engine for Ambianic Edge devices.
Stars: ✭ 98 (+117.78%)
Mutual labels:  home-automation, smarthome
Node Red Contrib Homekit Bridged
Node-RED Contribution - HomeKit Bridged : Node-RED nodes to simulate Apple HomeKit devices.
Stars: ✭ 204 (+353.33%)
Mutual labels:  home-automation, homekit
Iobroker.admin
user interface for configuration and administration
Stars: ✭ 207 (+360%)
Mutual labels:  home-automation, smarthome
Smart Mirror
The fairest of them all. A DIY voice controlled smart mirror with IoT integration.
Stars: ✭ 2,668 (+5828.89%)
Mutual labels:  home-automation, diy
Dsckeybusinterface
An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
Stars: ✭ 202 (+348.89%)
Mutual labels:  home-automation, homekit
hass config
My personal Home-Assistant configuration for my home.
Stars: ✭ 17 (-62.22%)
Mutual labels:  home-automation, homekit
Wirehome.core
Wirehome.Core is a home automation system written in C# targeting .NET Core. It runs on Linux, Windows and macOS.
Stars: ✭ 180 (+300%)
Mutual labels:  home-automation, smarthome
node-red-contrib-loxone
Connect the Loxone Miniserver to node-red via the Websocket API
Stars: ✭ 65 (+44.44%)
Mutual labels:  home-automation, smarthome
ioBroker.denon
Denon AVR adapter for ioBroker
Stars: ✭ 15 (-66.67%)
Mutual labels:  home-automation, smarthome
ioBroker.hm-rpc
Connects HomeMatic Interface-Processes to ioBroker
Stars: ✭ 55 (+22.22%)
Mutual labels:  home-automation, smarthome

Homify 🏡

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

Dashboard

Table of content

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

  • 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

SETUP

To install and run this application, you'll need Composer and PHP7 installed on your computer.

Composer

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

Database

Setup your database & 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

  • 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

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

RULES

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

Features

  • Define multiple rules for one thing.
    Each rule expands the entire rule base of the respective item with a logical OR.
    IF <RULE1> === TRUE || <RULE2> === 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

Each Rule has the following structure:

{
	"rule": "rule name (unique)",
	"if": {
        /*<TRIGGER CONDITION>*/
	},
	"then": {
        /*
        <EXECUTION_BLOCK1>
        */
	}
}

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

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

  • https://<server_ip>/thing/<thing_name>/<channel>

For example:

  • https://10.10.3.1/thing/Sonos:Play1/on

COMING SOON

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

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 <Thing>.php, Create<Thing>.php and a Update<Thing>.php File. You can take on of the existing Plug-ins as template.

ThingClass

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 [email protected] (might take a few days)

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


Homepage haugmarkus.de  ·  GitHub @markushaug  ·  Twitter @markushaug

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].