This file contains basic information about the basic directories of smarthomeNG
| 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 |
| etc | the three basic configuration files smarthome.conf, plugin.conf and logic.conf are located here, you will edit these files to reflect your basic settings |
| examples | some examples of items, etc. this is only for informational purpose |
| 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 |
| plugins | one subdirectory for every plugin is located here |
| scenes | the scenes are 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. |
Upon installation you will need to create this file and specify your location.
# smarthome.conf # look e.g. at http://www.mapcoordinates.net/de lat = 52.52 lon = 13.40 elev = 36 tz = 'Europe/Berlin'
Upon installation you will need to create this file and configure the plugins and their attributes. An example is shown below
[knx]
class_name = KNX
class_path = plugins.knx
host = 127.0.0.1
port = 6720
# send_time = 600 # update date/time every 600 seconds, default none
# time_ga = 1/1/1 # default none
# date_ga = 1/1/2 # default none
[ow]
class_name = OneWire
class_path = plugins.onewire
[visu]
class_name = WebSocket
class_path = plugins.visu_websocket
[smartvisu]
class_name = SmartVisu
class_path = plugins.visu_smartvisu
smartvisu_dir = /var/www/html/smartVISU
[cli]
class_name = CLI
class_path = plugins.cli
ip = 0.0.0.0
update = True
[sql]
class_name = SQL
class_path = plugins.sqlite
In the logic.conf you specify your logics and when they will be run. An example is shown below
# etc/logic.conf
[AtSunset]
filename = sunset.py
crontab = sunset
This directory contains one or more item configuration files. The filename does not matter, except it has to end with '.conf'.
# items/global.conf
[global]
[[sun]]
type = bool
attribute = foo
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