Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Unterstützung bei der Entwicklung eines Landroid-Plugin
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:
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.
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 --------------------
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?
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....
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.
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
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.
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.
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?
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.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar