NIU Cloud (?)

Antworten
Benutzeravatar
blackblade
Beiträge: 324
Registriert: Fr 10. Aug 2018, 20:35
Roller: Silence S01 connected
PLZ: 12xxx
Wohnort: Berlin
Kontaktdaten:

Re: NIU Cloud (?)

Beitrag von blackblade »

ludwich hat geschrieben:
Do 20. Jun 2019, 20:04
Die Einträge unter

items Array.<Object> ?
items.x number ?
items.y number ?
items.z number ?

sind bei meinen M+ leider "leer".
Hast du die Daten aus diesen "items" generiert?

ludwich
Das ist bei mir auch alles leer. Ich lasse die Daten alle zwei Minuten abfragen.

Silence S01 ab 09/2022; 5,2kWh/100km
N1S ab 08/18-01/23; ~30200km

BlueAndi
Beiträge: 31
Registriert: Di 5. Mär 2019, 21:38
Roller: NIU NGT
PLZ: 89xxx
Kontaktdaten:

Re: NIU Cloud (?)

Beitrag von BlueAndi »

Bei mir sind Werte hinterlegt, scheint aktuell ein NGT Feature zu sein.

guro
Beiträge: 19
Registriert: Mi 19. Jun 2019, 22:38
Roller: Niu N-Pro
PLZ: 80
Kontaktdaten:

Re: NIU Cloud (?)

Beitrag von guro »

Ups mein fehler, nachdem ich sie nicht deuten konnte habe ich items[] aussortiert. Allerdings zählt pro Akku nur X von 0 bis 450 und Y,Z sind immer 0.

Ich glaub nicht das es nur ein N-GT feature ist, die App zeigt mir beim meinem Npro das ja auch an. Glaube kaum das sie das in der App speichert.

guro
Beiträge: 19
Registriert: Mi 19. Jun 2019, 22:38
Roller: Niu N-Pro
PLZ: 80
Kontaktdaten:

Re: NIU Cloud (?)

Beitrag von guro »

@blackblade: du sammelst die aktuellen Daten regelmäßig vom Server und baust dir daraus den Graph?

Ich hab mal n bissl gebastelt und folgendes gefunden:

Code: Alles auswählen

/v3/motor_data/cycling_statistics?sn='{sn}&sortby={x}   
   --> x=1,2,3; returns daily/weekly/monthly statistic like 'Ride Statistics' in app
   
/v3/motor_data/battery_chart?sn={sn}&page={?}&page_size={?}&pageLength={?}  
   --> apparently the right url, but always getting empty data-array as return, no matter what page, page_size and pageLength are set to...; if not set it returns missing argument
jemand noch eine Idee ? ;)

guro
Beiträge: 19
Registriert: Mi 19. Jun 2019, 22:38
Roller: Niu N-Pro
PLZ: 80
Kontaktdaten:

Re: NIU Cloud (?)

Beitrag von guro »

Ich habs entschlüsselt!!! :D (sorry für die vielen Posts, danke @ Moderatoren!)

der bmsID hat mich nerven gekostet, habe hier natürlich immer die Batterie-ID aus anderen Querys eingefügt... auf 3 kommt man da nicht so schnell :o :shock: :shock: :shock:

Code: Alles auswählen

/v3/motor_data/battery_chart?sn={sn}&page={8}&page_size={A}&pageLength={1}&bmsId=3'; //page=number, newest_km is 0; page_size=A|B -> Batteryselector; pageLength=1,2 -> x*~100 Items; bmsID == 3 dunno why
Output ist dann ein Array mit Km-Stand[m]->Batterie%[ b]
Man muss immer min. den page=0 query machen, sonst liefert der Rest ein leeres Array (der Server muss wohl erstmal sortieren); danach zählt man 'page' so lange hoch bis das Return-Array 0 groß ist. Idealerweise speichert man sich einfach die Werte noch Lokal, dann muss man nur die neuesten holen->Schneller.

Achja, Pro KM gibts einen Wert:

Code: Alles auswählen

stdClass Object
(
    [items1] => Array
        (
            [0] => stdClass Object
                (
                    [m] => 1
                    [b] => 100
                )

            [1] => stdClass Object
                (
                    [m] => 2
                    [b] => 100
                )

            [2] => stdClass Object
                (
                    [m] => 3
                    [b] => 100
                )
    [..]
            [18] => stdClass Object
                (
                    [m] => 19
                    [b] => 52
                )

            [19] => stdClass Object
                (
                    [m] => 20
                    [b] => 99
                )

        )

)
PS: Das gute an der Sache: Der NIU Server überwacht die Anzahl der Querys wohl nicht. über 1000 Querys "BruteForce" gingen ohne Probleme durch, nur die übliche Verzögerung pro Anfrage für Verarbeitung :lol:

