Ankündigung

Einklappen
Keine Ankündigung bisher.

Uzsu - 1. Gehversuche änden mit Fehlermeldung

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

    #16
    Hi,

    das war's leider nur halb. Du hast recht, das Verzeichnis habe ich falsch geschrieben (zusammen mit meinem Rechtschreibfehler im Titel komme ich mir jetzt ganz schön dämlich vor ), aber das Richtigstellen hat leider nur die Fehlermeldung im Debug weggemacht. Es bleibt noch:

    Code:
    2015-06-23 22:02:31,406 ERROR    dummy        Logic: dummy, File: /usr/smarthome/logics/dummy_series.py, Line: 2, Method: <module>, Exception: 'SmartHome' object has no attribute 'first' -- scheduler.py:_task:334
    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'
    2015-06-23 22:02:31,915 DEBUG    Scheduler    dummy next time: 2015-06-23 22:07:31+02:00 -- scheduler.py:_next_time:289
    ... aber das hat (glaube ich) nichts mit meinem Problem zu tun.

    Die Fehlermeldung in der Visu bleibt leider bestehen --- obwohl wenn man es ganz genau nimmt, tritt die Fehlermeldung erst nach dem zweiten Aufrufen der Seite auf. Beim ersten Aufruf (z.B. nach Neustart) ist die Seite noch ganz weiß.

    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


      #17
      Mach doch erstmal deinen Logic-Fehler raus.
      /usr/smarthome/logics/dummy_series.py nimm die Logik erstmal komplett raus und teste dann.

      Kommentar


        #18
        Die Logik hatte ich nicht erstellt (kommt wohl irgendwoher wenn man auf Dummy oder Simulationswerte statt einer echten KNX-Anbindung geht). Ich habe die jetzt in der logic.conf auskommentiert:

        Code:
        # logic.conf
        
        [hello]
            filename = hello.py
            crontab = init
        
        #[dummy]
        #    filename = dummy_series.py
        #    cycle = 300
        Ändert aber leider nichts

        Viele Grüße,

        Stefan

        p.s.: vor jedem Test starte ich smarthome.py (ober das Web-interface oder über Konsole) neu, damit die Änderungen eingelesen werden
        Zuletzt geändert von lobo; 24.06.2015, 07:13.
        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


          #19
          Nutzt du denn smarthome.py als Backend oder noch offline zum testen?

          Kommentar


            #20
            Smarthome.py läuft im Hintergrund und hat Verbindung mit meinem Wiregate (tunneling), welches auf meine IP-Schnittstelle zugreift.

            Sensordaten kommen auch an. Ich habe ein paar Daten der Wetterstation, die ich mir z.B. in der Smartvisu als Diagramme anzeigen lasse. Zudem kann ich ein Testlicht ein- und ausschalten. Der Status dieses Testlichts wird auch korrekt angezeigt.

            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


              #21
              So langsam gehen mir die Ideen aus.
              Pagecache an oder aus?
              Ich würde das das erstmal ausschalten und dann mal schauen wie es aussieht.
              Was kommt denn jetzt für eine Fehlermeldung, wenn du die logic raus genommen hast?

              Kommentar


                #22
                Pagecache ist aus (schon immer, damit ich zuverlässiger testen kann).

                Fehlermeldung der Visu wenn ich auf die Seite gehe ist noch dieselbe ... im Backend habe ich noch nicht geschaut (mache ich heute abend).

                Es muss ein total dämlicher Fehler sein - irgendwas, das Euch klar ist, dass man so was sooo nicht macht, aber mir halt nicht

                Auf alle Fälle danke nochmals für die vielen Fragen, Tipps und Ideen.
                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


                  #23
                  Hallo,

                  bin erst jetzt über den Thread gestolpert. Ich komme nochmal von Deiner ersten Meldung. Die widget_uzsu.html hat genau 35 Zeilen. Damit ist wohl beim Auspacken des ZIP's aus dem GIT des UZSU Widgets etwas schief gegangen. Lade einfach aus dem Git das zip File aus dem aktuellen Master Branch (v3.0) nochmal herunter und packe das aus.

                  Michel

                  Kommentar


                    #24
                    Oh mannomannomann ... sag' ich doch --- das ist wieder so was, was NUR ICH so mache! Ich hatte jeweils einen Rechtsklick auf die Datei gemacht - und dann "Ziel speichern unter" im Firefox. Wenn ich das Zip runterlade und dann lokal öffne, ist da tatsächlich nur so'n kleines File drin (halt das, was man sieht, wenn man im Git auf die Datei klickt).

                    OK - nach Neustart der smarthome.py lässt sich jetzt auch das Plugin völlig problemlos öffen. DANKE für die Hilfe (ich dachte doch - es ist was "einfaches"). Allerdings habe ich noch das Problem, dass kein Schaltbefehl ausgeführt wird. Da ich über -d gestartet hatte, konnte ich erkennen, dass das Plugin auf alle Fälle Werte übertragen hatte:

                    Code:
                    2015-06-24 23:28:03,759 DEBUG    Main         192.168.1.31:49733 sent '{"cmd":"item","id":"Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr","val":{"active":false,"list":[{"active":true,"rrule":"FREQ=WEEKLY;BYDAY=WE,TH","time":"23:33","value":"1","event":"time","timeMin":"","timeMax":"","timeCron":"23:33","timeOffset":"0"},{"active":true,"rrule":"FREQ=WEEKLY;BYDAY=WE,TH","time":"23:35","value":"0","event":"time","timeMin":"","timeMax":"","timeCron":"23:35","timeOffset":""}]}}' -- __init__.py:json_parse:270
                    2015-06-24 23:28:03,767 DEBUG    Main         Item Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr = {'active': False, 'list': [{'timeMax': '', 'timeCron': '23:33', 'value': '1', 'timeOffset': '0', 'rrule': 'FREQ=WEEKLY;BYDAY=WE,TH', 'timeMin': '', 'time': '23:33', 'active': True, 'event': 'time'}, {'timeMax': '', 'timeCron': '23:35', 'value': '0', 'timeOffset': '', 'rrule': 'FREQ=WEEKLY;BYDAY=WE,TH', 'timeMin': '', 'time': '23:35', 'active': True, 'event': 'time'}]} via Visu 192.168.1.31:49733 None -- item.py:__update:363
                    Aber leider fuhr der Rollo nicht - und ich konnte auch keinen Schaltbefehl in der Konsole erkennen.

                    Aber das ist dann wohl eine andere Nummer und eher mit smarthome.py verknüpft - und wahrscheinlich mache ich da besser einen neuen Thread auf (bzw. suche mal nach ähnlichen Fragestellungen).

                    Vielen Dank nochmals an alle Helfer. Das Problem saß (wie fast immer) zwischen Bildschirm und Stuhl ...

                    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


                      #25
                      Zitat von wolder Beitrag anzeigen
                      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.
                      Hi,

                      hier muss ich Dir komplett widersprechen bzw. Deine Aussagen korrigieren:
                      • Die Items sind ja global gültig und werden alle beim Starten eingelesen - das ist korrekt!
                      • Da sie global gültig sind, gibt es ein Item (im Beispiel "Schattierung") nur EINMAL
                      • Es macht sich nicht bemerkbar und wird definitiv so gehen, da es so gewollt ist
                      • Items können beliebig oft in verschiedenen Dateien stehen und auch - wie bei lobo - unterschiedliche Teile in unterschiedlichen Dateien definiert werden.
                      • Wichtig ist, dass nach dem Einlesen aller .conf-Dateien jedes Item nur einmal vorhanden ist und alle Eigenschaften aus allen Dateien enthält, in den es definiert worden ist. Wenn eine Eigenschaft in verschiedenen Dateien unterschiedlich definiert wurde, gewinnt die zuletzt eingelesene.
                      Ich wollte das hier korrigieren, damit andere, die das lesen, keine falschen Infos bekommen.

                      Gruß, Waldemar
                      OpenKNX www.openknx.de

                      Kommentar


                        #26
                        Und wieder was gelernt!
                        Danke!

                        lobo
                        Ich hab natürlich gedacht, dass du das richtige runter geladen hast. Ich meinte auch, dass du das mal geschrieben hast, aber egal. Hautpsache das Plugin läuft jetzt!

                        Kommentar


                          #27
                          Ich dachte ja auch, dass ich das richtige runter geladen hatte (den Link hatte ich in https://knx-user-forum.de/forum/supp...867#post841867 Post 9 gesendet) ...
                          ... dass man da erst das ZIP-File runterladen muss und dann die Dateien entpackt war mir nicht klar.

                          Sorry für die Arbeit, die ich bereitet habe .)

                          Wie schon geschrieben, das Widget bzw. das Popup funktioniert jetzt hervorragend. Das ist genau das, was man braucht, damit die Familie da auch was rumändern kann (bisher habe ich das über Regeln in Linknx abgebildet). Nur leider werden die Regeln noch nicht ausgeführt. Die Gruppenadressen sind aber richtig eingestellt, was ich daran erkenne, dass ich jetzt einen Schalter mal eingebunden habe und der brav die Rollos fährt.

                          Ich habe noch nicht ausführlich gesucht, aber noch nichts gefunden, wie ich die Zeitschaltuhr am besten debugge. Wenn da jemand einen Tipp hat würde mich das freuen. Ist das ganz normal in den Crontabs eingetragen - oder läuft das sozusagen innerhalb des SH Universums?

                          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


                            #28
                            Zitat von lobo Beitrag anzeigen

                            Code:
                            2015-06-24 23:28:03,759 DEBUG Main 192.168.1.31:49733 sent '{"cmd":"item","id":"Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr","val":{"[B]active":false[/B],"list":[{"active":true,"rrule":"FREQ=WEEKLY;BYDAY=WE,TH","time":"23:33","value":"1","event":"time","timeMin":"","timeMax":"","timeCron":"23:33","timeOffset":"0"},{"active":true,"rrule":"FREQ=WEEKLY;BYDAY=WE,TH","time":"23:35","value":"0","event":"time","timeMin":"","timeMax":"","timeCron":"23:35","timeOffset":""}]}}' -- __init__.py:json_parse:270
                            2015-06-24 23:28:03,767 DEBUG Main Item Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr = {[B]'active': False[/B], 'list': [{'timeMax': '', 'timeCron': '23:33', 'value': '1', 'timeOffset': '0', 'rrule': 'FREQ=WEEKLY;BYDAY=WE,TH', 'timeMin': '', 'time': '23:33', 'active': True, 'event': 'time'}, {'timeMax': '', 'timeCron': '23:35', 'value': '0', 'timeOffset': '', 'rrule': 'FREQ=WEEKLY;BYDAY=WE,TH', 'timeMin': '', 'time': '23:35', 'active': True, 'event': 'time'}]} via Visu 192.168.1.31:49733 None -- item.py:__update:363
                            Aber leider fuhr der Rollo nicht - und ich konnte auch keinen Schaltbefehl in der Konsole erkennen.
                            Im Log sieht man, dass Du die Zeitschaltuhr nicht eingeschaltet hast (habe es entsprechend im Quote markiert). Im Popup links unten einfach den Haken bei "UZSU Activate" setzen.

                            Besten Gruß
                            Michael

                            Kommentar


                              #29
                              ... da hatte ich wohl eine falsche Zeile kopiert.

                              Ich habe heute morgen alles nochmals genau nachgestellt. Diese Zeitschaltuhr:

                              Zeischalt1_lobo.jpg

                              führte zu folgendem Befehl:

                              Code:
                              2015-06-26 07:23:06,690 DEBUG    Main         192.168.1.31:49334 sent '{"cmd":"item","id":"Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr","val":{"active":true,"list":[{"timeMax":"","time":"07:27","value":"1","active":true,"rrule":"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU","timeMin":"","timeCron":"07:27","timeOffset":"","event":"time"},{"timeMax":"","time":"07:30","value":"0","active":true,"rrule":"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU","timeMin":"","timeCron":"07:30","timeOffset":"","event":"time"}]}}' -- __init__.py:json_parse:270
                              2015-06-26 07:23:06,698 DEBUG    Main         Item Schattierung.EG_Arbeitszimmer.Fenster.Fahren.Schaltuhr = {'active': True, 'list': [{'timeMax': '', 'timeCron': '07:27', 'value': '1', 'timeOffset': '', 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU', 'timeMin': '', 'time': '07:27', 'active': True, 'event': 'time'}, {'timeMax': '', 'timeCron': '07:30', 'value': '0', 'timeOffset': '', 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU', 'timeMin': '', 'time': '07:30', 'active': True, 'event': 'time'}]} via Visu 192.168.1.31:49334 None -- item.py:__update:363
                              welcher aber leider nicht ausgeführt wurde, wie man ganz schön aus dem Log sieht:

                              Code:
                              2015-06-26 07:26:42,743 DEBUG    Main         knx: 1.1.101 set 9/0/69 to 24 -- __init__.py:parse_telegram:181
                              2015-06-26 07:28:23,945 DEBUG    Main         knx: 1.1.11 set 4/0/0 to 00 -- __init__.py:parse_telegram:181
                              
                              ...
                              
                              2015-06-26 07:29:13,411 DEBUG    env_stat     Item env.system.load = 0.08 via Logic None None -- item.py:__update:363
                              2015-06-26 07:29:13,852 DEBUG    Scheduler    env_stat next time: 2015-06-26 07:34:13+02:00 -- scheduler.py:_next_time:289
                              2015-06-26 07:30:25,444 DEBUG    Main         knx: 1.1.86 set 4/5/7 to 14 -- __init__.py:parse_telegram:181
                              Dazwischen hätten ja jeweils die Schaltbefehle kommen müssen.
                              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


                                #30
                                Kaum macht man's richtig, schon funktioniert's!!!

                                Ich habe festgestellt, dass die __init__.py im uzsu Verzeichnis natürlich (wie könnte es auch anders sein) auch falsch war, da ich sie auf die gleiche (falsche) Weise aus dem Git geholt habe.

                                Nachdem ich den richtigen Code eingesetzt habe, funktionierte die Zeitschaltuhr (nach Neustart) völlig problemlos. Damit ist das Thema gelöst. Vielen Dank an alle Helfer

                                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

                                Lädt...
                                X