Zitat von MikeR
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
Miele@Home LBS for Homeserver (14360)
Einklappen
Dieser Beitrag wurde beantwortet.
X
X
-
-
Yes, I also thought that it was an encoding problem. I added some debug output to my logic. Your logic module does that correctly. The problem is the JSON parser, if special characters are encoded in UTF-8 in the input stream, then the LBS doesn't do anything with them. And that's what my question was aimed at, how do you, or others, extract the status output into readable text?
Kommentar
-
The Process of Debugging seems morte complex...
In the HS Monitor (webbased) I see in my Debug KOs (HS-internal KOs) for the Dishwasher Program "Biergläser" as an Representation of the encoded (UTF-8)String "Biergläser". In the internal Logic-Debuger (in the Logic Editor the Play-Button) same KO reads "Biergl#C3#A4ser" an when I export the Protocol of the webbased HS Monitor as CSV it is represented as "Biergl\u00e4ser".
That makes it a little bit complicated to convert strings for example with the LBS "Text ersetzen"
Kommentar
-
Im ersten Post des Threads von Roeller, ist unter Release Notes ein Link "Miele_14360_v1.4.zip", dass ist dem Namen nach die 1.4, die auch ich benutze.
Kommentar
-
Ich spiele darauf an, dass im KUF-Download noch die 1.3 ist.
zum LBS:
json kommt zurück. Muss mal weiter machen. Hab nen eigenen JSONparser auf der Basis von jsonpath gebaut, läuft lokal aber nicht auf dem HS. Nach 2 Abenden: abgebrochen, kommt erst wenn der HS Python 3 macht, sourcetexte drin lässt und den sys-Kontext von Python nicht ganz verbiegt. (Sieht jedenfalls danach aus)
back to topic: ich mach’s nun mit dem JSON-Parser von Paul. Stimmt aber schon mit den Umlauten. Am Ausgang vom Miele Modul kommen da Sonderzeichen. Kann aber auch am Experten liegen. Ich berichte mal.
Kommentar
-
Ich habe nun mal den oben geschilderten Workaround probiert und bin kläglich gescheitert. Wenn ich Sprache am Eingang E6 auf "en-En" stelle, oder auch testweise auf "nl-NL", dann kommen keine Statusänderungen mehr. Wenn ich im Web mit dem Swagger von Miele teste, dann geht aber die Auswahl "en" im Dropdown problemlos?
Eine Idee?
---
I tried the workaround described above and failed miserably. If I set the language to "en-EN" at input E6, or to "nl-NL" as a test, then there are no more status changes at A5. If I test on the web with the Swagger from Miele, does the selection "en" in the dropdown work without any problems?
An idea?
Kommentar
-
You can NOT just change the language to another language. It is connected to your 'account language'. So most of you will have an account on the Miele servers located in Germany. So the language will then be de-DE
I have a account on the Dutch (Holland) Miele servers (or at least I am put in a Dutch account table somewhere), so I have to insert nl-NL.
Unfortunatelly Miele makes a difference in the country in which your account is located (just like amazon does for example, an account at amazon.de is not immediatelly an account at amazon.co.uk or amazon.nl )
So, to fix things, we need to have a real working UTF-8 JSON Parser, that would be able to handle the umlauts.
Kommentar
-
So, jetzt habe ich das Problem "Unauthorized, probably Security Token expired. It will automatically renew next time.". Ich habe mich auf der API Testseite (Swagger) fünfmal angemeldet und dort funktionieren alle API Aufrufe. Bei dem Baustein kommt die "Unauthorized" Meldung, wenn ich ein GetState oder GetIdent (als Beispiele) aufrufe. Ich habe die ClientID, ClientISecret, Username, Password und auch die Language so ungefährt tausendmal überprüft. Das stimmt alles, genau so wie ich es auf der Miele-Seite benutze.
Funktioniert der Baustein bei Euch noch?
Grüße
Mike
P.S.: Ist im Moment besonders blöde, weil ich von "En3rGy" eine neue Version des JSON Parsers zum Testen bekommen habe, der wohl UTF-8 unterstützt
Kommentar
-
Cool thing (tested only on API level but should work also over the LBS): When you activate SmartStart on the washing machine you define the latest start time. Till then the machine is working for a signal of Miele@Home. If you send "processAction": 1
it will start the washing program. Good to wait till your energy production exceeds a threwshold / is powered by photovoltaik.
Regarding the JSON parser: It seems (more guessing, did a small code review) that the issue is located there. Also saw in another thread that somebody patched it already.
Kommentar
-
Der Miele LBS hatte bisher ja auch bei mir funktioniert, nur eben der nachgeschaltete JSON Parser LBS nicht, weil der kein UTF-8 konnte. Die neue Testversion soll das können, allerdings funktioniert bei mir JETZT plötzlich der Miele Baustein nicht mehr, mit einem Authentifizierungsfehler. Daher meine Frage ob das bei anderen Usern des Miele LBS noch funktioniert oder ob es ein generelles Problem mit der Authentifizierung gibt. Die API Testseite, der Swagger, funktioniert bei mir auch noch, nur eben der Baustein nicht mehr.
Gruß
Mike
Kommentar
-
So, ich habe jetzt nochmal bei Miele neue Client-Credentials angefordert. Gleiches Ergebnis: Auf der Miele Webseite (Dokumentation --> Swagger) zum Testen klappt die Anmeldung und auch die API-Funktionen. Übernehme ich die neuen Credentials in den LBS, kommt ein "Unauthorized, probably Security Token expired. It will automatically renew next time."
Kann bitte mal jemand bestätigen, dass das bei ihm alles noch funktioniert, es also ein Problem mit meinem Account ist. Oder umgekehrt wäre ein "bei mir geht auch nix mehr" hilfreich, um keine "Gespenster" zu jagen.
Vielen Dank und beste Grüße
Mike
Kommentar
-
Bei mir geht’s noch. Gibt aber mehrere Limits auf der API laut Doku. Ggf. Zu oft durch Neustarts neue Token gemacht?
Denke man solle den refreshToken und AccessToken remanent speichern. Kann mal sehen, ob das gemacht wird.
> Rate limiting
As stated above certain elements of the API have limitations. The number of access tokens per client and customer is limited. After reaching that limit further token retrieval is not possible. The number of REST-requests and SSE subscriptions per IP is limited and will lead to HTTP 503 if they exceed the limits.
Kommentar
Kommentar