Neues Modul: INDEGO

Begonnen von vuffiraa, 18 November 2017, 17:01:28

Vorheriges Thema - Nächstes Thema

JensS

#105
@vuffiraa
Mein Indego 350+ wollte auch nicht mehr aber nach dem Update aus deinem dev-github läuft er wieder.
https://github.com/fhem/INDEGO/raw/dev/FHEM/70_INDEGO.pm

Vielen Dank!

Gruß Jens

p.s. Folgende Korrespondenz hatte ich vor zwei Wochen mit Bosch:
Zitat...
vielen Dank für Ihre Nachricht. Wir bedauern sehr, dass der Indego nicht wie gewünscht erreichbar ist.
Ich kann im System erkennen, dass der Indego am 18.04.2022 ein gutes Signal von Vodafon empfangen hat.
Wir haben bereits im letzten Jahr vermehrt die Meldung erhalten, dass die Indegos nicht den Status aktualisieren oder als offline angezeigt werden.
Das Problem ist, dass die Mobilfunkanbieter die Kommunikationslosts schließen. Sprich der Indego kann nicht mehr mit unseren Servern sprechen und keinen Status melden.
Wir arbeiten seit der letzten Saison an mehreren Lösungen und eine wird zeitnah ausgerollt werden. Diese soll den Kommunikationsslot länger offen halten.
Bitte haben Sie noch etwas Geduld. Sollte der Indego mal als offline angezeigt werden, hilf leider nur ein kompletter Neustart von Indego und Ladestation. Bitte lassen Sie den Indego auch alle 2 Tage fahren.
Für weiter Fragen stehen wir Ihnen gerne zur Verfügung.
Best regards,
...
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Prostetnik

#106
Zitat von: vuffiraa am 13 Mai 2022, 08:05:37
Hallo Stephan,

deine Version vom INDEGO-Modul war wohl schon etwas älter. Da das Modul, aufgrund meiner Nachlässigkeit, kein offizielles Modul ist, wird es auch nicht automatisch mit einem Update deiner FHEM-Installation aktualisiert. Bei dir ist eine kleine Anpassung in der Weblink-Konfiguration nötig, siehe diesen Beitrag: https://forum.fhem.de/index.php/topic,79751.msg1073280.html#msg1073280

Die Fehlermeldung kommt von der Statusabfrage per Longpoll, wenn der Indego nicht gerade mäht, gibt es auch keine Statusaktualisierung. Der Request wird dann vom Server nicht beantwortet und läuft ins Timeout. Kann also ignoriert werden.

VG
VuffiRaa

Super! Danke, die Kartenwelt ist wieder in Ordnung! ;-)

PS: Wäre natürlich toll, wenn das Modul in FHEM offiziell aufgenommen würde. Die Qualität ist doch sehr gut und das ganze funktioniert ja nun auch schon seit Jahr und Tag. Ich und meine Robots möchten nicht darauf verzichten...

is2late

ZitatMein Indego 350+ wollte auch nicht mehr aber nach dem Update aus deinem dev-github läuft er wieder.
https://github.com/fhem/INDEGO/raw/dev/FHEM/70_INDEGO.pm

Vielen Dank!

Hi,
hab mich seit Längerem nicht mit  FHEM beschäftigt und stehe erst einmal wieder auf dem Schlauch.
Wie bitte bekomme ich das Update hin?

Vielen Dank,
Ingo
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

enno

Moin Ingo,

steht im github: https://github.com/fhem/INDEGO

in Fhem update all https://raw.githubusercontent.com/fhem/INDEGO/dev/controls_INDEGO.txt

und dann einmal neu starten.

Wenn du update add https://raw.githubusercontent.com/fhem/INDEGO/dev/controls_INDEGO.txt nutzt, wird es bei allen Updates von FHEM in Zukunft mit aktualisiert. (https://wiki.fhem.de/wiki/Update#update_.3CDateiname.3E)

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

is2late

Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

siggel

Mir schwant, da wird eine größere Anpassung erforderlich werden   :-\

"Aufgrund einer Aktualisierung unseres zentralen Cloud-Systems werden die Bosch Smart Gardening App und die damit verbundenen Dienste für unseren Robotermäher Indego von Montag, 27. Februar bis Mittwoch, 1. März 2023 nicht verfügbar sein.

