Ankündigung

Einklappen
Keine Ankündigung bisher.

Supportthread für UZSU Plugin

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

    Hi Wolfram,

    ein git pull half das Problem zu beheben.

    Da hätte ich auch selbst drauf kommen können.

    Grüße
    Frank

    Kommentar


      Hallo Zusammen,

      Ich nutze in diesem Sommer die USZU zur Rollladensteuerung, und dabei ist mir folgendes passiert: Der Rollladen bewegte sich wie vorgesehen zur richtigen Uhrzeit zur richtigen Position, wie konfiguriert. Ein paar Minuten später wollte meine Frau das wieder rückgängig machen (ganz egal warum). Das war aber nicht möglich: der Rollladen machte während der Bewegung kehrt, und fuhr wieder in die von der USZU konfigurierten Stellungen. Erst die Deaktivierung der USZU Konfig zu dem Rollladen hat die Situation geklärt.

      Das ist mir ein paar Mal passiert, der WAF Faktor ging in den Keller, und ich hab die USZU wieder für die meisten Rollladen abgestellt.

      Ich möchte das jetzt die nächsten Tage nachstellen, um da mehr Klarheit zu bekommen, was da wirklich passiert. Vorab jedoch die Frage in die Runde, ob ich da einfach etwas in der Nutzung der USZU falsch verstanden habe, oder ein anderes Problem/Einstellung usw. der Auslöser sein könnte.

      Ich weiss, ich liefere noch keine Details damit man das genauer anschauen kann. Dafür stell ich das eben mal nach. Diese erste Frage mal ins "blaue".

      Danke und LG,
      Thomas

      Kommentar


        Moin Thomas,
        eigentlich sendet die UZSU nur zur definierten Uhrzeit einen Schaltbefehl und legt sich dann schlafen bis zur nächsten geplanten Schaltzeit. Das von Dir geschilderte Problem kann auftreten, wenn Du den „Series“-Modus aktiviert hast. Dann sendet die UZSU mehrfach hintereinander denselben Schaltbefehl im definierten Zeitabstand. Andere Möglichkeit ist eine falsche Konfiguration im item. Am besten postest Du mal Deine item-Definition und die UZSU-Einstellungen.

        Gruß
        Wolfram

        Kommentar


          Hier noch ein paar nützliche Tools für die Analyse:
          • im Admin-Interface von shNG siehst Du im item-Baum neben dem aktuellen Wert des items auch den vorhergehenden Wert und die jeweiligen Verursacher der Änderung. Außerdem kannst Du dort im UZSU-item das Dict mit allen Einstellungen der UZSU kopieren, um es hier zu posten.
          • in smartVISU kannst Du mit den Widgets device.uzsugraph und device.uzsutable die UZSU-Einstellungen eines items graphisch bzw. In Tabellenform visualisieren. Einen schnellen Zugang ohne Erstellen einer neuen Visu-Seite bietet der Widgetassistent.
          Gruß
          Wolfram

          Kommentar


            Hier sind einmal zwei meiner wichtigsten USZUs:

            Rollladen Schiebetür ("runter um 11:00, rauf um 14:00")
            {"interpolation": {"type": "none", "initialized": false, "interval": "5", "initage": "0", "itemtype": "num"}, "list": [{"active": true, "rrule": "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU", "value": "100", "time": "11:00"}, {"active": true, "rrule": "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU", "value": "0", "time": "14:00"}], "active": true, "SunCalculated": {"sunrise": {"TH": "06:07", "FR": "06:08", "SA": "06:10", "SU": "06:11", "MO": "06:12", "TU": "06:14", "WE": "06:15"}, "sunset": {"TH": "19:41", "FR": "19:39", "SA": "19:37", "SU": "19:35", "MO": "19:33", "TU": "19:31", "WE": "19:28"}}}

            Rollladen Glasfront: ("runter um 12:00, rauf um 16:00")
            {"interpolation": {"type": "none", "initialized": false, "interval": "5", "initage": "0", "itemtype": "num"}, "list": [{"active": true, "rrule": "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU", "value": "100", "time": "12:00"}, {"active": true, "rrule": "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU", "value": "0", "time": "16:00"}], "active": true, "SunCalculated": {"sunrise": {"TH": "06:07", "FR": "06:08", "SA": "06:10", "SU": "06:11", "MO": "06:12", "TU": "06:14", "WE": "06:15"}, "sunset": {"TH": "19:41", "FR": "19:39", "SA": "19:37", "SU": "19:35", "MO": "19:33", "TU": "19:31", "WE": "19:28"}}}

            Ich hab das Problem nicht mehr nachstellen können. Das schaut aber normal aus, oder?

            Kommentar


              Die UZSU-Einstellungen sehen erstmal normal aus. Wenn das Problem nochmal auftritt, schau bitte gleich im Admin-Interface nach den letzten beiden Änderungen des items z.B. Rolladen.Schiebetür (nicht Rolladen.Schiebetür.UZSU).

              Gruß
              Wolfram
              Zuletzt geändert von wvhn; 30.08.2024, 07:02.

              Kommentar


                Also, ich konnte ein Problem bei meinem Logiken finden, da hab ich "doppelt" gearbeitet, und noch dazu mit einem falsch konfigurierten Cronjob... => das ist gelöst.

                Jetzt hab ich die Situation noch einmal, und jetzt steckt wohl die Zeitserie hinter dem Problem. Ich weiss nicht wie ich das geschafft habe, aber auf einmal hab ich einen "Pfeil", der links oder rechts geht. Siehe Anhang "Zeitserie". Ich hab das dann nicht mehr wegbekommen, eventuell ein Problem mit Auflösung am Handy. Ich hab jetzt den Eintrag gelöscht, und neu erstellt, damit ist die Zeitserie weg. ( Anhang "Keine Zeitserie"). Dort gibt es jetzt auch keinen Pfeil mehr.

                Ich kann mir gut vorstellen, dass das alles mit der niedrigen Auflösung quer am Mobiletelefon zusammenhängt, aber kann mir jemand erklären was es mit den "Pfeilen" auf sich hat?

                Edit: definitiv kommen diese "Pfeile" "von alleine". Ich hab jetzt alle meine USZUs kontrolliert, und vorher waren die nicht da, jetzt schon. Wenn ich zu Hause bin (gerade hatte ich einen Anruf meiner Frau...), schau ich mir das in der Manager Oberfläche an.

                LG Thomas
                Angehängte Dateien
                Zuletzt geändert von thomaszwanzinger; 03.09.2024, 11:47.

                Kommentar


                  Moin Thomas,

                  hier im Thread können wir das UZSU-Plugin für shNG diskutieren. Ebenso Neben- / Wechselwirkungen, die die UZSU mit Logiken, Cron-Jobs und item-Definitionen haben kann. Themen zum UZSU-Widget von smartVISU sollten wir bitte im smartVISU-Forum diskutieren, damit die Ergebnisse auch für andere smartVISU-Nutzer dokumentiert und auffindbar sind.

                  Wie funktioniert das Gespann aus Plugin und Widget?
                  • Basis für alle UZSU-Schaltvorgänge ist ein in den item-Definitionen festgelegtes UZSU-item. Es beinhaltet ein Dict, in dem alle Informationen abgelegt sind, die das UZSU-Plugin für die Ausführung der Schaltvorgänge benötigt. Dabei enthält das item "mein.Beispielitem.uzsu" die Anweisungen, die für das item "mein.Beispielitem" ausgeführt werden. Das UZSU-Plugin arbeitet diese Anweisungen kontinuierlich ab, indem es den jeweils nächsten Schaltvorgang in den Scheduler lädt. Das Dict kann man manuell eingeben, wenn man den Aufwand nicht scheut. Grundsätzlich benötigt man das smartVISU-Widget also nicht zum Betrieb einer UZSU. Solange im Dict keine aktiven Einträge für „series“ stehen, werden auch keine Serien ausgeführt.
                  • Das UZSU-Plugin initialisiert beim Start von shNG jedes definierte UZSU-item. Sofern noch keine Schaltzeiten eingegeben und gecached wurden, enthält das item Angaben zur Interpolation, die Angabe "list": [] und "active": "false" für die fehlenden Schaltzeiten, sowie einige Informationen zu Sonnenauf- und -untergang und die Versionsnummer des Plugins. Ich habe das hier mal zwecks Lesbarkeit in mehrere Zeilen auseinander gezogen:
                    Code:
                    	{'interpolation': {'type': 'none', 'initialized': False, 'interval': 5, 'initage': 0, 'itemtype': 'num'},
                    	'list': [], 'active': False,
                    	'sunrise': '06:43', 'sunset': '20:01','SunCalculated': {'sunrise': {'TU': '06:43', 'WE': '06:45', 'TH': '06:46', 'FR': '06:47', 'SA': '06:49', 'SU': '06:50', 'MO': '06:52'}, 'sunset': {'TU': '20:01', 'WE': '19:59', 'TH': '19:57', 'FR': '19:55', 'SA': '19:53', 'SU': '19:51', 'MO': '19:48'}}, 'plugin_version': '2.0.2'}
                    Die ersten beiden Zeilen im Beispiel beinhalten die Daten für die Steuerung des Plugins. Alle anderen Angaben sind Informationen, die das smartVISU-Widget auswertet.
                  • Das smartVISU-Widget device.uzsuicon ist ein Editor für das Dict im UZSU-item. Die Versionsnummer im Dict teilt dem Widget mit, ob das Plugin Zeitserien beherrscht. Wenn das der Fall ist, wird neben dem "Experten"-Button (Abhängigkeiten vom Sonnenstand) ein Button für "Zeitserie" angezeigt. Hier kann man Werte eingeben und muss diese dann aktivieren. Zunächst sind diese Angaben immer leer.
                    grafik.png
                    Zeitserien wiederholen Schaltvorgänge in einstellbaren Abständen. Sinnvoll ist das zum Beispiel für eine Intervall-Bewässerung im Garten.

                    Drückt man unten rechts auf "OK", werden die Werte an das UZSU-item übertragen und danach ist das Widget wieder außer Betrieb. Das shNG-Plugin führt noch ein paar Berechnungen durch, speichert diese im Dict und schickt den nächsten Schaltzeitpunkt an den Scheduler.
                  • Die Buttons "Experte" und "Zeitserie" werden in der Regel auf kleinen Displays nicht angezeigt, da dies sonst zu unübersichtlich wird. Ich schau mir nochmal an, warum in Deinem Fall der Button auf dem schmalen Display erscheint. (EDIT: Ursache gefunden. Korrektur kommt mit den nächsten Änderungen in den develop branch).
                  Wenn Du weiterhin Konflikte mit Schaltzeiten hast, solltest Du nochmal prüfen, welche Logiken , evals etc. sonst noch Auswirkungen auf das jeweilige item haben. Und wie gesagt müsstest Du im item-Baum sehen, wer die jeweilige Änderung veranlasst hat. Notfalls kannst Du das item auch zum watch-item machen und eine Logik alle Änderungen und Quellen aufzeichnen lassen.

                  Gruß
                  Wolfram
                  Zuletzt geändert von wvhn; 03.09.2024, 14:37.

                  Kommentar


                    Hätte zu der Zeitserien Funktion im UZSU Plugin auch eine frage,
                    muss ich für diese Funktion in den Items oder im UZSU Plugin noch was zus. eintragen ? in der normalen Form funktioniert das bei mir nicht.
                    Ich möchte einen Springbrunnen gerne im Stundenintervall schalten, also 1 Stunde Ein, 1 Stunde Aus, und das von 7 Uhr bis 22 Uhr.
                    Wenn ich hier eine Zeitserie in der UZSU anlege passiert aber nichts.
                    Übersehe ich hier etwas ?
                    P.S: Wenn ich die Schaltzeiten einzeln eintrage werden diese abgearbeitet, aber als Zeitserie nicht.
                    Ich benutze die aktuelle SHNG und SV.

                    Zum Test hab ich es aktuell mit einer WLan Steckdose gemacht, um es besser kontrollieren zu können, in der finalen Version wird dann ein KNX Aktor geschaltet,
                    aber Ergebnis ist aktuell das gleiche.

                    Item:
                    Code:
                    shellyplug:
                    
                        plug1:
                            type: bool
                            shelly_id: 'DE8D35'
                            shelly_type: shellyplug
                    
                            uzsu:
                                type: dict
                                uzsu_item: ..
                                cache: 'true'​
                    Gruß, Mike
                    Angehängte Dateien

                    Kommentar


                      Du musst zwei Zeitserien anlegen. Eine für „An“ (alle 2h ab 7:00 Uhr) und eine für „Aus“ (alle 2h ab 8:00 Uhr).

                      Gruß
                      Wolfram
                      Zuletzt geändert von wvhn; 06.09.2024, 06:14.

                      Kommentar


                        Danke für die Antwort,
                        2 Serien anlegen macht sinn, hab ich auch probiert, aber es funktioniert trotzdem nicht.
                        Angehängte Dateien
                        Zuletzt geändert von Mike01; 07.09.2024, 16:35.

                        Kommentar


                          Es scheint so, als ob die Serie alle 2 Minuten läuft, anstatt alle 2 Stunden. Oder die beiden Bilder passen nicht zusammen. Das muss ich mir genauer ansehen. Kannst Du mal in der Browser-Konsole die Websocket-Message kopieren, die smartVISU unmittelbar abschickt, nachdem Du die UZSU-Daten neu abspeicherst?

                          Gruß
                          Wolfram
                          Zuletzt geändert von wvhn; 07.09.2024, 15:13.

                          Kommentar


                            Sorry, Hatte wirklich das falsche Bild eingefügt, hab zum Test die Zeitserie auf 2 Minuten geändert, um es schneller zu testen, und hatte da versehentlich den Screenshot gemacht. Das Bild hab ich im vorherigen Beitrag ausgetauscht. Die Schaltzeit wird hier schon richtig übergeben, aber irgendwie wird die Zeitserie nicht abgearbeitet. Mittlerweile hab ich die einzelnen Schaltzeiten bei meinem Springbrunnen per Hand im Stundentakt eingetragen, und es funktioniert jetzt. Aber das mit der Zeitserie würde mich trotzdem interessieren, warum das nicht funktioniert.

                            In der Firefox Konsole unter Websockets hab ich beim absenden diesen Eintrag gefunden, weiß aber nicht ob das hilft:

                            Code:
                            id    "shellyplug.plug1.uzsu"
                            val    {…}
                            interpolation    {…}
                            type    "none"
                            initialized    false
                            interval    "5"
                            initage    "0"
                            itemtype    "bool"
                            list    […]
                            0    
                            active    true
                            rrule    "FREQ=WEEKLY;BYDAY=SA,SU"
                            value    "1"
                            series    {…}
                            active    true
                            timeSeriesMin    "07:00"
                            timeSeriesMax    "19:00"
                            timeSeriesIntervall    "02:00"
                            time    "series"
                            1    
                            active    true
                            rrule    "FREQ=WEEKLY;BYDAY=SA,SU"
                            value    "0"
                            series    {…}
                            active    true
                            timeSeriesMin    "08:00"
                            timeSeriesMax    "20:00"
                            timeSeriesIntervall    "02:00"
                            time    "series"
                            active    true
                            31 Nachrichten
                            269,86 kB gesamt, 3,64 kB gesendet, 266,22 kB empfangen
                            
                            ​
                            und hier wäre noch der Inhalt des UZSU items:

                            Code:
                            {'interpolation': {'type': 'none',
                            'initialized': False,
                            'interval': '5',
                            'initage': '0',
                            'itemtype': 'bool'},
                            'list': [{'active': True,
                            'rrule': 'FREQ=WEEKLY;BYDAY=SA,SU',
                            'value': '1',
                            'series': {'active': True,
                            'timeSeriesMin': '07:00',
                            'timeSeriesMax': '19:00',
                            'timeSeriesIntervall': '02:00'},
                            'time': 'series',
                            'seriesCalculated': [{'seriesMin': '07:00',
                            'seriesMax': '19:00',
                            'maxCountCalculated': 6,
                            'seriesDay': 'SU'},
                            {'seriesMin': '07:00',
                            'seriesMax': '19:00',
                            'maxCountCalculated': 6,
                            'seriesDay': 'SA'}]},
                            {'active': True,
                            'rrule': 'FREQ=WEEKLY;BYDAY=SA,SU',
                            'value': '0',
                            'series': {'active': True,
                            'timeSeriesMin': '08:00',
                            'timeSeriesMax': '20:00',
                            'timeSeriesIntervall': '02:00'},
                            'time': 'series',
                            'seriesCalculated': [{'seriesMin': '18:00',
                            'seriesMax': '20:00',
                            'maxCountCalculated': 1,
                            'seriesDay': 'SA'},
                            {'seriesMin': '08:00',
                            'seriesMax': '20:00',
                            'maxCountCalculated': 6,
                            'seriesDay': 'SU'},
                            {'seriesMin': '08:00',
                            'seriesMax': '20:00',
                            'maxCountCalculated': 5,
                            'seriesDay': 'SA'}]}],
                            'active': True,
                            'sunrise': '06:34',
                            'sunset': '19:36',
                            'plugin_version': '2.0.0',
                            'SunCalculated': {'sunrise': {'SA': '06:32',
                            'SU': '06:34',
                            'MO': '06:35',
                            'TU': '06:37',
                            'WE': '06:38',
                            'TH': '06:39',
                            'FR': '06:41'},
                            'sunset': {'SA': '19:36',
                            'SU': '19:34',
                            'MO': '19:31',
                            'TU': '19:29',
                            'WE': '19:27',
                            'TH': '19:25',
                            'FR': '19:23'}}}
                            
                            ​
                            Zuletzt geändert von Mike01; 07.09.2024, 16:30.

                            Kommentar


                              Hab’s jetzt auch mal getestet. Im Master v1.10 schmeißt das Plugin tatsächlich Fehler. Die sind im Develop aber bereits korrigiert. Damit funktioniert die Serie dann wieder.

                              Gruß
                              Wolfram
                              Zuletzt geändert von wvhn; 08.09.2024, 08:00.

                              Kommentar


                                Mike01

                                Du kannst den korrigierten Stand hier herunterladen und die Dateien im Ordner „./plugins/uzsu“ ersetzen. (Vorher vlt. den bestehenden Ordner als Backup umbenennen,) Diese Version sollte noch mit v1.10 kompatibel sein).

                                Gruß
                                Wolfram

                                Kommentar

                                Lädt...
                                X