NEWS
Klarstein App / Klarstein API
-
Ich hätte hier mal ein Aufruf an alle welche die Klarstein App nutzen, z.B. für Android:
https://play.google.com/store/apps/details?id=com.chaltec.klarsteinrn
Es gibt eine API des Herstellers mit der man eigentlich so ziemlich alles machen können müsste was auch die App kann.
Leider klappt meine Anmeldung an der API nicht.Könnte mal ein Nutzer der App probieren ob eine Anmeldung an der API klappt?
Dazu geht Ihr aufhttps://api-prod.klarstein-app.com/
Scrollt runter bis zum Abschnitt Security und klickt einmal auf den ersten Eintrag:
Dann rechts auf Try it out
Da klappt dann ein Feld aus wo Ihr eure Email-Adresse und Passwort eintragen müsst:
Danach auf ExecuteEr zeigt dann den passenden
curl
Befehl und darunter das Ergebnis der Abfrage. Bei mir kommt da halt ein401
undInvalid credentials
Eigentlich sollte da was kommen wie
{ "token": "alkshdsad7atddb3jkdvba7dt3gqdekjk" }
Manchmal muss man für den Zugang zu so etwas Extra beim Hersteller anfragen, dazu habe ich aber nichts gefunden. Und was man sich dort sonst noch anschauen kann, z.B. die FAQ lässt mich vermuten das deren App genau das gleiche nutzt.
Nachtrag: Ich habe mal meinen DNS-Server beobachtet: Jupp, die Klarstein App löst eine DNS-Abfrage aufapi-prod.klarstein-app.com
aus. -
@bananajoe sagte in Klarstein App / Klarstein API:
Er zeigt dann den passenden
curl
Befehl und darunter das Ergebnis der Abfrage. Bei mir kommt da halt ein401
undInvalid credentials
Kommt bei mir auch.
-
@1topf mhh schade.
Ich werde wohl versuchen den Netzwerkverkehr einmal mitzuschneiden ... Oder die Anmeldung funktioniert doch anders. -
Was hast Du eigentlich von Klarstein? Ich habe 2 mobile Klimaanlagen. Eine ist Bastelobjekt, da die Teile mit ESP ins WLAN gehen. Da hab ich mal vor ein paar Wochen TASMOTA geflasht, bin aber noch nicht dazu gekommen, weiter daran zu arbeiten. Ich müßte ja die GPIO-Belegung austesten.
Jetzt bin ich aber seit gestern für 3 Wochen zur Reha, kann Dich also bei Deinem Problem auch nicht unterstützen. -
@1topf einen Luftentfeuchter DryFy
Laut Scan ist der Tuya-Kompatibel, könnte also auch über den Weg gehen - wenn ich denn den Key hätte welches das Gerät mit der Cloud ausgehandelt hat. Aber die Cloud sieht an sich klasse aus ... wenn man diese denn nutzen könnte
-
@bananajoe Zum Fehler 401 findet man nur das: https://www.rfc-editor.org/rfc/rfc2616#section-10.4.2
-
@bananajoe Die App sendet an tuya ein tuya.m.user.uid.token.create und tuya.m.user.uid.password.login.reg dann bekommt er den jwt token den er dann an https://api-prod.klarstein-app.com/security/mobile_login? sendet um den klarstein token zu bekommen
Der direkte Endpunkt jwt_login geht nicht
-
- Wie hast du denn das rausbekommen?
- Nützt mir das etwas? Wo kann ich mehr Informationen zu tuya API finden?
bei IOT Tuya habe ich mich schon mal angemeldet ...
-
@bananajoe
App Datenverkehr angeschaut.
nein selbst der token nach mobile_login hat bei mir nicht auf der api Seite funktioniert
Es ist sicher dokumentiert wie man tuya request erzeugt aber relativ kompliziert da die postData Verschlüsselt sind und alles signiert ist.Es ist einfacher die Geräte via tuya adapter in iobroker zu integrieren
-
@tombox der Tuya Adapter kann aber ja nur mit unverschlüsselt sendenden Geräte umgehen, oder?
Den hatte ich schon ausprobiert, der lauscht ja nur "allgemein".
Oder habe ich beim überfliegen etwas überlesen (also wie ich mein Gerät dazu bringe unverschlüsselt zu arbeiten)?Ich bin gestern daran verzweifelt den MITMPROXY unter Windows aufzusetzen (die aktuelle Version scheint es nicht zu tun, da fehlen schlicht Dateien), um eine extra VM dafür aufzusetzen war es mir dann zu spät. Ich nehme an auf so einem Weg hast du den Datenverkehr mitgeschnitten?
Auch mit tinytuya habe ich schon experimentiert, da fehlt aber der Local Key. Sieht ansonsten aber gut aus, die Protokollversion wird schon mal ermittelt.
Ich wollte sonst einmal testen das Gerät statt dessen mit der Tuya Smart App zu koppeln. Wenn das klappt sollte man über https://iot.tuya.com diesen Key heraus bekommen und das Gerät dann Lokal steuern können.
Habe ich mir aus verschiedenen Anleitungen zusammengereimt, z.B. diese: https://www.youtube.com/watch?v=Q1ZShFJDvE0Der Weg per IOT Tuya ist einerseits ja vorbildlich von denen, für Otto-Normalverbraucher aber schwierig, ein Gerät so hinzu zu fügen ist dann doch relativ kompliziert.
Ich habe denen von Klarstein / Chal-Tec GmbH mal eine Email mit meinem Anliegen geschrieben, vielleicht kommt ja über den Weg etwas.
-
@bananajoe Ja stimmt müsste man mal anpassen dass er auch über tuya iot gerate holt
Der Tuya request hat auch keine keys oder sowas sichtbar
time 1667069969 lang de deviceId DB7B2F99-61E4- et 0.0.2 osSystem 14.8 bundleId com.chaltec.klarsteinRN lon 0 channel sdk appVersion 5.1.5 ttid appstore_r os IOS v 1.0 sign fe5a110a22d248be96f3c2e03f212a475e8929e4e1f00 platform iPhone 8 Plus postData NAt7UL9qUX5bkAGL9b6IfWPMVQzEFNslvDarC34k= requestId 2207C97D-F379-404C-AEE7-86C499A0A3AB sdkVersion 3.26.5 timeZoneId Europe/Berlin lat 0 clientId tj57ktefhg5w5gvd7egn a tuya.m.user.uid.password.login.reg
-
@tombox jetzt wo du es schreibst ... tinytuya hat ein Wizard-Mode. Wenn man seinen API übergibt holt er sich wohl die Geräte ... ich teste mal rum.
-
@tombox mhh, also ich konnte das Gerät auch mit der Tuya App verbinden (vorher aus der Klarstein gelöscht).
Unter iot.tuya.com kann ich das Gerät auch auslesen.
Netterweise werden dort auch die zugehörigencurl
Befehl immer mit angegeben.Allerdings muss man die Anmeldung vorher auf die Reihe bekommen ...
ich hatte hier dieses Beispiel gefunden: https://stackoverflow.com/questions/73874058/call-to-tuya-api-via-bashAllerdings verzweifle ich gerade an der Kalkulation des $SIGN ...
Parallel spiele ich mit
tynytuya
rum, der Wizard kann sich tatsächlich auch die Daten holen. Und dann kann man mit einem kleinen Python-Skript die Daten abfragen:set_status() result {'devId': 'xxxxxxxxxxxxxxxxxxxx', 'dps': {'1': True, '2': '0', '3': 52, '4': 45, '5': False, '6': '1', '7': False, '8': True, '11': 0, '12': '0', '13': 0, '101': False, '102': False}}
Unter IOT Tuya kann man auch die Eigenschaften abfragen, also was das Gerät kann.
An und Aus sollte ich über Python hinbekommen, das wäre dann schon ein kleiner Sieg.
Ich will nämlich einen Lufttrockner ansteuern. Der verbraucht auch im Automatik-Modus, also wenn er nicht trocknet, seine 300 bis 400Watt weil die Lüftung immer läuft.
Ziel ist das ich den einschalte wenn es zu feucht ist und ausschalte wenn es gut ist. Das geht zwar auch per Schaltsteckdose ... aber finde ich doof.Mit Tuya habe ich mich an an dem Video hier orientiert: https://www.youtube.com/watch?v=Q1ZShFJDvE0 und das hat 100% so geklappt.
Jetzt muss ich das Wissen nur irgendwie umsetzen ...
Nachtrag: Jupp, Status, on und off ist zumindest in python nun kein Problem mehr
Nachtrag 2: Ich muss erst einmal etwas anderes probieren, aber ich schein hier ein schönes Beispiel für den Abruf per JavaScript gefunden zu haben: https://stackoverflow.com/questions/73062266/stuck-at-1004-sign-invalid-from-tuya-api ganz unten .
Da stand auch der Link zur Hilfe drin: https://developer.tuya.com/en/docs/iot/singnature?id=Ka43a5mtx1gsc wo man ein Beispiel für NodeJS runterladen kann (was aber wohl dem auf der Seite entspricht) -
@bananajoe
Ja dann macht es noch mehr Sinn das man in iobroker.tuya auch via iot.tuya.com seine gerate abfragen kann
werde ich zeitnah vielleicht einbauen bräuchte nur ein iot.tuya.com account mit geräten drin -
@tombox du bist schon so eine kleine Adapter-Produktionsmaschine, oder?
Das Gerät ist mein erstes, ich habe also genau 1 Gerät in IOT TuyaDu kannst dir einen eigenen Account erstellen, wichtig:
- Account Type Settings auf Individual Developer
- In den Ländereinstellung Germany auswählen - es wichtig das du außerhalb China bist, ansonsten musst man sich noch einmal zusätzlich mit einem Personalausweis identifizieren (und zwar einem Chinesischen den du vermutlich nicht hast).
- Dann kannst du dein Projekt anlegen, das Central Europe Data Center reicht
Wenn du dann in dem Projekt Geräte hinzufügen willst und bei Link Tuya App Account bist musst du mir den QR-Code eben schicken. Ich schreibe dir per PN meine Kontaktdaten.
So können dir später auch andere Ihre Geräte "überlassen" ohne das gleich deren Account brauchst.
Aber ich weiß nicht ob ich dir das wieder wegnehmen kannHier noch mal die Videoanleitung: https://www.youtube.com/watch?v=Q1ZShFJDvE0
-
@bananajoe tuya 3.8.0 auf GitHub kann jetzt einfach neue gerate syncen. einfach die Klarstein Geräte in die Tuya app hinzufügen und via tuya adapter abfragen.
-
@tombox Nutze ich doch schon deine Version seit dem du mir geschrieben hast das ich es testen soll
Aber wie ich sehe ist Apollo77 dabei das zu übernehmen (und noch mehr),Hab den Adapter installiert!
Und vielen Dank für deine Arbeit!