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.
An der Endemeldung bastele ich schon ewig immer mal wieder rum, aber es gelingt mir nicht, dass die Meldung EXAKT einmal bei Programmende kommt und dann erst wieder, wenn die Maschine neu durchgelaufen ist.
Ich bin ja kein SHNG Guru - aber könnte man dort etwas machen mit on change ?
Das weiss ich nicht. Du hattest nur geschieben, Du wüsstest nicht was autotimer ist/sind.
Übrigens: if-Statements ohne Doppelpunkt werden IMMER einen Syntax Fehler schmeissen.
Wenn Du Logiken nutzen willst, musst Du kein Python Guru sein, aber mit dem grundlegenden Python Syntax wirst Du Dich schon auseinander setzen müssen.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Der Status wird ja nur bei Programmende durch das Plugin getriggert - dementsprechend sollte keine Dauerschleife zuhören sein oder sehe ich das Falsch?
Das ist der Knackpunkt. Das musst du probieren. Bei mir klappt das nicht, aber ich verwende auch multimedia.audio in der smartVISU.
Die Dauerschleife dürfte daher rühren, dass das Item MieleDevices.Washer.state.status.value_localized in der struct mit enforce_updates: True definiert ist. Dadurch wird die Logik bei jedem Update des Items getriggert und nicht nur wenn sich der Wert des Items ändert.
Weshalb das Item in der struct so definiert ist, müsstest Du den Autor der struct fragen.
Du kannst das erstmal durch ein Hilfsitem umgehen, welches nicht mit enforce_updates: True definiert ist:
die korrekte Python-Syntax für if ... then ... else sieht so aus - die Doppelpunkte hinter dem Vergleich sind der Schlüssel. Für solche Tests kann ich Dir das Executor-Plugin empfehlen. Da bekommst Du die Rückgabe und Fehler direkt geliefert. (Erklärungen zur pyhton-Syntax allerdings nicht). Die musst Du dir im Web zusammen suchen.
Code:
#!/usr/bin/env python3
# wmtr.py
if sh.MieleDevices.Washer.state.status.value_raw() == 7:
sh.Sonos.Wohnen.play_tts('Die Wäsche ist fertig')
sh.Sonos.Kueche.play_tts('Die Wäsche ist fertig')
else:
pass
if sh.MieleDevices.Dryer.state.status.value_raw() == 7:
sh.Sonos.Wohnen.play_tts('Der Trockner ist fertig')
sh.Sonos.Kueche.play_tts('Der Trockner ist fertig')
else:
pass
Wobe Du den "else"-Teil auch weglassen kannst.
Viele Grüße
Andre
Nachtrag : Hat sich mit dem letzten Post überschnitten
Zuletzt geändert von AndreK; 03.04.2023, 13:24.
Grund: siehe Nachtrag
Ja, das mit den enforce-updates ist noch ein Punkt. Braucht man es hier und wenn ja wofür genau? AndreK, da haben wir glaub ich schon mal kurz drüber geschrieben, erinnere ich mich dunkel.
Habt ihr, also die, die das Plugin aktiv einsetzen, in letzter Zeit auch immer wieder das Problem, dass die von Miele empfangenen "localized" Daten plötzlich zeitweise auf Englisch stehen? Da ich in meinen smartVISU Widgets diese Texte auswerte und nicht die RAW Werte, sehe ich natürlich den Status nicht, weil es z.B. "Cottons" im Widget nicht gibt. Nur deshalb ist mir das aufgefallen.
Es passiert fast täglich mehrmals für unbestimmte Zeit. Irgendwann stimmt es dann wieder. An meiner Konfiguration liegt es nicht.
Auch Auffällig: Aktuell habe ich das Problem. Im Plugin Webinterface sieht man sauber die Events auf Englisch etc. Aber die Geräteliste ist auch korrupt:
Da stehen die Geräte jeweils dreimal oder auch viermal drin. Manchmal auch durcheinander, also z.B. erst ein oder zweimal die Waschmaschine, dann einmal der Trockner, dann wieder die Waschmaschine usw. Beim Aktualisieren kann es dann sein, dass aus viermal plötzlich dreimal wird.
Also, nachdem es aktuell nicht so ausschaut, dass Miele die API Probleme noch zeitnah löst, habe ich bei mir alles auf Auswertung der RAW Werte umgestellt und verzichte nun auf direkte Ausgabe von localized strings.
Wie schon das eine oder andere Mal erwähnt, kann man sich auf die Dokumentation bei Miele nicht verlassen. Entweder sind mögliche Werte gar nicht dokumentiert, oder falsch, oder veraltet. Das gilt vor allem für die zu erwartenden Strings.
Um wirklich überall die RAW Werte zu bekommen, muss man gegebenenfalls die plugin.yaml im Plugin Ordner erweitern (NICHT die plugin.yaml im etc Ordner!).
Das ist zum Glück keine Raketenwissenschaft. Dazu editiert man die item_structs. Beispiel:
Manche werden schon existieren, alle anderen, die man braucht, schreibt man wie oben gezeigt rein. Neustart. Fertig.
Im Anhang habe ich eine Excel Datei angefügt, in die ich meine Erkenntnisse eingetragen habe. RAW Werte, Strings auf Deutsch und Englisch. Bedeutung, Bemerkung etc., soweit mir bekannt und plausibel. In grünlich sind Werte markiert, die für das jeweilige Gerät von mir bestätigt wurden oder zumindest so wahrscheinlich sind, dass man das als gesichert betrachten kann.
In rötlich ist alles markiert, wo ich nicht sicher bin und was noch lückenhaft ist, weil ich keine Geräte habe, die das ausgeben, oder ich keinen entsprechenden Zustand auslösen konnte.
Wer dazu was beitragen kann und möchte, könnte die Datei erweitern. Gibt ja noch viele andere Geräte. Geschirrspüler, Dampfgarer, Backöfen, Kaffeevollautomaten, etc.
Miele habe ich dazu schon mal angeschrieben, solche Listen muss es ja geben. Antwort gab's keine.
Aktuell sind wieder mal die Server down.
Diese Woche kam schon eine Meldung in der App und über E-Mail, dass sie an der Authentifizierung rumschrauben und man ausgeloggt wird. Neu Einloggen in der App war dann kein Problem. Das Plugin funktionierte bis heute um ca 8 Uhr normal, seitdem nur noch Fehler im Log. Das heißt hoffentlich nicht, dass sie die Authentifizierung und/oder die ganze API verändern und das Plugin angepasst werden muss.
In der App kam vorhin erst eine Ankündigung, dass sie heute NACHT abschalten, danach dann gleich ein Fehler, dass JETZT grad nichts geht.
Wohl Tag und Nacht verwechselt
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