Ankündigung

Einklappen
Keine Ankündigung bisher.

SmartHomeNG Release v1.8.1

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

  • Msinn
    antwortet
    Du hast das Plugin mit „plugin_name“ eingebunden. Dann müssen die Metadaten stimmen. Mit „class_path“ und „class_name“ solltest Du auch weiterhin ein classic Plugin einbinden können. Besser ist es aber, das Plugin auf ein SmaetPlugin umzustellen, wie bmxp beschrieben hat.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Es gibt ein Muster Plugin unter dev/sample_plugin zu finden. Und in der Doku findest Du Sachen zur Plugin Entwicklung. Da wird auch drin stehen was zu Keys wichtig ist. Da ich oben nichts zu aaeigwp gefunden habe vermute ich, das Du das bereits rausgenommen hast.

    Einen Kommentar schreiben:


  • schloessl
    antwortet
    Danke für die Hilfen,
    Durch das selektive Einschalten der Plugins konnte ich das aaeigwp-Plugin als Übertäter eingrenzen.
    Das ist ein Plugin Eigenbau. Seit 3 Jahren schreibe ich aus einer Exceldatei Werte in eine eigene MySQL—Datenbank.
    Die Version hat jetzt einige shNG-Versionen überlebt.
    Jetzt habe ich keine Ahnung was/woher Keys plötzlich kommen?
    Wo finde ich eine Erklärung oder ein Plugin-Muster um mein Plugin anzupassen?
    Es ist recht einfach, exceldatei lesen und die Daten in eine MySQL-Tabelle schreiben

    Nur die „keys“ sagen mir leider nichts! (???)
    Es gab mal ein Muster zur Plugin-Erstellullung, danach habe ich damals gebastelt.

    Danke für jede Hilfe
    ,

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Das sieht aus, als versuchst Du ein Plugin mit ungültigen Metadaten zu laden.

    Was ist aaeigwp denn für ein Plugin?

    Ansonsten jeweils den Abschnitt für ein Plugin auskommentieren und neu starten (bis der Fehler weg ist). Dann hast Du das verursachende Plugin gefunden.

    Einen Kommentar schreiben:


  • schloessl
    antwortet
    Hallo Bernd,
    hier meine etc/plugin.yaml


    Ungenutzte Einträge rausgelöscht, KNX und OW hängen noch am alten System.
    smartvisu ist aufrufbar, allerdings Fehlermeldung kein websocket. Keine knx und ow-Daten, aber das ist ja klar!

    Code:
    %YAML 1.1
    ---
    #database:
    #    plugin_name: database
    #    driver: sqlite3
    #    connect:
    #    -   database:./var/db/smarthomeng.db
    #    -   check_same_thread:0
    
    #knx:
    #    plugin_name: knx
    ##    plugin_enabled: True
    ##    host: 127.0.0.1
    ##    port: 6720
    #    send_time: 600     # update date/time every 600 seconds, default none
    #    time_ga: 0/7/0    # default none
    #    date_ga: 0/7/1    # default none
    ##    busmonitor: on    # log all knx messages, default off
    ##    readonly: False   ## don't write to knx bus, default False
    
    cli:
        plugin_name: cli
        plugin_enabled: False
        ip: 0.0.0.0
        #port: 2323
        update: True
        hashed_password: 1245a9633edf47b7091f37c4d294b5be5a9936c81c5359b16d1c4833729965663f1943ef240959c53803fedef7ac19bd59c66ad7e7092d7dbf155ce45884607d
    
    weather_darksky:
        class_name: DarkSky
        class_path: plugins.darksky
        key: b158462ff8ea6xx,,,xx5aad59241ae
        latitude: '48.60794391'
        longitude: '11.56989634'
        lang: de
        cycle: '600'
    
    
    database_mysql:
        plugin_name: database
        instance: nas
        precision: 4
        driver: pymysql
        connect:
          - host:localhost
          - user:smarthome
          - passwd:smarthome
          - db:smarthome
          - port:3306
    
    wp:
        plugin_name: aaeigwp
    
    
    ow:
        plugin_name: onewire
        host: 127.0.0.1
        port: 4304
        cycle: 900
        log_counter_cycle_time: 5
    
    # Autogenerierung von Webseiten für SmartVISU UND Aktivierung des Nutzdatenprotokolls über Websocket für die smartVISU
    smartvisu:
        plugin_name: smartvisu
        smartvisu_dir: /var/www/html/smartvisu
        generate_pages: False
        #overwrite_templates: True
        #visu_style: blk
        #default_acl: rw
        #handle_widgets: True
        list_deprecated_warnings: True
    
    #stateengine:
    #    plugin_name: stateengine
    #    log_level: 2
    #    log_directory: var/log/stateengine/
    #    startup_delay_default: 120
    #    suspend_time_default: 10800
    #    laststate_name_manually_locked: gesperrt
    #    laststate_name_suspended: ausgesetzt
    #    log_maxage: 1
    
    
    
    
    #fb1:
    #    plugin_name: avm
    ##    class_path: plugin.avm
    #    username: admin    # optional
    #    password: 'xyxy7590'
    #    host: fritz.box
    #    port: 49443
    #    cycle: 300
    #    ssl: True    # use https or not
    #    verify: false    # verify ssl certificate
    #    call_monitor: 'True'
    ##     call_monitor_incoming_filter: "...    ## optional, don't set if you don't want to watch only one specific number with your call monitor"
    #    avm_identifier: fritzbox_7590
    
    # boxcar:
    
    uzsu:
        plugin_name: uzsu
    Zuletzt geändert von schloessl; 17.02.2021, 17:32.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Wie sieht denn Deine etc/plugin.yaml aus?

    Einen Kommentar schreiben:


  • schloessl
    antwortet
    Ich habe mir etwas eingefangen und finde es nicht.
    Alle plugins und Items schon durch sucht!

    Wo kann ich einen Debug einbauen um das Problem zu lösen. Leider gibt es in den Fehlermeldungen keinen (für mich verständlichen) Hinweis.

    Gerne liefere ich weitere Daten zur Klärung! Sehe aber leider nicht den Ansatz.
    Git soeben für smarthome und plugins vor den Start ausgeführt.

    Hier ist wohl der Knackpunkt:

    2021-02-17 14:02:13 ERROR lib.smarthome Unhandled exception: 'str' object has no attribute 'keys'

    Danke für jede Hilfestellung!

    Code:
    2021-02-17 14:02:06 WARNING lib.smarthome.main -------------------- Init SmartHomeNG 1.8.1.master (84873f74) --------------------
    2021-02-17 14:02:06 WARNING lib.smarthome.main Running in Python interpreter 'v3.8.6 final', from directory /usr/local/smarthome
    2021-02-17 14:02:06 WARNING lib.smarthome.main - on Linux-5.10.11-v7l+-armv7l-with-glibc2.28 (pid=3844)
    2021-02-17 14:02:06 WARNING lib.smarthome.main - Nutze Feiertage für Land 'DE', Provinz 'BY', 3 benutzerdefinierte(r) Feiertag(e) definiert
    2021-02-17 14:02:13 ERROR lib.smarthome Unhandled exception: 'str' object has no attribute 'keys'
    <class 'AttributeError'>
    File "/usr/local/smarthome/bin/smarthome.py", line 275, in <module>
    sh.start()
    File "/usr/local/smarthome/lib/smarthome.py", line 615, in start
    self.plugins = lib.plugin.Plugins(self, configfile=self._plugin_conf_basename)
    File "/usr/local/smarthome/lib/plugin.py", line 120, in __init__
    plugin_name, self.meta = self._get_pluginname_and_metadata(plugin, _conf[plugin])
    File "/usr/local/smarthome/lib/plugin.py", line 222, in _get_pluginname_and_metadata
    meta = Metadata(self._sh, (plugin_name+plugin_version).replace('.',os.sep), 'plugin')
    File "/usr/local/smarthome/lib/metadata.py", line 143, in __init__
    self._itemdeflist = list(self.itemdefinitions.keys())

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Schau mal in den develop branch bzw hier
    https://knx-user-forum.de/forum/supp...in#post1617159

    Einen Kommentar schreiben:


  • Acidrain
    antwortet
    Hallo zusammen,

    habe gestern auch auf 1.8.1 aktualisiert. Gab es eine Änderung wie die Autogenerator-Items aufgebaut werden müssen? Ich nutze die Variante für Faule mit der automatischen "item" Ersetzung, damit ich nicht jedes Mal den Item-Pfad angeben muss. Bei der Erzeugung der nav_aside Widgets kommt aber etwas komisches raus, da werden die Raumnamen stattdessen verwendet, das meckert auch das Log an. Ich habe das neue smartvisu Plugin aktiv.

    Hier ein Beispiel, gilt analog für alle meine anderen Items mit nav_aside Widgets:
    Code:
    eg:
        gaestebad:
            name: Gästebad
            sv_page: room
            sv_img: scene_toilet_alternat.svg
            sv_nav_aside: "{{ basic.print('[MARKIEREN]item[/MARKIEREN]', '[MARKIEREN]item[/MARKIEREN].rtr.ist', '°C') }}"
            sv_nav_aside2: "{{ basic.symbol('[MARKIEREN]item[/MARKIEREN]2', '[MARKIEREN]item[/MARKIEREN].deckenleuchte', '', icon1~'light_light.png') }}"
    Generiert wird in der rooms_menu.html:
    Code:
    <li data-icon="false">
    <a href="index.php?page=room.Gästebad">
    <img class="icon" src="{{ icon0 }}scene_toilet_alternat.svg" />
    
    <h3>Gästebad</h3>
    <div class="ui-li-aside">{{ basic.print('room.Gästebad', 'room.Gästebad.rtr.ist', '°C') }}<br/>{{ basic.symbol('room.Gästebad2', 'room.Gästebad.deckenleuchte', '', icon1~'light_light.png') }}</div>
    </a>
    </li>
    Erwartet hätte ich statt z.B. room.Gästebad.deckenleuchte eg.gaestebad.deckenleuchte

    So ist es auch auf den Raumseiten in den Widgets generiert. Dort werden auch die Widgets angezeigt, die nav_aside-Widgets bleiben jedoch leer.

    Im Log steht:
    Code:
    2021-02-16 22:11:05 ERROR modules.websocket prepare_monitor: No item 'room.Gästebad.rtr.ist' found
    2021-02-16 22:11:05 ERROR modules.websocket prepare_monitor: No item 'room.Gästebad.deckenleuchte' found
    Mache ich irgendwas falsch oder ist da irgendwo noch ein Bug drin?

    Danke & Gruß
    Dominik

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Naja, das zeigt eigentlich nur, das Du mehrere Instanzen von SHNG am Laufen hast.
    Es ist aber eigentlich wie beim Highlander: Es kann nur einen geben

    Lösung:

    Alle Instanzen müssen erstmal weg, Du hast zuviele gestartet.

    Auf der shell hilft ein kill -9 <process id>

    Dann kannst Du SHNG einmal starten und abwarten. Solltest Du wiederum mehrere Instanzen bekommen, mußt Du erstmal feststellen warum.
    (z.B. Hast Du eventuell SHNG mal als root gestartet und daher falsche Zugriffsrechte?)

    Einen Kommentar schreiben:


  • schloessl
    antwortet
    Dank Bernd für die schnelle Reaktion


    Ich habe etwas Probleme mit

    smarthome.py --start oder --stop -d -s

    es hilt nur noch dsa smarthome-py -r

    Nach dem ps ax | grep smarthome.py

    Code:
    [smarthome@R42SmartHomeNG ~]$ ps ax | grep smarthome.py
    832 ? Sl 5:07 python3 /usr/local/smarthome/bin/smarthome.py -r
    5197 ? Sl 21:20 python3 bin/smarthome.py -r
    5415 ? Sl 5:17 python3 /usr/local/smarthome/bin/smarthome.py --start
    12752 pts/4 S+ 0:00 grep --color=auto smarthome.py
    13003 ? Sl 0:26 python3 /usr/local/smarthome/bin/smarthome.py -r
    13028 ? Sl 1:06 /usr/bin/python3 /usr/local/smarthome/bin/smarthome.py
    17650 ? Sl 0:21 python3 /usr/local/smarthome/bin/smarthome.py -r
    21463 ? Sl 1:08 python3 /usr/local/smarthome/bin/smarthome.py --start
    [smarthome@R42SmartHomeNG ~]$
    Nachtrag, ja da ist das Problem. Ich habe immer mit dem --start noch einmal nachgelegt.

    Aber der ganze Erfolg ist es noch nicht.

    Code:
    2021-02-15 19:31:40 WARNING lib.smarthome.main -------------------- Init SmartHomeNG 1.8.1.master (84873f74) --------------------
    2021-02-15 19:31:40 WARNING lib.smarthome.main Running in Python interpreter 'v3.7.3 final', from directory /usr/local/smarthome
    2021-02-15 19:31:40 WARNING lib.smarthome.main - on Linux-5.10.11-v7l+-armv7l-with-debian-10.8 (pid=1114)
    2021-02-15 19:31:41 WARNING lib.smarthome.main - Nutze Feiertage für Land 'DE', Provinz 'BY', 2 benutzerdefinierte(r) Feiertag(e) definiert
    2021-02-15 19:31:43 WARNING lib.module Not loading module Mqtt from section 'mqtt': Module is disabled
    2021-02-15 19:31:48 ERROR lib.db DB-API import failed for "pymysql": No module named 'pymysql' - module installed?
    2021-02-15 19:31:48 ERROR plugins.database Initialization of database API failed
    2021-02-15 19:31:48 ERROR lib.plugin Plugins: Plugin 'database' initialization failed, plugin not loaded
    2021-02-15 19:31:48 ERROR lib.smarthome Unhandled exception: 'str' object has no attribute 'keys'
    <class 'AttributeError'>
    File "/usr/local/smarthome/bin/smarthome.py", line 275, in <module>
    sh.start()
    File "/usr/local/smarthome/lib/smarthome.py", line 615, in start
    self.plugins = lib.plugin.Plugins(self, configfile=self._plugin_conf_basename)
    File "/usr/local/smarthome/lib/plugin.py", line 119, in __init__
    plugin_name, self.meta = self._get_pluginname_and_metadata(plugin, _conf[plugin])
    File "/usr/local/smarthome/lib/plugin.py", line 221, in _get_pluginname_and_metadata
    meta = Metadata(self._sh, (plugin_name+plugin_version).replace('.',os.sep), 'plugin')
    File "/usr/local/smarthome/lib/metadata.py", line 142, in __init__
    self._itemdeflist = list(self.itemdefinitions.keys())

    die plugin.yaml dazu :

    Code:
    database_mysql:
        plugin_name: database
        # instance: nas
        precision: 4
        driver: pymysql
        connect:
            - host:localhost
            - user:root
            - passwd:smarthome
            - db:smarthome
            - port:3306
    Zuletzt geändert von bmx; 15.02.2021, 20:30.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Also wenn Du auf einem Rechner zwei Instanzen von SHNG startest dann passiert sowas. Kann es sein, das bei Dir SHNG als Daemon installiert und auch gestartet ist?
    Was sagt denn ein ps ax | grep smarthome.py auf der shell?

    Einen Kommentar schreiben:


  • schloessl
    antwortet
    Es sah alles schon eimal sehr gut aus, SHNG lief ich konnte in der Visu herumbasteln. Dann verlie8 mich meine FB7490.

    Jetzt bekam ich eine FB7590. Meine Raspis sind wieder erreichbahr per Putty und Winscp.

    Zuvor als Vorsicht genannt: : Ich habe noch ein Raspberry 3 mit dem Vorgänger smarthomeNG im Netz.

    Jetzt komme ich mit der 1.8.1 nicht mehr über den INIT hinaus, da Port 8383 belegt ist. (Siehe Code)

    Spugt da das laufende NG hinein? Kann ich den Port 8383 umbenennen? Was ist sinnvoll?

    Die Einrichtung habe ich jeweils mit der Anleitung verglichen und sehe keinen Fehler.

    Welche Daten muss kontrollieren oder zur Verfügung stellen?

    Ich habe im AVM /FB.yaml statt fritzbox 7490 jeweils fritzbox7590 eingetragen, ist das in Ordnung?

    Code:
    2021-02-15 16:51:20 WARNING lib.smarthome.main -------------------- Init SmartHomeNG 1.8.1.master (84873f74) --------------------
    2021-02-15 16:51:20 WARNING lib.smarthome.main Running in Python interpreter 'v3.8.6 final', from directory /usr/local/smarthome
    2021-02-15 16:51:20 WARNING lib.smarthome.main - on Linux-5.10.11-v7l+-armv7l-with-glibc2.28 (pid=17650)
    2021-02-15 16:51:20 WARNING lib.smarthome.main - Nutze Feiertage für Land 'DE', Provinz 'BY', 2 benutzerdefinierte(r) Feiertag(e) definiert
    2021-02-15 16:51:21 CRITICAL modules.http Error starting http module: port 8383 is already in use
    2021-02-15 16:51:21 ERROR lib.module Modules: Module 'http' initialization failed, module not loaded
    2021-02-15 16:51:21 ERROR modules.admin Module 'admin': Not initializing - Module 'http' has to be loaded BEFORE this module
    2021-02-15 16:51:21 ERROR lib.module Modules: Module 'admin' initialization failed, module not loaded
    2021-02-15 16:51:21 WARNING lib.module Not loading module Mqtt from section 'mqtt': Module is disabled
    2021-02-15 16:51:26 ERROR plugins.darksky Plugin 'darksky': Not initializing the web interface
    2021-02-15 16:51:26 ERROR lib.plugin Plugins: Plugin 'darksky' initialization failed, plugin not loaded
    2021-02-15 16:51:27 ERROR plugins.database Plugin 'database': Not initializing the web interface
    2021-02-15 16:51:27 ERROR lib.smarthome Unhandled exception: 'str' object has no attribute 'keys'
    <class 'AttributeError'>
    File "/usr/local/smarthome/bin/smarthome.py", line 275, in <module>
    sh.start()
    File "/usr/local/smarthome/lib/smarthome.py", line 615, in start
    self.plugins = lib.plugin.Plugins(self, configfile=self._plugin_conf_basename)
    File "/usr/local/smarthome/lib/plugin.py", line 119, in __init__
    plugin_name, self.meta = self._get_pluginname_and_metadata(plugin, _conf[plugin])
    File "/usr/local/smarthome/lib/plugin.py", line 221, in _get_pluginname_and_metadata
    meta = Metadata(self._sh, (plugin_name+plugin_version).replace('.',os.sep), 'plugin')
    File "/usr/local/smarthome/lib/metadata.py", line 142, in __init__
    self._itemdeflist = list(self.itemdefinitions.keys())
    Ich bitte um eine Hilfestellung!

    Danke schon jetzt!

    Wolfgang
    Zuletzt geändert von schloessl; 15.02.2021, 17:19.

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Msinn Mit der 1.8.1 bekomme ich jetzt oder immer noch diese Meldungen im Log:

    Code:
    2021-02-09 13:46:25 ERROR modules.websocket smartVISU_protocol_v4: Exception in 'await websocket.send(url-command)': code = 1006 (connection closed abnormally [internal]), no reason
    2021-02-09 13:46:25 ERROR modules.websocket smartVISU_protocol_v4: Exception in 'await websocket.send(url-command)': code = 1006 (connection closed abnormally [internal]), no reason
    2021-02-09 13:46:25 ERROR modules.websocket smartVISU_protocol_v4: Exception in 'await websocket.send(url-command)': code = 1006 (connection closed abnormally [internal]), no reason
    2021-02-09 13:46:25 ERROR modules.websocket smartVISU_protocol_v4: Exception in 'await websocket.send(url-command)': code = 1006 (connection closed abnormally [internal]), no reason
    2021-02-09 13:46:25 WARNING modules.websocket visu >command: '{"cmd": "url", "url": "index.php?page=index"}' - to 192.168.178.176:49765
    Die Seiten werden aber immer noch aufgerufen. Gibt es da einen workaround?
    Zuletzt geändert von schuma; 09.02.2021, 21:41.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Msinn Er meint wohl das hier https://knx-user-forum.de/forum/supp...35#post1609535

    Einen Kommentar schreiben:

Lädt...
X