Class SmartPlugin

Die Klasse SmartPlugin implementiert die Basisklasse aller SmartPlugins. Die vorhandenen Methoden sind im Folgenden beschrieben.

Zusätzlich werden die Methoden der Klasse lib.utils.Utils vererbt.

class lib.model.smartplugin.SmartPlugin(*args, **kargs)[Quellcode]

Bases: lib.model.smartobject.SmartObject, lib.utils.Utils

The class SmartPlugin implements the base class of call smart-plugins. The implemented methods are described below.

In adition the methods implemented in lib.utils.Utils are inhereted.

ALLOW_MULTIINSTANCE = None
shtime = None

Variable containing a pointer to the SmartHomeNG time handling object; is initialized during loading of the plugin; :Warning: Don’t change it

logger = <Logger lib.model.smartplugin (WARNING)>
alive = False
deinit()[Quellcode]

If the Plugin needs special code to be executed before it is unloaded, this method has to be overwirtten with the code needed for de-initialization

get_configname()[Quellcode]

return the name of the plugin instance as defined in plugin.yaml (section name)

Note

Only available in SmartHomeNG versions beyond v1.4

Rückgabe

name of the plugin instance as defined in plugin.yaml

Rückgabetyp

str

get_shortname()[Quellcode]

return the shortname of the plugin (name of it’s directory)

Note

Only available in SmartHomeNG versions beyond v1.3

Rückgabe

shortname of the plugin

Rückgabetyp

str

get_instance_name()[Quellcode]

Returns the name of this instance of the plugin

Rückgabe

instance name

Rückgabetyp

str

get_fullname()[Quellcode]

return the full name of the plugin (shortname & instancename)

Note

Only available in SmartHomeNG versions v1.3c and up

Rückgabe

full name of the plugin

Rückgabetyp

str

get_classname()[Quellcode]

return the classname of the plugin

Note

Only available in SmartHomeNG versions beyond v1.3

Rückgabe

classname of the plugin

Rückgabetyp

str

get_version(extended=False)[Quellcode]

Return plugin version

Parameter

extended (bool) – If True, returned version string contains (pv) if not the latest version is loaded

Rückgabe

plugin version

Rückgabetyp

str

is_multi_instance_capable()[Quellcode]

Returns information if plugin is capable of multi instance handling

Rückgabe

True: If multiinstance capable

Rückgabetyp

bool

get_plugin_dir()[Quellcode]

return the directory where the pluing files are stored in

Note

Only available in SmartHomeNG versions beyond v1.3

Rückgabe

name of the directory

Rückgabetyp

str

get_info()[Quellcode]

Returns a small plugin info like: class, version and instance name

Rückgabe

plugin Info

Rückgabetyp

str

get_parameter_value(parameter_name)[Quellcode]

Returns the configured value for the given parameter name

If the parameter is not defined, None is returned

Parameter

parameter_name (str) – Name of the parameter for which the value should be retrieved

Rückgabe

Configured value

Rückgabetyp

depends on the type of the parameter definition

get_parameter_value_for_display(parameter_name)[Quellcode]

Returns the configured value for the given parameter name

If the parameter is not defined, None is returned If the parameter is marked as ‚hide‘, only ‚*‘s are returned

Parameter

parameter_name (str) – Name of the parameter for which the value should be retrieved

Rückgabe

Configured value

Rückgabetyp

depends on the type of the parameter definition

update_config_section(param_dict)[Quellcode]

Update the config section of ../etc/plugin.yaml

Parameter

param_dict – dict with the pareters that should be updated

Rückgabe

get_loginstance()[Quellcode]

Returns a prefix for logmessages of multi instance capable plugins.

The result is an empty string, if the instancename is empty. Otherwise the result is a string containing the instance name preseeded by a ‚@‘ and traild by ‚: ‚.

This way it is easy to show the instance name in log messages. Just write

self.logger.info(self.get_loginstance()+“Your text“)

and the logmessage is preseeded by the instance name, if needed.

Rückgabe

instance name for logstring

Rückgabetyp

str

has_iattr(conf, attr)[Quellcode]

checks item configuration for an attribute

Parameter
  • conf (str) – item configuration

  • attr (str) – attribute name

Rückgabe

True, if attribute is in item configuration

Rückgabetyp

Boolean

get_iattr_value(conf, attr)[Quellcode]

Returns value for an attribute from item config

Parameter
  • conf (str) – item configuration

  • attr (str) – attribute name

Rückgabe

value of an attribute

Rückgabetyp

str

set_attr_value(conf, attr, value)[Quellcode]

Set value for an attribute in item configuration

Parameter
  • conf (str) – item configuration

  • attr (str) – attribute name

  • value (str) – value to set the atteibute to

get_sh()[Quellcode]

Return the main object of smarthomeNG (usually refered to as smarthome or sh) You can reference the main object of SmartHomeNG by using self.get_sh() in your plugin

Note

Only available in SmartHomeNG versions beyond v1.3

Rückgabe

the main object of smarthomeNG (usually refered to as smarthome or sh)

Rückgabetyp

object

get_module(modulename)[Quellcode]

Test if module http is loaded and if loaded, return a handle to the module

path_join(path, dir)[Quellcode]

Join an existing path and a directory

parse_logic(logic)[Quellcode]

This method is used to parse the configuration of a logic for this plugin. It is called for all plugins before the plugins are started (calling all run methods).

Note

This method should to be overwritten by the plugin implementation.

parse_item(item)[Quellcode]

This method is used to parse the configuration of an item for this plugin. It is called for all plugins before the plugins are started (calling all run methods).

Note

This method should to be overwritten by the plugin implementation.

now()[Quellcode]

Returns SmartHomeNGs current time (timezone aware)

scheduler_return_next(name)[Quellcode]
scheduler_trigger(name, obj=None, by=None, source=None, value=None, dest=None, prio=3, dt=None)[Quellcode]

This methods triggers the scheduler entry for a plugin-scheduler

A plugin identification is added to the scheduler name

The parameters are identical to the scheduler.trigger method from lib.scheduler

scheduler_add(name, obj, prio=3, cron=None, cycle=None, value=None, offset=None, next=None)[Quellcode]

This methods adds a scheduler entry for a plugin-scheduler

A plugin identification is added to the scheduler name

The parameters are identical to the scheduler.add method from lib.scheduler

scheduler_change(name, **kwargs)[Quellcode]

This methods changes a scheduler entry of a plugin-scheduler

A plugin identification is added to the scheduler name

The parameters are identical to the scheduler.change method from lib.scheduler

scheduler_remove(name)[Quellcode]

This methods removes a scheduler entry of a plugin-scheduler

A plugin identifiction is added to the scheduler name

The parameters are identical to the scheduler.remove method from lib.scheduler

scheduler_get(name)[Quellcode]

This methods gets a scheduler entry of a plugin-scheduler

A plugin identifiction is added to the scheduler name

The parameters are identical to the scheduler.get method from lib.scheduler

run()[Quellcode]

This method of the plugin is called to start the plugin

Note

This method needs to be overwritten by the plugin implementation. Otherwise an error will be raised

stop()[Quellcode]

This method of the plugin is called to stop the plugin when SmartHomeNG shuts down

Note

This method needs to be overwritten by the plugin implementation. Otherwise an error will be raised

translate(txt, vars=None, block=None)[Quellcode]

Returns translated text

init_webinterface(WebInterface=None)[Quellcode]

“ Initialize the web interface for this plugin

This method is only needed if the plugin is implementing a web interface