Der Core von SmartHomeNG

Der Core von SmartHomeNG besteht aus einem Haupt-Objekt welches in bin/smarthome.py definiert ist und einer Reihe von Programm Modulen, die exklusiv für die Nutzung durch den Core Hilfs-Objekte implementieren. Die Programm Module sind in dem Ordner ../lib abgelegt und im Unterpunkt Programm Modulen beschrieben.

smarthome.py

Das Haupt-Objekt von SmartHomeNG ist im folgenden beschrieben:

class lib.smarthome.SmartHome(MODE, extern_conf_dir='')[Quellcode]

Bases: object

SmartHome ist the main class of SmartHomeNG. All other objects can be addressed relative to the main oject, which is an instance of this class. Mostly it is reffered to as sh, _sh or smarthome.

BASE = '/usr/local/shng_doc/work'
initialize_vars()[Quellcode]
initialize_dir_vars()[Quellcode]
create_directories()[Quellcode]

Create directories used by SmartHomeNG if they don’t exist

get_defaultlanguage()[Quellcode]

Returns the configured default language of SmartHomeNG

set_defaultlanguage(language)[Quellcode]

Returns the configured default language of SmartHomeNG

get_basedir()[Quellcode]

Function to return the base directory of the running SmartHomeNG installation

Rückgabe

Base directory as an absolute path

Rückgabetyp

str

get_confdir()[Quellcode]

Function to return the config directory (that contain ‚etc‘, ‚logics‘ and ‚items‘ subdirectories)

Rückgabe

Config directory as an absolute path

Rückgabetyp

str

get_etcdir()[Quellcode]

Function to return the etc config directory

Rückgabe

Config directory as an absolute path

Rückgabetyp

str

get_vardir()[Quellcode]

Function to return the var directory used by SmartHomeNG

Rückgabe

var directory as an absolute path

Rückgabetyp

str

getBaseDir()[Quellcode]

Function to return the base directory of the running SmartHomeNG installation

getBaseDir() is deprecated. Use method get_basedir() instead.

Rückgabe

Base directory as an absolute path

Rückgabetyp

str

checkConfigFiles()[Quellcode]

This function checks if the needed configuration files exist. It checks for CONF and YAML files. If they dont exist, it is checked if a default configuration exist. If so, the default configuration is copied to corresponding configuration file.

The check is done for the files that have to exist (with some content) or SmartHomeNG won’t start:

  • smarthome.yaml / smarthome.conf

  • logging.yaml

  • plugin.yaml / plugin.conf

  • module.yaml / module.conf

  • logic.yaml / logic.conf

init_logging(conf_basename='', MODE='default')[Quellcode]

This function initiates the logging for SmartHomeNG.

initMemLog()[Quellcode]

This function initializes all needed datastructures to use the (old) memlog plugin

start()[Quellcode]

This function starts the threads of the main smarthome object.

The main thread that is beeing started is called Main

stop(signum=None, frame=None)[Quellcode]

This method is used to stop SmartHomeNG and all it’s threads

restart(source='')[Quellcode]

This method is used to restart the python interpreter and SmartHomeNG

list_threads(txt)[Quellcode]
add_log(name, log)[Quellcode]

Adds a log to the list of logs

Parameter
  • name – Name of log

  • log – Log object, essentially an object based of a double ended queue

return_logs()[Quellcode]

Function to the list of logs

Rückgabe

List of logs

Rückgabetyp

list

add_event_listener(events, method)[Quellcode]

This Function adds listeners for a list of events. This function is called from plugins interfacing with visus (e.g. visu_websocket)

Parameter
  • events (list) – List of events to add listeners for

  • method (object) – Method used by the visu-interface

return_event_listeners(event='all')[Quellcode]

This function returns the listeners for a specified event.

Parameter

event (str) – Name of the event or ‚all‘ to return all listeners

Rückgabe

List of listeners

Rückgabetyp

