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='', config_etc=False)[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 referred to as
sh
,_sh
orsmarthome
.- BASE = '/home/runner/work/smarthome/smarthome/smarthomeng'
- initialize_vars()[Quellcode]
- initialize_dir_vars()[Quellcode]
- create_directories()[Quellcode]
Create directories used by SmartHomeNG if they don’t exist
- property lat: float
Read-Only Property: latitude (from smarthome.yaml)
- Rückgabe:
latitude (from smarthome.yaml)
- property lon: float
Read-Only Property: longitude (from smarthome.yaml)
- Rückgabe:
longitude (from smarthome.yaml)
- 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ückgabetyp:
str
- Rückgabe:
Config directory as an absolute path
- get_structsdir()[Quellcode]
Function to return the structs config directory
- Rückgabetyp:
str
- Rückgabe:
Config directory as an absolute path
- get_vardir()[Quellcode]
Function to return the var directory used by SmartHomeNG
- Rückgabe:
var directory as an absolute path
- Rückgabetyp:
str
- get_config_dir(config)[Quellcode]
Function to return a config dir used by SmartHomeNG replace / prevent a plethora of get_<foo>dir() functions
Returns ‚‘ for invalid config strings.
- Rückgabe:
directory as an absolute path
- Rückgabetyp:
str
- get_config_file(config, extension='.yaml')[Quellcode]
Function to return a config file used by SmartHomeNG
Returns ‚‘ for invalid config strings.
- Rückgabe:
file name 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.
- 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
If SmartHomeNG was started in one of the foreground modes (-f, -i, -d), just quit and let the user restart manually.
- list_threads(txt)[Quellcode]
- 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
- static get_instance()[Quellcode]
returns the instance of running smarthome class
lib.item
Eine der wichtigsten Objekt-Klassen von SmartHomeNG ist die Item Klasse: