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

    #91
    Hi SMarcus ,

    auf die schnelle ersetze in der __init__.py in Zeile 181

    Code:
    "active":True
    durch
    Code:
    "active":False
    Dann ist dieser Fehler auch weg

    Kommentar


      #92
      Hi AndreK

      Hab noch ein wenig gewartet, weil ich gesehen habe, dass du in kurzer Zeit noch zwei Bugfixes hinterher geschoben hast

      Hab erst mal alles rausgeworfen, inkl. __pycache__, neu gestartet, neu eingerichtet und wieder neu gestartet. Ergebnis:

      Code:
      2022-05-20 15:32:35 WARNING lib.smarthome.main -------------------- Init SmartHomeNG 1.8.2.master (0f462a1e) --------------------
      2022-05-20 15:32:35 WARNING lib.smarthome.main Running in Python interpreter 'v3.7.3 final', from directory /usr/local/smarthome
      2022-05-20 15:32:35 WARNING lib.smarthome.main - on Linux-5.10.17-v7l+-armv7l-with-debian-10.12 (pid=7397)
      2022-05-20 15:32:35 WARNING lib.smarthome.main - Nutze Feiertage für Land 'DE', Provinz 'BY', 1 benutzerdefinierte(r) Feiertag(e) definiert
      2022-05-20 15:32:42 WARNING lib.metadata Item 'worx.visu.exclusion_uzsu.uzsu', attribute 'uzsu_item': Attribute is undefined and has value '..'
      2022-05-20 15:32:42 WARNING lib.metadata Item 'worx.visu.app_mow_uzsu.uzsu', attribute 'uzsu_item': Attribute is undefined and has value '..'
      2022-05-20 15:32:42 WARNING lib.metadata Item 'worx.visu.mow_control_uzsu.uzsu', attribute 'uzsu_item': Attribute is undefined and has value '..'
      2022-05-20 15:32:42 WARNING lib.item.item Item worx.visu.exclusion_uzsu.uzsu.last: problem evaluating ''None' if sh.worx.visu.exclusion_uzsu.uzsu.lastvalue() is None else sh.worx.visu.exclusion_uzsu.uzsu.lastvalue()': 'Item' object has no attribute 'lastvalue'
      2022-05-20 15:32:42 WARNING lib.item.item Item worx.visu.exclusion_uzsu.uzsu.active.status: problem evaluating 'sh.worx.visu.exclusion_uzsu.uzsu.activate()': 'Item' object has no attribute 'activate'
      2022-05-20 15:32:42 WARNING lib.item.item Item worx.visu.app_mow_uzsu.uzsu.last: problem evaluating ''None' if sh.worx.visu.app_mow_uzsu.uzsu.lastvalue() is None else sh.worx.visu.app_mow_uzsu.uzsu.lastvalue()': 'Item' object has no attribute 'lastvalue'
      2022-05-20 15:32:42 WARNING lib.item.item Item worx.visu.app_mow_uzsu.uzsu.active.status: problem evaluating 'sh.worx.visu.app_mow_uzsu.uzsu.activate()': 'Item' object has no attribute 'activate'
      2022-05-20 15:32:42 WARNING lib.item.item Item worx.visu.mow_control_uzsu.uzsu.last: problem evaluating ''None' if sh.worx.visu.mow_control_uzsu.uzsu.lastvalue() is None else sh.worx.visu.mow_control_uzsu.uzsu.lastvalue()': 'Item' object has no attribute 'lastvalue'
      2022-05-20 15:32:42 WARNING lib.item.item Item worx.visu.mow_control_uzsu.uzsu.active.status: problem evaluating 'sh.worx.visu.mow_control_uzsu.uzsu.activate()': 'Item' object has no attribute 'activate'
      2022-05-20 15:32:42 WARNING lib.smarthome.main -------------------- SmartHomeNG initialization finished --------------------
      2022-05-20 15:32:43 WARNING plugins.landroid authentication was succesfull logged in
      2022-05-20 15:32:47 WARNING lib.item.item Item worx.visu.exclusion_uzsu.uzsu.active.status: problem evaluating 'sh.worx.visu.exclusion_uzsu.uzsu.activate()': 'Item' object has no attribute 'activate'
      2022-05-20 15:32:47 WARNING lib.item.item Item worx.visu.app_mow_uzsu.uzsu.last: problem evaluating ''None' if sh.worx.visu.app_mow_uzsu.uzsu.lastvalue() is None else sh.worx.visu.app_mow_uzsu.uzsu.lastvalue()': 'Item' object has no attribute 'lastvalue'
      2022-05-20 15:32:47 WARNING lib.item.item Item worx.visu.exclusion_uzsu.uzsu.last: problem evaluating ''None' if sh.worx.visu.exclusion_uzsu.uzsu.lastvalue() is None else sh.worx.visu.exclusion_uzsu.uzsu.lastvalue()': 'Item' object has no attribute 'lastvalue'
      2022-05-20 15:32:47 WARNING lib.item.item Item worx.visu.mow_control_uzsu.uzsu.last: problem evaluating ''None' if sh.worx.visu.mow_control_uzsu.uzsu.lastvalue() is None else sh.worx.visu.mow_control_uzsu.uzsu.lastvalue()': 'Item' object has no attribute 'lastvalue'
      2022-05-20 15:32:47 WARNING lib.item.item Item worx.visu.mow_control_uzsu.uzsu.active.status: problem evaluating 'sh.worx.visu.mow_control_uzsu.uzsu.activate()': 'Item' object has no attribute 'activate'
      2022-05-20 15:32:47 WARNING lib.item.item Item worx.visu.app_mow_uzsu.uzsu.active.status: problem evaluating 'sh.worx.visu.app_mow_uzsu.uzsu.activate()': 'Item' object has no attribute 'activate'
      2022-05-20 15:38:47 ERROR modules.websocket prepare_monitor: No item 'worx.commands.EDGECUT' found
      2022-05-20 15:41:30 ERROR modules.websocket prepare_monitor: No item 'worx.commands.EDGECUT' found
      Es werden wohl zur UZSU gehörige Items nicht gefunden und auch nicht das EDGECUT Kommando.

      Der Item-Baum sieht an den wahrscheinlich entscheidenden Stellen so aus:

      Screenshot 2022-05-20 155357.png

      Gruß, Martin



      Kommentar


        #93
        Kann es sein, dass meine uzsu Fehler daher kommen, dass ich das uzsu Plugin noch nicht geladen habe?
        Wenn ja, könnte mir mal wer seine uzsu Konfiguration in der /etc/plugin.yaml zeigen? Hab die noch nie benutzt.

        Kommentar


          #94
          Hallo Sipple , SMarcus

          mein Fehler, die plugin.yaml auf GIT war nicht ganz aktuell. Ich habe diese manuell korrigiert. Ich hoffe ich habe da keinen Fehler eingebaut.

          Meine UZSU-Config in der /etc/plugin.yaml sieht so aus :

          Code:
          uzsu:
              plugin_name: uzsu
              remove_duplicates: true
          Viele Grüsse
          Andre

          Kommentar


            #95
            Danke dir.

            Aber es geht schon los mit der uzsu. Versuche das Plugin zu laden. Geht natürlich nicht. Meckert numpy und scipy an. Der Autoinstall von SHNG funktioniert auf dem PI4B bei mir nicht. Also manuell nach requirements installiert, trotzdem bekomme ich im Log:

            Code:
            2022-05-20 16:37:01 WARNING lib.smarthome.main -------------------- Init SmartHomeNG 1.8.2.master (0f462a1e) --------------------
            2022-05-20 16:37:01 WARNING lib.smarthome.main Running in Python interpreter 'v3.7.3 final', from directory /usr/local/smarthome
            2022-05-20 16:37:01 WARNING lib.smarthome.main - on Linux-5.10.17-v7l+-armv7l-with-debian-10.12 (pid=9834)
            2022-05-20 16:37:01 WARNING lib.smarthome.main - Nutze Feiertage für Land 'DE', Provinz 'BY', 1 benutzerdefinierte(r) Feiertag(e) definiert
            2022-05-20 16:37:04 INFO lib.network Initializing a connection to 127.0.0.1 on TCP port 6720 with autoreconnect
            2022-05-20 16:37:04 DEBUG lib.network 127.0.0.1 is a valid IP address
            2022-05-20 16:37:04 DEBUG lib.network '0.0.0.0' is a valid IP address
            2022-05-20 16:37:06 WARNING plugins.uzsu Unable to import Python package 'scipy' which is necessary for interpolation.
            2022-05-20 16:37:06 ERROR lib.plugin Plugin 'uzsu' initialization failed, plugin not loaded
            2022-05-20 16:37:09 INFO lib.network Starting up TCP server socket 0.0.0.0:2323
            2022-05-20 16:37:09 DEBUG lib.network Starting connection cycle for 127.0.0.1
            2022-05-20 16:37:09 DEBUG lib.network Connecting to 127.0.0.1 using IPv4 127.0.0.1 on TCP port 6720 with autoreconnect
            2022-05-20 16:37:09 WARNING lib.smarthome.main -------------------- SmartHomeNG initialization finished --------------------
            Aber:

            Code:
            smarthome@PI4B:/usr/local/smarthome $ pip3 install scipy==1.5.1 --user
            Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
            Collecting scipy==1.5.1
            Using cached https://www.piwheels.org/simple/scipy/scipy-1.5.1-cp37-cp37m-linux_armv7l.whl (51.0 MB)
            Requirement already satisfied: numpy>=1.14.5 in /home/smarthome/.local/lib/python3.7/site-packages (from scipy==1.5.1) (1.21.6)
            Installing collected packages: scipy
            Successfully installed scipy-1.5.1

            Kommentar


              #96
              So. Egal welche scipy Version ich versuche, SHNG meckert an, dass er es nicht importieren kann und somit auch keine uzsu.
              Der PI4B läuft mit Buster
              Python ist 3.7.3
              SHNG ist 1.8.2.master

              versuchte scipy Versionen sind
              1.5.1
              1.3.0
              1.1.0 -> läßt sich gar nicht erst installieren.

              Höhere Versionen werden laut SHNG Log nicht unterstützt.

              Auf meinem ganz neuen CM4 Raspi mit Bullseye und SHNG 1.9.2 hat es auf Anhieb geklappt.

              Irgendeine Idee woran das liegen könnte bevor ich im uzsu thread das nochmal frage?

              Kommentar


                #97
                Nicht wirklich, aber ich verwende auch ein etwas anderes Setup:
                - SmartHomeNG Version: v1.9.2-master (cc57a0ad) in /usr/local/smarthome (tags/v1.9.2)
                - Python Version: 3.9.2 final (/usr/bin/python3)
                - Betriebssystem: Debian GNU/Linux 11 (bullseye)
                - Hardware: Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz


                Hab mich früher immer gefragt, was so toll an dieser 'UZSU' sein soll. Seit ich Sie installiert habe möchte ich Sie nicht missen. Ich denke es lohnt sich dass Du die Hürde jetzt nimmst....

                Kommentar


                  #98
                  Also auf dem CM4 Raspi läuft das nun sofort und auf der Stelle.
                  Da habe ich aber die Visu noch nicht umgezogen.
                  Aber egal, stand ja eh an. Und danach mach ich den älteren PI4B eh platt und mach das neu.

                  Aktuell KEINE Fehlermeldungen und somit auch keine vom Landroid Plugin. Ich lasse das nun mal laufen und schau immer mal wieder nach, ob was passiert.

                  Kommentar


                    #99
                    Hallo,

                    läuft bei mir. Danke Andre!

                    Bei der Visu wird nur der erste Table angezeigt - auch wenn ich die Reihenfolge ändere:
                    Code:
                    <div data-role="collapsible" data-collapsed="true">
                    <h3>Mäh/Ladezeiten</h3>
                    
                    {{device.uzsutable('ab','worx.visu.exclusion_uzsu.uzsu','Mäher-Ausschlusszeiten',['1','3'],['2','4'],['orangered','blue'],['red','red'],'','','true','5m','solid','true','true','true','t rue','1','list',['Generic-ON:1','Generic-OFF:2','Beregnung-ON:3','Beregnung-OFF:4'])}}
                    
                    
                    {{device.uzsutable('ba','worx.visu.app_mow_uzsu.uzsu','Mähzeiten App-Kalender',['0','1'],'2',['greenyellow','green'],'red','','','true','5m','solid','true','true','tr ue','true','1','list',['Mähen:0','Mähen+Kante:1','Mähen-Ende:2'])}}
                    
                    
                    {{device.uzsutable('ca','worx.visu.mow_control_uzsu.uzsu','Mähen nach UZSU',['1','2'],'0',['greenyellow','green'],'red','','','true','5m','solid','true','true','tr ue','true','1','list',['Mähen:1','Kante:2','Ende:0'])}}
                    </div>
                    Hat jemand eine Idee, woran das liegen kann? Die Items werden gefüllt - und dre Mähzeiten App-Kalender wird ja auch angezeigt, solange es der erste Table auf der Seite ist.

                    Folgende Items könnte man noch bereitstellen:
                    2022-05-20 20:26:30 INFO plugins.landroid API provides '0' but no item 'worx.rain_delay_time_remaining' exists.
                    2022-05-20 20:26:30 INFO plugins.landroid API provides 'False' but no item 'worx.rain_sensor_triggered' exists.
                    Code:
                            rain_delay_time_remaining:
                                type: num
                            rain_sensor_triggered:
                                type: num
                    Zum Wetter:

                    Code:
                        myUrl = "/product-items/{}/weather/current".format("meineSeriennummerAusDemAdminInterface")
                        myWeather = worx._api._call(myUrl)
                    Error: API endpoint doesn't exist
                    {"return_code": 404, "original_response": {"message": "Not Found", "code": "404.000"}, "error": "API endpoint doesn't exist"}
                    Code:
                    myUrl = "/product-items/{}".format("meineSeriennummerAusDemAdminInter face")
                    myWeather = worx._api._call(myUrl)
                    funktioniert allerdings - und enthält kein weather. Die API scheint das also nicht mehr herzugeben.

                    Gruß,
                    Hendrik
                    Zuletzt geändert von henfri; 20.05.2022, 19:55.

                    Kommentar


                      Ich vermute, dass das an den IDs der Zoombuttons liegt, die bei mehrfachem Einsatz des Widgets auf einer Seite mehrfach vorkommen. Setz mal bei der 2. und 3. Tabelle den Parameter „showzoombutton” auf 'false’.
                      Wenn der Fehler auf diese Weise abgestellt wird, haben wir die Ursache gefunden und können das im Widget fixen.

                      Gruß
                      Wolfram

                      Kommentar


                        Zitat von henfri Beitrag anzeigen
                        Folgende Items könnte man noch bereitstellen:
                        2022-05-20 20:26:30 INFO plugins.landroid API provides '0' but no item 'worx.rain_delay_time_remaining' exists.
                        2022-05-20 20:26:30 INFO plugins.landroid API provides 'False' but no item 'worx.rain_sensor_triggered' exists.

                        Das wollte ich auch anmerken, weil es gestern geregnet hat und ich auf dem Mäher-Display den Countdown gesehen habe. Da ist henfri mir zuvor gekommen.
                        Allerdings bekomme ich keinen Logeintrag wie henfri.

                        Ansonsten läuft das nun seit gestern Abend ohne weitere Log Einträge.

                        Kommentar


                          Wahrscheinlich musst du deinen loglevel so anpassen, dass INFO angezeigt wird

                          Kommentar


                            Noch eine Frage.

                            Die Texte zum aktuellen Status und den Fehlermeldungen kommen ja nur auf Englisch. Aktuell löse ich das, indem ich die nicht direkt als Text mit basic.print anzeigen lasse, sondern mit basic.symbol und damit z.B. worx.error anstatt worx.error_description verwende.
                            Die Liste der Werte<->Bedeutung findet man auf der git Seite von pyworxcloud.

                            Ich frage mich aber, ob das nicht schöner wäre, das über die custom.ini im /dropins/lang Ordner zu lösen. Einfach einen neuen Block "landroid" erzeugen und mit den Übersetzungen füllen wäre wohl zu einfach.

                            Wie macht man sowas, dass die SmartVisu dann darauf zugreift?

                            Gruß, Martin

                            Kommentar


                              Offenbar gibt es Statusmeldungen und Fehlermeldungen, wenn ich das richtig verstanden habe (https://github.com/MTrab/pyworxcloud...er/Files/Codes).

                              Man kann in der eigenen Sprachdatei (z.B. custom.ini) eine Sektion „landroid“ erstellen mit bis zu 2 Unterbezeichnern:
                              Code:
                              [landroid]
                              error[0] = 'Alles paletti'
                              error[1] = 'festgefahren'
                              …
                              status[0] = 'Pause'
                              status[1] = 'in der Station'
                              status[9] = 'Mist - schon wieder festgefahren'
                              Die Funktion
                              Code:
                              lang('landroid', 'status', '9')
                              kann dann als Textparameter z.B. in basic.symbol eingesetzt werden. Ob das mit den Ziffern klappt, kann ich nicht auswendig sagen, da ich aktuell unterwegs bin.

                              Gruß
                              Wolfram
                              Zuletzt geändert von wvhn; 21.05.2022, 13:26.

                              Kommentar


                                Zitat von wvhn Beitrag anzeigen
                                Ich vermute, dass das an den IDs der Zoombuttons liegt, die bei mehrfachem Einsatz des Widgets auf einer Seite mehrfach vorkommen.
                                Du hast recht, liegt an den Zoom Buttons.

                                Kommentar

                                Lädt...
                                X