NEWS
[Javascript] Midas (Aquatemp) Poolheizung
-
@sunnylaila Ok, ich denke, man könnte auch versuchen, den Traffic zwischen Deiner App und dem Server mitzuschneiden. Da bin ich bei Apple aber überfragt.
Aber eventuell könnten wir das ja mit dem Testaccount machen.
-
@oxident Im Moment hat er das Problem das die Heizung garnicht online ist, daher kann im Moment der Adapter auch nichts finden
-
@oxident Läuft bei dir denn der Adapter ? Weisst du von wo die ProductIds kommen?
-
@michael-roling Bei mir läuft er problemlos. Die ProductIds hat der HA-Entwickler durch mitschneiden der Anfragen herausbekommen. Es scheint ja eine Art "liefere alle WP mit folgenden Modellnummern zurück" zu sein.
Wenn wir Pech haben, dann müssten wir in der aktuellen APK nachschauen oder halt den Traffic mitsniffen.
Mir ist auch aufgefallen, dass die Controller manchmal offline sind wenn z.B. die Internetverbindung über Mobilfunk läuft (so ist es bei mir, wenn Kabel-Internet ausfällt). Warum das so ist konnte ich noch nicht herausfinden.
-
@oxident wie kann man die Daten mit schneiden?
-
@michael-roling Unter Android z.B. mit NetCapture (Playstore). Das läuft dann aber wegen SSL über ein VPN mit selbstsigniertem Zertifikat. Könnte evtl. ein Sicherheitsrisiko sein.
Aber so bin ich auch an Daten anderer Cloud-Geräte (Atlantic Warmwasser-Wärmepumpe) gekommen.
-
@oxident @sunnylaila
So ich habe gerade noch mal ein wenig weiter gemacht, und ich habe ein paar Fortschritte erziehlt.
Jetzt die Frage an @oxident , ich habe mal die komplette Funktion getDevice ID auskommentiert, und habe den DeviceCode direkt eingetragen, diesen findet man in der App. Ich glaube dieses wird ziehlführend sein. Wenn ich dann den Code laufen lasse bekomme ich alle Werte die ich brauche, auch die, die vorher bei updateDeviceId fehlten. Leider habe ich im Moment keine Zeit. Vielleicht heute Abend wieder.Ich habe es doch eben noch fertig stellen können auf die Schnelle, könnt beide mal probieren. Aber bei den Daten von @sunnylaila läuft es, meine eigenen konnte ich noch nicht testen
-
@michael-roling Interessanter Ansatz!
Wir müssen nur irgendwie schauen, dass das mit allen "API Leveln" auch so funktioniert.Kann auch gerade nicht testen, hole ich aber nach.
Danke für Deinen Einsatz!
-
@michael-roling
Bin erst heute Abend wieder zu Hause dann teste ich mal -
@oxident wenn das mit alten api Level nicht funktioniert wäre das kein Problem entweder das ganze optional zu machen, evtl kann der Code sich auch drum kümmern
-
@michael-roling Konnte doch schon testen und muss leider berichten, dass es bei mir ohne getDeviceID nicht mehr funktioniert.
"TypeError: Cannot read properties of undefined (reading '0')\n at updateDeviceStatus (/opt/iobroker/node_modules/iobroker.midas-aquatemp/build/lib/updateDeviceStatus.js:65:60)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async updateToken (/opt/iobroker/node_modules/iobroker.midas-aquatemp/build/lib/token.js:75:7)\n at async MidasAquatemp.onReady (/opt/iobroker/node_modules/iobroker.midas-aquatemp/build/main.js:78:5)"
Wenn ich wieder den Stand vor Deinem letzten Commit (also ab f116b75) nutze, dann ist alles okay.
Das Blöde ist, dass es sein könnte, dass wir bestimmte ProductIDs anders behandeln müssen. Also so, wie auch beim APILevel. Komischerweise schafft die Aquatemp-App es, über alle Geräteklassen hinweg den "richtigen Weg" zu finden.
-
Hallo bei mir funktioniert es jetzt super du musst denke ich nur aus der App deine Geräte Mac eingeben
-
Danke dir für deine Mühen echt cool das der Adapter jetzt so läuft
-
@sunnylaila Cool, danke. Das hatte ich völlig übersehen. Auch die Tatsache, dass die MAC dem DeviceCode entspricht
@michael-roling Genialer Workaround!
Es sei jedoch gesagt, dass MAC/DeviceCode unbedingt in Großbuchstaben und ohne Trennzeichen eingegeben werden muss. Also z. B. 34EAF111AABB
-
@michael-roling Es scheint so, als würde bei der aktuellen Version die Erkennung der ProductIDs nicht mehr klappen. Will sagen, isAquaTemp_Poolsana() führt bei mir zu false ... und dadurch werden die falschen Parameter ausgewertet.
Ansonsten alles prima.
-
@oxident schaue ich mir später an und gucke wie ich das anpassen kann. Das ganze war auch nur auf die Schnelle
-
@michael-roling
er verbindet sich ja jetzt bei mir auch sauber und ließt auch Werte aus siehe Logmidas-aquatemp.0
2024-07-21 17:56:17.892 info DeviceDetails: {"sessionid":null,"error_code":"0","error_msg":"Success","error_msg_code":"","totalSize":null,"totalPage":null,"nextPage":null,"objectResult":[{"value":"1","code":"Power"},{"value":"1","code":"Mode"},{"value":"0","code":"Manual-mute"},{"value":"0","code":"T01"},{"value":"0","code":"T02"},{"value":"0","code":"2074"},{"value":"0","code":"2075"},{"value":"0","code":"2076"},{"value":"0","code":"2077"},{"value":"0","code":"H03"},{"value":"0","code":"Set_Temp"},{"value":"12.0","code":"R08"},{"value":"40.0","code":"R09"},{"value":"12.0","code":"R10"},{"value":"40.0","code":"R11"},{"value":"26.0","code":"R01"},{"value":"25.0","code":"R02"},{"value":"26.0","code":"R03"},{"value":"0","code":"T03"},{"value":"0","code":"1158"},{"value":"0","code":"1159"},{"value":"8","code":"F17"},{"value":"2","code":"H02"},{"value":"0","code":"T04"},{"value":"0","code":"T05"},{"value":"0","code":"T06"},{"value":"0","code":"T07"},{"value":"0","code":"T14"},{"value":"0","code":"T17"},{"value":"17.0","code":"T1"},{"value":"29.0","code":"T2"},{"value":"29.0","code":"T3"},{"value":"31.5","code":"T4"},{"value":"36.0","code":"T5"},{"value":"0","code":"T6"},{"value":"0","code":"T7"}],"isReusltSuc":true}aber unter Objekte
siehe Bild wird nur set temp gefüllt
-
@sunnylaila ich schaue mal eben rein.
Okay habe den Fehler gefunden
-
@sunnylaila @oxident So ich habe jetzt noch mal eine Update erstellt, und zwar muss man jetzt zusätzlich wenn man die DeviceMac nutzen möchte eine Checkbox dahinter anhaken. Ansonsten würde der ganz normale Code wie vorher auch ausgeführt. Zudem habe ich das Problem fürs erste behoben das die Daten nicht aktualisiert werden bei @sunnylaila bzw dadurch sollte der Fehler von @oxident auch behoben sein
Ich war zur voreilig, einen Moment noch
Scheint doch zu funktionieren, bitte Testen
-
die Objekte werden bei mir leider noch nicht gefüllt