All Projects → smarthomeNG → Smarthome

smarthomeNG / Smarthome

Licence: gpl-3.0
Device integration platform for your smart home

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Smarthome

Home Assistantconfig
🏠 Home Assistant configuration & Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to ⭐ it. Updated FREQUENTLY!
Stars: ✭ 3,687 (+3907.61%)
Mutual labels:  home-automation, smarthome, raspberry-pi, iot, hue
Homeassistant
Example Home Assistant Configs
Stars: ✭ 168 (+82.61%)
Mutual labels:  home-automation, raspberry-pi, iot, hue
Hassio Zigbee2mqtt
Hass.io add-on for zigbee2mqtt
Stars: ✭ 547 (+494.57%)
Mutual labels:  home-automation, raspberry-pi, mqtt, iot
Homeassistant
Example Home Assistant Configs
Stars: ✭ 846 (+819.57%)
Mutual labels:  home-automation, sonos, iot, hue
Core
🏡 Open source home automation that puts local control and privacy first.
Stars: ✭ 48,265 (+52361.96%)
Mutual labels:  home-automation, raspberry-pi, mqtt, iot
Redmatic
Node-RED packaged as Addon for the Homematic CCU3 and RaspberryMatic 🤹‍♂️
Stars: ✭ 407 (+342.39%)
Mutual labels:  home-automation, smarthome, mqtt, iot
Home Assistant
Home-Assistant-Config
Stars: ✭ 182 (+97.83%)
Mutual labels:  home-automation, raspberry-pi, mqtt, iot
Gladys
A privacy-first, open-source home assistant
Stars: ✭ 1,874 (+1936.96%)
Mutual labels:  home-automation, smarthome, raspberry-pi, iot
Platypush
A versatile and extensible platform for home and life automation with hundreds of supported integrations
Stars: ✭ 192 (+108.7%)
Mutual labels:  home-automation, raspberry-pi, mqtt, iot
Homeassistant Config
Stars: ✭ 211 (+129.35%)
Mutual labels:  home-automation, raspberry-pi, iot, hue
Hodd
Homie Device Discovery
Stars: ✭ 21 (-77.17%)
Mutual labels:  home-automation, smarthome, mqtt, iot
Wirehome.core
Wirehome.Core is a home automation system written in C# targeting .NET Core. It runs on Linux, Windows and macOS.
Stars: ✭ 180 (+95.65%)
Mutual labels:  home-automation, smarthome, raspberry-pi, iot
Blynk Server
Blynk is an Internet of Things Platform aimed to simplify building mobile and web applications for the Internet of Things. Easily connect 400+ hardware models like Arduino, ESP8266, ESP32, Raspberry Pi and similar MCUs and drag-n-drop IOT mobile apps for iOS and Android in 5 minutes
Stars: ✭ 8 (-91.3%)
Mutual labels:  home-automation, raspberry-pi, mqtt, iot
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: ✭ 3,487 (+3690.22%)
Mutual labels:  home-automation, smarthome, mqtt, iot
Rpieasy
Easy MultiSensor device based on Raspberry PI
Stars: ✭ 85 (-7.61%)
Mutual labels:  home-automation, raspberry-pi, mqtt, iot
Zigbee2mqttassistant
GUI for Zigbee2Mqtt running in docker and HASS.IO
Stars: ✭ 371 (+303.26%)
Mutual labels:  home-automation, smarthome, mqtt
Mqtt Smarthome
Smart home automation with MQTT as the central message bus - Architectural proposal
Stars: ✭ 356 (+286.96%)
Mutual labels:  smarthome, mqtt, iot
Homepoint
Espressif ESP32 Based Smarthome screen for MQTT
Stars: ✭ 391 (+325%)
Mutual labels:  home-automation, smarthome, mqtt
Freedomotic
Open IoT Framework
Stars: ✭ 354 (+284.78%)
Mutual labels:  home-automation, mqtt, iot
Smarthome
@skalavala 👍 Nothing But Smarthome Stuff! - By Mahasri Kalavala
Stars: ✭ 437 (+375%)
Mutual labels:  home-automation, raspberry-pi, mqtt

