Ankündigung

Einklappen
Keine Ankündigung bisher.

Uzsu - 1. Gehversuche änden mit Fehlermeldung

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

    Uzsu - 1. Gehversuche änden mit Fehlermeldung

    Hallo,

    leider komme ich mit der UZSU nicht zurecht. Ich bin sicherlich auch noch durch Vieles der SmartVISU nicht durchgestiegen, aber die uzsu war das Killerkriterium, mich damit zu beschäftigen.

    Konkret wollte ich in einem ersten Versuch mal einen Rolladen über die UZSU steuern.

    Was ich getan habe:
    - ich habe die Dateien visu.js, widget_uzsu.html und visu.css aus https://github.com/mworion/uzsu_widget in mein Verzeichnis für die Visu unter /pages/VisuSpeedy kopiert.
    - Die __init__.py in ein neues Verzeichnis auf /plugins/uszu kopiert
    - In /etc/plugin.conf habe ich die UZSU aktiviert:
    Code:
    [uzsu]
    class_name = UZSU
    class_path = plugins.uzsu
    - Bei den Items habe ich eine "uzsu.conf" angelegt mit folgendem Eintrag:
    Code:
    [Schattierung]
        [[EG_Arbeitszimmer]]
            [[[Fenster]]]
                [[[[Fahren]]]]
                type = bool
                    [[[[[Schaltuhr]]]]]
                    type=dict
                    uzsu_item=Schattierung.EG_Arbeitszimmer.Fenster.Fahren
                    visu_acl=rw
                    cache = True
    - In der Visu-Seite (room_working.html) habe ich jetzt folgenden Inhalt:
    Code:
    /**
    * -----------------------------------------------------------------------------
    * @package     smartVISU
    * @author      Martin Gleiß
    * @copyright   2012
    * @license     GPL [http://www.gnu.de]
    * -----------------------------------------------------------------------------
    */
    
    
    {% extends "base.html" %}
    
    {% block sidebar %}
        {% include 'rooms_menu.html' %}
        
    
    {% endblock %}
    
    {% block content %}
    {% import "widget_uzsu.html" as uzsu %}
    
        <div class="block"
        <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
            <div data-role="collapsible" data-collapsible="false">
                <h3>Deckenlicht</h3>
                <table width=100%>
                <td align=left>
    {{ basic.switch('S1', 'Licht.EG_Arbeitszimmer.Decke', icon1~'light_floor_lamp.png',
    icon0~'light_floor_lamp.png') }} Arbeitszimmer Decke</td>
    
                </table>
                {{ uzsu.uzsu_icon('Zeitschaltuhr', 'Schattierung.EG_Arbeitszimmer.Fenster.Fahren', 'Schattierung.EG_Arbeitszimmer.Fenster.Fahren') }}
            </div>
        </div>
    
        </div>
        
    {% endblock %}
    Leider erscheint beim Aufrufen der Seite folgender Hinweis:
    Code:
                                                                            smartVISU
                                                                  18:05, 21.06, v2.7
    --------------------------------------------------------------------------------
     Error accoured in twig-template engine!
     error: [B]Unexpected character "&"[/B]
    file:  widget_uzsu.html line:  568
     --------------------------------------------------------------------------------
    , wobei die Datei widget_uszu.html folgende Zeile 568 hat:

    Code:
            <td id="LC26" class="blob-code blob-code-inner js-file-line">        <span class="pl-e">data-headline</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>{{ gad_headline|default(&#39;UZSU&#39;) }}<span class="pl-pds">&quot;</span></span> </td>
    Bei der Suche habe ich diese Fehlermeldung bereits schon mal gefunden (https://knx-user-forum.de/forum/supportforen/smarthome-py/34075-neues-plugin-uzsu-universelle-zeitschaltuhr?p=657818#post657818), kann aber mit dem weiteren Inhalt nichts anfangen. Für mich wäre das echt interessant, die UZSU zum Laufen zu bringen. Habt Ihr also irgendwelche Tipps? Kann ich irgendwie einfach prüfen, ob schon mal das Plugin an sich läuft? Viele Grüße, Stefan
    Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

    #2
    Mach mal aus <div class="block" ein <div class="block">

    Kommentar


      #3
      Gute Idee - macht aber leider keinen Unterschied

      Viele Grüße,

      Stefan
      Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

      Kommentar


        #4
        Naja ... er meckert über das &.

        Schau mal bei
        Code:
         
         gad_headline|default(&#39;UZSU&#39;)
        vielleicht mal den Inhalt der Klammer in '' setzen?

        Kommentar


          #5
          {{ uzsu.uzsu_icon('Zeitschaltuhr', 'Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr', 'Schattierung_Fenster') }}
          Das .Schaltuhr hast du vergessen.

          Kommentar


            #6
            Zitat von DerSeppel Beitrag anzeigen
            vielleicht mal den Inhalt der Klammer in '' setzen?
            Da würde ich eigentlich gerne drauf verzichten ... es handelt sich ja um recht viele Zeilen und ich gehe davon aus, dass dann keiner das Plugin zum Laufen gebracht hätte, wenn das wirklich das Problem wäre.

            Zitat von wolder
            Das .Schaltuhr hast du vergessen.
            Guter Tipp - liegt auch daran, dass ich die Objekte noch nicht verstanden habe. Jetzt lautet die Zeile:

            Code:
            {{ uzsu.uzsu_icon('Zeitschaltuhr', 'Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr', 'Schattierung.EG_Arbeitszimmer.Fenster.Fahren') }}
            ... gehen tut's aber leider dennoch nicht. Ich habe auch mal smarthome mit -d gestartet, aber auch da sehe ich leider nichts, was mir helfen würde ...

            Viele Grüße,

            Stefan
            Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

            Kommentar


              #7
              OK, mal ne blöde Frage, aber was steht denn in Deiner widget_uzsu.html drinnen? Meine hat keine 5xx Zeilen sondern knapp 10, daher muß irgendwas in der visu.js oder dem widget-file IMHO faul sein.

              Kommentar


                #8
                Moin Stefan,
                siehst du in dem Log (smarthome.py -d) den dass das Objekt (Schattierung.EG_ ...) von der Visu aktiviert wird?
                wenn ich deine items.conf so sehe, dann fehlt mir da die Verknüpfung zwischen dem Objekt und der GA.
                Code:
                [[[[Fahren]]]]
                type = bool
                visu_acl = rw
                knx_send = 1/2/3
                Knx_cache = 1/2/3
                Code ist jetzt nur schnell aus dem Gedächtnis. Bin nicht sicher, ob der richtig ist.
                Darüber hinaus bin ich mir nicht sicher, ob das in eine separate Datei (uzsu.conf) darf, oder in die items.conf muss. Ich hab auch die UZSU Items in der normalen items.conf.

                Gruß, Sebastian
                Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
                Ruhri? -> Komm zum Stammtisch

                Kommentar


                  #9
                  Zitat von Sandman60 Beitrag anzeigen
                  OK, mal ne blöde Frage, aber was steht denn in Deiner widget_uzsu.html drinnen?
                  Hhhm - meine Datei kommt von https://github.com/mworion/uzsu_widg...dget_uzsu.html - und hat tatsächlich so viele Zeilen ...

                  Zitat von Bainit Beitrag anzeigen
                  Moin Stefan,
                  siehst du in dem Log (smarthome.py -d) den dass das Objekt (Schattierung.EG_ ...) von der Visu aktiviert wird?
                  Uii - da kommen wir der Sache wohl schon näher ... ich habe wohl nicht nur ein Problem mit dem Objekt, sondern auch mit der Uzsu an sich:

                  Code:
                  2015-06-22 20:38:07 ERROR    Main         Plugin uzsu exception: No module named uzsu
                  Traceback (most recent call last):
                    File "/usr/smarthome/lib/plugin.py", line 53, in __init__
                      plugin_thread = Plugin(smarthome, plugin, classname, classpath, args)
                    File "/usr/smarthome/lib/plugin.py", line 79, in __init__
                      exec("import {0}".format(classpath))
                    File "<string>", line 1, in <module>
                  ImportError: No module named uzsu
                  2015-06-22 20:38:14 WARNING  Main         Item Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr: problem reading cache: [Errno 2] No such file or directory: '/usr/smarthome/var/cache/Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr'
                  2015-06-22 20:38:28 ERROR    dummy        Logic: dummy, File: /usr/smarthome/logics/dummy_series.py, Line: 2, Method: <module>, Exception: 'SmartHome' object has no attribute 'first'
                  Traceback (most recent call last):

                  Zitat von Bainit Beitrag anzeigen
                  wenn ich deine items.conf so sehe, dann fehlt mir da die Verknüpfung zwischen dem Objekt und der GA.
                  ...
                  Darüber hinaus bin ich mir nicht sicher, ob das in eine separate Datei (uzsu.conf) darf, oder in die items.conf muss. Ich hab auch die UZSU Items in der normalen items.conf
                  Der Italiener in mir würde jetzt sagen: "Isch arbe gar geine items.conf" In der Tat habe ich die verschiedenen Bestandteile (quasi die Hauptgruppen aus meiner ETS) in verschiedene Dateien in das Verzeichnis "items" gelegt - also z.B.: "Beleuchtung", "Heizung" - und natürlich auch "Schattierung". Ich hatte das so verstanden, dass es gerade eine der sehr angenehmen Besonderheiten der smarthome.py ist, dass man dort beliebige Konfigurationsdateien ablegen kann, um die Sache besser zu strutkurieren. In der "Schattierung.conf" steht:

                  Code:
                     
                  [Schattierung]
                     [[EG_Arbeitszimmer]]
                          [[[Fenster]]]
                              [[[[Fahren]]]]
                                  type = bool
                                  visu_acl = rw
                                  knx_dpt = 1
                                  knx_listen = 9/0/60
                                  knx_send = 9/0/60
                                  sqlite = no
                  ... und in der Uszu.conf:
                  Code:
                  [Schattierung]
                      [[EG_Arbeitszimmer]]
                          [[[Fenster]]]
                              [[[[Fahren]]]]
                              type = bool
                                  [[[[[Schaltuhr]]]]]
                                  type=dict
                                  uzsu_item=Schattierung.EG_Arbeitszimmer.Fenster.Fahren
                                  visu_acl=rw
                                  cache = True
                  ... ich habe die Schaltuhr also quasi als eigenes Item angesehen, welches keine GA braucht ... gemäß https://github.com/mknx/smarthome/tree/develop/plugins/uzsu:

                  Code:
                   
                   # items/my.conf  [someroom]     [[someitem]]         type = int         [[[anotheritem]]]             type = dict             uzsu_item = someroom.someitem             cache = True
                  Also erst mal danke für die vielen Hinweise - ich gehe wirklich jedem nach ... daher dauert meine Antwort manchmal etwas

                  Viele Grüße,

                  Stefan
                  Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

                  Kommentar


                    #10
                    Code:
                    ImportError: No module named uzsu
                    Das wundert mich jetzt aber ein bisschen.
                    Hast du das Plugin auch in den Plugin-Ordner drin?
                    Und in der Plugin.conf mit angegeben?

                    2. Du hast 2 .conf-Dateien und in beiden steht als erstes [Schattierung]?
                    Die items sind ja global gültig und werden alle beim starten eingelesen, daher hättest du 2 mal die "Schattierung". Ich weiß nicht ob bzw. wie sich das bemerkbar macht. Wird aber definitiv nicht gehen. Die items sollten grundsätzlich nur 1 mal da sein, können aber ruhig in mehreren .conf-Dateien aufgeteilt sein.
                    In deinem Fall würde ich keine eigene uzsu.conf erstellen, sondern das alles in einer machen.
                    Code:
                     [Schattierung]
                        [[EG_Arbeitszimmer]]
                          [[[Fenster]]]
                              [[[[Fahren]]]]
                                   type = bool
                                   visu_acl = rw
                                   knx_dpt = 1
                                   knx_listen = 9/0/60  
                                   knx_send = 9/0/60
                                   sqlite = no  
                                      [[[[[Schaltuhr]]]]]
                                             type=dict
                                             uzsu_item=Schattierung.EG_Arbeitszimmer.Fenster.Fahren
                                             visu_acl=rw
                                             cache = True

                    Kommentar


                      #11
                      Hallo,

                      zu 1.: ich meine, das stimmt schon alles, werde es aber heute abend kontrollieren und nochmals einen Screenshot schicken im Falle dass ich was übersehen habe. - AAAber ... ich habe das mittels Samba (SMB) auf den RasPi kopiert. Kann es sein, dass das Plugin "ausführen" Rechte benötigt?

                      zu 2. ... OK ... das werde ich mal zusammen schubsen. Ich wollte sowieso mal testhalber die Anzahl der Items deutlich reduzieren.


                      Viele Grüße,

                      Stefan
                      Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

                      Kommentar


                        #12
                        Ich fang ja auch gerade erst an und hatte das letzte Woche auch.
                        Das lag aber nicht daran, dass es nicht da war. Es lag daran, dass die Items nicht passten. Ich denke Punkt 2 reicht schon.
                        Aber die Rechte würde ich trotzdem mal kontrollieren. Kann nicht schaden...

                        Kommentar


                          #13
                          Kann mich Wolder nur anschließen.
                          Ein Objekt das in mehreren Dateien vorkommt klingt nicht nach einer funktionierenden Lösung.
                          Ich weis zwar nicht, wie Smarthome.py programmiert ist, kann mir aber gut vorstellen, das SH dann nicht weis, welches Objekt es auswählen soll. Beim Objekt ...Fahren muss sich SH ja z.B. entscheiden ob es der Visu Schreib/Lese-Zugriff erlaubt (Datei 1: visu_acl=rw) oder nicht (Datei 2: visu_acl nicht definiert).
                          Gruß, Sebastian
                          Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
                          Ruhri? -> Komm zum Stammtisch

                          Kommentar


                            #14
                            OK - ich habe jetzt mal recht radikal gekürzt. Für die Schattierung habe ich nur noch:

                            Code:
                            [Schattierung]
                                [[EG_Arbeitszimmer]]
                                    [[[Fenster]]]
                                        [[[[Fahren]]]]
                                            type = bool
                                            visu_acl = rw
                                            knx_dpt = 1
                                            knx_listen = 9/0/60
                                            knx_send = 9/0/60
                                            sqlite = no
                                            [[[[[Schaltuhr]]]]]
                                                type=dict
                                                uzsu_item=Schattierung.EG_Arbeitszimmer.Fenster.Fahren
                                                visu_acl=rw
                                                cache = True
                                        [[[[Stop]]]]
                                            type = bool
                                            visu_acl = rw
                                            knx_dpt = 1
                                            knx_listen = 9/0/63
                                            knx_send = 9/0/63
                                            sqlite = no
                                        [[[[Szene]]]]
                                            type = num
                                            visu_acl = rw
                                            knx_dpt = 5
                                            knx_listen = 9/0/64
                                            knx_send = 9/0/64
                                            sqlite = no
                                        [[[[Hoehe]]]]
                                            type = num
                                            visu_acl = rw
                                            knx_dpt = 5
                                            knx_listen = 9/0/67
                                            knx_send = 9/0/69
                                            sqlite = no
                            Dennoch bekomme ich die obige Fehlermeldung. Auch beim Neustart von Smarthome.py mit -d habe ich immer noch folgende Einträge in meinem Logfile:

                            Code:
                            2015-06-23 21:02:42 ERROR    Main         Plugin uzsu exception: No module named uzsu
                            Traceback (most recent call last):
                              File "/usr/smarthome/lib/plugin.py", line 53, in __init__
                                plugin_thread = Plugin(smarthome, plugin, classname, classpath, args)
                              File "/usr/smarthome/lib/plugin.py", line 79, in __init__
                                exec("import {0}".format(classpath))
                              File "<string>", line 1, in <module>
                            ImportError: No module named uzsu
                            2015-06-23 21:02:48 WARNING  Main         Item Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr: problem reading cache: [Errno 2] No such file or directory: '/usr/smarthome/var/cache/Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr'
                            2015-06-23 21:03:00 ERROR    dummy        Logic: dummy, File: /usr/smarthome/logics/dummy_series.py, Line: 2, Method: <module>, Exception: 'SmartHome' object has no attribute 'first'
                            Traceback (most recent call last):
                              File "/usr/smarthome/lib/scheduler.py", line 327, in _task
                                exec(obj.bytecode)
                              File "/usr/smarthome/logics/dummy_series.py", line 2, in <module>
                                sh.first.living.temperature(random.randint(20, 23))
                            AttributeError: 'SmartHome' object has no attribute 'first'
                            Init SmartHome.py 1.0-45-g02cf972
                            Ratlos
                            Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

                            Kommentar


                              #15
                              Moin Stefan,
                              mal ganz dumm gefragt.
                              Ist
                              Zitat von lobo Beitrag anzeigen
                              Was ich getan habe:[...]
                              - Die __init__.py in ein neues Verzeichnis auf /plugins/uszu kopiert
                              nur ein Buchstabendreher in deinem Foreneintrag? Oder hast du da tatsächlich einen Buchstabendreher in deinem Verzeichnissnamen?
                              Die Frage klingt vielleicht etwas komisch, aber SH scheint dein Plugin ja nicht zu finden.
                              Gruß, Sebastian
                              Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
                              Ruhri? -> Komm zum Stammtisch

                              Kommentar

                              Lädt...
                              X