Gute Nacht :mrgreen:

Benutzeravatar
blackblade
Beiträge: 324
Registriert: Fr 10. Aug 2018, 20:35
Roller: Silence S01 connected
PLZ: 12xxx
Wohnort: Berlin
Kontaktdaten:

Re: NIU Cloud (?)

Beitrag von blackblade »

guro hat geschrieben:
Fr 21. Jun 2019, 01:59
@blackblade: du sammelst die aktuellen Daten regelmäßig vom Server und baust dir daraus den Graph?
exakt

Silence S01 ab 09/2022; 5,2kWh/100km
N1S ab 08/18-01/23; ~30200km

guro
Beiträge: 19
Registriert: Mi 19. Jun 2019, 22:38
Roller: Niu N-Pro
PLZ: 80
Kontaktdaten:

Re: NIU Cloud (?)

Beitrag von guro »

und heute kommt die Ernüchterung: Nachdem ich den Graph geplotet habe kommt doch nur Unsinn raus.

Page=0 & page_size=A & pageLength=1 liefert die letzten ~100 Werte von Akku A
Page=0 & page_size=B & pageLength=1 liefert die letzten ~200 Werte von Akku A (!?)

macht man pageLength=2 bekommt man das gleiche Array einfach Doppel (items1 und items2) zurück.
Es scheint also die Umschaltung nicht zu funktionieren :(
Page_size ändert einfach nur die Länge des Arrays
Die NIU-App zeigt weiterhin den Rücksprung eines Akkus von 91% auf 100%, welches ich in den Daten nicht sehe.

BlueAndi
Beiträge: 31
Registriert: Di 5. Mär 2019, 21:38
Roller: NIU NGT
PLZ: 89xxx
Kontaktdaten:

Re: NIU Cloud (?)

Beitrag von BlueAndi »

Habe es mir auch gerade angeschaut und sieht für mich wie folgt aus:
bmsId 1 = Akku A
bmsId 2 = Akku B
bmsId 3 = Akku A + B (?)

Bei page_size kann ich auch "apfel" angeben, ist irgendwie egal.
Es scheint aber mit pageLength irgendwie zu korrelieren.

guro
Beiträge: 19
Registriert: Mi 19. Jun 2019, 22:38
Roller: Niu N-Pro
PLZ: 80
Kontaktdaten:

Re: NIU Cloud (?)

Beitrag von guro »

und heute kommt die Ernüchterung: Nachdem ich den Graph geplotet habe kommt doch nur Unsinn raus.

Page=0 & page_size=A & pageLength=1 liefert die letzten ~100 Werte von Akku A
Page=0 & page_size=B & pageLength=1 liefert die letzten ~200 Werte von Akku A (!?)

macht man pageLength=2 bekommt man das gleiche Array einfach Doppel (items1 und items2) zurück.
Es scheint also die Umschaltung nicht zu funktionieren :(
Page_size ändert einfach nur die Länge des Arrays
Die NIU-App zeigt weiterhin den Rücksprung eines Akkus von 91% auf 100%, welches ich in den Daten nicht sehe.

Edit: bmsId ist die Lösung! page=0, _size=a, length=1, bmsID=3 -> Akku A; bmsID=2 -> Akku B

bilbo_b
Beiträge: 7
Registriert: So 16. Jun 2019, 18:56
Roller: NIU N1S
PLZ: 6
Kontaktdaten:

Re: NIU Cloud (?)

Beitrag von bilbo_b »

Hallo zusammen,

habe mal mit kräftiger Unterstützung zweier Freunde (Danke telegnom und Hinerk) was in python zusammen geklöppelt (im Wesentlichen aus Volkers php-Script und Andis node-Implementierung portiert). Ist das erste Mal, daß ich Code veröffentliche also wenn nicht genügend Hinweise woher inspiriert oder sonst was nicht ok, laßt es mich bitte wissen, es ist nichts in böser Absicht passiert. Wollte nur für mich was in python haben und hatte Andere auch danach fragen sehen.

Also schaut mal hier: https://github.com/bilbo-b/niu-api.py und laßt mich wissen, was Ihr denkt, bitte.

Gruß,
bilbo_b

Antworten

Zurück zu „NIU“

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 380 Gäste