Seite 9 von 24

Re: NIU Cloud (?)

Verfasst: Mo 20. Mai 2019, 06:44
von vsm
Die API kann nun auch Informationen zur Firmware anzeigen.

Re: NIU Cloud (?)

Verfasst: Mo 20. Mai 2019, 21:26
von ludwich
Hallo zusammen,

ich versuche gerade herauszufinden wie das Mapping der API und der Displayanzeige in der NIU App funktioniert.
Hat zu fällig jemand Werte zur Hand? Was ist unter Motor_info.gps bzw. Motor_info.gsm zu lesen wieviele Balken zeigt die NIU-App?

IMG_20190520_212205.jpg
gps: Wert 5 = 5 Balken 1:1

gsm: nichtlinear zu den 5 Balken in der Niu-App
17 -> 5 Balken (Heute bei bedecktem Wetter wurde der Wert 17 ausgelesen)
16 -> 5 Balken
15 -> 5 Balken
14 -> 5 Balken
13 -> 5 Balken
12 -> 5 Balken
11 -> 5 Balken
10 -> ?
09 -> ?
08 -> ?
07 -> ?
06 -> ?
05 -> ?
04 -> ?
03 -> ?
02 -> ?
01 -> ?
00 -> ?

Gruß ludwich

Re: NIU Cloud (?)

Verfasst: So 26. Mai 2019, 17:51
von H89P
obstler hat geschrieben: Mo 6. Mai 2019, 13:55 Sobald man sein token hat ist es ganz einfach den Batteriestand abzufragen; ich hab mir einen einfachen NodeRed Flow gemacht der das genau einmal stuendlich abfragt und nach MQTT posted zur weiteren Verwendung.

Fuer die http Abfrage muss der header "Token" auf das individuelle Token gesetzt sein. Dann Abfrage auf:

Code: Alles auswählen

https://app-api.niu.com/v3/motor_data/battery_info?sn=xxxxxxxx
Am Ende die eigene Serial Number eintragen.

Als Antwort kommt dann ein groesseres JSON Objekt, der aktuelle Ladestand beim NIU N1S steht in:

Code: Alles auswählen

data.batteries.compartmentA.batteryCharging
Habe mir das selbe gerade auch gebaut. NAch ein wenig Bastelei. Jetzt kommt das ganze in den Home Assistant :D
Komme ich so auch auch an die letzten FAhrten?

Re: NIU Cloud (?)

Verfasst: Mo 27. Mai 2019, 21:52
von BlueAndi
H89P hat geschrieben: So 26. Mai 2019, 17:51 Komme ich so auch auch an die letzten FAhrten?
Ja, kannst Du. Beschreibung des JSON Objektes findest hier: https://github.com/BlueAndi/niu-cloud-c ... master/doc
Ein nodejs Konsolenanwendung findest Du hier: https://github.com/BlueAndi/niu-cloud-cli

Re: NIU Cloud (?)

Verfasst: Mi 29. Mai 2019, 08:30
von cactus-online
Firestarter hat geschrieben: Mo 6. Mai 2019, 11:31 Da der Token ja gleich bleibt, gibt es eine einfache URL bzw. Http-Abfrage, die nur den Akkustand zurück gibt?
Ich bräuchte das in iobroker….wobei ein "richtiger" iobroker-Adapter wäre natürlich der Knaller 8-)
Weiss jemand, wie man solch einen Adapter bastelt? Ich bin da leider nicht mit allzu viel Wissen gesegnet :roll:
Ja. Ich habe die nodjs-Anwendung in meinen iobroker integriert (ich wollte keine weite nodejs Instanz laufen haben). Im iobroker erscheint naturgemäß kein neuer Adapter, aber Du kannst die Informationen per CLI abrufen. Ich tue das von meiner CCU aus und schreibe das Ergebnis in CCU Variablen. Der Vorteil ist, ich habe die Daten sowohl im iobroker, als auch in CCU historian und kann sie auf der CCU nutzen (z.B. die Ladesteckdose auszuschalten, wenn der Akku 100% voll ist). Du kannst es entweder genauso machen (natürlich auf Deine CCU angepasst, auf der auch CUxD installiert sein muss) wenn Du eine CCU benutzt, oder Du passt das Script leicht an und benutzt es auf Deinem iobroker lokal.

Code: Alles auswählen

