Ankündigung

Einklappen
Keine Ankündigung bisher.

UZSU - Neue Version von Onkelandy

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #61
    Im dict steht active auf "false". Relevant ist nur der letzte Eintrag zwischen sunrise und interpolation.
    Ich hab ziemlich sicher im Plugin vergessen, den Scheduler auch zu removen - danke für den Hinweis! Hab ich gerade gefixt.

    Ich weiß jetzt noch nicht, wie wir das Init Logik Problem lösen.. Vielleicht können wir das Plugin mal soweit reduzieren, dass nur die Scheduler gesetzt werden und alles andere weg bleibt. Hast du's mit der develop Version schon probiert? Besteht da das Problem noch?
    Zuletzt geändert von Onkelandy; 05.10.2018, 14:30.

    Kommentar


      #62
      Klappt nicht so richtig....

      Jetzt wird im Scheduler weder aktiviert noch deaktiviert....

      Code:
      2018-10-05  16:06:32 INFO     logics.EG_Raum4_szenen Item EG.Raum4.RolladenAlle.move.schaltuhr is set via logic to: True
      2018-10-05  16:06:32 DEBUG    logics.EG_Raum4_szenen Update Item EG.Raum4.RolladenAlle.move.schaltuhr, Caller UZSU Plugin, Source logic, Dest None.
      2018-10-05  16:06:32 DEBUG    logics.EG_Raum4_szenen scheduler_remove: name = plugins.uzsu.uzsu_EG.Raum4.RolladenAlle.move.schaltuhr

      Kommentar


        #63
        Sorry, das hatte ich mir tatsächlich zu einfach vorgestellt.. Hab nun nochmals einiges aktualisiert und getestet. Sieht jetzt für mich gut aus. Mit etwas Glück ist nun auch das Problem mit dem falschen webif Hinweis weg

        Sollte es mit dem Remove nicht klappen, kann es an nem Bug im smarthome Plugin Code liegen, der im Master bei scheduler_remove vorhanden ist. Dann am besten den Code von hier https://raw.githubusercontent.com/sm...smartplugin.py bezüglich scheduler_remove (und evtl. add, trigger, change auch) heranziehen und lib/model/smartplugin.py entsprechend updaten.

        Kommentar


          #64
          Jetzt funktioniert es. Auch ohne Ändeung an der smarthome.py. Allerdings, wenn ich die UZSU per logik deaktiviere und shng neu starte, ist die uzsu wieder aktiviert.

          Meinst Du es könnte in dem Fall noch an der smarthome.py liegen?

          Ich habe mir die Änderungen mal angesehen. Sind bei add und change ziemlich massief und bei remove gibt es gar keine Änderung zum Master. Trigger gibt es im Master übehaupt nicht!

          Würde da jetzt ungern experementieren wenn die Wahrscheinlichkeit gering ist.

          Eine Dev Version habe ich noch nicht am Start hier...
          Zuletzt geändert von schuma; 05.10.2018, 17:59.

          Kommentar


            #65
            Okay, wenn es funzt musst auch nichts ändern. Stimmt, remove war nicht betroffen, nur change hat nicht funktioniert - das verwende ich im uzsu aber eh nicht.
            Es ging aber nicht um smarthome.py, sondern lib/model/smartplugin.py

            Dass bei einem Neustart der Wert wieder so ist wie vorher könnte am fehlenden "deepcopy" liegen. Allerdings habe ich das im Plugin definitiv auch beim activate durch eine Logik drin. Du könntest mal im Backend unter Item kontrollieren, was dort passiert. Stimmt das Alter? Stimmt der Wert des Items nach dem Logikaufruf? Und wie sieht das dict nach Neustart aus (laut Log vom Plugin (dict for .. is)

            Kommentar


              #66
              Onkelandy Neues Problem.....

              Jetzt wird immer EINE UZSU beim Start von SHNG nicht aktiviert. ABER NUN IMMER DAS GLEICHE ITEM!
              Egal ob mit Logik oder ohne...

              Hier das Log:


              Das Item:

              EG.Raum5.RolladenAlle.move.schaltuhr
              Zuletzt geändert von schuma; 10.10.2018, 16:47.

              Kommentar


                #67
                Nach Neustart Problem:

                dict nach dem Setzten durch Logik aus backend-Item (active: false - also ok!):
                Code:
                {'sunset': '18:43', 'list': [{'condition': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'timeMax': '', 'timeOffsetType': 'm', 'value': '0', 'holiday': {'weekend': False, 'workday': False}, 'timeMin': '', 'delayedExec': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'time': '10:00', 'timeCron': '10:00', 'rrule': 'FREQ=WEEKLY;BYDAY=SA', 'timeOffset': '', 'active': True, 'event': 'time'}, {'condition': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'timeMax': '', 'timeOffsetType': 'm', 'value': '0', 'holiday': {'weekend': False, 'workday': False}, 'timeMin': '', 'delayedExec': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'time': '10:30', 'timeCron': '10:30', 'rrule': 'FREQ=WEEKLY;BYDAY=SU', 'timeOffset': '', 'active': True, 'event': 'time'}, {'condition': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'timeMax': '22:00', 'event': 'sunset', 'delayedExec': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'value': '1', 'holiday': {'weekend': False, 'workday': False}, 'timeMin': '16:00', 'calculated': '19:07', 'time': '16:00<sunset+22m<22:00', 'timeCron': 'sunset', 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU', 'timeOffset': '22', 'active': True, 'timeOffsetType': 'm'}, {'condition': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'timeMax': '09:00', 'event': 'sunrise', 'delayedExec': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'value': '0', 'holiday': {'weekend': False, 'workday': False}, 'timeMin': '07:30', 'calculated': '07:30', 'time': '07:30<sunrise<09:00', 'timeCron': 'sunrise', 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR', 'timeOffset': '', 'active': True, 'timeOffsetType': 'm'}], 'sunrise': '07:25', 'active': False, 'interpolation': {'itemtype': 'num', 'initialized': False, 'initage': '', 'interval': '', 'type': 'none'}}
                dict aus dem Log beim Neustart (active: true n.i.o):
                Code:
                {'sunset': '18:45', 'list': [{'condition': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'timeMax': '', 'timeOffsetType': 'm', 'value': '0', 'holiday': {'weekend': False, 'workday': False}, 'timeMin': '', 'delayedExec': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'time': '10:00', 'timeCron': '10:00', 'rrule': 'FREQ=WEEKLY;BYDAY=SA', 'timeOffset': '', 'active': True, 'event': 'time'}, {'condition': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'timeMax': '', 'timeOffsetType': 'm', 'value': '0', 'holiday': {'weekend': False, 'workday': False}, 'timeMin': '', 'delayedExec': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'time': '10:30', 'timeCron': '10:30', 'rrule': 'FREQ=WEEKLY;BYDAY=SU', 'timeOffset': '', 'active': True, 'event': 'time'}, {'condition': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'timeMax': '22:00', 'event': 'sunset', 'delayedExec': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'value': '1', 'holiday': {'weekend': False, 'workday': False}, 'timeMin': '16:00', 'calculated': '19:07', 'time': '16:00<sunset+22m<22:00', 'timeCron': 'sunset', 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU', 'timeOffset': '22', 'active': True, 'timeOffsetType': 'm'}, {'condition': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'timeMax': '09:00', 'event': 'sunrise', 'delayedExec': {'deviceString': '', 'value': '', 'active': False, 'type': 'String'}, 'value': '0', 'holiday': {'weekend': False, 'workday': False}, 'timeMin': '07:30', 'calculated': '07:30', 'time': '07:30<sunrise<09:00', 'timeCron': 'sunrise', 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR', 'timeOffset': '', 'active': True, 'timeOffsetType': 'm'}], 'sunrise': '07:25', 'active': True, 'interpolation': {'itemtype': 'num', 'initialized': False, 'initage': '', 'interval': '', 'type': 'none'}}
                Nach dem Neustart also anders...

                Kommentar


                  #68
                  Onkelandy zu #66:

                  Jetzt, nach einigen Neustarts, werden auf einmal wieder alle uzsu aktiviert.... hmmm irgendwie spooky

                  Bleibt erstmal, dass nach dem Neustart nach dem Setzen durch eine Logik das dict wieder anders ist. (#67)

                  Das andere wird sich vielleicht noch ergeben...
                  Zuletzt geändert von schuma; 05.10.2018, 20:46.

                  Kommentar


                    #69
                    Schau wie gesagt bitte mal auf Last Update und Alter im Backend... wird das aktualisiert? Wenn nicht, wird der Cache nicht aktualisiert. Warum er das trotz deepcopy nicht tut, weiß ich noch nicht, aber kriegen wir raus.

                    Dass der Raum5 Rolladen kein schedule bekommt, ist ein komischer Fehler des Plugins. Wie ich das Log sehe, wird zumindest versucht, einen Eintrag zu erstellen. Ist also nicht das gleiche Problem wie bisher. Aber es wird kein Eintrag für den nächsten Tag gesucht, was nicht sein darf. Ich guck mal.
                    Zuletzt geändert von Onkelandy; 05.10.2018, 21:58.

                    Kommentar


                      #70
                      Last Update und das Alter passen. Also gerade eben aktualisiert.

                      Aber es gibt ja letztes Update und letzte Änderung ist da evtl. etwas verwechselt?
                      Zuletzt geändert von schuma; 05.10.2018, 21:39.

                      Kommentar


                        #71
                        Neues Update. Habs jetzt mit develop und master branch auf 2 verschiedenen Systemen gecheckt. Kann natürlich sein, dass noch irgendeine Config unerwartet Probleme macht, aber ich hoffe doch nicht...

                        Problem 1 war eine falsche if Abfrage bezüglich der Version, daher hat das im master branch mit den dicts nicht geklappt.
                        Problem 2 hatte ich zwischendrin mal eingeschleust, als ich versucht hatte, ein anderes Problem zu lösen
                        WebIF ist jetzt nochmals bezüglich aktive Einträge optimiert worden.

                        Hoffe, dass nun auch bei dir alles funzt. Vielleicht sogar mit Logik?

                        Kommentar


                          #72
                          Hallo,

                          Was ist denn eigentlich neu?

                          Gruß,
                          Hendrik

                          Kommentar


                            #73
                            Onkelandy Jetzt funktioniert es perfekt.

                            Allerdings habe ich jetzt diverse Errors im Log.
                            Code:
                            2018-10-06  10:36:09 INFO     logics.EG_Raum4_szenen Item EG.Raum4.RolladenAlle.move.schaltuhr is set via logic to: False
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Update Item EG.Raum4.RolladenAlle.move.schaltuhr, Caller UZSU Plugin, Source logic, Dest None. Will update: True
                            2018-10-06  10:36:10 ERROR    logics.EG_Raum4_szenen inactive: 0, length: 4
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Removed duplicate entries for item EG.Raum4.RolladenAlle.move.schaltuhr.
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Got update for item EG.Raum4.RolladenAlle.move.schaltuhr: []
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Update Item EG.Raum4.RolladenAlle.move.schaltuhr, Caller UZSU Plugin, Source update, Dest None. Will update: False
                            2018-10-06  10:36:10 ERROR    logics.EG_Raum4_szenen inactive: 0, length: 4
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen scheduler_remove: name = plugins.uzsu.uzsu_EG.Raum4.RolladenAlle.move.schaltuhr
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Schedule Item EG.Raum4.RolladenAlle.move.schaltuhr, Trigger: update, Changed by: UZSU Plugin:logic
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Updated sun entries for item EG.Raum4.RolladenAlle.move.schaltuhr, triggered by schedule. sunrise: 07:27, sunset: 18:43
                            2018-10-06  10:36:10 INFO     logics.EG_Raum4_szenen Item EG.Raum4.Rolladen1.move.schaltuhr is set via logic to: False
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Update Item EG.Raum4.Rolladen1.move.schaltuhr, Caller UZSU Plugin, Source logic, Dest None. Will update: True
                            2018-10-06  10:36:10 ERROR    logics.EG_Raum4_szenen Item EG.Raum4.Rolladen1.move.schaltuhr: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x67aa3590>>: local variable '_inactive' referenced before assignment
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 1039, in __update
                                method(self, caller, source, dest)
                              File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 390, in update_item
                                self.logger.error("inactive: {}, length: {}".format(_inactive, len(self._items[item]['list'])))
                            UnboundLocalError: local variable '_inactive' referenced before assignment
                            2018-10-06  10:36:10 INFO     logics.EG_Raum4_szenen Item EG.Raum4.Rolladen2.move.schaltuhr is set via logic to: False
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Update Item EG.Raum4.Rolladen2.move.schaltuhr, Caller UZSU Plugin, Source logic, Dest None. Will update: True
                            2018-10-06  10:36:10 ERROR    logics.EG_Raum4_szenen Item EG.Raum4.Rolladen2.move.schaltuhr: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x67aa3590>>: local variable '_inactive' referenced before assignment
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 1039, in __update
                                method(self, caller, source, dest)
                              File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 390, in update_item
                                self.logger.error("inactive: {}, length: {}".format(_inactive, len(self._items[item]['list'])))
                            UnboundLocalError: local variable '_inactive' referenced before assignment
                            2018-10-06  10:36:10 INFO     logics.EG_Raum4_szenen Item EG.Raum4.Praesenzmelder.Gruppe_schalten.schaltuhr is set via logic to: False
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Update Item EG.Raum4.Praesenzmelder.Gruppe_schalten.schaltuhr, Caller UZSU Plugin, Source logic, Dest None. Will update: True
                            2018-10-06  10:36:10 ERROR    logics.EG_Raum4_szenen inactive: 0, length: 2
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Removed duplicate entries for item EG.Raum4.Praesenzmelder.Gruppe_schalten.schaltuhr.
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Got update for item EG.Raum4.Praesenzmelder.Gruppe_schalten.schaltuhr: []
                            2018-10-06  10:36:10 DEBUG    logics.EG_Raum4_szenen Update Item EG.Raum4.Praesenzmelder.Gruppe_schalten.schaltuhr, Caller UZSU Plugin, Source update, Dest None. Will update: False

                            Kommentar


                              #74
                              schuma Danke für den Hinweis, das Problem dürfte nun auch gefixt sein. Wie sieht denn nun das Verhalten mit der Logik beim Init aus? Immer noch Probleme?

                              henfri Eine ganze Menge Siehe hier im README: https://github.com/onkelandy/plugins/tree/uzsu/uzsu und im Blog: https://www.smarthomeng.de/using-the...-light-control

                              Kommentar


                                #75
                                Onkelandy: Ich würde sagen das wars... Läuft nun ersteinmal perfekt!

                                - Keine Fehlermeldungen mehr im Log.
                                - Nach Neustart werden die Scheduler richtig gesetzt.
                                - Auch mit der Logik um ursprünglichen Zustand (Also ohne das gebastel das die Logik beim Start nicht ausgeführt wird) werden alle UZSU aktiviert.
                                - Im Webif ist alles super grün!

                                Ich teste weiter....

                                Kommentar

                                Lädt...
                                X