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

  • henfri
    antwortet
    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.

    Einen Kommentar schreiben:


  • Sipple
    antwortet
    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.

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    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....

    Einen Kommentar schreiben:


  • Sipple
    antwortet
    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?

    Einen Kommentar schreiben:


  • Sipple
    antwortet
    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

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    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

    Einen Kommentar schreiben:


  • Sipple
    antwortet
    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.

    Einen Kommentar schreiben:


  • Sipple
    antwortet
    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



    Einen Kommentar schreiben:


  • AndreK
    antwortet
    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

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    Sieht gut aus. Respekt Danke!

    Gruß
    Marcus

    EDIT: Kriegs Du das mit der nächsten Version noch weg?
    Code:
    2022-05-20 15:23:49 WARNING plugins.uzsu item 'worx.visu.exclusion_uzsu.uzsu' is active but has no entries.
    2022-05-20 15:28:43 WARNING plugins.uzsu item 'worx.visu.exclusion_uzsu.uzsu' is active but has no entries.
    Evtl. einen Pseudo-Eintrag in der 'worx.visu.exclusion_uzsu.uzsu' ?
    Zuletzt geändert von SMarcus; 20.05.2022, 14:37.

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hi, kein Problem

    neues Update ist hochgeladen - war wohl etwas zu schnell :-(

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    Versteh(t) mich nicht falsch. Ich hab null Probleme damit zu Testen, aber ich fürchte irgendwann bin ich als der "Überbringer schlechter Nachrichten" gebrandmarkt. Hoffe Ihr redet noch mit mir... 😁

    Code:
    2022-05-20 15:11:15 ERROR lib.plugin Plugin 'landroid' exception in run() method: local variable 'mydict' referenced before assignment
    > Traceback (most recent call last):
    > File "/usr/local/smarthome/lib/plugin.py", line 676, in run
    > self.plugin.run()
    > File "/usr/local/smarthome/plugins/landroid/__init__.py", line 123, in run
    > self.poll_device()
    > File "/usr/local/smarthome/plugins/landroid/__init__.py", line 493, in poll_device
    > self.parse_worx_attr()
    > File "/usr/local/smarthome/plugins/landroid/__init__.py", line 509, in parse_worx_attr
    > self._calc_calendar()
    > File "/usr/local/smarthome/plugins/landroid/__init__.py", line 184, in _calc_calendar
    > if ('exclusion_scheduler' in mydict):
    > UnboundLocalError: local variable 'mydict' referenced before assignment
    Gruß
    Marcus

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Zitat von SMarcus Beitrag anzeigen
    Kann das sein, das der Fehler auftritt wenn man (in der Landroid App) den "Automatischen Zeitplan" nicht aktiviert hat?
    Könnte sein, konnte ich nicht testen da ich nichts verändern wollte - hab ja keinen Mäher und muss auf die Daten von "Fremden" zugreifen.

    Ich habe gerade ein Update hochgeladen welches prüft ob es den Eintrag für den Ausschlusskalender gibt. Damit sollte der Fehler abgefangen werden

    Gruss Andre

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    Uauauaua..... Warum immer ich? 😭

    Code:
    2022-05-20 14:48:01 ERROR lib.plugin Plugin 'landroid' exception in run() method: 'NoneType' object is not subscriptable
    > Traceback (most recent call last):
    > File "/usr/local/smarthome/lib/plugin.py", line 676, in run
    > self.plugin.run()
    > File "/usr/local/smarthome/plugins/landroid/__init__.py", line 123, in run
    > self.poll_device()
    > File "/usr/local/smarthome/plugins/landroid/__init__.py", line 492, in poll_device
    > self.parse_worx_attr()
    > File "/usr/local/smarthome/plugins/landroid/__init__.py", line 508, in parse_worx_attr
    > self._calc_calendar()
    > File "/usr/local/smarthome/plugins/landroid/__init__.py", line 173, in _calc_calendar
    > mydict = attrs['auto_schedule_settings']['exclusion_scheduler']['days']
    > TypeError: 'NoneType' object is not subscriptable

    Kann das sein, das der Fehler auftritt wenn man (in der Landroid App) den "Automatischen Zeitplan" nicht aktiviert hat?

    Gruß
    Marcus

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hi Sipple ,

    Zitat von Sipple Beitrag anzeigen
    Wie ich das sehe ist die eigentliche Datenübertragung doch simples MQTT, oder?
    Das ist korrekt ! Allerdings werden Aktualisierungen, nach den Untersuchungen von Hendrik und mir, nicht automatisch übermittelt. Wieso auch immer.

    Du kannst das aber gerne noch mal testen und das Polling im Plugin auf mehrere Stunden setzen und den Mäher ein wenig strapazieren und prüfen was ohne
    polling ankommt.

    Auch alle anderen Anbindungen (FHEM / IoBroker / Openhab / Desktop-APP) arbeiten mit Polling.

    Der aktuelle Stand ist hochgeladen. Ich habe die Version auf 1.1 angehoben.

    Es müssen die plugin.yaml sowie die __init__.py getauscht werden.

    Es wurden neue Items in der plugin.yaml definiert. In der README sind Beispiel-Widgets für die Kalender. Den Visu-Ordner und die Dropins habe ich noch nicht angepasst.
    Hier muss ich von einem anderen Rechner noch Dateien einsammeln und diese hochladen.
    In der Visu kann ein Button für das Item "worx.commands.EDGECUT" bei den Kommando-Buttons hinzugefügt werden. Damit sollte sich der Kantenschnitt starten lassen

    Zitat von henfri Beitrag anzeigen
    https://github.com/MTrab/pyworxcloud/issues/19
    MTrab verwendet in seiner Home-Assistant Anbindung auf jeden Fall RetryToPoll() -> siehe hier

    Viel Erfolg beim Testen

    Viele Grüsse
    Andre

    Einen Kommentar schreiben:

Lädt...
X