#!/bin/sh
# Version 1.1
#                                        
# Liest Werte aus der Niu Cloud
token=<hier Dein Token eintragen>
sn=<hier die engine Seriennummer>                                                                                                                                                                                          
                               
raw=$(ssh -o UserKnownHostsFile=/usr/local/addons/scripts/.ssh/known_hosts -i /usr/local/addons/scripts/.ssh/id_rsa iobroker@<hier den iobroker host> /usr/bin/node /home/iobroker/node_modules/niu-cloud-cli/niu-cloud-cli.js get-battery-info 
                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                    
for niu in      "NiuBatteryA.connected,11" "NiuBatteryA.charge_state,15" "NiuBatteryA.temperature,23" "NiuBatteryA.mileage,30"                                                                                                      
do                                                                                                                                                                                                                                  
   v1=`echo $niu | cut -d',' -f 1`                                                                                                                                                                                                 
   h1=`echo $niu | cut -d',' -f 2`                                                                                            
   v2=`echo $raw | cut -d' ' -f $h1`                                                                                          
   echo -e $v1'\t'$v2                                                                                                         
   /usr/local/addons/cuxd/extra/timer.tcl "$v1" $v2 1>/dev/null
done
Ist quick and dirty aber tut erstmal. Wenn BlueAndi eine neue Version erzeugt, die weitere Werte zurückgibt, dann könnte man die ebenfalls so auslesen und weiter benutzen. Ideal wäre es, wenn es eine Möglichkeit gäbe, die Werteliste auch als einfachen String zu bekommen.

Viel Spaß

TF

Re: NIU Cloud (?)

Verfasst: Mi 29. Mai 2019, 21:06
von BlueAndi
cactus-online hat geschrieben: Mi 29. Mai 2019, 08:30 Ideal wäre es, wenn es eine Möglichkeit gäbe, die Werteliste auch als einfachen String zu bekommen.
Ist nicht ganz einfach, da jeder meist was anderes möchte. Ich habe für ein paar Kommandos mal eine Filteroption hinzugefügt, mit der kann man sich die Ausgabe selber zusammenstellen, einfach durch die Angabe von --filter xxx --filter yyy und etc. Sind es mehr als ein Filter, werden die Werte durch einen ";" separiert.
Siehe https://github.com/BlueAndi/niu-cloud-cli#filter-output

Re: NIU Cloud (?)

Verfasst: Mi 19. Jun 2019, 22:42
von guro
Ich muss den Thread nochmal rausholen, kennt ihr zufällig die URL um die Batterie-History zu bekommen?
In der App kann ich ja die Akku-Anzeige anklicken und sehe ein Diagramm über die Ladestatus zu KM-Stand. Scheint wohl eine eigene URL zu sein, da ich es in der Api-Test von volkerschulz nicht gefunden habe.

Nachdem mein N Pro auch gerne im Stillstand den zweiten Akku "lädt" würde ich das gerne mitloggen.

Danke!

beste Grüße
Basti

Re: NIU Cloud (?)

Verfasst: Do 20. Jun 2019, 16:30
von BlueAndi
Das könnten die items in der CompartmentBatteryInfo sein: https://github.com/BlueAndi/niu-cloud-c ... fo--object

URL: v3/motor_data/battery_info

Habe das im Detail bisher aber nicht analysiert.

Re: NIU Cloud (?)

Verfasst: Do 20. Jun 2019, 19:07
von blackblade
Ich habe mir das selber aus @vsm Sourcen, influxdb und grafana gebaut. Damit bekomme ich jetzt auch den Ladestand und die Akkutemperatur über die Zeit.
Screenshot 2019-06-18 at 18.10.26 - Edited.png
guro hat geschrieben: Mi 19. Jun 2019, 22:42 Ich muss den Thread nochmal rausholen, kennt ihr zufällig die URL um die Batterie-History zu bekommen?
In der App kann ich ja die Akku-Anzeige anklicken und sehe ein Diagramm über die Ladestatus zu KM-Stand. Scheint wohl eine eigene URL zu sein, da ich es in der Api-Test von volkerschulz nicht gefunden habe.

Nachdem mein N Pro auch gerne im Stillstand den zweiten Akku "lädt" würde ich das gerne mitloggen.

Danke!

beste Grüße
Basti

Re: NIU Cloud (?)

Verfasst: Do 20. Jun 2019, 20:04
von ludwich
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