SmartHomeNG

Github Tag Made with Python Build Status on TravisCI Join the chat at https://gitter.im/smarthomeNG/smarthome

SmartHomeNG [1] is a software that serves a basis for home automation. It interconnects multiple devices using plugins to access their specific interfaces. This file contains basic information about the basic directories of SmartHomeNG.

Developer documentation (part of the user documentation) and user documentation (german) can be found on www.smarthomeNG.de

Additional information can be found in the SmartHomeNG Wiki.

Used Tools

Tool Description
SmartHomeNG was built using the Pycharm IDE.
The admin interface of SmartHomeNG was built using the WebStorm IDE.

Directory Structure

directory description
bin the main python file is based here
dev if you plan to create a plugin then this is the folder you want to have a closer look at
doc Source files for the user- and developer documentation
etc the three basic configuration files smarthome.yaml, module.yaml, plugin.yaml, logic.yaml and logging.yaml are located here, you will edit these files to reflect your basic settings
items put here your own files for your items
lib some more core python modules are in this directory. You won't need to change anything here
logics here your logic files are put
modules here are all loadable core-modules located (one subdirectory for every module)
plugins here are all plugins located (one subdirectory for every plugin). The plugins have to be installed from a separate repository (smarthomeNG/plugins)
scenes the scenes are stored here
tests The code for the automated travis tests is stored here
tools there are some tools which help you for creating an initial configuration
var everything that is changed by smarthome is put here, e.g. logfiles, cache, sqlite database etc.

Some more detailed info on the configuration files

As of Version 1.5 the old conf format will still be valid but will be moved out of the docs since it's deprecated now for some time.

etc/smarthome.yaml

Upon installation you will need to create this file and specify your location.

# smarthome.yaml
# look e.g. at http://www.mapcoordinates.net/de
lat: '52.52'
lon: '13.40'
elev: 36
tz: Europe/Berlin

etc/module.yaml

Upon installation you will need to create this file and configure the modules and their parameters. On first start of SmartHomeNG this file is created from etc/module.yaml.default.

An example is shown below:

# module.yaml
http:
    module_name: http
    starturl: admin

admin:
    module_name: admin

#enable, if mqtt protocol is going to be used
#mqtt:
#    module_name: mqtt

etc/plugin.yaml

Upon installation you will need to create this file and configure the plugins and their parameters. On first start of SmartHomeNG this file is created from etc/plugin.yaml.default.

An example is shown below:

# plugin.yaml
database:
    plugin_name: database
    driver: sqlite3
    connect:
    -   database:./var/db/smarthomeng.db
    -   check_same_thread:0

cli:
    plugin_name: cli
    ip: 0.0.0.0
    update: True

websocket:
    plugin_name: visu_websocket


knx:
    plugin_name: knx
    host: 127.0.0.1
    port: 6720

ow:
    plugin_name: onewire

smartvisu:
    plugin_name: visu_smartvisu
    smartvisu_dir: /var/www/html/smartVISU


etc/logic.yaml

In the logic.conf you specify your logics and when they will be run. On first start of SmartHomeNG this file is created from etc/logic.yaml.default.

An example is shown below

# etc/logic.yaml
AtSunset:
    filename: sunset.py
    crontab: sunset

items/

This directory contains one or more item configuration files. The filename does not matter, except it has to end with '.yaml'.

# items/global.yaml
global:
    sun:
        type: bool
        attribute: foo

logics/

This directory contains your logic files. Simple or sophisitcated python scripts. You could address your smarthome item by sh.item.path. If you want to read an item call sh.item.path() or to set an item sh.item.path(Value).

# logics/sunset.py
if sh.global.sun():       # if sh.global.sun() == True:
    sh.gloabl.sun(False)  # set it to False
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].