NEWS
Test Adapter Stihl Viking iMow
-
@tombox Hallo, ich habe den Adapter mit einem iMow 5 ausprobiert. Ich bekomme im Log folgende Fehlermeldung:
Was läuft da schief?
Vielen Dank schonmal für Tipps
M -
@mberger74 sagte in Test Adapter Stihl Viking iMow:
Was läuft da schief?
Der Screenshot. Text immer auch als Text in CodeTags eingebettet posten.
-
Verzeihung. Danke für den Hinweis.
das ist die Meldung. Sieht nach einer HTML Seite als "Antwort" von der Stihl-Seite aus, oder?"<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"UTF-8\"/>\n <meta name=\"csrf-token\" content=\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI0ZWRiMzU1NWIzYzYzZjljNGJlNjY0NWZiZjcxODVmZiIsImlhdCI6MTY4NjgyMjc5MC45MzM3NTEsIm5iZiI6MTY4NjgyMjc5MC45MzM3NTEsImV4cCI6MTY4Njk5NTU5MC45MzM3NTF9.Gk2-J-eA7f9jsjieS1H0KGKp73lPTQV6le1iMVarJxg\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\">\n <base href=\"https://oauth2.imow.stihl.com/\">\n <title>iMow</title>\n <link rel=\"preload\" as=\"font\" href=\"assets/fonts/STIHLContrafaceDisplayTitling.ttf\" type=\"font/ttf\" crossorigin=\"anonymous\">\n <link rel=\"preload\" as=\"font\" href=\"assets/fonts/STIHLContrafaceDisplayMedium.ttf\" type=\"font/ttf\" crossorigin=\"anonymous\">\n <link rel=\"preload\" as=\"font\" href=\"assets/fonts/STIHLContrafaceText.ttf\" type=\"font/ttf\" crossorigin=\"anonymous\">\n <link rel=\"preload\" as=\"font\" href=\"assets/fonts/STIHLContrafaceText-Bold.ttf\" type=\"font/ttf\" crossorigin=\"anonymous\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"assets/components/bootstrap/css/bootstrap.min.css\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"assets/css/layout.css?v=3\"/>\n <link rel=\"icon\" type=\"image/x-icon\" href=\"assets/img/favicon_orange.png\">\n </head>\n<body>\n<div id=\"wrapper\">\n <div class=\"main-container\">\n <img class=\"viking-stihl\" src=\"assets/img/stihl.png\" />\n <div class=\"login\">\n <div class=\"login__inner\">\n <h1 class=\"viking-heading\">Willkommen zur ¡MOW® App</h1>\n <div class=\"alert alert-primary\" role=\"alert\">\n <a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </a>\n <p>Anmeldung fehlgeschlagen. Bitte Benutzername und Passwort prüfen.</p>\n </div>\n <form action=\"authentication/authenticate/?lang=de\" method=\"post\">\n <div class=\"form-group viking-form-group\">\n <label class=\"viking-label\">E-Mail-Adresse</label>\n <input type=\"email\" id=\"user-email\" class=\"form-control viking-input\" autofocus\n placeholder=\"E-Mail-Adresse\"\n autocomplete=\"off\"\n value=\"mberger74@gmx.net\"\n name=\"mail\"/>\n </div>\n <div class=\"form-group viking-form-group\">\n <label class=\"viking-label\">Passwort</label>\n <input type=\"password\" id=\"user-password\" class=\"form-control viking-input\"\n placeholder=\"Passwort\"\n name=\"password\"/>\n </div>\n <div class=\"form-group text-right viking-controls-container\">\n <div>\n <button class=\"btn btn-block viking-button\" id=\"login-button\" type=\"submit\">\n Login </button>\n <span class=\"password-forgot d-inline-block mt-3\">\n <a class=\"viking-link\" href=\"authentication/password-reset/?requestId=9a51167bd332f43caff50e63fe42cd7895e7e031599ec03e469a56c1f6c8dbe8&lang=de\">\n Passwort vergessen </a>\n </span>\n </div>\n </div>\n <input type=\"hidden\" name=\"csrf-token\" value=\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI0ZWRiMzU1NWIzYzYzZjljNGJlNjY0NWZiZjcxODVmZiIsImlhdCI6MTY4NjgyMjc5MC45MzM3NTEsIm5iZiI6MTY4NjgyMjc5MC45MzM3NTEsImV4cCI6MTY4Njk5NTU5MC45MzM3NTF9.Gk2-J-eA7f9jsjieS1H0KGKp73lPTQV6le1iMVarJxg\">\n <input type=\"hidden\" name=\"requestId\" value=\"9a51167bd332f43caff50e63fe42cd7895e7e031599ec03e469a56c1f6c8dbe8\">\n </form>\n </div>\n</div>\n </div>\n\n <!-- Modal -->\n <div class=\"modal\" id=\"legalNotice\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\" id=\"exampleModalLabel\">Impressum</h5>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <iframe id=\"legalNoticeIframe\"\n src=\"https://app.imow.stihl.com/imprint/#/?language=de\"></iframe>\n </div>\n <div class=\"modal-footer\">\n <div class=\"action-container\">\n <p><a id=\"privacyStatement\" data-dismiss=\"modal\" data-toggle=\"modal\"\n data-target=\"#termOfUse\">Datenschutzerklärung</a></p>\n <p><a id=\"termOfUseAction\" data-dismiss=\"modal\" data-toggle=\"modal\"\n data-target=\"#termOfUse\">Nutzungsbedingungen</a></p>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"modal\" id=\"termOfUse\">\n <a href=\"https://app-api-contract-r-euwe-411542.azurewebsites.net\" id=\"modalContractAPI\" style=\"display: none\"\n data-us=\"0\"></a>\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\" id=\"modalTitle\"\n data-title-terms=\"Nutzungsbedingungen\"\n data-title-privacy=\"Datenschutzerklärung\">\n Datenschutzerklärung </h5>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"select-container\">\n <div class=\"select-icon\">\n <span>▲</span>\n <span>▼</span>\n </div>\n <select id=\"selectCountry\" class=\"imow-select\">\n <option value=\"none\" selected disabled>\n Land </option>\n </select>\n </center>\n </div>\n <div class=\"select-container\">\n <div class=\"select-icon\">\n <span>▲</span>\n <span>▼</span>\n </div>\n <select id=\"selectLanguage\" class=\"imow-select\" disabled>\n <option value=\"placeholder\" selected disabled>\n Sprache </option>\n </select>\n </center>\n </div>\n </div>\n <div class=\"modal-footer\">\n <div class=\"pull-right\">\n <button data-dismiss=\"modal\" class=\"btn modal-action-btn\">\n Abbrechen </button>\n <button disabled=\"true\" id=\"showPdf\" class=\"btn modal-action-btn\" target=\"_blank\" >\n continue </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<script type=\"text/javascript\" src=\"assets/components/jquery/jquery.min.js\"></script>\n<!--[if IE 9]>\n<script type=\"text/javascript\" src=\"assets/components/jquery/jquery.xdomainrequest.min.js\"></script>\n<![endif]-->\n<script type=\"text/javascript\" src=\"assets/components/bootstrap/js/bootstrap.min.js\"></script>\n<script type=\"text/javascript\" src=\"assets/components/iframe-resizer/iframeResizer.js\"></script>\n<script type=\"text/javascript\" src=\"assets/js/main.js?v4\"></script>\n<script src=\"assets/js/login.js?v=2\"></script>\n</body>\n</html>\n"```
-
@mberger74 Bruch ich den login via pn
-
@mberger74 Stihl hat mit der neuen Generationen der iMow auch eine neue WebApp sowie eine neue Android und iOS App veröffentlicht. Bei Umstieg auf die neue iMow Generation muss auch ein neuer Account in der neuen (Web)App angelegt werden.
Webapp der alten iMow Generation: https://app.imow.stihl.com/
Webapp der neuen iMow Generation: https://myimow.stihl.com/iOS App der alten iMow Generation: https://apps.apple.com/de/app/imow/id1000565074
iOS App der neuen iMow Generation: https://apps.apple.com/de/app/my-imow/id1609626952Die Implementierungen von ChrisHaPunkt basieren auf der alten Webapp und sind aus meiner Sicht deshalb nicht mit der neuen iMow Generation nutzbar.
siehe:
https://github.com/ChrisHaPunkt/stihl-imow-webapi
https://github.com/ChrisHaPunkt/ha-stihl-imowZitat:
This platform is using the STIHL iMow API via the unofficial STIHL iMow Python WebAPI wrapper to get the information from the mower via the upstream STIHL Server.
Ich habe mal einen Feature Request für die Erweiterung des WebApi Wrappers eröffnet.
-
@ninja-warrior Ja, danke, die verschiedenen Apps auf dem Handy waren mir bekannt. Naheliegend, was Du sagst.
Aber so wie ich das sehe, keine News inzwischen dazu ... Hat sonst außer mir keiner das Bedürfnis? Kann ja gar nicht sein heulGrüße
-
@mberger74 die github version unterstützt jetzt myimow app aber leider noch keine live Daten sondern nur refresh im interval muss man schauen ob das ausreichend ist
-
@tombox Ich versuche, die Github-Version des Adapters zu starten - erhalte aber folgende Fehlermeldung:
Error [ERR_FR_REDIRECTION_FAILURE]: Redirected request failed: Unsupported protocol stihl-imow-ios:
Die Zugangsdaten funktionieren unter https://app.imow.stihl.com. Somit habe ich als App-Name "iMow" konfiguriert. Was läuft da noch schief?
-
@christoph-2 was passiert bei type myiMow
-
Hallo, habe das gleiche Problem beim Login unter "iMow". Ich konnte das ganze ein wenig debuggen und habe folgendes in der main.js vom Adapter lokal anpassen können, damit ein Login möglich ist und der Adapter funktioniert:
Da der Rückgabewert "Redirected request failed: Unsupported protocol stihl-imow-ios:" ist, die Zeile 208 und 251 folgende Zeile:
if (error && error.message === "Unsupported protocol stihl-imow-ios:") {
in z.B.:
if (error && error.message.includes("Unsupported protocol") ) {
anpassen.
Zusätzlich trat bei mir ein Variablenüberlauf der Variable "expireTimeout" in Zeile 93 auf, was dazu führt, dass der refreshToken permanent erneuert wird und dann zu Problemen führt. Dort habe ich die Multiplikation mit 1000 zum testen entfernt, so dass der refreshToken jetzt alle 30 Min. erneuert wird. "this.session.expires_in" hat bei mir den Wert 2592000.
expireTimeout = this.session.expires_in; // * 1000;
-
@clem habe ich in 0.1.1 übernommen
-
@tombox
Erstmal: Danke, tolle Arbeit!Bei mir kommt auch mit 0.1.1 nach wie vor
Error [ERR_FR_REDIRECTION_FAILURE]: Redirected request failed: Unsupported protocol stihl-imow-ios:
Ich sehe im Code, dass Zeile 208 wie von @Clem beschrieben geändert wurde, Zeile 251 aber nicht.
(iMow und meine Zugangsdaten funktionieren unter https://app.imow.stihl.com)
Wärst Du so nett, dir das nochmal anzugucken?
-
@explorer-exe habe ich angepasst
-
@tombox
Danke. Das war es.imow.0 2024-04-09 23:37:26.921 info Login successful
-
Auch, wenn es vielleicht lächerlich klingen mag, für Euch zur Info:
Es scheint als würde Stihl gerade alle Kunde anschreiben, die (vermutlich unter anderem mit diesem Adapter) versuchen ihren iMow in ein Smarthome System einzubinden.
Zitat:
Im Rahmen unserer standardmäßigen Sicherheitsprüfungen ist uns aufgefallen, dass bei Ihrem iMOW Mähroboter möglicherweise Anpassungen vorgenommen wurden, die darauf hindeuten, dass das Gerät in ein Heimautomatisierungssystem oder Ähnliches integriert worden sein könnte. Wir möchten darauf hinweisen, dass gemäß Punkt 8.2 unserer Allgemeinen Geschäftsbedingungen solche Modifikationen nicht gestattet sind, da sie die Funktionstüchtigkeit und Sicherheit des Mähers beeinträchtigen können.
Wir bitten Sie daher höflich, etwaige Änderungen an der Automatisierung Ihres Mähroboters rückgängig zu machen, um die Sicherheit und Leistungsfähigkeit Ihres Gerätes zu gewährleisten.
-
@ninja-warrior said in Test Adapter Stihl Viking iMow:
Auch, wenn es vielleicht lächerlich klingen mag, für Euch zur Info:
Es scheint als würde Stihl gerade alle Kunde anschreiben, die (vermutlich unter anderem mit diesem Adapter) versuchen ihren iMow in ein Smarthome System einzubinden.
Zitat:
Im Rahmen unserer standardmäßigen Sicherheitsprüfungen ist uns aufgefallen, dass bei Ihrem iMOW Mähroboter möglicherweise Anpassungen vorgenommen wurden, die darauf hindeuten, dass das Gerät in ein Heimautomatisierungssystem oder Ähnliches integriert worden sein könnte. Wir möchten darauf hinweisen, dass gemäß Punkt 8.2 unserer Allgemeinen Geschäftsbedingungen solche Modifikationen nicht gestattet sind, da sie die Funktionstüchtigkeit und Sicherheit des Mähers beeinträchtigen können.
Wir bitten Sie daher höflich, etwaige Änderungen an der Automatisierung Ihres Mähroboters rückgängig zu machen, um die Sicherheit und Leistungsfähigkeit Ihres Gerätes zu gewährleisten.
Ich habe diese E-Mail gestern auch erhalten...