Nach dem Upgrade ist es erforderlich, die Bosch Smart Gardening App auf die Version 4.0 aktualisieren. Frühere Versionen bieten keinen Zugriff mehr auf den Indego.

Im Rahmen des Upgrades unseres zentralen Cloud-Systems erfolgt eine Umstellung der bisher verwendeten lokalen E-Mail-Konten auf zentrale Bosch ID-Konten.

Das ermöglicht es unseren Nutzerinnen und Nutzern, ihre Anmeldedaten für alle Bosch-Produkte zu nutzen. Es umfasst unter anderem auch unsere MyBosch-Plattform, die weitere Servicevorteile rund um unsere Produkte, wie z. B. Garantieverlängerungen, bietet.

Je nach Art des Benutzerkontos, mit dem der Indego gekoppelt ist, sind aufgrund des Upgrades gegebenenfalls zusätzliche Schritte erforderlich. Nachfolgend die entsprechenden Details.

[...]"
RPi 3B+, ConBee II, OSRAM/Ledvance Plug/Light/Switch mini, Aqara Contact/Multisensor/Motion Sensor/Magic Cube, IKEA Tradfri Dimmer/Switch, Shelly 1/1PM/2.5/i3/uni/Plug S, Gosund SP111 (Tasmota), D1mini (Tasmota/WLED), Echo Dot, Fire Tablet (FTUI), Indego, Homematic IP CCU3/eTRV2/eTRV-B/STHO-A

buennerbernd

Das habe ich auch sofort gedacht.
Modulentwickler von KLF200 und KLF200Node

enno

Moin in die Runde,

ich habe meinen Mäher in die Ladestation gepackt. Die App auf dem Handy aktualisiert und darüber den Mäher gestartet. Das funktioniert! Soweit das positive ;)

Nun kommt der wichtigere Teil, wie bekommen wir das mit FHEM wieder zum Laufen?

Ich habe einen Link bei Home Assistant der ganz vielversprechend aussieht gefunden: https://github.com/jm-73/Indego/issues/171

Hat einer von Euch schon eine Idee oder Lösung?

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

buennerbernd

Bin dran.
Ich habe schon einen guten Plan von der Lösung.
Schritt 1 ist somit so gut wie fertig.
Schritt 2 wäre VuffiRaa davon zu überzeugen, seine Zeit dafür zu opfern. ;)
Modulentwickler von KLF200 und KLF200Node

buennerbernd

Ich schreibe hier mal meine Erkenntnisse für interessierte Modulentwickler nieder:

1. Ein Authorization Code wird benötigt:

Hier ist Handarbeit vom Nutzer gefordert.
Das macht man am Besten in Chrome.
Browser öffnen. F12 drücken. Die Developer Tools gehen rechts auf. Dort den Tab Network öffnen.
Dann die folgende URL über die Addresszeile öffnen:
https://prodindego.b2clogin.com/prodindego.onmicrosoft.com/b2c_1a_signup_signin/oauth2/v2.0/authorize?redirect_uri=com.bosch.indegoconnect://login&client_id=65bb8c9d-1070-4fb4-aa95-853618acc876&response_type=code&scope=openid%20offline_access%20https://prodindego.onmicrosoft.com/indego-mobile-api/Indego.Mower.User

Hier genau wie in der App einloggen.
Der Browser bleibt stehen, mit der Meldung "Please wait..."
Jetzt sieht man in den Developer Tools ganz unten eine rote Zeile:
?code=eyJ...

Alles hinter code= ist der Authorization Code der 10 Minuten gilt und für den nächsten Schritt benötigt wird.

2. Bearer Token und refresh_token holen.

Diesen Schritt könnte man im Indego-Modul implementieren:

GET https://prodindego.b2clogin.com/prodindego.onmicrosoft.com/b2c_1a_signup_signin/oauth2/v2.0/token?grant_type=authorization_code&client_id=65bb8c9d-1070-4fb4-aa95-853618acc876&scope=openid%20offline_access%20https://prodindego.onmicrosoft.com/indego-mobile-api/Indego.Mower.User&code={{authorization_code}}&redirect_uri=com.bosch.indegoconnect://login&code_verifier=thisisntrandombutitneedstobe43characterslong

Response:

