Ankündigung

Einklappen
Keine Ankündigung bisher.

Supportthread für Kodi Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Supportthread für Kodi Plugin

    Ich bearbeite gerade das alte xbmc Plugin und habe eine fette Aktualisierung in den develop gepusht. Bitte testen und Probleme hier melden. https://github.com/smarthomeNG/plugins/pull/241

    Titel und Media State Abfrage muss noch implementiert werden, ansonsten sollte soweit alles klappen.
    Zuletzt geändert von Onkelandy; 19.05.2019, 22:59.

    #2
    Inzwischen hat sich einiges getan. Momentan sieht es recht robust aus. Gerne testen.

    Kommentar


      #3
      Hallo

      ich wollte heute Abend meine 2 Kodi Instanzen mit SmarthomeNG verheiraten und bin dabei kläglichst gescheitert ...

      Infos zum System: SmarthomeNG 1.6.(1) - plugins aus develop
      Kodi: Libreelec auf Raspberry Pi 4 - 9.1.502 (letzte offizielle Version) - Kodi 18.4

      plugin.yaml:
      Code:
      kodi:
          plugin_name: kodi
          host: 192.168.1.81
          autoreconnect: True
          instance: 'wohnzimmer'
      log:

      Code:
      2019-11-17  22:05:50 INFO     Main         Loading '/usr/local/smarthome/plugins/kodi/plugin.yaml' to 'OrderedDict'
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': Metadata paramlist = '['host', 'port', 'instance', 'autoreconnect', 'connect_retries', 'connect_cycle', 'send_retries']'
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': Metadata itemdeflist = '['kodi_item']'
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': Metadata plugin_functionlist = '['notify']'
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title, message, image, display_time)']'
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title:str, message:str, image:str, display_time:int)']'
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title, message, image=None, display_time=10000)']'
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title:str, message:str, image:str=None, display_time:int=10000)']'
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': Metadata itemstructlist = '[]'
      2019-11-17  22:05:50 INFO     Main         add_struct_definition: struct 'kodi.query' = OrderedDict([('name', 'Vorlage-Struktur für Kodi Infos, die nicht aktiv verämndert werden können.'), ('state', OrderedDict([('kodi_item@instance', 'state'), ('type', 'str'), ('visu_acl', 'ro')])), ('title', OrderedDict([('kodi_item@instance', 'title'), ('type', 'str'), ('visu_acl', 'ro')])), ('media', OrderedDict([('kodi_item@instance', 'media'), ('type', 'str'), ('visu_acl', 'ro')])), ('player', OrderedDict([('kodi_item@instance', 'player'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)]))])
      2019-11-17  22:05:50 INFO     Main         add_struct_definition: struct 'kodi.control' = OrderedDict([('name', 'Vorlage-Struktur für Kodi Befehle zum Steuern'), ('mute', OrderedDict([('kodi_item@instance', 'mute'), ('type', 'bool'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('volume', OrderedDict([('kodi_item@instance', 'volume'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('speed', OrderedDict([('kodi_item@instance', 'speed'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('on_off', OrderedDict([('kodi_item@instance', 'on_off'), ('enforce_updates', True), ('type', 'bool'), ('visu_acl', 'rw')])), ('input', OrderedDict([('kodi_item@instance', 'input'), ('type', 'str'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('favourites', OrderedDict([('kodi_item@instance', 'favourites'), ('type', 'str'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('macro', OrderedDict([('kodi_item@instance', 'macro'), ('type', 'str'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('audiostream', OrderedDict([('kodi_item@instance', 'audiostream'), ('type', 'foo'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('subtitle', OrderedDict([('kodi_item@instance', 'subtitle'), ('type', 'list'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('seek', OrderedDict([('kodi_item@instance', 'seek'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('home', OrderedDict([('kodi_item@instance', 'home'), ('type', 'bool'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('stop', OrderedDict([('type', 'bool'), ('eval', "sh...input('stop')"), ('enforce_updates', True)])), ('play', OrderedDict([('type', 'bool'), ('eval', "sh...input('play')"), ('enforce_updates', True)])), ('pause', OrderedDict([('type', 'bool'), ('eval', "sh...input('pause')"), ('enforce_updates', True)])), ('previous', OrderedDict([('type', 'bool'), ('eval', "sh...input('skipprevious')"), ('enforce_updates', True)])), ('next', OrderedDict([('type', 'bool'), ('eval', "sh...input('skipnext')"), ('enforce_updates', True)])), ('select', OrderedDict([('type', 'bool'), ('eval', "sh...input('select')"), ('enforce_updates', True)])), ('contextmenu', OrderedDict([('type', 'str'), ('eval', "sh...input('contextmenu')"), ('enforce_updates', True)]))])
      2019-11-17  22:05:50 INFO     Main         Loading '/usr/local/smarthome/plugins/kodi/locale.yaml' to 'dict'
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': value not found in plugin configuration file for parameter 'port' -> using default value '9090' instead
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': value not found in plugin configuration file for parameter 'instance' -> using default value '' instead
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': value not found in plugin configuration file for parameter 'connect_retries' -> using default value '10' instead
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': value not found in plugin configuration file for parameter 'connect_cycle' -> using default value '5' instead
      2019-11-17  22:05:50 INFO     Main         plugin 'kodi': value not found in plugin configuration file for parameter 'send_retries' -> using default value '5' instead
      2019-11-17  22:05:50 INFO     Main         Initialized plugin 'kodi' instance 'wohnzimmer' from from section 'kodi'
      wobei ich auch schon versucht hätte die Instanz wegzulassen - die items dementsprechend die Instanz weggenommen - auch dort keine Verbindung möglich
      Ports sind bei Kodi alle Standard belassen
      Steuern mit KORE funktioniert einwandfrei - also auf der Kodi Seite hätte ich keine Fehler gesehen (wobei ichs nicht für unmöglich halte)

      Kommentar


        #4
        Du sprichst von 2 Instanzen - wie sehen da die Einträge zu beiden Instanzen in der plugin.yaml aus? Im Log steht, dass instance nicht gefunden wurde, aber bei der Initialisierung passt es dann doch wieder. Hier ist also am ehesten was mit deiner Config nicht sauber.

        Was passiert denn nach der Initialisierung!? Logfile bitte.

        Kommentar


          #5
          Start Log (bereinigt um div. Plugins (duw, unifi, mqtt)

          Kodi mit 192.168.1.81 läuft aktuell, 192.168.1.82 läuft NICHT

          Code:
           
          2019-11-18 10:15:49 WARNING Main -------------------- Init SmartHomeNG 1.6.master (1dcb4fb5) --------------------
          2019-11-18 10:15:49 WARNING Main Running in Python interpreter 'v3.5.3 final' (pid=11770) on linux platform
          2019-11-18 10:15:49 INFO Main test_requirements: filepath '/usr/local/smarthome/requirements/base.txt' is checked
          2019-11-18 10:15:49 INFO Main Loading '/usr/local/smarthome/etc/plugin.yaml' to 'dict'
          2019-11-18 10:15:50 INFO Main test_requirements: filepath '/usr/local/smarthome/requirements/conf_all.txt' is checked
          2019-11-18 10:15:50 INFO Main Init Scheduler
          2019-11-18 10:15:50 INFO Main Init loadable Modules
          2019-11-18 10:15:50 INFO Main Loading '/usr/local/smarthome/etc/module.yaml' to 'OrderedDict'
          2019-11-18 10:15:50 INFO Main Module 'http': module_name 'http' was extracted from classpath 'modules.http'
          2019-11-18 10:15:50 INFO Main Loading '/usr/local/smarthome/modules/http/module.yaml' to 'OrderedDict'
          2019-11-18 10:15:50 INFO Main module 'http': Metadata paramlist = '['user', 'password', 'hashed_password', 'service_user', 'service_password', 'service_hashed_password', 'ip', 'port', 'tls_port', 'use_tls', 'tls_cert', 'tls_key', 'servicesport', 'showpluginlist', 'showservicelist', 'starturl', 'threads', 'showtraceback']'
          2019-11-18 10:15:50 INFO Main module 'http': has no item-struct definitions in metadata
          2019-11-18 10:15:50 INFO Main Loading module 'http': args = '{'servicesport': "'4321'", 'port': "'8383'", 'starturl': "'admin'"}'
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'user' -> using default value 'admin' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'password' -> using default value '' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'hashed_password' -> using default value '' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'service_user' -> using default value 'serviceuser' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'service_password' -> using default value '' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'service_hashed_password' -> using default value '' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'ip' -> using default value '0.0.0.0' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'tls_port' -> using default value '8385' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'use_tls' -> using default value 'False' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'tls_cert' -> using default value 'shng.cer' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'tls_key' -> using default value 'shng.key' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'showpluginlist' -> using default value 'True' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'showservicelist' -> using default value 'False' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'threads' -> using default value '4' instead
          2019-11-18 10:15:51 INFO Main module 'http': value not found in plugin configuration file for parameter 'showtraceback' -> using default value 'False' instead
          2019-11-18 10:15:51 INFO Main Module 'http': ip address = 192.168.1.20, hostname = 'Router'
          2019-11-18 10:15:51 INFO Main _hostmap_webifs = {'Router.local:8383': '/msg', '192.168.1.20:8383': '/msg', 'Router:8383': '/msg'}
          2019-11-18 10:15:51 INFO Main _hostmap_services = {'192.168.1.20:4321': '/msg', 'Router:4321': '/msg', 'Router.local:4321': '/msg'}
          2019-11-18 10:15:51 INFO Main [18/Nov/2019:10:15:51] ENGINE Bus STARTING
          2019-11-18 10:15:51 INFO Main [18/Nov/2019:10:15:51] ENGINE Serving on http://192.168.1.20:4321
          2019-11-18 10:15:51 INFO Main [18/Nov/2019:10:15:51] ENGINE Serving on http://192.168.1.20:8383
          2019-11-18 10:15:51 INFO Main [18/Nov/2019:10:15:51] ENGINE Bus STARTED
          2019-11-18 10:15:51 INFO Main mount '/plugins' - webif_dir = '/usr/local/smarthome/modules/http/webif'
          2019-11-18 10:15:51 INFO Main Module http: config dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/modules/http/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}'
          2019-11-18 10:15:51 INFO Main - user 'admin', password '', hashed_password ''
          2019-11-18 10:15:51 INFO Main Module http: Registering webinterface 'plugins' of plugin 'plugins' from pluginclass '' instance ''
          2019-11-18 10:15:51 INFO Main - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/modules/http/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}'
          2019-11-18 10:15:51 INFO Main Modules: Loaded module 'http' (class 'Http') v1.6.0: Modul zur Implementierung von Backend-Webinterfaces für Plugins
          2019-11-18 10:15:51 INFO Main Loading '/usr/local/smarthome/modules/admin/module.yaml' to 'OrderedDict'
          2019-11-18 10:15:51 INFO Main module 'admin': Metadata paramlist = '['login_expiration', 'login_autorenew', 'pypi_timeout', 'itemtree_fullpath', 'itemtree_searchstart', 'websocket_host', 'websocket_port', 'log_chunksize']'
          2019-11-18 10:15:51 INFO Main module 'admin': has no item-struct definitions in metadata
          2019-11-18 10:15:51 INFO Main Loading module 'admin': args = '{'module_name': "'admin'"}'
          2019-11-18 10:15:52 INFO Main module 'admin': value not found in plugin configuration file for parameter 'login_expiration' -> using default value '48.0' instead
          2019-11-18 10:15:52 INFO Main module 'admin': value not found in plugin configuration file for parameter 'login_autorenew' -> using default value 'True' instead
          2019-11-18 10:15:52 INFO Main module 'admin': value not found in plugin configuration file for parameter 'pypi_timeout' -> using default value '5' instead
          2019-11-18 10:15:52 INFO Main module 'admin': value not found in plugin configuration file for parameter 'itemtree_fullpath' -> using default value 'True' instead
          2019-11-18 10:15:52 INFO Main module 'admin': value not found in plugin configuration file for parameter 'itemtree_searchstart' -> using default value '2.0' instead
          2019-11-18 10:15:52 INFO Main module 'admin': value not found in plugin configuration file for parameter 'websocket_host' -> using default value '0.0.0.0' instead
          2019-11-18 10:15:52 INFO Main module 'admin': value not found in plugin configuration file for parameter 'websocket_port' -> using default value '2424' instead
          2019-11-18 10:15:52 INFO Main module 'admin': value not found in plugin configuration file for parameter 'log_chunksize' -> using default value '1000' instead
          2019-11-18 10:15:52 INFO Main Modules: Loaded module 'admin' (class 'Admin') v1.6.0: Dieses Modul implementiert das Administrationinterface von SmartHomeNG
          2019-11-18 10:15:52 INFO Main Loaded Modules: ['admin', 'http']
          2019-11-18 10:15:52 INFO Main Start Modules
          2019-11-18 10:15:52 INFO Main Module 'admin': webif_dir = webif_dir = /usr/local/smarthome/modules/admin/webif
          2019-11-18 10:15:52 INFO Main Module http: Registering webinterface 'admin' of plugin 'admin' from pluginclass 'admin' instance ''
          2019-11-18 10:15:52 INFO Main - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/': {'tools.expires.on': True, 'tools.staticdir.on': True, 'tools.caching.delay': 6, 'error_page.404': '/usr/local/smarthome/modules/admin/webif/static/index.html', 'tools.caching.force': False, 'tools.expires.secs': 6, 'tools.staticdir.index': 'index.html', 'tools.staticdir.root': '/usr/local/smarthome/modules/admin/webif', 'tools.staticdir.dir': 'static', 'tools.chaching.on': False}}'
          2019-11-18 10:15:52 INFO Main self._applications['admin'] = {'Mount': '/admin', 'Pluginname': 'admin', 'Instance': '', 'Pluginclass': 'admin', 'Description': 'Administrationsoberfläche für SmartHomeNG', 'Webifname': 'admin', 'Conf': {'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/': {'tools.expires.on': True, 'tools.staticdir.on': True, 'tools.caching.delay': 6, 'error_page.404': '/usr/local/smarthome/modules/admin/webif/static/index.html', 'tools.caching.force': False, 'tools.expires.secs': 6, 'tools.staticdir.index': 'index.html', 'tools.staticdir.root': '/usr/local/smarthome/modules/admin/webif', 'tools.staticdir.dir': 'static', 'tools.chaching.on': False}}}
          2019-11-18 10:15:52 INFO Main Loading '/usr/local/smarthome/modules/core/module.yaml' to 'dict'
          2019-11-18 10:15:52 INFO Main Loading '/usr/local/smarthome/modules/http/module.yaml' to 'dict'
          2019-11-18 10:15:52 INFO Main Loading '/usr/local/smarthome/modules/admin/module.yaml' to 'dict'
          2019-11-18 10:15:53 INFO Main __init__ self.logics = None
          2019-11-18 10:15:53 INFO Main __init__ self.plugins = None
          2019-11-18 10:15:53 INFO Main __init__ self.scheduler = <Scheduler(Scheduler, started 1975788656)>
          2019-11-18 10:15:53 INFO Main Loading '/usr/local/smarthome/etc/logging.yaml' to 'dict'
          2019-11-18 10:15:53 INFO Main logging_conf: self.root_logname = smarthome
          2019-11-18 10:15:53 INFO Main PluginController(): __init__
          2019-11-18 10:15:53 INFO Main Module http: Registering webinterface 'api' of plugin 'api' from pluginclass 'api' instance ''
          2019-11-18 10:15:53 INFO Main - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/': {'error_page.405': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'tools.expires.on': True, 'tools.caching.delay': 6, 'request.dispatch': <cherrypy._cpdispatch.MethodDispatcher object at 0x75c99ab0>, 'tools.expires.secs': 6, 'error_page.411': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'error_page.500': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'error_page.401': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'error_page.404': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'error_page.400': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'tools.chaching.on': False, 'tools.caching.force': False}}'
          2019-11-18 10:15:53 INFO Main self._applications['api'] = {'Mount': '/api', 'Pluginname': 'api', 'Instance': '', 'Pluginclass': 'api', 'Description': 'API der Administrationsoberfläche für SmartHomeNG', 'Webifname': 'api', 'Conf': {'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/': {'error_page.405': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'tools.expires.on': True, 'tools.caching.delay': 6, 'request.dispatch': <cherrypy._cpdispatch.MethodDispatcher object at 0x75c99ab0>, 'tools.expires.secs': 6, 'error_page.411': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'error_page.500': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'error_page.401': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'error_page.404': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'error_page.400': <bound method Admin._error_page of <modules.admin.Admin object at 0x723dcbb0>>, 'tools.chaching.on': False, 'tools.caching.force': False}}}
          2019-11-18 10:15:53 INFO Main Init Plugins
          2019-11-18 10:15:53 INFO Main Loading '/usr/local/smarthome/etc/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:15:53 INFO Main Loading '/usr/local/smarthome/bin/locale.yaml' to 'dict'
          2019-11-18 10:15:54 INFO Main Loaded global translations = {'Item': {'en': '=', 'fr': 'Objet', 'de': '='}, 'IP': {'en': '=', 'fr': '=', 'de': '='}, 'Funktion': {'en': 'Function', 'fr': 'Fonction', 'de': '='}, 'Aktiv': {'en': 'Active', 'fr': 'Actif', 'de': '='}, 'Scheduler': {'en': 'Scheduler', 'fr': '', 'de': '='}, 'deaktiviert': {'de': '=', 'en': 'disabled'}, 'Stunde': {'en': 'hour', 'fr': 'heure', 'de': '='}, 'Pfad': {'en': 'Path', 'fr': '', 'de': '='}, 'Dienste': {'en': 'Services', 'fr': '', 'de': '='}, 'Szenen': {'en': 'Scenes', 'fr': '', 'de': '='}, 'Clients': {'en': '=', 'fr': '', 'de': '='}, 'Verbunden': {'de': '=', 'en': 'Connected'}, 'Plugins': {'en': '=', 'fr': '', 'de': '='}, 'Thread': {'en': '=', 'fr': '', 'de': '='}, 'Version': {'en': '=', 'fr': '=', 'de': '='}, 'Sekunden': {'en': 'seconds', 'fr': 'secondes', 'de': '='}, 'Wert': {'en': 'Value', 'fr': 'Valeur', 'de': '='}, 'Benutzer': {'en': 'User', 'fr': 'Utilisateur', 'de': '='}, 'Typ': {'en': 'Type', 'fr': 'Type', 'de': '='}, 'Geräte': {'en': 'Devices', 'fr': 'Appareils', 'de': '='}, 'Adresse': {'en': 'Address', 'fr': 'Adresse', 'de': '='}, 'Szene': {'en': 'Scene', 'fr': '', 'de': '='}, 'Nein': {'en': 'No', 'fr': 'Non', 'de': '='}, 'Port': {'en': '=', 'fr': '=', 'de': '='}, 'Dienst': {'en': 'Service', 'fr': '', 'de': '='}, 'Ja': {'en': 'Yes', 'fr': 'Qui', 'de': '='}, 'Urheberrechtshinweise': {'en': 'Disclosure', 'fr': '', 'de': '='}, 'Threads': {'en': '=', 'fr': '', 'de': '='}, 'Logik': {'en': 'Logic', 'fr': '', 'de': '='}, 'Tage': {'en': 'days', 'fr': 'jours', 'de': '='}, 'Aktualisieren': {'en': 'Update', 'fr': 'Recharger', 'de': '='}, 'Letzter Change': {'en': 'Last Change', 'fr': '', 'de': '='}, 'Logiken': {'en': 'Logics', 'fr': '', 'de': '='}, 'Instanz': {'en': 'Instance', 'fr': '=', 'de': '='}, 'Sekunde': {'en': 'second', 'fr': 'seconde', 'de': '='}, 'aktiviert': {'de': '=', 'en': 'enabled'}, 'Gestoppt': {'en': 'Stopped', 'fr': 'Arrêté', 'de': '='}, 'Host': {'en': '=', 'fr': 'Hôte', 'de': '='}, 'Scheduler (plural)': {'en': 'Schedulers', 'fr': '', 'de': 'Scheduler'}, 'Tag': {'en': 'day', 'fr': 'jour', 'de': '='}, 'Kanal': {'en': 'Channel', 'fr': 'Canal', 'de': '='}, 'Knoten': {'en': 'Node', 'fr': 'noeud', 'de': '='}, 'Status': {'en': '=', 'fr': '', 'de': '='}, 'Stunden': {'en': 'hours', 'fr': 'heures', 'de': '='}, 'Items': {'en': '=', 'fr': 'Objets', 'de': '='}, 'Name': {'en': '=', 'fr': 'Nom', 'de': '='}, 'Client': {'en': '=', 'fr': '', 'de': '='}, 'Schließen': {'en': 'Close', 'fr': 'Fermer', 'de': '='}, 'Letztes Update': {'en': 'Last Update', 'fr': '', 'de': '='}, 'Plugin': {'en': '=', 'fr': '', 'de': '='}, 'Firmware': {'en': '=', 'fr': 'Micrologiciel', 'de': '='}, 'Minuten': {'en': 'minutes', 'fr': 'minutes', 'de': '='}, 'Logging': {'en': '=', 'fr': '', 'de': '='}, 'Minute': {'en': 'minute', 'fr': 'minute', 'de': '='}, 'Gerät': {'en': 'Device', 'fr': 'Appareil', 'de': '='}, 'Passwort': {'de': '=', 'en': 'Password'}, 'Laufzeit': {'de': '=', 'en': 'Uptime'}, 'Protokoll': {'en': 'Protocol', 'fr': 'Protocole', 'de': '='}, 'Browser': {'en': '=', 'fr': 'Navigateur', 'de': '='}}
          2019-11-18 10:15:54 INFO Main Load plugins
          2019-11-18 10:15:54 INFO Main Loading '/usr/local/smarthome/plugins/backend/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:15:54 INFO Main plugin 'backend': Metadata paramlist = '['updates_allowed', 'developer_mode', 'pypi_timeout']'
          2019-11-18 10:15:54 INFO Main Loading '/usr/local/smarthome/plugins/backend/locale.yaml' to 'dict'
          2019-11-18 10:15:54 INFO Main plugin 'backend': value not found in plugin configuration file for parameter 'updates_allowed' -> using default value 'True' instead
          2019-11-18 10:15:54 INFO Main plugin 'backend': value not found in plugin configuration file for parameter 'developer_mode' -> using default value 'False' instead
          2019-11-18 10:15:54 INFO Main plugin 'backend': value not found in plugin configuration file for parameter 'pypi_timeout' -> using default value '5' instead
          2019-11-18 10:15:54 INFO Main WebInterface: Running from '/usr/local/smarthome/plugins/backend/webif'
          2019-11-18 10:15:54 INFO Main BackendSysteminfo __init__
          2019-11-18 10:15:54 INFO Main BackendServices __init__
          2019-11-18 10:15:54 INFO Main BackendItems __init__ <lib.item.Items object at 0x75ca2670>
          2019-11-18 10:15:54 INFO Main BackendLogics __init__ self.logics = None
          2019-11-18 10:15:54 INFO Main BackendLogics __init__ self.plugins = <lib.plugin.Plugins object at 0x6a11c510>
          2019-11-18 10:15:54 INFO Main BackendLogics __init__ self.scheduler = <Scheduler(Scheduler, started 1975788656)>
          2019-11-18 10:15:54 INFO Main BackendSchedulers __init__ self.scheduler = <Scheduler(Scheduler, started 1975788656)>
          2019-11-18 10:15:54 INFO Main BackendPlugins __init__ self.plugins = <lib.plugin.Plugins object at 0x6a11c510>
          2019-11-18 10:15:54 INFO Main BackendScenes __init__
          2019-11-18 10:15:54 INFO Main BackendThreads __init__
          2019-11-18 10:15:54 INFO Main BackendLogging __init__
          2019-11-18 10:15:54 INFO Main Module http: Registering webinterface 'backend' of plugin 'backend' from pluginclass 'BackendServer' instance ''
          2019-11-18 10:15:54 INFO Main - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/backend/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}'
          2019-11-18 10:15:54 INFO Main self._applications['backend'] = {'Mount': '/backend', 'Pluginname': 'backend', 'Instance': '', 'Pluginclass': 'BackendServer', 'Description': 'Administrationsoberfläche für SmartHomeNG', 'Webifname': 'backend', 'Conf': {'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/backend/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}}
          2019-11-18 10:15:54 INFO Main Initialized plugin 'backend' from from section 'BackendServer'
          2019-11-18 10:15:54 INFO Main Loading '/usr/local/smarthome/plugins/knx/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:15:55 INFO Main plugin 'knx': Metadata paramlist = '['time_ga', 'date_ga', 'send_time', 'busmonitor', 'host', 'port', 'readonly', 'enable_stats', 'instance']'
          2019-11-18 10:15:55 INFO Main plugin 'knx': Metadata itemdeflist = '['knx_dpt', 'knx_send', 'knx_listen', 'knx_init', 'knx_cache', 'knx_reply', 'knx_status', 'knx_poll']'
          2019-11-18 10:15:55 INFO Main plugin 'knx': Metadata logic_paramlist = '['knx_listen', 'knx_reply']'
          2019-11-18 10:15:55 INFO Main plugin 'knx': Metadata plugin_functionlist = '['encode', 'groupwrite', 'groupread', 'send_time']'
          2019-11-18 10:15:55 INFO Main plugin 'knx': Metadata get_plugin_function_defstrings -> '['encode(data, dpt)', 'groupread(ga, cache)', 'groupwrite(ga, data, dpt)', 'send_time(time_ga, date_ga)']'
          2019-11-18 10:15:55 INFO Main plugin 'knx': Metadata get_plugin_function_defstrings -> '['encode(data:foo, dpt:foo)', 'groupread(ga:knx_ga, cache:bool)', 'groupwrite(ga:knx_ga, data:foo, dpt:str)', 'send_time(time_ga:knx_ga, date_ga:knx_ga)']'
          2019-11-18 10:15:55 INFO Main plugin 'knx': Metadata get_plugin_function_defstrings -> '['encode(data, dpt)', 'groupread(ga, cache=False)', 'groupwrite(ga, data, dpt)', 'send_time(time_ga, date_ga)']'
          2019-11-18 10:15:55 INFO Main plugin 'knx': Metadata get_plugin_function_defstrings -> '['encode(data:foo, dpt:foo)', 'groupread(ga:knx_ga, cache:bool=False)', 'groupwrite(ga:knx_ga, data:foo, dpt:str)', 'send_time(time_ga:knx_ga, date_ga:knx_ga)']'
          2019-11-18 10:15:55 INFO Main Loading '/usr/local/smarthome/plugins/knx/locale.yaml' to 'dict'
          2019-11-18 10:15:55 INFO Main Plugin 'knx': Loaded plugin translations = {'Statistiken': {'en': 'Statistics', 'fr': 'Statistiques', 'de': '='}, 'Gruppen Adresse': {'en': 'Group Address', 'fr': '', 'de': '='}, 'Letzte KNX Aktivität': {'en': 'Last KNX activity', 'fr': 'Dernière activité KNX', 'de': '='}, '# gelesen': {'en': '# read', 'fr': '', 'de': '='}, '# geschrieben': {'en': '# write', 'fr': '', 'de': '='}, '# geantwortet': {'en': '# response', 'fr': '', 'de': '='}, 'Service für den KNX Support': {'en': 'Service deamon for the KNX support', 'fr': '', 'de': '='}}
          2019-11-18 10:15:55 INFO Main plugin 'knx': value not found in plugin configuration file for parameter 'date_ga' -> using default value '' instead
          2019-11-18 10:15:55 INFO Main plugin 'knx': value not found in plugin configuration file for parameter 'busmonitor' -> using default value 'off' instead
          2019-11-18 10:15:55 INFO Main plugin 'knx': value not found in plugin configuration file for parameter 'readonly' -> using default value 'False' instead
          2019-11-18 10:15:55 INFO Main plugin 'knx': value not found in plugin configuration file for parameter 'enable_stats' -> using default value 'True' instead
          2019-11-18 10:15:55 INFO Main plugin 'knx': value not found in plugin configuration file for parameter 'instance' -> using default value '' instead
          2019-11-18 10:15:55 INFO Main Module http: Registering webinterface 'knx' of plugin 'knx' from pluginclass 'KNX' instance ''
          2019-11-18 10:15:55 INFO Main - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/knx/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}'
          2019-11-18 10:15:55 INFO Main self._applications['knx'] = {'Mount': '/knx', 'Pluginname': 'knx', 'Instance': '', 'Pluginclass': 'KNX', 'Description': 'Webinterface knx of plugin knx', 'Webifname': 'knx', 'Conf': {'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/knx/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}}
          2019-11-18 10:15:55 INFO Main Initialized plugin 'knx' from from section 'knx'
          2019-11-18 10:15:56 INFO Main Loading '/usr/local/smarthome/plugins/visu_websocket/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': Metadata paramlist = '['ip', 'port', 'tls', 'acl', 'wsproto', 'querydef']'
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': Metadata itemdeflist = '['visu_acl']'
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': Metadata logic_paramlist = '['visu_acl']'
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': Metadata plugin_functionlist = '['url']'
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': Metadata get_plugin_function_defstrings -> '['url(url, clientip)']'
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': Metadata get_plugin_function_defstrings -> '['url(url:str, clientip:str)']'
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': Metadata get_plugin_function_defstrings -> '["url(url, clientip= '')"]'
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': Metadata get_plugin_function_defstrings -> '["url(url:str, clientip:str= '')"]'
          2019-11-18 10:15:56 INFO Main Loading '/usr/local/smarthome/plugins/visu_websocket/locale.yaml' to 'dict'
          2019-11-18 10:15:56 INFO Main Plugin 'visu': Loaded plugin translations = {'Visu Client': {'de': '=', 'en': '='}, 'Client Software': {'de': '=', 'en': '='}, 'Keine aktiven Clients': {'de': '=', 'en': 'No active clients'}, 'nicht aktiv': {'de': '=', 'en': 'disabled'}, 'Visu Zugriff': {'de': '=', 'en': 'Visu Access'}, 'Definitions-Abfrage': {'de': '=', 'en': 'Query definitions'}, 'Verboten': {'de': '=', 'en': 'Forbidden'}, 'nicht erlaubt': {'de': '=', 'en': 'disabled'}, 'aktiv': {'de': '=', 'en': 'enabled'}, 'Erlaubt': {'de': '=', 'en': 'Allowed'}, 'Websocket Protokoll': {'de': '=', 'en': 'Websocket protocol'}, 'erlaubt': {'de': '=', 'en': 'enabled'}, 'Standard Zugriff': {'de': '=', 'en': 'Default Access'}, 'Anzahl Clients': {'de': '=', 'en': 'Number of clients'}}
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': value not found in plugin configuration file for parameter 'ip' -> using default value '0.0.0.0' instead
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': value not found in plugin configuration file for parameter 'tls' -> using default value 'False' instead
          2019-11-18 10:15:56 INFO Main plugin 'visu_websocket': value not found in plugin configuration file for parameter 'querydef' -> using default value 'False' instead
          2019-11-18 10:15:56 INFO Main Module http: Registering webinterface 'visu_websocket' of plugin 'visu_websocket' from pluginclass 'WebSocket' instance ''
          2019-11-18 10:15:56 INFO Main - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/visu_websocket/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}'
          2019-11-18 10:15:56 INFO Main self._applications['visu_websocket'] = {'Mount': '/visu_websocket', 'Pluginname': 'visu_websocket', 'Instance': '', 'Pluginclass': 'WebSocket', 'Description': 'Webinterface visu_websocket of plugin visu_websocket', 'Webifname': 'visu_websocket', 'Conf': {'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/visu_websocket/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}}
          2019-11-18 10:15:56 INFO Main Initialized plugin 'visu_websocket' from from section 'visu'
          2019-11-18 10:15:56 INFO Main Loading '/usr/local/smarthome/plugins/telegram/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:15:56 INFO Main plugin 'telegram': Metadata paramlist = '['token', 'name', 'long_polling_timeout', 'welcome_msg', 'bye_msg', 'no_access_msg', 'no_write_access_msg', 'pretty_thread_names']'
          2019-11-18 10:15:56 INFO Main plugin 'telegram': Metadata itemdeflist = '['telegram_message', 'telegram_info', 'telegram_text', 'telegram_value_match_regex', 'telegram_chat_ids']'
          2019-11-18 10:15:56 INFO Main plugin 'telegram': Metadata plugin_functionlist = '['msg_broadcast', 'photo_broadcast']'
          2019-11-18 10:15:56 INFO Main plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg, chat_id)', 'photo_broadcast(photofile_or_url, caption, chat_id)']'
          2019-11-18 10:15:56 INFO Main plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg:str, chat_id:int)', 'photo_broadcast(photofile_or_url:str, caption:str, chat_id:int)']'
          2019-11-18 10:15:56 INFO Main plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg, chat_id)', 'photo_broadcast(photofile_or_url, caption, chat_id)']'
          2019-11-18 10:15:56 INFO Main plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg:str, chat_id:int)', 'photo_broadcast(photofile_or_url:str, caption:str, chat_id:int)']'
          2019-11-18 10:15:57 INFO Main Loading '/usr/local/smarthome/plugins/telegram/locale.yaml' to 'dict'
          2019-11-18 10:15:57 INFO Main Plugin 'telegram': Loaded plugin translations = {'Info from the items:': {'en': '=', 'fr': 'Info sur les Items:', 'de': 'Infos von den Items:'}, 'choose': {'en': '=', 'fr': 'Choisissez parmi', 'de': 'Auswählen'}, 'no items found with the attribute %s': {'en': '=', 'fr': 'Ne pas trouvée une Item avec %s', 'de': 'Keine Items mit Attribut %s gefunden'}, 'I will hide the keyboard': {'en': '=', 'fr': 'Je cache le clavier', 'de': 'Ich blende die Bedientasten aus'}, 'unknown command %s': {'en': '=', 'fr': 'commande inconnue %s:', 'de': 'Unbekanntes Kommando %s:'}}
          2019-11-18 10:15:57 INFO Main plugin 'telegram': value not found in plugin configuration file for parameter 'long_polling_timeout' -> using default value '120.0' instead
          2019-11-18 10:15:57 INFO Main plugin 'telegram': value not found in plugin configuration file for parameter 'bye_msg' -> using default value 'SmartHomeNG Telegram Plugin stops' instead
          2019-11-18 10:15:57 INFO Main plugin 'telegram': value not found in plugin configuration file for parameter 'no_access_msg' -> using default value 'This bot does not know your chat id and thus does not trust it, you are not allowed to use this bot' instead
          2019-11-18 10:15:57 INFO Main plugin 'telegram': value not found in plugin configuration file for parameter 'no_write_access_msg' -> using default value 'This bot knows your chat id but you are not allowed to use this bot to write to items' instead
          2019-11-18 10:15:57 INFO Main plugin 'telegram': value not found in plugin configuration file for parameter 'pretty_thread_names' -> using default value 'True' instead
          2019-11-18 10:15:57 INFO Main Telegram bot is listening: *****
          2019-11-18 10:15:57 INFO Main Module http: Registering webinterface 'telegram' of plugin 'telegram' from pluginclass 'Telegram' instance ''
          2019-11-18 10:15:57 INFO Main - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/telegram/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}'
          2019-11-18 10:15:57 INFO Main self._applications['telegram'] = {'Mount': '/telegram', 'Pluginname': 'telegram', 'Instance': '', 'Pluginclass': 'Telegram', 'Description': 'Webinterface telegram of plugin telegram', 'Webifname': 'telegram', 'Conf': {'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/telegram/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}}
          2019-11-18 10:15:57 INFO Main Initialized plugin 'telegram' from from section 'telegram'
          2019-11-18 10:15:57 INFO Main Loading '/usr/local/smarthome/plugins/visu_smartvisu/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:15:58 INFO Main plugin 'visu_smartvisu': Metadata paramlist = '['smartvisu_dir', 'generate_pages', 'overwrite_templates', 'visu_style', 'handle_widgets', 'instance']'
          2019-11-18 10:15:58 INFO Main plugin 'visu_smartvisu': Metadata itemdeflist = '['sv_page', 'sv_overview', 'sv_item_type', 'sv_img', 'sv_widget', 'sv_widget2', 'sv_nav_aside', 'sv_nav_aside2', 'sv_heading_left', 'sv_heading_center', 'sv_heading_right']'
          2019-11-18 10:15:58 INFO Main Loading '/usr/local/smarthome/plugins/visu_smartvisu/locale.yaml' to 'dict'
          2019-11-18 10:15:58 INFO Main plugin 'visu_smartvisu': value not found in plugin configuration file for parameter 'generate_pages' -> using default value 'True' instead
          2019-11-18 10:15:58 INFO Main plugin 'visu_smartvisu': value not found in plugin configuration file for parameter 'overwrite_templates' -> using default value 'True' instead
          2019-11-18 10:15:58 INFO Main plugin 'visu_smartvisu': value not found in plugin configuration file for parameter 'visu_style' -> using default value 'std' instead
          2019-11-18 10:15:58 INFO Main plugin 'visu_smartvisu': value not found in plugin configuration file for parameter 'handle_widgets' -> using default value 'True' instead
          2019-11-18 10:15:58 INFO Main plugin 'visu_smartvisu': value not found in plugin configuration file for parameter 'instance' -> using default value '' instead
          2019-11-18 10:15:58 INFO Main Initialized plugin 'visu_smartvisu' from from section 'smartvisu'
          2019-11-18 10:15:58 INFO Main Loading '/usr/local/smarthome/plugins/database/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:16:00 INFO Main plugin 'database': Metadata paramlist = '['driver', 'connect', 'prefix', 'cycle', 'precision']'
          2019-11-18 10:16:00 INFO Main plugin 'database': Metadata itemdeflist = '['database']'
          2019-11-18 10:16:00 INFO Main plugin 'database': Metadata plugin_functionlist = '['id', 'db', 'dump', 'insertLog', 'updateLog', 'readLog', 'deleteLog', 'readLogs', 'insertItem', 'updateItem', 'readItem', 'readItems', 'deleteItem', 'cleanup']'
          2019-11-18 10:16:00 INFO Main plugin 'database': Metadata get_plugin_function_defstrings -> '['cleanup()', 'db()', 'deleteItem(id)', 'deleteLog(id, time, time_start, time_end, changed, changed_start, changed_end, cur)', 'dump(dumpfile, id, time, time_start, time_end, changed, changed_start, changed_end, cur)', 'id(item)', 'insertItem(name, cur)', 'insertLog(id, time, duration, val, it, changed, cur)', 'readItem(id, cur)', 'readItems(id, cur)', 'readLog(id, time)', 'readLogs(id, time, time_start, time_end, changed, changed_start, changed_end, cur)', 'updateItem(id, time, duration, val, it, changed, cur)', 'updateLog(id, time, duration, val, it, changed, cur)']'
          2019-11-18 10:16:00 INFO Main plugin 'database': Metadata get_plugin_function_defstrings -> '['cleanup()', 'db()', 'deleteItem(id:int)', 'deleteLog(id:int, time:int, time_start:int, time_end:int, changed:int, changed_start:int, changed_end:int, cur:foo)', 'dump(dumpfile:str, id:int, time:int, time_start:int, time_end:int, changed:int, changed_start:int, changed_end:int, cur:foo)', 'id(item:foo)', 'insertItem(name:str, cur:foo)', 'insertLog(id:int, time:int, duration:int, val:str, it:str, changed:int, cur:foo)', 'readItem(id:int, cur:foo)', 'readItems(id:int, cur:foo)', 'readLog(id:int, time:int)', 'readLogs(id:int, time:int, time_start:int, time_end:int, changed:int, changed_start:int, changed_end:int, cur:foo)', 'updateItem(id:int, time:int, duration:int, val:str, it:str, changed:int, cur:foo)', 'updateLog(id:int, time:int, duration:int, val:str, it:str, changed:int, cur:foo)']'
          2019-11-18 10:16:00 INFO Main plugin 'database': Metadata get_plugin_function_defstrings -> '['cleanup()', 'db()', 'deleteItem(id)', 'deleteLog(id, time, time_start, time_end, changed, changed_start, changed_end, cur)', 'dump(dumpfile, id, time, time_start, time_end, changed, changed_start, changed_end, cur)', 'id(item)', 'insertItem(name, cur)', 'insertLog(id, time, duration, val, it, changed, cur)', 'readItem(id, cur)', 'readItems(id, cur)', 'readLog(id, time)', 'readLogs(id, time, time_start, time_end, changed, changed_start, changed_end, cur)', 'updateItem(id, time, duration, val, it, changed, cur)', 'updateLog(id, time, duration, val, it, changed, cur)']'
          2019-11-18 10:16:00 INFO Main plugin 'database': Metadata get_plugin_function_defstrings -> '['cleanup()', 'db()', 'deleteItem(id:int)', 'deleteLog(id:int, time:int, time_start:int, time_end:int, changed:int, changed_start:int, changed_end:int, cur:foo)', 'dump(dumpfile:str, id:int, time:int, time_start:int, time_end:int, changed:int, changed_start:int, changed_end:int, cur:foo)', 'id(item:foo)', 'insertItem(name:str, cur:foo)', 'insertLog(id:int, time:int, duration:int, val:str, it:str, changed:int, cur:foo)', 'readItem(id:int, cur:foo)', 'readItems(id:int, cur:foo)', 'readLog(id:int, time:int)', 'readLogs(id:int, time:int, time_start:int, time_end:int, changed:int, changed_start:int, changed_end:int, cur:foo)', 'updateItem(id:int, time:int, duration:int, val:str, it:str, changed:int, cur:foo)', 'updateLog(id:int, time:int, duration:int, val:str, it:str, changed:int, cur:foo)']'
          2019-11-18 10:16:00 INFO Main Loading '/usr/local/smarthome/plugins/database/locale.yaml' to 'dict'
          2019-11-18 10:16:00 INFO Main Plugin 'database': Loaded plugin translations = {'Datenbank-Cleanup': {'de': '=', 'en': 'Database Cleanup'}, 'Historische Daten': {'de': 'Historische Daten', 'en': 'Historical Data'}, 'Zeige Einträge vom': {'de': 'Zeige Einträge vom', 'en': 'Show entries from'}, 'CSV Export der Werte': {'de': 'CSV Export der Werte', 'en': 'CSV Export of Values'}, 'in der Tabelle "log" wurde erfolgreich initiiert!': {'de': 'in der Tabelle "log" wurde erfolgreich initiiert!', 'en': 'in table "log" successfully initiated.'}, 'Item-ID in der Datenbank': {'de': 'Item-ID in der Datenbank', 'en': 'Item ID within the database'}, 'Wert löschen': {'de': 'Wert löschen', 'en': 'Delete Value'}, 'Verbunden': {'de': 'Verbunden', 'en': 'Connected'}, 'Löschauftrag für die Einträge von Item ID': {'de': 'Löschauftrag für die Einträge von Item ID', 'en': 'Deletion of data for the entries of item ID'}, 'Datensätze': {'de': 'Datensätze', 'en': 'Data Sets'}, 'Die folgenden Einträge entstammen der log Tabelle mit historischen Daten für das Item {{ item_path }} (Datenbank-ID: {{ item_id }})': {'de': 'Die folgenden Einträge entstammen der log Tabelle mit historischen Daten für das Item', 'en': 'The following entries are derived from the log table with historical data for item )'}, 'Ja': {'de': 'Ja', 'en': 'Yes'}, 'Zeit': {'de': 'Zeit', 'en': 'Time'}, 'Übersicht': {'de': 'Übersicht', 'en': 'Overview'}, 'Löschauftrag in der Tabelle "log" wurde erfolgreich initiiert!': {'de': 'Löschauftrag in der Tabelle "log" wurde erfolgreich initiiert!', 'en': 'Deletion of data set successfully initiated!'}, 'Wollen Sie den Datensatz (Tabelle log) dieses Items wirklich löschen?': {'de': 'Wollen Sie den Datensatz (Tabelle log) dieses Items wirklich löschen?', 'en': 'Do you really want to delete the historic dataset (table log) of this item?'}, 'Wollen Sie die historischen Daten (Tabelle log) dieses Items wirklich löschen?': {'de': 'Wollen Sie die historischen Daten (Tabelle log) dieses Items wirklich löschen?', 'en': 'Do you really want to delete the historical data (table log) of this item?'}, 'Datenbank-Cleanup wurde erfolgreich initiiert!': {'de': '=', 'en': 'Database cleanup successfully initiated!'}, 'Anzahl Einträge in LOG Tabelle für Item': {'de': '=', 'en': 'Number of data sets in LOG table for item'}, 'Wertehistorie löschen': {'de': 'Wertehistorie löschen', 'en': 'Delete Historical Data'}, 'Geändert': {'de': 'Geändert', 'en': 'Changed'}, 'Item ID': {'de': 'Item ID', 'en': 'Item ID'}, 'am': {'de': 'am', 'en': 'on the'}, 'Aktionen': {'de': 'Aktionen', 'en': 'Actions'}, 'Anzahl Datensätze in LOG Tabelle': {'de': '=', 'en': 'Number of data sets in LOG table'}, 'Die folgenden Items sind dieser Instanz des Database Plugins zugewiesen': {'de': 'Die folgenden Items sind dieser Instanz des Database Plugins zugewiesen', 'en': 'The following items are assigned to this instance of the database plugin'}, 'Plugin-API': {'en': 'Plugin API', 'fr': '', 'de': '='}, 'Aktueller Wert': {'de': '=', 'en': 'Recent Value'}, 'Typ': {'de': '=', 'en': 'Type'}, 'Wollen Sie alle Datensätze ohne zugehöriges Item wirklich löschen?': {'de': '=', 'en': 'Do you really want to delete all data sets without corresponding item?'}, 'Nein': {'de': 'Nein', 'en': 'No'}, 'Das Löschen von Einträgen, für die es keine Items mehr gibt, kann noch kurze Zeit dauern, da die Ausführung erst nach Abschluß der bestehenden Transaktionen erfolgen kann.': {'de': '=', 'en': 'The cleanup of entries, for which no items exist anymore, can take a while, as it can only be processed after the end of already existing database transactions.'}, 'Datenbank-ID': {'de': 'Datenbank-ID', 'en': 'Database ID'}, 'Das Löschen kann noch kurze Zeit dauern, da die Ausführung des Delete Queries erst nach Abschluß der bestehenden Transaktionen erfolgen kann.': {'de': 'Das Löschen kann noch kurze Zeit dauern, da die Ausführung des Delete Queries erst nach Abschluß der bestehenden Transaktionen erfolgen kann.', 'en': 'The deletion could take a short time, as the DELETE query will be processed after the end of already existing database transactions.'}, 'Database Items': {'en': '=', 'fr': '', 'de': '='}, 'Dauer': {'de': 'Dauer', 'en': 'Duration'}, 'Loading...': {'de': '=', 'en': '='}, 'Datenbank-Dump': {'de': 'Datenbank-Dump', 'en': 'Database Dump'}, 'Parameter': {'en': 'Parameters', 'fr': '', 'de': '='}, 'Tabelle': {'de': '=', 'en': 'Table'}, 'Die folgenden Einträge entstammen der log Tabelle mit historischen Daten für das Item': {'de': 'Die folgenden Einträge entstammen der log Tabelle mit historischen Daten für das Item', 'en': 'The following entries are derived from the log table with historical data for item )'}}
          2019-11-18 10:16:00 INFO Main plugin 'database': value not found in plugin configuration file for parameter 'prefix' -> using default value '' instead
          2019-11-18 10:16:00 INFO Main plugin 'database': value not found in plugin configuration file for parameter 'cycle' -> using default value '60' instead
          2019-11-18 10:16:00 INFO Main plugin 'database': value not found in plugin configuration file for parameter 'precision' -> using default value '2' instead
          2019-11-18 10:16:00 INFO Main Database [Database]: Connected with <pymysql.connections.Connection object at 0x69c88f90> using "pyformat" style
          2019-11-18 10:16:00 INFO Main Database [Database]: Version 6 found
          2019-11-18 10:16:00 INFO Main Module http: Registering webinterface 'database_mysqldb' of plugin 'database' from pluginclass 'Database' instance 'mysqldb'
          2019-11-18 10:16:00 INFO Main - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/database/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}'
          2019-11-18 10:16:00 INFO Main self._applications['database_mysqldb'] = {'Mount': '/database_mysqldb', 'Pluginname': 'database', 'Instance': 'mysqldb', 'Pluginclass': 'Database', 'Description': 'Webinterface database_mysqldb of plugin database', 'Webifname': 'database_mysqldb', 'Conf': {'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/database/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}}
          2019-11-18 10:16:00 INFO Main Initialized plugin 'database' instance 'mysqldb' from from section 'database'
          2019-11-18 10:16:00 INFO Main Loading '/usr/local/smarthome/plugins/uzsu/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:16:01 INFO Main plugin 'uzsu': Metadata paramlist = '['remove_duplicates']'
          2019-11-18 10:16:01 INFO Main plugin 'uzsu': Metadata itemdeflist = '['uzsu_item']'
          2019-11-18 10:16:01 INFO Main plugin 'uzsu': Metadata plugin_functionlist = '['planned', 'clear', 'activate', 'interpolation']'
          2019-11-18 10:16:01 INFO Main plugin 'uzsu': Metadata get_plugin_function_defstrings -> '['activate()', 'clear()', 'interpolation(type, interval, backintime)', 'planned()']'
          2019-11-18 10:16:01 INFO Main plugin 'uzsu': Metadata get_plugin_function_defstrings -> '['activate()', 'clear()', 'interpolation(type:str, interval:int, backintime:int)', 'planned()']'
          2019-11-18 10:16:01 INFO Main plugin 'uzsu': Metadata get_plugin_function_defstrings -> '['activate()', 'clear()', "interpolation(type= 'none', interval=5, backintime=0)", 'planned()']'
          2019-11-18 10:16:01 INFO Main plugin 'uzsu': Metadata get_plugin_function_defstrings -> '['activate()', 'clear()', "interpolation(type:str= 'none', interval:int=5, backintime:int=0)", 'planned()']'
          2019-11-18 10:16:01 INFO Main plugin 'uzsu': Metadata itemstructlist = '[]'
          2019-11-18 10:16:01 INFO Main add_struct_definition: struct 'uzsu.child' = OrderedDict([('name', 'Vorlage-Struktur für Zeitschaltuhren'), ('uzsu', OrderedDict([('type', 'dict'), ('uzsu_item', '..'), ('cache', True), ('visu_acl', 'rw'), ('active', OrderedDict([('remark', 'Use this item to easily turn on or off your UZSU'), ('type', 'bool'), ('eval', 'sh...activate(value)'), ('visu_acl', 'rw'), ('status', OrderedDict([('type', 'bool'), ('eval', 'sh....activate()'), ('eval_trigger', ['..', '...']), ('on_change', '.. = value'), ('crontab', 'init = 0')]))]))]))])
          2019-11-18 10:16:01 INFO Main Loading '/usr/local/smarthome/plugins/uzsu/locale.yaml' to 'dict'
          2019-11-18 10:16:01 INFO Main Plugin 'uzsu': Loaded plugin translations = {'Back in Time': {'de': '=', 'en': '='}, 'Uhr': {'de': '=', 'en': "o'clock"}, 'Init Information fehlt!': {'de': '=', 'en': 'Init entry missing!'}, 'Interpolation (Intervall)': {'de': '=', 'en': 'Interpolation (interval)'}, 'Item existiert nicht!': {'de': '=', 'en': 'Item does not exist!'}, 'Sonnenuntergang': {'de': '=', 'en': 'sun set'}, 'Interpolationsinformation fehlt!': {'de': '=', 'en': 'Interpolation entry missing!'}, 'Sonnenaufgang': {'de': '=', 'en': 'sun rise'}, 'UZSU Item': {'de': '=', 'en': '='}, 'Wert des abhängigen Items': {'de': '=', 'en': 'Value of dependant Item'}, 'Klick auf ein Item um dessen Konfiguration anzuzeigen': {'de': '=', 'en': 'Click on an item to show its configuration'}, 'Abhängige Items (mit Typ)': {'de': '=', 'en': 'Dependant Item (with type)'}, 'Aktives Item, keine (aktiven) Einträge!': {'de': '=', 'en': 'Active item, no (active) entries!'}, 'Die folgenden Items sind dem UZSU Plugin zugewiesen': {'de': '=', 'en': 'The following items are assigned to the UZSU plugin'}}
          2019-11-18 10:16:01 INFO Main plugin 'uzsu': value not found in plugin configuration file for parameter 'remove_duplicates' -> using default value 'True' instead
          2019-11-18 10:16:01 INFO Main Module http: Registering webinterface 'uzsu' of plugin 'uzsu' from pluginclass 'UZSU' instance ''
          2019-11-18 10:16:01 INFO Main - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/uzsu/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}'
          2019-11-18 10:16:01 INFO Main self._applications['uzsu'] = {'Mount': '/uzsu', 'Pluginname': 'uzsu', 'Instance': '', 'Pluginclass': 'UZSU', 'Description': 'Webinterface uzsu of plugin uzsu', 'Webifname': 'uzsu', 'Conf': {'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/uzsu/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_webif'}}}
          2019-11-18 10:16:01 INFO Main Init with timezone tzfile('/usr/share/zoneinfo/Europe/Berlin')
          2019-11-18 10:16:01 INFO Main Initialized plugin 'uzsu' from from section 'uzsu'
          2019-11-18 10:16:01 INFO Main Loading '/usr/local/smarthome/plugins/network/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:16:02 INFO Main plugin 'network': Metadata paramlist = '['ip', 'port', 'udp', 'tcp', 'http', 'udp_acl', 'tcp_acl', 'http_acl']'
          2019-11-18 10:16:02 INFO Main plugin 'network': Metadata itemdeflist = '['nw', 'nw_acl', 'nw_udp_listen', 'nw_tcp_listen', 'nw_udp_send']'
          2019-11-18 10:16:02 INFO Main plugin 'network': Metadata logic_paramlist = '['nw', 'nw_acl', 'nw_udp_listen', 'nw_tcp_listen']'
          2019-11-18 10:16:02 INFO Main plugin 'network': Metadata plugin_functionlist = '['udp']'
          2019-11-18 10:16:02 INFO Main plugin 'network': Metadata get_plugin_function_defstrings -> '['udp(host, port, data)']'
          2019-11-18 10:16:02 INFO Main plugin 'network': Metadata get_plugin_function_defstrings -> '['udp(host:str, port:int, data:foo)']'
          2019-11-18 10:16:02 INFO Main plugin 'network': Metadata get_plugin_function_defstrings -> '['udp(host, port, data)']'
          2019-11-18 10:16:02 INFO Main plugin 'network': Metadata get_plugin_function_defstrings -> '['udp(host:str, port:int, data:foo)']'
          2019-11-18 10:16:02 INFO Main plugin 'network': has no item-struct definitions in metadata
          2019-11-18 10:16:02 INFO Main Loading '/usr/local/smarthome/plugins/network/locale.yaml' to 'dict'
          2019-11-18 10:16:02 INFO Main plugin 'network': value not found in plugin configuration file for parameter 'ip' -> using default value '0.0.0.0' instead
          2019-11-18 10:16:02 INFO Main plugin 'network': value not found in plugin configuration file for parameter 'port' -> using default value '2727' instead
          2019-11-18 10:16:02 INFO Main plugin 'network': value not found in plugin configuration file for parameter 'udp' -> using default value 'no' instead
          2019-11-18 10:16:02 INFO Main plugin 'network': value not found in plugin configuration file for parameter 'http' -> using default value 'no' instead
          2019-11-18 10:16:02 INFO Main plugin 'network': value not found in plugin configuration file for parameter 'udp_acl' -> using default value '['*']' instead
          2019-11-18 10:16:02 INFO Main plugin 'network': value not found in plugin configuration file for parameter 'http_acl' -> using default value '['*']' instead
          2019-11-18 10:16:02 INFO Main Initialized plugin 'network' from from section 'nw'
          2019-11-18 10:16:03 INFO Main Loading '/usr/local/smarthome/plugins/webservices/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:16:03 INFO Main plugin 'webservices': Metadata paramlist = '['mode']'
          2019-11-18 10:16:03 INFO Main plugin 'webservices': Metadata itemdeflist = '['webservices_set', 'webservices_data']'
          2019-11-18 10:16:03 INFO Main Loading '/usr/local/smarthome/plugins/webservices/locale.yaml' to 'dict'
          2019-11-18 10:16:03 INFO Main Plugin 'WebServices': Loaded plugin translations = {'Alle Items': {'de': '=', 'en': 'All items'}, 'Tipp: Durch Anhängen des Parameters "?mode=val|full" kann erzwungen werden, dass das Item / Itemset mit vollen oder einfachen Daten zurückgeliefert wird. Ansonsten greift die Konfiguration im Item via webservices_data.': {'de': '=', 'en': 'Hint: By adding the parameter "?mode=val|full" to the URL, it can be enforced that the Item / Itemset is returned with full / simple data. Otherwise the configuration within the item (webservices_data) applies.'}, 'Die folgenden Items und Sets können über die REST und die Simple WebService API gelesen und (bei str, num und bool Items) verändert werden': {'de': '=', 'en': 'The following items and sets can be read through the REST and the Simple WebService API. Values of str, num, and bool items can also be changed.'}, 'Modus': {'de': '=', 'en': 'Mode'}, 'Alle zugreifbaren Items': {'de': '=', 'en': 'All Accessible Items'}, 'Nur in Sets definierte Items': {'de': '=', 'en': 'Only items defined in sets'}}
          2019-11-18 10:16:03 INFO Main Module http: Registering service 'rest' of plugin 'webservices' from pluginclass 'WebServices' instance ''
          2019-11-18 10:16:03 INFO Main - conf dict: '{'/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/webservices/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_service_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_service'}}'
          2019-11-18 10:16:03 INFO Main self._services['rest'] = {'Mount': '/rest', 'Pluginname': 'webservices', 'Instance': '', 'Pluginclass': 'WebServices', 'Description': 'WebService Plugin für SmartHomeNG (REST)', 'Conf': {'/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/webservices/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_service_password of <modules.http.Http object at 0x75ca21d0>>, 'tools.auth_basic.realm': 'shng_http_service'}}, 'Servicename': 'rest'}
          2019-11-18 10:16:03 INFO Main Module http: Registering service 'ws' of plugin 'webservices' from pluginclass 'WebServices' instance ''
          2019-11-18 10:16:03 INFO Main - conf dict: '{'/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/webservices/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_service_password of <modules.http.Http object at 0x75ca21d0>>, 'request.dispatch': <function VirtualHost.<locals>.vhost_dispatch at 0x67e13078>, 'tools.auth_basic.realm': 'shng_http_service'}}'
          2019-11-18 10:16:03 INFO Main self._services['ws'] = {'Mount': '/ws', 'Pluginname': 'webservices', 'Instance': '', 'Pluginclass': 'WebServices', 'Description': 'Webservice-Plugin für SmartHomeNG (simple)', 'Conf': {'/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/webservices/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_service_password of <modules.http.Http object at 0x75ca21d0>>, 'request.dispatch': <function VirtualHost.<locals>.vhost_dispatch at 0x67e13078>, 'tools.auth_basic.realm': 'shng_http_service'}}, 'Servicename': 'ws'}
          2019-11-18 10:16:03 INFO Main Module http: Registering webinterface 'webservices' of plugin 'webservices' from pluginclass 'WebServices' instance ''
          2019-11-18 10:16:03 INFO Main - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/webservices/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'request.dispatch': <function VirtualHost.<locals>.vhost_dispatch at 0x67e13198>, 'tools.auth_basic.realm': 'shng_http_webif'}}'
          2019-11-18 10:16:03 INFO Main self._applications['webservices'] = {'Mount': '/webservices', 'Pluginname': 'webservices', 'Instance': '', 'Pluginclass': 'WebServices', 'Description': 'Webservice-Plugin für SmartHomeNG (Frontend)', 'Webifname': 'webservices', 'Conf': {'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}, '/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/webservices/webif', 'tools.auth_basic.on': False, 'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x75ca21d0>>, 'request.dispatch': <function VirtualHost.<locals>.vhost_dispatch at 0x67e13198>, 'tools.auth_basic.realm': 'shng_http_webif'}}}
          2019-11-18 10:16:03 INFO Main Initialized plugin 'webservices' from from section 'WebServices'
          2019-11-18 10:16:03 INFO Main Loading '/usr/local/smarthome/plugins/nut/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:16:03 INFO Main plugin 'nut': Metadata paramlist = '['ups', 'cycle', 'host', 'port', 'timeout']'
          2019-11-18 10:16:03 INFO Main plugin 'nut': Metadata itemdeflist = '['nut_var']'
          2019-11-18 10:16:03 INFO Main Section nut (plugin_name None) is disabled - Plugin not loaded
          2019-11-18 10:16:05 DEBUG Main Read 25 on Register: 5000
          2019-11-18 10:16:05 INFO Main device: aerosilent exos
          2019-11-18 10:16:05 DEBUG Main Opened command file <codecs.StreamReaderWriter object at 0x67e0e1f0>
          2019-11-18 10:16:05 INFO Main Loading '/usr/local/smarthome/plugins/kodi/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata paramlist = '['host', 'port', 'instance', 'autoreconnect', 'connect_retries', 'connect_cycle', 'send_retries']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata itemdeflist = '['kodi_item']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata plugin_functionlist = '['notify']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title, message, image, display_time)']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title:str, message:str, image:str, display_time:int)']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title, message, image=None, display_time=10000)']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title:str, message:str, image:str=None, display_time:int=10000)']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata itemstructlist = '[]'
          2019-11-18 10:16:06 INFO Main add_struct_definition: struct 'kodi.query' = OrderedDict([('name', 'Vorlage-Struktur für Kodi Infos, die nicht aktiv verämndert werden können.'), ('state', OrderedDict([('kodi_item@instance', 'state'), ('type', 'str'), ('visu_acl', 'ro')])), ('title', OrderedDict([('kodi_item@instance', 'title'), ('type', 'str'), ('visu_acl', 'ro')])), ('media', OrderedDict([('kodi_item@instance', 'media'), ('type', 'str'), ('visu_acl', 'ro')])), ('player', OrderedDict([('kodi_item@instance', 'player'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)]))])
          2019-11-18 10:16:06 INFO Main add_struct_definition: struct 'kodi.control' = OrderedDict([('name', 'Vorlage-Struktur für Kodi Befehle zum Steuern'), ('mute', OrderedDict([('kodi_item@instance', 'mute'), ('type', 'bool'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('volume', OrderedDict([('kodi_item@instance', 'volume'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('speed', OrderedDict([('kodi_item@instance', 'speed'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('on_off', OrderedDict([('kodi_item@instance', 'on_off'), ('enforce_updates', True), ('type', 'bool'), ('visu_acl', 'rw')])), ('input', OrderedDict([('kodi_item@instance', 'input'), ('type', 'str'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('favourites', OrderedDict([('kodi_item@instance', 'favourites'), ('type', 'str'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('macro', OrderedDict([('kodi_item@instance', 'macro'), ('type', 'str'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('audiostream', OrderedDict([('kodi_item@instance', 'audiostream'), ('type', 'foo'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('subtitle', OrderedDict([('kodi_item@instance', 'subtitle'), ('type', 'list'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('seek', OrderedDict([('kodi_item@instance', 'seek'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('home', OrderedDict([('kodi_item@instance', 'home'), ('type', 'bool'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('stop', OrderedDict([('type', 'bool'), ('eval', "sh...input('stop')"), ('enforce_updates', True)])), ('play', OrderedDict([('type', 'bool'), ('eval', "sh...input('play')"), ('enforce_updates', True)])), ('pause', OrderedDict([('type', 'bool'), ('eval', "sh...input('pause')"), ('enforce_updates', True)])), ('previous', OrderedDict([('type', 'bool'), ('eval', "sh...input('skipprevious')"), ('enforce_updates', True)])), ('next', OrderedDict([('type', 'bool'), ('eval', "sh...input('skipnext')"), ('enforce_updates', True)])), ('select', OrderedDict([('type', 'bool'), ('eval', "sh...input('select')"), ('enforce_updates', True)])), ('contextmenu', OrderedDict([('type', 'str'), ('eval', "sh...input('contextmenu')"), ('enforce_updates', True)]))])
          2019-11-18 10:16:06 INFO Main Loading '/usr/local/smarthome/plugins/kodi/locale.yaml' to 'dict'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': value not found in plugin configuration file for parameter 'port' -> using default value '9090' instead
          2019-11-18 10:16:06 INFO Main plugin 'kodi': value not found in plugin configuration file for parameter 'instance' -> using default value '' instead
          2019-11-18 10:16:06 INFO Main plugin 'kodi': value not found in plugin configuration file for parameter 'connect_retries' -> using default value '10' instead
          2019-11-18 10:16:06 INFO Main plugin 'kodi': value not found in plugin configuration file for parameter 'connect_cycle' -> using default value '5' instead
          2019-11-18 10:16:06 INFO Main plugin 'kodi': value not found in plugin configuration file for parameter 'send_retries' -> using default value '5' instead
          2019-11-18 10:16:06 INFO Main Init Kodi Plugin
          2019-11-18 10:16:06 INFO Main Initializing a connection to 192.168.1.81 on TCP port 9090 with autoreconnect
          2019-11-18 10:16:06 DEBUG Main 192.168.1.81 is a valid IP address
          2019-11-18 10:16:06 INFO Main Initialized plugin 'kodi' instance 'wohnzimmer' from from section 'kodi'
          2019-11-18 10:16:06 INFO Main Loading '/usr/local/smarthome/plugins/kodi/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata paramlist = '['host', 'port', 'instance', 'autoreconnect', 'connect_retries', 'connect_cycle', 'send_retries']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata itemdeflist = '['kodi_item']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata plugin_functionlist = '['notify']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title, message, image, display_time)']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title:str, message:str, image:str, display_time:int)']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title, message, image=None, display_time=10000)']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata get_plugin_function_defstrings -> '['notify(title:str, message:str, image:str=None, display_time:int=10000)']'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': Metadata itemstructlist = '[]'
          2019-11-18 10:16:06 INFO Main add_struct_definition: struct 'kodi.query' = OrderedDict([('name', 'Vorlage-Struktur für Kodi Infos, die nicht aktiv verämndert werden können.'), ('state', OrderedDict([('kodi_item@instance', 'state'), ('type', 'str'), ('visu_acl', 'ro')])), ('title', OrderedDict([('kodi_item@instance', 'title'), ('type', 'str'), ('visu_acl', 'ro')])), ('media', OrderedDict([('kodi_item@instance', 'media'), ('type', 'str'), ('visu_acl', 'ro')])), ('player', OrderedDict([('kodi_item@instance', 'player'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)]))])
          2019-11-18 10:16:06 INFO Main add_struct_definition: struct 'kodi.control' = OrderedDict([('name', 'Vorlage-Struktur für Kodi Befehle zum Steuern'), ('mute', OrderedDict([('kodi_item@instance', 'mute'), ('type', 'bool'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('volume', OrderedDict([('kodi_item@instance', 'volume'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('speed', OrderedDict([('kodi_item@instance', 'speed'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('on_off', OrderedDict([('kodi_item@instance', 'on_off'), ('enforce_updates', True), ('type', 'bool'), ('visu_acl', 'rw')])), ('input', OrderedDict([('kodi_item@instance', 'input'), ('type', 'str'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('favourites', OrderedDict([('kodi_item@instance', 'favourites'), ('type', 'str'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('macro', OrderedDict([('kodi_item@instance', 'macro'), ('type', 'str'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('audiostream', OrderedDict([('kodi_item@instance', 'audiostream'), ('type', 'foo'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('subtitle', OrderedDict([('kodi_item@instance', 'subtitle'), ('type', 'list'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('seek', OrderedDict([('kodi_item@instance', 'seek'), ('type', 'num'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('home', OrderedDict([('kodi_item@instance', 'home'), ('type', 'bool'), ('visu_acl', 'rw'), ('enforce_updates', True)])), ('stop', OrderedDict([('type', 'bool'), ('eval', "sh...input('stop')"), ('enforce_updates', True)])), ('play', OrderedDict([('type', 'bool'), ('eval', "sh...input('play')"), ('enforce_updates', True)])), ('pause', OrderedDict([('type', 'bool'), ('eval', "sh...input('pause')"), ('enforce_updates', True)])), ('previous', OrderedDict([('type', 'bool'), ('eval', "sh...input('skipprevious')"), ('enforce_updates', True)])), ('next', OrderedDict([('type', 'bool'), ('eval', "sh...input('skipnext')"), ('enforce_updates', True)])), ('select', OrderedDict([('type', 'bool'), ('eval', "sh...input('select')"), ('enforce_updates', True)])), ('contextmenu', OrderedDict([('type', 'str'), ('eval', "sh...input('contextmenu')"), ('enforce_updates', True)]))])
          2019-11-18 10:16:06 INFO Main Loading '/usr/local/smarthome/plugins/kodi/locale.yaml' to 'dict'
          2019-11-18 10:16:06 INFO Main plugin 'kodi': value not found in plugin configuration file for parameter 'port' -> using default value '9090' instead
          2019-11-18 10:16:06 INFO Main plugin 'kodi': value not found in plugin configuration file for parameter 'instance' -> using default value '' instead
          2019-11-18 10:16:06 INFO Main plugin 'kodi': value not found in plugin configuration file for parameter 'connect_retries' -> using default value '10' instead
          2019-11-18 10:16:06 INFO Main plugin 'kodi': value not found in plugin configuration file for parameter 'connect_cycle' -> using default value '5' instead
          2019-11-18 10:16:06 INFO Main plugin 'kodi': value not found in plugin configuration file for parameter 'send_retries' -> using default value '5' instead
          2019-11-18 10:16:06 INFO Main Init Kodi Plugin
          2019-11-18 10:16:06 INFO Main Initializing a connection to 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:16:06 DEBUG Main 192.168.1.82 is a valid IP address
          2019-11-18 10:16:06 INFO Main Initialized plugin 'kodi' instance 'schlafzimmer' from from section 'kodiSZ'
          2019-11-18 10:16:06 INFO Main Load of plugins finished
          2019-11-18 10:16:06 INFO Main Start initialization of items
          2019-11-18 10:16:06 INFO Main Loading '/usr/local/smarthome/etc/struct.yaml' to 'OrderedDict'
          2019-11-18 10:16:07 INFO Main add_struct_definition: struct 'dimmervorlage' = OrderedDict([('name', 'vorlage'), ('sv_widget', "{{ device.dimmer('', 'item.name', 'item.schalten', 'item.dimmen', 0, 100) }}<br/> {{ basic.flip('', 'item.sperren', 'sperren', 'freigeben') }}"), ('schalten', OrderedDict([('type', 'bool'), ('knx_dpt', 1), ('knx_send', '1/0/5'), ('knx_cache', '1/0/8'), ('visu_acl', 'rw'), ('enforce_updates', 'yes')])), ('dimmen', OrderedDict([('type', 'num'), ('knx_dpt', 5.001), ('knx_cache', '1/0/9'), ('knx_send', '1/0/7'), ('visu_acl', 'rw')])), ('sperren', OrderedDict([('type', 'bool'), ('knx_dpt', 1), ('knx_cache', '6/0/2'), ('knx_send', '6/0/2'), ('visu_acl', 'rw')]))])
          2019-11-18 10:16:07 INFO Main add_struct_definition: struct 'anwesenheit' = OrderedDict([('type', 'bool'), ('knx_dpt', 1), ('knx_listen', '0/0/0'), ('visu_acl', 'r')])
          2019-11-18 10:16:07 INFO Main add_struct_definition: struct 'rollladen' = OrderedDict([('name', 'Rollladen Vorlage'), ('sv_widget', "{{ device.shutter ('', 'item.name', 'item.move', 'item.stop', 'item.absolut', '', '', '', '0', '100') }}<br/>{{ basic.flip('', 'item.sperren', 'sperren', 'freigeben') }}"), ('move', OrderedDict([('type', 'bool'), ('knx_dpt', 1), ('knx_send', '3/2/40'), ('visu_acl', 'rw'), ('enforce_updates', 'yes')])), ('stop', OrderedDict([('type', 'bool'), ('knx_dpt', 1), ('knx_send', '3/2/41'), ('visu_acl', 'rw'), ('enforce_updates', 'yes')])), ('absolut', OrderedDict([('type', 'num'), ('knx_dpt', 5.001), ('knx_send', '3/2/46'), ('knx_cache', '3/2/43'), ('visu_acl', 'rw'), ('cache', 'yes')])), ('sperren', OrderedDict([('type', 'bool'), ('knx_dpt', 1), ('knx_send', '3/2/42'), ('knx_cache', '3/2/42'), ('visu_acl', 'rw'), ('enforce_updates', 'yes')]))])
          2019-11-18 10:16:07 INFO Main add_struct_definition: struct 'zaehlerstaende' = OrderedDict([('letzteFuenfzehn', OrderedDict([('type', 'num'), ('crontab', '0-59 * * * = 1'), ('eval', "sh...db('max', '15i')-sh...db('min', '15i')"), ('enforce_updates', 'yes')])), ('Fuenfzehn', OrderedDict([('type', 'num'), ('crontab', '0,15,30,45 * * * = 1'), ('eval', "sh...db('max', '15i')-sh...db('min', '15i')"), ('enforce_updates', 'yes')])), ('letzteStunde', OrderedDict([('type', 'num'), ('crontab', '0-59 * * * = 1'), ('eval', "sh...db('max', '1h')-sh...db('min', '1h')"), ('enforce_updates', 'yes')])), ('Stunde', OrderedDict([('type', 'num'), ('crontab', '0 * * * = 1'), ('eval', "sh...db('max', '1h')-sh...db('min', '1h')"), ('enforce_updates', 'yes')])), ('Tag', OrderedDict([('type', 'num'), ('crontab', '0 0 * * = 1'), ('eval', "sh...db('max', '24h')-sh...db('min', '24h')"), ('enforce_updates', 'yes'), ('database@mysqldb', 'init')])), ('Woche', OrderedDict([('type', 'num'), ('crontab', '0 0 * * = 1'), ('eval', "sh...db('max', '1w')-sh...db('min', '1w')"), ('enforce_updates', 'yes'), ('database@mysqldb', 'init')])), ('Monat', OrderedDict([('type', 'num'), ('crontab', '0 0 1 * = 1'), ('eval', "sh...db('max', '1m')-sh...db('min', '1m')"), ('enforce_updates', 'yes'), ('database@mysqldb', 'init')]))])
          2019-11-18 10:16:07 WARNING Main load_itemdefinitions(): For testing the joined item structs are saved to /usr/local/smarthome/etc/structs_joined.yaml
          2019-11-18 10:16:07 INFO Main Saving 'OrderedDict' to '/usr/local/smarthome/etc/structs_joined.yaml'
          2019-11-18 10:16:07 INFO Main parse_itemsdir: Beginning to parse items directory /usr/local/smarthome/lib/env/
          2019-11-18 10:16:07 INFO Main Loading '/usr/local/smarthome/lib/env/core.yaml' to 'OrderedDict'
          2019-11-18 10:16:07 INFO Main Loading '/usr/local/smarthome/lib/env/location.yaml' to 'OrderedDict'
          2019-11-18 10:16:07 INFO Main parse_itemsdir: skipping logic definition file = /usr/local/smarthome/lib/env/logic.yaml
          2019-11-18 10:16:07 INFO Main Loading '/usr/local/smarthome/lib/env/system.yaml' to 'OrderedDict'
          2019-11-18 10:16:07 INFO Main parse_itemsdir: Finished parsing items directory /usr/local/smarthome/lib/env/
          2019-11-18 10:16:07 INFO Main parse_itemsdir: Beginning to parse items directory /usr/local/smarthome/items/
          2019-11-18 10:16:07 INFO Main Loading '/usr/local/smarthome/items/0Licht.yaml' to 'OrderedDict'
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'EG.Bad.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'EG.Bad.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'EG.Gang.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'EG.Gang.Licht.Stiege', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'EG.Gang.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'EG.WC.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'EG.WC.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'EG.Sabi_Buero.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'EG.Sabi_Buero.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'EG.Abstellraum.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'EG.Abstellraum.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'EG.Kueche_Esszimmer.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'EG.Kueche_Esszimmer.Licht.Kuechenzeile', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'EG.Kueche_Esszimmer.Licht.Esszimmerlampe', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'EG.Kueche_Esszimmer.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'EG.Wohnzimmer.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'EG.Markus_Buero.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'EG.Markus_Buero.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'OG.Kizi_Nord.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'OG.Kizi_Nord.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'OG.Gang.Anwesenheit_Nord', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'OG.Gang.Anwesenheit_Sued', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'OG.WC.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'OG.WC.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'OG.Bad.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'OG.Bad.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'OG.Schrankraum.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'OG.Schrankraum.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'OG.Schlafzimmer.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'OG.Schlafzimmer.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'dimmervorlage' reference found in item 'OG.Kizi_Sued.Licht.Decke', instance ''
          2019-11-18 10:16:09 INFO Main add_struct_to_template: 'struct' 'anwesenheit' reference found in item 'OG.Kizi_Sued.Anwesenheit', instance ''
          2019-11-18 10:16:09 INFO Main Loading '/usr/local/smarthome/items/0Visu.yaml' to 'OrderedDict'
          2019-11-18 10:16:11 INFO Main Loading '/usr/local/smarthome/items/Kodi.yaml' to 'OrderedDict'
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.query.state
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.query.title
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.query.media
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.query.player
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.mute
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.volume
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.speed
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.on_off
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.input
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.favourites
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.macro
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.audiostream
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.subtitle
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.seek
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.wohnzimmer.control.home
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.wohnzimmer.control.stop.get_absolutepath('..input'): Result = 'Sonder.Kodi.wohnzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.wohnzimmer.control.play.get_absolutepath('..input'): Result = 'Sonder.Kodi.wohnzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.wohnzimmer.control.pause.get_absolutepath('..input'): Result = 'Sonder.Kodi.wohnzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.wohnzimmer.control.previous.get_absolutepath('..input'): Result = 'Sonder.Kodi.wohnzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.wohnzimmer.control.next.get_absolutepath('..input'): Result = 'Sonder.Kodi.wohnzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.wohnzimmer.control.select.get_absolutepath('..input'): Result = 'Sonder.Kodi.wohnzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.wohnzimmer.control.contextmenu.get_absolutepath('..input'): Result = 'Sonder.Kodi.wohnzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 ERROR Main Item Sonder.Kodi.wohnzimmer.notify.parameters.display_time: type 'int' unknown. Please use one of: scene, num, bool, str, foo, dict, list.
          2019-11-18 10:16:21 ERROR Main Item Sonder.Kodi.wohnzimmer.notify.parameters.display_time: problem creating:
          Traceback (most recent call last):
          File "/usr/local/smarthome/lib/item.py", line 683, in __init__
          child = Item(smarthome, self, child_path, value)
          File "/usr/local/smarthome/lib/item.py", line 712, in __init__
          raise AttributeError
          AttributeError
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.query.state
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.query.title
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.query.media
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.query.player
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.mute
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.volume
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.speed
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.on_off
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.input
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.favourites
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.macro
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.audiostream
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.subtitle
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.seek
          2019-11-18 10:16:21 DEBUG Main Registering item: Sonder.Kodi.schlafzimmer.control.home
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.schlafzimmer.control.stop.get_absolutepath('..input'): Result = 'Sonder.Kodi.schlafzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.schlafzimmer.control.play.get_absolutepath('..input'): Result = 'Sonder.Kodi.schlafzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.schlafzimmer.control.pause.get_absolutepath('..input'): Result = 'Sonder.Kodi.schlafzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.schlafzimmer.control.previous.get_absolutepath('..input'): Result = 'Sonder.Kodi.schlafzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.schlafzimmer.control.next.get_absolutepath('..input'): Result = 'Sonder.Kodi.schlafzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.schlafzimmer.control.select.get_absolutepath('..input'): Result = 'Sonder.Kodi.schlafzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 INFO Main Sonder.Kodi.schlafzimmer.control.contextmenu.get_absolutepath('..input'): Result = 'Sonder.Kodi.schlafzimmer.control.input' (for attribute 'eval')
          2019-11-18 10:16:21 ERROR Main Item Sonder.Kodi.schlafzimmer.notify.parameters.display_time: type 'int' unknown. Please use one of: scene, num, bool, str, foo, dict, list.
          2019-11-18 10:16:21 ERROR Main Item Sonder.Kodi.schlafzimmer.notify.parameters.display_time: problem creating:
          Traceback (most recent call last):
          File "/usr/local/smarthome/lib/item.py", line 683, in __init__
          child = Item(smarthome, self, child_path, value)
          File "/usr/local/smarthome/lib/item.py", line 712, in __init__
          raise AttributeError
          AttributeError
          2019-11-18 10:16:25 INFO CP Server Thread-13 AuthController.update(): /renew
          2019-11-18 10:16:26 INFO CP Server Thread-13 AuthController.renew_token(): remote.ip = 192.168.1.142, user = Autologin
          2019-11-18 10:16:26 INFO CP Server Thread-13 192.168.1.142 - - [18/Nov/2019:10:16:26] "PUT /api/authenticate/renew HTTP/1.1" 200 314 "http://192.168.1.20:8383/admin/items/config" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"
          2019-11-18 10:16:26 INFO Main Items initialization finished, 1051 items loaded
          2019-11-18 10:16:26 INFO Main Start Logics
          2019-11-18 10:16:26 INFO Main Loading '/usr/local/smarthome/lib/env/logic.yaml' to 'OrderedDict'
          2019-11-18 10:16:26 INFO Main Loading '/usr/local/smarthome/etc/logic.yaml' to 'OrderedDict'
          2019-11-18 10:16:26 INFO Main Start plugins
          2019-11-18 10:16:26 INFO smartvisu Loading '/usr/local/smarthome/etc/plugin.yaml' to 'OrderedDict'
          2019-11-18 10:16:26 INFO uzsu Adding sun update schedule for midnight
          2019-11-18 10:16:26 DEBUG kodi Plugin 'kodi': run method called
          2019-11-18 10:16:26 DEBUG kodi Kodi connection initialized by run
          2019-11-18 10:16:26 INFO Main Start of plugins finished
          2019-11-18 10:16:26 DEBUG kodiSZ Plugin 'kodi': run method called
          2019-11-18 10:16:26 DEBUG kodiSZ Kodi connection initialized by run
          2019-11-18 10:16:26 DEBUG TCP_Connect Starting connection cycle for 192.168.1.81
          2019-11-18 10:16:26 DEBUG TCP_Connect Starting connection cycle for 192.168.1.82
          2019-11-18 10:16:27 DEBUG TCP_Connect Connecting to 192.168.1.81 using IPv4 192.168.1.81 on TCP port 9090 with autoreconnect
          2019-11-18 10:16:27 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:16:27 INFO TCP_Connect Connected to 192.168.1.81 on TCP port 9090
          2019-11-18 10:16:27 DEBUG TCP_Connect Kodi running onconnect started by TCP_Connect. Connection: True. Selfcommands []
          2019-11-18 10:16:27 DEBUG TCP_Connect Sending command after connect: {'method': 'JSONRPC.Ping'}
          2019-11-18 10:16:27 DEBUG TCP_Connect Sending method JSONRPC.Ping. Alive: True
          2019-11-18 10:16:27 DEBUG TCP_Connect Command lock acquired
          2019-11-18 10:16:27 DEBUG TCP_Connect Sendcommands while sending: []
          2019-11-18 10:16:27 DEBUG TCP_Connect Sendcommands while sending: [{'jsonrpc': '2.0', 'method': 'JSONRPC.Ping', 'id': 'JSONRPC.Ping'}]
          2019-11-18 10:16:27 DEBUG TCP_Connect Kodi sending: {"jsonrpc":"2.0","method":"JSONRPC.Ping","id":"JSONRPC.Ping"}
          2019-11-18 10:16:27 DEBUG TCP_Connect Command lock released
          2019-11-18 10:16:27 DEBUG TCP_Connect Sending command after connect: {'params': {'properties': ['window', 'path', 'thumbnail', 'windowparameter']}, 'method': 'Favourites.GetFavourites'}
          2019-11-18 10:16:27 DEBUG TCP_Connect Sending method Favourites.GetFavourites. Alive: True
          2019-11-18 10:16:27 DEBUG TCP_Connect Command lock acquired
          2019-11-18 10:16:27 DEBUG TCP_Connect Sendcommands while sending: [{'jsonrpc': '2.0', 'method': 'JSONRPC.Ping', 'id': 'JSONRPC.Ping'}]
          2019-11-18 10:16:27 DEBUG TCP_Connect Sendcommands while sending: [{'jsonrpc': '2.0', 'method': 'JSONRPC.Ping', 'id': 'JSONRPC.Ping'}, {'params': {'properties': ['window', 'path', 'thumbnail', 'windowparameter']}, 'jsonrpc': '2.0', 'method': 'Favourites.GetFavourites', 'id': 'Favourites.GetFavourites'}]
          2019-11-18 10:16:27 DEBUG TCP_Connect Kodi sending: {"params":{"properties":["window","path","thumbnail","windowparameter"]},"jsonrpc":"2.0","method":"Favourites.GetFavourites","id":"Favourites.GetFavourites"}
          2019-11-18 10:16:27 DEBUG TCP_Connect Command lock released
          2019-11-18 10:16:27 DEBUG TCP_Connect Sending command after connect: {'method': 'Player.GetActivePlayers'}
          2019-11-18 10:16:27 DEBUG TCP_Connect Sending method Player.GetActivePlayers. Alive: True
          2019-11-18 10:16:27 DEBUG TCP_Connect Command lock acquired
          2019-11-18 10:16:27 DEBUG TCP_Connect Sendcommands while sending: [{'jsonrpc': '2.0', 'method': 'JSONRPC.Ping', 'id': 'JSONRPC.Ping'}, {'params': {'properties': ['window', 'path', 'thumbnail', 'windowparameter']}, 'jsonrpc': '2.0', 'method': 'Favourites.GetFavourites', 'id': 'Favourites.GetFavourites'}]
          2019-11-18 10:16:27 DEBUG TCP_Connect Sendcommands while sending: [{'jsonrpc': '2.0', 'method': 'JSONRPC.Ping', 'id': 'JSONRPC.Ping'}, {'params': {'properties': ['window', 'path', 'thumbnail', 'windowparameter']}, 'jsonrpc': '2.0', 'method': 'Favourites.GetFavourites', 'id': 'Favourites.GetFavourites'}, {'jsonrpc': '2.0', 'method': 'Player.GetActivePlayers', 'id': 'Player.GetActivePlayers'}]
          2019-11-18 10:16:27 DEBUG TCP_Connect Kodi sending: {"jsonrpc":"2.0","method":"Player.GetActivePlayers","id":"Player.GetActivePlayers"}
          2019-11-18 10:16:27 DEBUG TCP_Connect Command lock released
          2019-11-18 10:16:27 DEBUG TCP_Connect Sending command after connect: {'params': {'properties': ['volume', 'muted']}, 'method': 'Application.GetProperties'}
          2019-11-18 10:16:27 DEBUG TCP_Connect Sending method Application.GetProperties. Alive: True
          2019-11-18 10:16:27 DEBUG TCP_Connect Command lock acquired
          2019-11-18 10:16:27 DEBUG TCP_Connect Sendcommands while sending: [{'jsonrpc': '2.0', 'method': 'JSONRPC.Ping', 'id': 'JSONRPC.Ping'}, {'params': {'properties': ['window', 'path', 'thumbnail', 'windowparameter']}, 'jsonrpc': '2.0', 'method': 'Favourites.GetFavourites', 'id': 'Favourites.GetFavourites'}, {'jsonrpc': '2.0', 'method': 'Player.GetActivePlayers', 'id': 'Player.GetActivePlayers'}]
          2019-11-18 10:16:27 DEBUG TCP_Connect Sendcommands while sending: [{'jsonrpc': '2.0', 'method': 'JSONRPC.Ping', 'id': 'JSONRPC.Ping'}, {'params': {'properties': ['window', 'path', 'thumbnail', 'windowparameter']}, 'jsonrpc': '2.0', 'method': 'Favourites.GetFavourites', 'id': 'Favourites.GetFavourites'}, {'jsonrpc': '2.0', 'method': 'Player.GetActivePlayers', 'id': 'Player.GetActivePlayers'}, {'params': {'properties': ['volume', 'muted']}, 'jsonrpc': '2.0', 'method': 'Application.GetProperties', 'id': 'Application.GetProperties'}]
          2019-11-18 10:16:27 DEBUG TCP_Connect Kodi sending: {"params":{"properties":["volume","muted"]},"jsonrpc":"2.0","method":"Application.GetProperties","id":"Application.GetProperties"}
          2019-11-18 10:16:27 DEBUG TCP_Connect Command lock released
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Kodi receiving: {"id":"JSONRPC.Ping","jsonrpc":"2.0","result":"pong"}{"id":"Favourites.GetFavourites","jsonrpc":"2.0","result":{"favourites":null,"limits":{"end":0,"start":0,"total":0}}}{"id":"Player.GetActivePlayers","jsonrpc":"2.0","result":[{"playerid":1,"playertype":"internal","type":"video"}]}{"id":"Application.GetProperties","jsonrpc":"2.0","result":{"muted":false,"volume":100}}
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Kodi checking from multianswer: {'result': 'pong', 'id': 'JSONRPC.Ping', 'jsonrpc': '2.0'}
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Sent successfully {'jsonrpc': '2.0', 'method': 'JSONRPC.Ping', 'id': 'JSONRPC.Ping'}.
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Sendcommands after receiving: [{'params': {'properties': ['window', 'path', 'thumbnail', 'windowparameter']}, 'jsonrpc': '2.0', 'method': 'Favourites.GetFavourites', 'id': 'Favourites.GetFavourites'}, {'jsonrpc': '2.0', 'method': 'Player.GetActivePlayers', 'id': 'Player.GetActivePlayers'}, {'params': {'properties': ['volume', 'muted']}, 'jsonrpc': '2.0', 'method': 'Application.GetProperties', 'id': 'Application.GetProperties'}]
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Kodi checking from multianswer: {'result': {'limits': {'start': 0, 'total': 0, 'end': 0}, 'favourites': None}, 'id': 'Favourites.GetFavourites', 'jsonrpc': '2.0'}
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection No favourites found.
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Sendcommands after receiving: [{'jsonrpc': '2.0', 'method': 'Player.GetActivePlayers', 'id': 'Player.GetActivePlayers'}, {'params': {'properties': ['volume', 'muted']}, 'jsonrpc': '2.0', 'method': 'Application.GetProperties', 'id': 'Application.GetProperties'}]
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Kodi checking from multianswer: {'result': [{'playertype': 'internal', 'type': 'video', 'playerid': 1}], 'id': 'Player.GetActivePlayers', 'jsonrpc': '2.0'}
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Getting player info for [{'playertype': 'internal', 'type': 'video', 'playerid': 1}]
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Getting player info. Checking 1
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Sendcommands after receiving: [{'params': {'properties': ['volume', 'muted']}, 'jsonrpc': '2.0', 'method': 'Application.GetProperties', 'id': 'Application.GetProperties'}]
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Kodi checking from multianswer: {'result': {'volume': 100, 'muted': False}, 'id': 'Application.GetProperties', 'jsonrpc': '2.0'}
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Received GetProperties: Change mute to False and volume to 100
          2019-11-18 10:16:27 DEBUG TCP_Client_KodiTCPConnection Sendcommands after receiving: []
          2019-11-18 10:16:28 INFO kodiSZ Could not establish a connection to Kodi Server
          2019-11-18 10:16:29 INFO Main VISU: Websocket handler uses protocol version 4
          2019-11-18 10:16:29 INFO CP Server Thread-13 REST_dispatch_execute(): public_root = 'False'
          2019-11-18 10:16:29 INFO CP Server Thread-13 LogsController.read(None, chunk=1)
          2019-11-18 10:16:29 INFO CP Server Thread-13 192.168.1.142 - - [18/Nov/2019:10:16:29] "GET /api/logs/ HTTP/1.1" 200 732 "http://192.168.1.20:8383/admin/logs/display" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"
          2019-11-18 10:16:29 WARNING Main Client 192.168.1.142:57845 requested to monitor item EG.Wohnzimmer.Licht..Decke_Strips.sperren which can not be found
          2019-11-18 10:16:30 INFO CP Server Thread-13 LogsController.read(smarthome.log, chunk=1)
          2019-11-18 10:16:30 INFO CP Server Thread-13 192.168.1.142 - - [18/Nov/2019:10:16:30] "GET /api/logs/smarthome.log?chunk=1 HTTP/1.1" 200 177721 "http://192.168.1.20:8383/admin/logs/display" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"
          2019-11-18 10:16:32 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error timed out. Counter: 1/10
          2019-11-18 10:16:35 INFO CP Server Thread-13 LogsController.read(knx_kodi.log, chunk=1)
          2019-11-18 10:16:35 INFO CP Server Thread-13 192.168.1.142 - - [18/Nov/2019:10:16:35] "GET /api/logs/knx_kodi.log?chunk=1 HTTP/1.1" 200 11977 "http://192.168.1.20:8383/admin/logs/display" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"
          2019-11-18 10:16:37 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:16:40 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 2/10
          2019-11-18 10:16:45 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:16:48 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 3/10
          2019-11-18 10:16:53 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:16:56 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 4/10
          2019-11-18 10:17:00 INFO Scheduler Adding worker thread. Total: 6
          2019-11-18 10:17:01 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:17:04 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 5/10
          2019-11-18 10:17:09 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:17:12 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 6/10
          2019-11-18 10:17:17 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:17:20 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 7/10
          2019-11-18 10:17:25 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:17:29 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 8/10
          2019-11-18 10:17:34 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:17:37 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 9/10
          2019-11-18 10:17:42 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:17:45 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 10/10
          2019-11-18 10:18:15 INFO CP Server Thread-14 LogsController.read(smarthome.log, chunk=1)
          2019-11-18 10:18:15 INFO CP Server Thread-14 192.168.1.142 - - [18/Nov/2019:10:18:15] "GET /api/logs/smarthome.log?chunk=1 HTTP/1.1" 200 177721 "http://192.168.1.20:8383/admin/logs/display" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"
          2019-11-18 10:18:20 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:18:21 INFO CP Server Thread-14 LogsController.read(smarthome.log, chunk=0)
          2019-11-18 10:18:21 INFO CP Server Thread-14 192.168.1.142 - - [18/Nov/2019:10:18:21] "GET /api/logs/smarthome.log?chunk=0 HTTP/1.1" 200 55693 "http://192.168.1.20:8383/admin/logs/display" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"
          2019-11-18 10:18:23 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 1/10
          2019-11-18 10:18:28 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:18:31 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 2/10
          2019-11-18 10:18:33 INFO CP Server Thread-15 LogsController.read(smarthome.log, chunk=8)
          2019-11-18 10:18:34 INFO CP Server Thread-15 192.168.1.142 - - [18/Nov/2019:10:18:34] "GET /api/logs/smarthome.log?chunk=8 HTTP/1.1" 200 305521 "http://192.168.1.20:8383/admin/logs/display" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"
          2019-11-18 10:18:36 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:18:39 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 3/10
          2019-11-18 10:18:44 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:18:48 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 4/10
          2019-11-18 10:18:53 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:18:56 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 5/10
          2019-11-18 10:18:56 INFO CP Server Thread-16 LogsController.read(smarthome.log, chunk=0)
          2019-11-18 10:18:57 INFO CP Server Thread-16 192.168.1.142 - - [18/Nov/2019:10:18:57] "GET /api/logs/smarthome.log?chunk=0 HTTP/1.1" 200 61000 "http://192.168.1.20:8383/admin/logs/display" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"
          2019-11-18 10:19:00 INFO Scheduler Adding worker thread. Total: 7
          2019-11-18 10:19:01 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:19:04 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 6/10
          2019-11-18 10:19:09 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:19:12 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 7/10
          2019-11-18 10:19:17 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:19:20 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 8/10
          2019-11-18 10:19:25 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:19:28 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 9/10
          2019-11-18 10:19:33 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:19:37 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 10/10
          2019-11-18 10:20:12 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:20:15 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 1/10
          2019-11-18 10:20:20 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:20:23 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 2/10
          2019-11-18 10:20:28 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:20:31 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 3/10
          2019-11-18 10:20:36 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:20:39 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 4/10
          2019-11-18 10:20:44 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:20:47 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 5/10
          2019-11-18 10:20:52 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:20:56 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 6/10
          2019-11-18 10:21:01 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:21:04 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 7/10
          2019-11-18 10:21:09 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:21:12 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 8/10
          2019-11-18 10:21:17 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:21:20 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 9/10
          2019-11-18 10:21:25 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:21:28 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 10/10
          2019-11-18 10:22:03 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:22:06 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 1/10
          2019-11-18 10:22:11 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:22:14 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 2/10
          2019-11-18 10:22:19 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:22:23 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 3/10
          2019-11-18 10:22:28 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:22:31 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 4/10
          2019-11-18 10:22:36 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:22:39 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 5/10
          2019-11-18 10:22:44 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:22:47 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 6/10
          2019-11-18 10:22:52 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:22:55 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 7/10
          2019-11-18 10:23:00 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:23:03 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 8/10
          2019-11-18 10:23:08 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:23:12 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 9/10
          2019-11-18 10:23:17 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:23:20 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 10/10
          2019-11-18 10:23:55 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:23:58 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 1/10
          2019-11-18 10:24:03 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:24:06 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 2/10
          2019-11-18 10:24:11 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:24:14 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 3/10
          2019-11-18 10:24:19 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:24:22 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 4/10
          2019-11-18 10:24:27 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:24:31 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 5/10
          2019-11-18 10:24:36 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:24:39 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 6/10
          2019-11-18 10:24:44 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:24:47 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 7/10
          2019-11-18 10:24:52 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:24:55 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 8/10
          2019-11-18 10:25:00 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:25:03 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 9/10
          2019-11-18 10:25:08 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:25:11 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 10/10
          2019-11-18 10:25:46 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:25:50 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 1/10
          2019-11-18 10:25:55 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:25:58 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 2/10
          2019-11-18 10:26:03 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:26:06 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 3/10
          2019-11-18 10:26:11 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:26:14 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 4/10
          2019-11-18 10:26:19 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:26:22 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 5/10
          2019-11-18 10:26:27 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:26:30 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 6/10
          2019-11-18 10:26:33 INFO CP Server Thread-17 LogsController.read(smarthome.log, chunk=1)
          2019-11-18 10:26:33 INFO CP Server Thread-17 192.168.1.142 - - [18/Nov/2019:10:26:33] "GET /api/logs/smarthome.log?chunk=1 HTTP/1.1" 200 177721 "http://192.168.1.20:8383/admin/logs/display" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"
          2019-11-18 10:26:35 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:26:38 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 7/10
          2019-11-18 10:26:43 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:26:47 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 8/10
          2019-11-18 10:26:52 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:26:55 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 9/10
          2019-11-18 10:27:00 DEBUG TCP_Connect Connecting to 192.168.1.82 using IPv4 192.168.1.82 on TCP port 9090 with autoreconnect
          2019-11-18 10:27:03 WARNING TCP_Connect TCP connection to 192.168.1.82:9090 failed with error [Errno 113] Keine Route zum Zielrechner. Counter: 10/10
          plugin.yaml:

          Code:
          kodi:
              plugin_name: kodi
              host: 192.168.1.81
              autoreconnect: True
              instance: 'wohnzimmer'
              
          kodiSZ:
              plugin_name: kodi
              host: 192.168.1.82
              autoreconnect: True
              instance: 'schlafzimmer'
          item.yaml:

          Code:
          #Kodi.yaml
          Sonder:
              Kodi:
                  wohnzimmer:
                      query:
                          name: Vorlage-Struktur für Kodi Infos, die nicht aktiv verämndert werden können.
          
                          state:
                            kodi_item@wohnzimmer: state
                            type: str
                            visu_acl: ro
          
                          title:
                            kodi_item@wohnzimmer: title
                            type: str
                            visu_acl: ro
          
                          media:
                            kodi_item@wohnzimmer: media
                            type: str
                            visu_acl: ro
          
                          player:
                            kodi_item@wohnzimmer: player
                            type: num
                            visu_acl: rw
                            enforce_updates: true
          
                      control:
                          name: Vorlage-Struktur für Kodi Befehle zum Steuern
          
                          mute:
                            kodi_item@wohnzimmer: mute
                            type: bool
                            visu_acl: rw
                            enforce_updates: true
          
                          volume:
                            kodi_item@wohnzimmer: volume
                            type: num
                            visu_acl: rw
                            enforce_updates: true
          
                          speed:
                            kodi_item@wohnzimmer: speed
                            type: num
                            visu_acl: rw
                            enforce_updates: true
          
                          on_off:
                            kodi_item@wohnzimmer: on_off
                            enforce_updates: true
                            type: bool
                            visu_acl: rw
          
                          input:
                            kodi_item@wohnzimmer: input
                            type: str
                            visu_acl: rw
                            enforce_updates: true
          
                          favourites:
                            kodi_item@wohnzimmer: favourites
                            type: str
                            visu_acl: rw
                            enforce_updates: true
          
                          macro:
                            kodi_item@wohnzimmer: macro
                            type: str
                            visu_acl: rw
                            enforce_updates: true
          
                          audiostream:
                            kodi_item@wohnzimmer: audiostream
                            type: foo
                            visu_acl: rw
                            enforce_updates: true
          
                          subtitle:
                            kodi_item@wohnzimmer: subtitle
                            type: list
                            visu_acl: rw
                            enforce_updates: true
          
                          seek:
                            kodi_item@wohnzimmer: seek
                            type: num
                            visu_acl: rw
                            enforce_updates: true
          
                          home:
                              kodi_item@wohnzimmer: home
                              type: bool
                              visu_acl: rw
                              enforce_updates: true
          
                          stop:
                              type: bool
                              eval: sh...input('stop')
                              enforce_updates: True
          
                          play:
                              type: bool
                              eval: sh...input('play')
                              enforce_updates: True
          
                          pause:
                              type: bool
                              eval: sh...input('pause')
                              enforce_updates: True
          
                          previous:
                              type: bool
                              eval: sh...input('skipprevious')
                              enforce_updates: True
          
                          next:
                              type: bool
                              eval: sh...input('skipnext')
                              enforce_updates: True
          
                          select:
                              type: bool
                              eval: sh...input('select')
                              enforce_updates: True
          
                          contextmenu:
                              type: str
                              eval: sh...input('contextmenu')
                              enforce_updates: True
                      notify:
                          type: str
                          description:
                              de: "Diese Funktion ermöglicht es, Mitteilungen an Kodi zu schicken. Beispiel: sh.living.kodi.notify('Door', 'Ding Dong')"
                              en: "This function provies the functionallity to send notification messages to Kodi. Example: sh.living.kodi.notify('Door', 'Ding Dong')"
          
                          parameters:
                              title:
                                  type: str
                                  description:
                                      de: 'Überschrift der Mitteilung'
                                      en: ''
          
                              message:
                                  type: str
                                  description:
                                      de: 'Text der Mitteilung'
                                      en: ''
          
                              image:
                                  type: str
                                  default: None*
                                  description:
                                      de: "Url des anzuzeigenden Bildes (z.B.: 'http://smarthome.local/img/phone.png')"
                                      en: ''
          
                              display_time:
                                  type: int
                                  default: 10000
                                  description:
                                      de: 'Dauer der Anzeige in msec'
                                      en: ''
                  schlafzimmer:
                      query:
                          name: Vorlage-Struktur für Kodi Infos, die nicht aktiv verämndert werden können.
          
                          state:
                            kodi_item@schlafzimmer: state
                            type: str
                            visu_acl: ro
          
                          title:
                            kodi_item@schlafzimmer: title
                            type: str
                            visu_acl: ro
          
                          media:
                            kodi_item@schlafzimmer: media
                            type: str
                            visu_acl: ro
          
                          player:
                            kodi_item@schlafzimmer: player
                            type: num
                            visu_acl: rw
                            enforce_updates: true
          
                      control:
                          name: Vorlage-Struktur für Kodi Befehle zum Steuern
          
                          mute:
                            kodi_item@schlafzimmer: mute
                            type: bool
                            visu_acl: rw
                            enforce_updates: true
          
                          volume:
                            kodi_item@schlafzimmer: volume
                            type: num
                            visu_acl: rw
                            enforce_updates: true
          
                          speed:
                            kodi_item@schlafzimmer: speed
                            type: num
                            visu_acl: rw
                            enforce_updates: true
          
                          on_off:
                            kodi_item@schlafzimmer: on_off
                            enforce_updates: true
                            type: bool
                            visu_acl: rw
          
                          input:
                            kodi_item@schlafzimmer: input
                            type: str
                            visu_acl: rw
                            enforce_updates: true
          
                          favourites:
                            kodi_item@schlafzimmer: favourites
                            type: str
                            visu_acl: rw
                            enforce_updates: true
          
                          macro:
                            kodi_item@schlafzimmer: macro
                            type: str
                            visu_acl: rw
                            enforce_updates: true
          
                          audiostream:
                            kodi_item@schlafzimmer: audiostream
                            type: foo
                            visu_acl: rw
                            enforce_updates: true
          
                          subtitle:
                            kodi_item@schlafzimmer: subtitle
                            type: list
                            visu_acl: rw
                            enforce_updates: true
          
                          seek:
                            kodi_item@schlafzimmer: seek
                            type: num
                            visu_acl: rw
                            enforce_updates: true
          
                          home:
                              kodi_item@schlafzimmer: home
                              type: bool
                              visu_acl: rw
                              enforce_updates: true
          
                          stop:
                              type: bool
                              eval: sh...input('stop')
                              enforce_updates: True
          
                          play:
                              type: bool
                              eval: sh...input('play')
                              enforce_updates: True
          
                          pause:
                              type: bool
                              eval: sh...input('pause')
                              enforce_updates: True
          
                          previous:
                              type: bool
                              eval: sh...input('skipprevious')
                              enforce_updates: True
          
                          next:
                              type: bool
                              eval: sh...input('skipnext')
                              enforce_updates: True
          
                          select:
                              type: bool
                              eval: sh...input('select')
                              enforce_updates: True
          
                          contextmenu:
                              type: str
                              eval: sh...input('contextmenu')
                              enforce_updates: True
                      notify:
                          type: str
                          description:
                              de: "Diese Funktion ermöglicht es, Mitteilungen an Kodi zu schicken. Beispiel: sh.living.kodi.notify('Door', 'Ding Dong')"
                              en: "This function provies the functionallity to send notification messages to Kodi. Example: sh.living.kodi.notify('Door', 'Ding Dong')"
          
                          parameters:
                              title:
                                  type: str
                                  description:
                                      de: 'Überschrift der Mitteilung'
                                      en: ''
          
                              message:
                                  type: str
                                  description:
                                      de: 'Text der Mitteilung'
                                      en: ''
          
                              image:
                                  type: str
                                  default: None*
                                  description:
                                      de: "Url des anzuzeigenden Bildes (z.B.: 'http://smarthome.local/img/phone.png')"
                                      en: ''
          
                              display_time:
                                  type: int
                                  default: 10000
                                  description:
                                      de: 'Dauer der Anzeige in msec'
                                      en: ''
          Zuletzt geändert von artner; 18.11.2019, 10:47.

          Kommentar


            #6
            das erste was mir auffällt: es gibt keine Items vom TYPE: INT. Es gibt nur Items vom TYPE: NUM

            Zu "Keine Route zum Zielrechner" -> schon mal probiert ob Du den Zielrechner pingen kannst? ich vermute der Netzwerkzugriff geht schlichtweg nicht.

            Kommentar


              #7
              Bezüglich Items kann ich nur empfehlen, die structs zu nutzen
              Code:
                      struct:
                        - kodi.query
                        - kodi.control
                      instance: schlafzimmer
              Ich glaube, der Fehler liegt in der plugin.yaml des Plugins. Entferne dort bitte mal unter parameters den "instance" Eintrag. Der hat dort eigentlich nix verloren und wär für mich die Ursache des Übels!

              Kommentar


                #8
                das erste was mir auffällt: es gibt keine Items vom TYPE: INT. Es gibt nur Items vom TYPE: NUM
                hab ich aus Unwissenheit der structs aus plugin/kodi/plugin.yaml kopiert (da ich nicht wusste dass instance sich anscheinend so überschreiben lässt)

                Zu "Keine Route zum Zielrechner" -> schon mal probiert ob Du den Zielrechner pingen kannst? ich vermute der Netzwerkzugriff geht schlichtweg nicht.
                ping funktioniert (von smarthomeng server), Kore (vom handy) funktioniert, Diverse Anzeigen im Plugin funktioniert nicht (title, volume, etc) - grundlegend dürfte aber eine Verbindung da sein, da play, pause, etc funktionieren

                Ich glaube, der Fehler liegt in der plugin.yaml des Plugins. Entferne dort bitte mal unter parameters den "instance" Eintrag. Der hat dort eigentlich nix verloren und wär für mich die Ursache des Übels!
                wobei mir dann völlig unklar ist wo ich definiere dass 192.168.1.81 das Wohnzimmer und 192.168.1.82 das Schlafzimmer ist
                plugin.yaml schaut jetzt mal so aus - ohne instance krieg ich keine Verbindung (wenn das Item eine instance hat)
                Code:
                kodi:
                    plugin_name: kodi
                    host: 192.168.1.82
                    instance: 'schlafzimmer' 
                    autoreconnect: True
                Zuletzt geändert von artner; 19.11.2019, 10:46.

                Kommentar


                  #9
                  Nene in der plugin.yaml des Plugins nicht in etc!

                  Kommentar

                  Lädt...
                  X