list

object_refcount()[Quellcode]

Function to return the number of defined objects in SmartHomeNG

Rückgabe

Number of objects

Rückgabetyp

int

string2bool(string)[Quellcode]

Returns the boolean value of a string

DEPRECATED - Use lib.utils.Utils.to_bool(string) instead

Parameter

string (str) – string to convert

Rückgabe

Parameter converted to bool

Rückgabetyp

bool

add_item(path, item)[Quellcode]

Function to to add an item to the dictionary of items. If the path does not exist, it is created

DEPRECATED - Use the Items-API instead

Parameter
  • path (str) – Path of the item

  • item (object) – The item itself

return_item(string)[Quellcode]

Function to return the item for a given path

DEPRECATED - Use the Items-API instead

Parameter

string (str) – Path of the item to return

Rückgabe

Item

Rückgabetyp

object

return_items()[Quellcode]

“ Function to return a list with all items

DEPRECATED - Use the Items-API instead

Rückgabe

List of all items

Rückgabetyp

list

match_items(regex)[Quellcode]

Function to match items against a regular expresseion

DEPRECATED - Use the Items-API instead

Parameter

regex (str) – Regular expression to match items against

Rückgabe

List of matching items

Rückgabetyp

list

find_items(conf)[Quellcode]

“ Function to find items that match the specified configuration

DEPRECATED - Use the Items-API instead

Parameter

conf (str) – Configuration to look for

Rückgabe

list of matching items

Rückgabetyp

list

find_children(parent, conf)[Quellcode]

Function to find children with the specified configuration

DEPRECATED - Use the Items-API instead

Parameter
  • parent (str) – parent item on which to start the search

  • conf (str) – Configuration to look for

Rückgabe

list or matching child-items

Rückgabetyp

list

return_modules()[Quellcode]

Returns a list with the names of all loaded modules

DEPRECATED - Use the Modules-API instead

Rückgabe

list of module names

Rückgabetyp

list

get_module(name)[Quellcode]

Returns the module object for the module named by the parameter or None, if the named module is not loaded

DEPRECATED - Use the Modules-API instead

Parameter

name (str) – Name of the module to return

Rückgabe

list of module names

Rückgabetyp

object

return_plugins()[Quellcode]

Returns a list with the instances of all loaded plugins

DEPRECATED - Use the Plugins-API instead

Rückgabe

list of plugin names

Rückgabetyp

list

reload_logics(signum=None, frame=None)[Quellcode]

Function to reload all logics

DEPRECATED - Use the Logics-API instead

return_logic(name)[Quellcode]

Returns (the object of) one loaded logic with given name

DEPRECATED - Use the Logics-API instead

Parameter

name (str) – name of the logic to get

Rückgabe

object of the logic

Rückgabetyp

object

return_logics()[Quellcode]

Returns a list with the names of all loaded logics

DEPRECATED - Use the Logics-API instead

Rückgabe

list of logic names

Rückgabetyp

list

now()[Quellcode]

Returns the actual time in a timezone aware format

DEPRECATED - Use the Shtime-API instead

Rückgabe

Actual time for the local timezone

Rückgabetyp

datetime

tzinfo()[Quellcode]

Returns the info about the actual local timezone

DEPRECATED - Use the Shtime-API instead

Rückgabe

Timezone info

Rückgabetyp

str

utcnow()[Quellcode]

Returns the actual time in GMT

DEPRECATED - Use the Shtime-API instead

Rückgabe

Actual time in GMT

Rückgabetyp

datetime

utcinfo()[Quellcode]

Returns the info about the GMT timezone

DEPRECATED - Use the Shtime-API instead

Rückgabe

Timezone info

Rückgabetyp

str

runtime()[Quellcode]

Returns the uptime of SmartHomeNG

DEPRECATED - Use the Shtime-API instead

Rückgabe

Uptime in days, hours, minutes and seconds

Rückgabetyp

str