Ankündigung

Einklappen
Keine Ankündigung bisher.

Unterstützung bei der Entwicklung eines Landroid-Plugin

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

    Hi Sipple,

    könntest Du mal folgendem Code im Executor ausführen und das Ergebnis als Code-Block posten, das liefert die Werte die von pyworxcloud geliefert werden.
    Danke

    Code:
    from lib.item import Items
    sh_items = Items.get_instance()
    for i in sh_items.match_items("*schedule_day*"):
        indent=40-len(str(i))
        print(str(i) + indent*" " + str(i()))
    Das Ergebnis sollte so aussehen (natürlich mit Deinen Werten) - Bitte betreffend der lesbarkeit als "Quelle" in den Post einfügen

    Code:
    worx.schedule_day_sunday_start          00:00
    worx.schedule_day_sunday_duration       0
    worx.schedule_day_sunday_boundary       0
    worx.schedule_day_monday_start          08:00
    worx.schedule_day_monday_duration       120
    worx.schedule_day_monday_boundary       1
    worx.schedule_day_tuesday_start         08:00
    worx.schedule_day_tuesday_duration      120
    worx.schedule_day_tuesday_boundary      0
    worx.schedule_day_wednesday_start       08:00
    worx.schedule_day_wednesday_duration    120
    worx.schedule_day_wednesday_boundary    0
    worx.schedule_day_thursday_start        08:00
    worx.schedule_day_thursday_duration     120
    worx.schedule_day_thursday_boundary     1
    worx.schedule_day_friday_start          08:00
    worx.schedule_day_friday_duration       120
    worx.schedule_day_friday_boundary       0
    worx.schedule_day_saturday_start        08:00
    worx.schedule_day_saturday_duration     120
    worx.schedule_day_saturday_boundary     0
    worx.schedule_day_sunday_2_start        00:00
    worx.schedule_day_sunday_2_duration     0
    worx.schedule_day_sunday_2_boundary     0
    worx.schedule_day_monday_2_start        13:00
    worx.schedule_day_monday_2_duration     495
    worx.schedule_day_monday_2_boundary     0
    worx.schedule_day_tuesday_2_start       13:00
    worx.schedule_day_tuesday_2_duration    495
    worx.schedule_day_tuesday_2_boundary    0
    worx.schedule_day_wednesday_2_start     13:00
    worx.schedule_day_wednesday_2_duration  495
    worx.schedule_day_wednesday_2_boundary  0
    worx.schedule_day_thursday_2_start      13:00
    worx.schedule_day_thursday_2_duration   495
    worx.schedule_day_thursday_2_boundary   0
    worx.schedule_day_friday_2_start        13:00
    worx.schedule_day_friday_2_duration     495
    worx.schedule_day_friday_2_boundary     0
    worx.schedule_day_saturday_2_start      13:00
    worx.schedule_day_saturday_2_duration   495
    worx.schedule_day_saturday_2_boundary   0

    Kommentar


      Bitteschön:

      Code:
      worx.schedule_day_sunday_start          00:00
      worx.schedule_day_sunday_duration       0
      worx.schedule_day_sunday_boundary       0
      worx.schedule_day_monday_start          09:00
      worx.schedule_day_monday_duration       210
      worx.schedule_day_monday_boundary       1
      worx.schedule_day_tuesday_start         09:00
      worx.schedule_day_tuesday_duration      210
      worx.schedule_day_tuesday_boundary      0
      worx.schedule_day_wednesday_start       09:00
      worx.schedule_day_wednesday_duration    210
      worx.schedule_day_wednesday_boundary    1
      worx.schedule_day_thursday_start        09:00
      worx.schedule_day_thursday_duration     210
      worx.schedule_day_thursday_boundary     0
      worx.schedule_day_friday_start          09:00
      worx.schedule_day_friday_duration       210
      worx.schedule_day_friday_boundary       1
      worx.schedule_day_saturday_start        00:00
      worx.schedule_day_saturday_duration     0
      worx.schedule_day_saturday_boundary     0
      worx.schedule_day_sunday_2_start        00:00
      worx.schedule_day_sunday_2_duration     0
      worx.schedule_day_sunday_2_boundary     0
      worx.schedule_day_monday_2_start        00:00
      worx.schedule_day_monday_2_duration     0
      worx.schedule_day_monday_2_boundary     0
      worx.schedule_day_tuesday_2_start       00:00
      worx.schedule_day_tuesday_2_duration    0
      worx.schedule_day_tuesday_2_boundary    0
      worx.schedule_day_wednesday_2_start     00:00
      worx.schedule_day_wednesday_2_duration  0
      worx.schedule_day_wednesday_2_boundary  0
      worx.schedule_day_thursday_2_start      00:00
      worx.schedule_day_thursday_2_duration   0
      worx.schedule_day_thursday_2_boundary   0
      worx.schedule_day_friday_2_start        00:00
      worx.schedule_day_friday_2_duration     0
      worx.schedule_day_friday_2_boundary     0
      worx.schedule_day_saturday_2_start      00:00
      worx.schedule_day_saturday_2_duration   0
      worx.schedule_day_saturday_2_boundary   0
      Da sieht das plausibel aus (für mich)

      Kommentar


        Hab noch was getestet. Am Montag in der App mal eine Stunde länger, also von 9:00 bis 13:30.

        Im Executor:

        Code:
        worx.schedule_day_sunday_start          00:00
        worx.schedule_day_sunday_duration       0
        worx.schedule_day_sunday_boundary       0
        worx.schedule_day_monday_start          09:00
        worx.schedule_day_monday_duration       270
        worx.schedule_day_monday_boundary       1
        worx.schedule_day_tuesday_start         09:00
        worx.schedule_day_tuesday_duration      210
        worx.schedule_day_tuesday_boundary      0
        worx.schedule_day_wednesday_start       09:00
        worx.schedule_day_wednesday_duration    210
        worx.schedule_day_wednesday_boundary    1
        worx.schedule_day_thursday_start        09:00
        worx.schedule_day_thursday_duration     210
        worx.schedule_day_thursday_boundary     0
        worx.schedule_day_friday_start          09:00
        worx.schedule_day_friday_duration       210
        worx.schedule_day_friday_boundary       1
        worx.schedule_day_saturday_start        00:00
        worx.schedule_day_saturday_duration     0
        worx.schedule_day_saturday_boundary     0
        worx.schedule_day_sunday_2_start        00:00
        worx.schedule_day_sunday_2_duration     0
        worx.schedule_day_sunday_2_boundary     0
        worx.schedule_day_monday_2_start        00:00
        worx.schedule_day_monday_2_duration     0
        worx.schedule_day_monday_2_boundary     0
        worx.schedule_day_tuesday_2_start       00:00
        worx.schedule_day_tuesday_2_duration    0
        worx.schedule_day_tuesday_2_boundary    0
        worx.schedule_day_wednesday_2_start     00:00
        worx.schedule_day_wednesday_2_duration  0
        worx.schedule_day_wednesday_2_boundary  0
        worx.schedule_day_thursday_2_start      00:00
        worx.schedule_day_thursday_2_duration   0
        worx.schedule_day_thursday_2_boundary   0
        worx.schedule_day_friday_2_start        00:00
        worx.schedule_day_friday_2_duration     0
        worx.schedule_day_friday_2_boundary     0
        worx.schedule_day_saturday_2_start      00:00
        worx.schedule_day_saturday_2_duration   0
        worx.schedule_day_saturday_2_boundary   0
        Im Dict:

        Code:
        {'interpolation': {'type': 'none', 'initialized': False, 'itemtype': 'num', 'interval': '', 'initage': ''}, 'list': [{'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,WE,FR', 'value': '1', 'time': '09:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,WE,FR', 'value': '2', 'time': '12:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '0', 'time': '09:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '2', 'time': '12:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,WE,FR', 'value': '1', 'time': '00:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,WE,FR', 'value': '2', 'time': '03:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '0', 'time': '00:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '2', 'time': '03:30'}], 'active': True, 'SunCalculated': {'sunrise': {'MO': '05:23', 'TU': '05:22', 'WE': '05:21', 'TH': '05:20', 'FR': '05:19', 'SA': '05:18', 'SU': '05:17'}, 'sunset': {'MO': '20:58', 'TU': '20:59', 'WE': '21:00', 'TH': '21:01', 'FR': '21:02', 'SA': '21:03', 'SU': '21:04'}}}
        Im Dict als LETZTER Wert:

        Code:
        {'interpolation': {'type': 'none', 'initialized': False, 'itemtype': 'num', 'interval': '', 'initage': ''}, 'list': [{'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,WE,FR', 'value': '1', 'time': '09:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO', 'value': '2', 'time': '13:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '0', 'time': '09:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '2', 'time': '12:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=WE,FR', 'value': '2', 'time': '12:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,WE,FR', 'value': '1', 'time': '00:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO', 'value': '2', 'time': '04:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '0', 'time': '00:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '2', 'time': '03:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=WE,FR', 'value': '2', 'time': '03:30'}], 'active': True, 'SunCalculated': {'sunrise': {'MO': '05:23', 'TU': '05:22', 'WE': '05:21', 'TH': '05:20', 'FR': '05:19', 'SA': '05:18', 'SU': '05:17'}, 'sunset': {'MO': '20:58', 'TU': '20:59', 'WE': '21:00', 'TH': '21:01', 'FR': '21:02', 'SA': '21:03', 'SU': '21:04'}}}
        Im Dict als VORHERIGER Wert:

        Code:
        {'interpolation': {'type': 'none', 'initialized': False, 'itemtype': 'num', 'interval': '', 'initage': ''}, 'list': [{'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,WE,FR', 'value': '1', 'time': '09:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO', 'value': '2', 'time': '13:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '0', 'time': '09:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '2', 'time': '12:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=WE,FR', 'value': '2', 'time': '12:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,WE,FR', 'value': '1', 'time': '00:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO', 'value': '2', 'time': '04:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '0', 'time': '00:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,TH', 'value': '2', 'time': '03:30'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=WE,FR', 'value': '2', 'time': '03:30'}], 'active': True}
        Das ist irgendwie schräg. Im Executor passt es.
        Im Dict aktueller Wert NICHT, da kommen die ALTEN Werte wieder raus (12:30 bzw. 03:30) Und so zeigt es das Widget auch an.
        Im letzten Wert steht dann wie erwartet 13:30 und entsprechend in der Nacht 04:30.
        Im vorherigen Wert fehlt dafür die sunrise/sunset Zeiten.
        Auffällig ist, dass die falschen nächtlichen Einträge mit den richtigen am Tag zusammenhängen. Also vorher: 00:00 bis 03:30 und 09:00 bis 12:30, macht jeweils 210 Minuten. Nach dem Ändern auf 13:30 am Tag wird auch der falsche Eintrag in der Nacht auf 04:30 verlängert, also jeweils 270 Minuten.

        Sehr verwirrend.

        Kommentar


          Und nachdem ich jetzt noch etwas länger gewartet habe, zeigt auch plötzlich das Dict und das Widget die geänderten Zeiten, also inkl. dem nicht existenten Nacht-Zeitraum bis 04:30.

          Screenshot 2022-05-23 164140.png

          Was die falschen Nachtzeiten angeht, folgende Vermutung.

          Wie man in der Executor Ausgabe sieht, gibt es ja zwei große Blöcke, weil man pro Tag jeweils zwei Mähzeiten einstellen kann. Der erste Block wird korrekt geparst. Beim zweiten sieht das Plugin "00:00" und rafft die Duration "0" nicht, also nimmt es die letzte bekannte Duration von dem Tag (210 bzw. 270 Minuten) und baut das so zusammen.
          Zuletzt geändert von Sipple; 23.05.2022, 16:09.

          Kommentar


            Super vielen Dank,

            ich habe das Problem erkannt, die Ursache lag darin, dass für den zweiten Kalendereintrag je Tag nicht richtig geparst wurde. Es wurde immer die "Duration" des ersten Eintrags verwendet. Bug fix ist hochgeladen.

            Bitte nochmal testen, Danke

            Gruss Andre

            Kommentar


              … Andre war schneller. Ich lösche den Beitrag zum Fehler und hänge den zweiten Teil unten wieder an.
              Zuletzt geändert von wvhn; 23.05.2022, 16:42.

              Kommentar


                Fast schon schade, jetzt, wo ich nochmal was getestet habe
                Wenn ich nämlich eine zweite Zeitdauer am Tag definiere, passt alles wunderbar.
                Danke wieder einmal für deine schnelle Abhilfe. Wieder ein super Plugin geworden.

                Kommentar


                  IMHO braucht man die reinen Visualisierungs-Items nicht über das UZSU-Plugin laufen zu lassen. Wenn ich die Readme des Plugins richtig verstanden habe, gibt es nur die Funktion "Mähen nach UZSU", die echt über das UZSU-Plugin den Scheduler von shNG mit Ereignissen beladen soll. Die anderen items, die nur visualisiert werden können, kann man anders nennen, z.B. "worx.visu.app_mow_visu.visu" anstelle "worx.visu.app_mow_uzsu.uzsu". Das UZSU-Plugin ignoriert diese dann, während die UZSU-Widgets von smartVISU mit beliebigen item-Namen umgehen können, sofern sie ein gültiges Dict darin vorfinden. Die Structs kann man ansonsten so lassen. Vorteil ist, dass das UZSU-Plugin nicht noch zusätzliche Daten in das Dict schreibt und damit item updates generiert und dass es den shNG Scheduler nicht unnötig belastet.

                  Gruß
                  Wolfram

                  Kommentar


                    Schaut jetzt gut aus. Werd's noch etwas weiter beobachten.

                    Kommentar


                      Hallo,

                      https://github.com/MTrab/pyworxcloud/issues/8

                      Das Problem haben wir nicht mehr, oder? Dazu gab es ja auch einen Commit der das beheben konnte.

                      Zur Visu:
                      ich habe v3.1.0.

                      Tatsächlich habe ich einen Fehler in der Console:
                      Code:
                      device.js:2450 Uncaught TypeError: Cannot read properties of undefined (reading 'split')
                      at a.<computed>.<computed>._DrawTimeTable (device.js:2450:16)
                      at a.<computed>.<computed>._DrawTimeTable (jquery.mobile-1.4.5.js:835:25)
                      at a.<computed>.<computed>._update (device.js:1974:8)
                      at a.<computed>.<computed>._update (jquery.mobile-1.4.5.js:835:25)
                      at a.<computed>.<computed>.update (base.js:2053:10)
                      at a.<computed>.<computed>.update (jquery.mobile-1.4.5.js:835:25)
                      at HTMLDivElement.<anonymous> (jquery.mobile-1.4.5.js:933:39)
                      at Function.each (jquery-2.1.4.min.js:2:2882)
                      at n.fn.init.each (jquery-2.1.4.min.js:2:847)
                      at n.fn.init.a.fn.<computed> [as widget] (jquery.mobile-1.4.5.js:919:9)

                      Meine Items:
                      Code:
                      {'interpolation': {'type': 'none', 'initialized': False, 'itemtype': 'num', 'interval': '', 'initage': ''}, 'list': [], 'active': True, 'SunCalculated': {'sunrise': {'MO': '05:14', 'TU': '05:13', 'WE': '05:12', 'TH': '05:10', 'FR': '05:09', 'SA': '05:08', 'SU': '05:07'}, 'sunset': {'MO': '21:28', 'TU': '21:30', 'WE': '21:31', 'TH': '21:33', 'FR': '21:34', 'SA': '21:35', 'SU': '21:36'}}}
                      
                      {'interpolation': {'type': 'none', 'initialized': False, 'itemtype': 'num', 'interval': '', 'initage': ''}, 'list': [{'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TH', 'value': '1', 'time': '08:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TH', 'value': '2', 'time': '10:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,WE,FR,SA', 'value': '0', 'time': '08:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,WE,FR,SA', 'value': '2', 'time': '10:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TH', 'value': '1', 'time': '13:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=MO,TH', 'value': '2', 'time': '15:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,WE,FR,SA', 'value': '0', 'time': '13:00'}, {'active': True, 'rrule': 'FREQ=WEEKLY;BYDAY=TU,WE,FR,SA', 'value': '2', 'time': '15:00'}], 'active': True, 'SunCalculated': {'sunrise': {'MO': '05:14', 'TU': '05:13', 'WE': '05:12', 'TH': '05:10', 'FR': '05:09', 'SA': '05:08', 'SU': '05:07'}, 'sunset': {'MO': '21:28', 'TU': '21:30', 'WE': '21:31', 'TH': '21:33', 'FR': '21:34', 'SA': '21:35', 'SU': '21:36'}}}
                      
                      {'interpolation': {'type': 'none', 'initialized': False, 'interval': 5, 'initage': 0, 'itemtype': 'num'}, 'list': [], 'active': False, 'SunCalculated': {'sunrise': {'SU': '05:15', 'MO': '05:14', 'TU': '05:13', 'WE': '05:12', 'TH': '05:10', 'FR': '05:09', 'SA': '05:08'}, 'sunset': {'SU': '21:27', 'MO': '21:28', 'TU': '21:30', 'WE': '21:31', 'TH': '21:33', 'FR': '21:34', 'SA': '21:35'}}, 'plugin_version': '1.6.1'}
                      Sorry, falls ich etwas übersehen habe: Aber mit meinem Problem war ich hier der Einzige, richtig?

                      Gruß,
                      Hendrik

                      Kommentar


                        Ich habe das Problem nicht.

                        Kommentar


                          @henfri,
                          setze mal den Parameter "showsun" in den Widgets auf false. Das sollte das aktuelle Problem umgehen. Wie in #118 geschrieben werden offenbar die Einträge "sunrise", "sunset" und "plugin_version" vom UZSU-Plugin nicht immer zuverlässig geschrieben. Deshalb steigt das Widget in Zeile 2450 bei
                          Code:
                          sunrise.split(":")[0]
                          aus.

                          Unter welchen Bedingungen dies passiert, konnte ich noch nicht nachvollziehen.

                          Gruß
                          Wolfram

                          Kommentar


                            Moin Wolfram,

                            danke, das bringt mich einen Schritt weiter.
                            Allerdings wird noch nix (oder kaum etwas) angezeigt.
                            table1.png

                            Gruß,
                            Hendrik

                            Kommentar


                              Bei den items der oberen und der unteren Tabelle sind die Listen leer. Da kann nichts angezeigt werden. In der mittleren Tabelle sieht man zumindest die Zeiten, zu denen das item auf den Wert 2 gesetzt wird (rote Linien). In der Version v3.1.0 gab es noch nicht die Möglichkeit, Arrays für "val_on" und die Farben anzugeben. Die gibt es erst in v3.2.x. Deshalb werden die Zeiten für die Werte "0" und "1" nicht angezeigt. Ohne die Arrays geht zumindest ein grüner Wert:
                              Code:
                              {{device.uzsutable('ba','worx.visu.app_mow_uzsu.uzsu','Mähzeiten App-Kalender', '0', '2', 'green', 'red','','','true','5m','solid','false','true','true','true','1','list',['Mähen:0','Mähen+Kante:1','Mähen-Ende:2'])}}
                              Screenshot 2022-05-23 at 23-49-43 YOUR NAME smartVISU.png

                              Das ist sicher ein guter Grund für den Umstieg auf v3.2.2


                              Gruß
                              Wolfram

                              Kommentar


                                Hi,

                                danke!
                                Dann werde ich mich mal ans Update machen.

                                Gruß,
                                Hendrik

                                Kommentar

                                Lädt...
                                X