{
    "access_token": "eyJ...",
    "id_token": "eyJ...",
    "token_type": "Bearer",
    "not_before": 1680358542,
    "expires_in": 3600,
    "expires_on": 1680362142,
    "resource": "19630bac-453d-4078-84b9-9eb537d98bc8",
    "id_token_expires_in": 3600,
    "profile_info": "eyJ...",
    "scope": "https://prodindego.onmicrosoft.com/indego-mobile-api/Indego.Mower.User offline_access openid",
    "refresh_token": "eyJ...",
    "refresh_token_expires_in": 1209600
}

Das access_token ist das Bearer Token. Es gilt eine Stunde.
Das refresh_token gilt 14 Tage.

3. Bearer Token und refresh_token aktualisieren.

GET https://prodindego.b2clogin.com/prodindego.onmicrosoft.com/b2c_1a_signup_signin/oauth2/v2.0/token?grant_type=refresh_token&refresh_token={{refresh_token}}

Der Response hat den gleichen Aufbau.

Das Indego API ist weitestgehend gleich geblieben, nur die Basis-URL hat sich geändert:
https://api.indego-cloud.iot.bosch-si.com

Da jetzt ein Bearer Token verwendet wird, fällt /api/v1/authenticate weg.
Die Authentication hat in der Vergangenheit "alm_sn", "contextId" und "userId" zurückgegeben.

Die contextId ist vermutlich obsolet.
Wie man jetzt an die userId kommt, weiß ich noch nicht. Die alte gilt aber noch. Ich glaube, sie ist nicht wichtig für den Betrieb.
Die alm_sn bekommt man mit

GET https://api.indego-cloud.iot.bosch-si.com/api/v1/alms

Response:
[
    {
        "alm_sn": "123456789",
        "alm_name": "Indego",
        "alm_status": 64513
    }
]

Mein Vorschlag ist also, dass das Indego Modul statt der Funktion set password die Funktion set AuthorizationCode bekommt und sich dann um das weitere kümmert.
Modulentwickler von KLF200 und KLF200Node

Prostetnik

Hallo FHEM-Gemeinde!
Es wäre wirklich super, wenn es hier weitergeht und sich jemand weiter um das INDEGO Modul kümmern würde. Ich wäre da natürlich auch zu einer kleinen Spende bereit, denn es fehlt da doch schon was in der Hausautomatisierung. Vor Allem, da die "neue" Bosch APP ja wie gewohnt eine Katastrophe ist...
Meine beiden INDEGOS, meine Frau und ich würden uns freuen, wenn es wieder wie gewohnt funktionieren würde...

vg
Stephan

FHEMAN

Aktuell ist es bei uns so, dass wir wieder zur hintersten Grundstücksecke watscheln und umständlich Knöpfchen unter der kleinen Garage tippseln, damit der Kleine wieder mäht. Denn die App geht seit der Auth Umstellung so gut wie gar nicht mehr, im besten Fall zeigt sie nach mehreren Minuten mal einen Status an.
Ein zwischenzeitliches Löschen des Caches (unter Android) brachte nur temporär Abhilfe.

Hat jemand andere Möglichkeiten gefunden, seinen Indego zu steuern? Gibt es notfalls andere Homeautomation Systeme, die den neuen Login schon implementiert haben? 
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

enno

Moin zusammen,

ich habe mir jetzt erst mal mit einem Umweg geholfen. Mein INDEGO wir jetzt über Bande gesteuert.

- Proxmox Homeassistant Container erstellt. (https://smarthomescene.com/guides/how-to-install-home-assistant-on-proxmox-the-easy-way/)
- Indego dort eingebaut (https://github.com/jm-73/Indego)
- dann per mqtt an FHEM gestreamt.
- von FHEM bei Bedarf per Link über die API in Homeassistant geschaltet.

Das ganze ist noch in einem "Beta" Stadion, aber bei mir läuft es seit zwei Wochen.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

FHEMAN

#118
Puhh, danke für die Info. Dann teste ich mal Homeassistant.

Bin letztens über die Scripte von tteck https://tteck.github.io/Proxmox/ gestoßen, dort gibt's alle wichtigen Home Automation Systeme (auch fhem) und vieles mehr als LXC quasi auf Knopfdruck.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

robishawn

Hallo FHEM-Gemeinde!

Auch ich wurde mich sehr freuen, wenn das Indego Modul wieder ohne weitere Umwege laufen würde.

Die Indego App stürzt permanet ab und so macht es keinen Spaß.

Vielleicht kann sich ja doch nochmal einer von den TOP Entwicklern der Sache annehmen.

Viele Grüße