NIU Cloud (?)
- ludwich
- Beiträge: 44
- Registriert: Fr 3. Mai 2019, 19:36
- Roller: NIU M+ Sport
- PLZ: 81
- Kontaktdaten:
Re: NIU Cloud (?)
Morgen Bilbo-B,
ich bekomme es nicht zum laufen (SBC mit Armbian Ubuntu Linux)
Erst hat er die Sprachcodierung angemeckert, trotz explizitem Hinweis auf Python3 ??
FiX:
# -*- coding: utf-8 -*
Weiter meckert er an os.py rum.
keine Ahnung wie ich das prüfen kann...
Traceback (most recent call last):
File "niu-api.py", line 13, in <module>
NIU_EMAIL = os.environ['mail@email.com']
File "/usr/lib/python3.6/os.py", line 669, in __getitem__
raise KeyError(key) from None
KeyError: 'mail@email.com'
Hast du nen Tipp für mich?
Ludwig
ich bekomme es nicht zum laufen (SBC mit Armbian Ubuntu Linux)
Erst hat er die Sprachcodierung angemeckert, trotz explizitem Hinweis auf Python3 ??
FiX:
# -*- coding: utf-8 -*
Weiter meckert er an os.py rum.
keine Ahnung wie ich das prüfen kann...
Traceback (most recent call last):
File "niu-api.py", line 13, in <module>
NIU_EMAIL = os.environ['mail@email.com']
File "/usr/lib/python3.6/os.py", line 669, in __getitem__
raise KeyError(key) from None
KeyError: 'mail@email.com'
Hast du nen Tipp für mich?
Ludwig
-
- Beiträge: 7
- Registriert: So 16. Jun 2019, 18:56
- Roller: NIU N1S
- PLZ: 6
- Kontaktdaten:
Re: NIU Cloud (?)
Hallo Ludwig,
sieht so aus, als hättest Du nicht die Shell Environment-Variable gesetzt, sondern Deine Email-Adresse im Programm eingetragen.
wenn Du es hart codieren möchtest, würdest Du die Zeile in
NIU_EMAIL = 'mail@email.com'
ändern (und die nächsten beiden entsprechend). Ansonsten VOR dem Aufruf des Python-Scripts die 3 exports in der Shell ausführen.
Ich hab mir diese exports in meine .profile gelegt, so daß sie immer gesetzt sind und ich mein Passwort nicht in Programmtext eintragen muß.
Gruß,
Bilbo
sieht so aus, als hättest Du nicht die Shell Environment-Variable gesetzt, sondern Deine Email-Adresse im Programm eingetragen.
wenn Du es hart codieren möchtest, würdest Du die Zeile in
NIU_EMAIL = 'mail@email.com'
ändern (und die nächsten beiden entsprechend). Ansonsten VOR dem Aufruf des Python-Scripts die 3 exports in der Shell ausführen.
Ich hab mir diese exports in meine .profile gelegt, so daß sie immer gesetzt sind und ich mein Passwort nicht in Programmtext eintragen muß.
Gruß,
Bilbo
- ludwich
- Beiträge: 44
- Registriert: Fr 3. Mai 2019, 19:36
- Roller: NIU M+ Sport
- PLZ: 81
- Kontaktdaten:
Re: NIU Cloud (?)
Meister Beutlin,
das war ein guter Tipp. Es wirft zwar noch Fehler wenn keine Track-Daten vorhanden sind - wie es bei meinem Roller der Fall ist.
Das macht er bis heute noch nicht - Niu, KSR und mein Händler haben noch keine Lösung parat...
Traceback (most recent call last):
File "niu-api.py", line 106, in <module>
print (' Timestamp: ', motorInfo['data']['lastTrack']['time'])
KeyError: 'time'
Ich habe das PHP Script um eine Anzeige der Position auf der Openstreetmap-Karte erweitert.
Du siehst dann ein neues Browserfenster mit Marker an der Position.
echo "\t<a href='https://www.openstreetmap.org/?mlat={$d ... stion->lng}' target='_blank'>Standort in OSM anzeigen</a>" . PHP_EOL;
Bitte weiterbasteln -- ich würde für meine Lösung Python vorziehen. 
Gruß Ludwig
das war ein guter Tipp. Es wirft zwar noch Fehler wenn keine Track-Daten vorhanden sind - wie es bei meinem Roller der Fall ist.
Das macht er bis heute noch nicht - Niu, KSR und mein Händler haben noch keine Lösung parat...
Traceback (most recent call last):
File "niu-api.py", line 106, in <module>
print (' Timestamp: ', motorInfo['data']['lastTrack']['time'])
KeyError: 'time'
Ich habe das PHP Script um eine Anzeige der Position auf der Openstreetmap-Karte erweitert.
Du siehst dann ein neues Browserfenster mit Marker an der Position.
echo "\t<a href='https://www.openstreetmap.org/?mlat={$d ... stion->lng}' target='_blank'>Standort in OSM anzeigen</a>" . PHP_EOL;
Code: Alles auswählen
=============================================================================================
= Daten meines roten NIU M+ Sport =
=============================================================================================
Batterie im Roller? : ja
Abgesperrt? : ja
Batterietemperatur : 33 °C
Batterie Ladestand : 64 %
Pufferakku Ladestand : 100 %
Voraussichtliche Fahrleistung : 76 Km
GPS-Daten : 49.089405, 12.599212 at 06/21/2019 19:43:14
GPS Qualität - GSM Qualität 0-5 : 4 GPS-Balken 4 GSM-Balken
[u]Standort in OSM anzeigen[/u]

Gruß Ludwig
-
- Beiträge: 7
- Registriert: So 16. Jun 2019, 18:56
- Roller: NIU N1S
- PLZ: 6
- Kontaktdaten:
Re: NIU Cloud (?)
Hallo Ludwig,
freut mich, daß es grundsätzlich bei Dir läuft. Den Fehler sollte ich noch abfangen, muß ich später mal schauen.
ich hab die CLI-Variante quasi als Vorstufe für einen Prometheus-Exporter gebaut. Den hab ich grade gepusht. Dabei fiel mir auf, daß ein Bindestrich im Dateinamen doof ist, wenn man es anschließend als Modul importieren möchte.
Also heißt das was vorher niu-api.py hieß jetzt niu.py und es gibt einen niu_exporter.py, der auf niu.py angewiesen ist.
Noch recht rudimentär, erst mal die (mir) wichtigsten Daten, um zu schauen, wo es noch klemmt.
Hast Du eine Idee und magst mal testen, wieso das mit dem OverallTally nicht klappt? Hab schon statt get ein post probiert, half aber nix.
Krieg immer 404 not found
Gruß,
Bilbo
freut mich, daß es grundsätzlich bei Dir läuft. Den Fehler sollte ich noch abfangen, muß ich später mal schauen.
ich hab die CLI-Variante quasi als Vorstufe für einen Prometheus-Exporter gebaut. Den hab ich grade gepusht. Dabei fiel mir auf, daß ein Bindestrich im Dateinamen doof ist, wenn man es anschließend als Modul importieren möchte.
Also heißt das was vorher niu-api.py hieß jetzt niu.py und es gibt einen niu_exporter.py, der auf niu.py angewiesen ist.
Noch recht rudimentär, erst mal die (mir) wichtigsten Daten, um zu schauen, wo es noch klemmt.
Hast Du eine Idee und magst mal testen, wieso das mit dem OverallTally nicht klappt? Hab schon statt get ein post probiert, half aber nix.
Krieg immer 404 not found

Gruß,
Bilbo
-
- Beiträge: 7
- Registriert: So 16. Jun 2019, 18:56
- Roller: NIU N1S
- PLZ: 6
- Kontaktdaten:
Re: NIU Cloud (?)
So, jetzt hab ich auch verstanden, wie das mit dem overallTally läuft
(daß man die sn nicht als param, sondern in post-data mit gibt).
Gruß,
bilbo
(daß man die sn nicht als param, sondern in post-data mit gibt).
Gruß,
bilbo
- ludwich
- Beiträge: 44
- Registriert: Fr 3. Mai 2019, 19:36
- Roller: NIU M+ Sport
- PLZ: 81
- Kontaktdaten:
Re: NIU Cloud (?)
Hallo Bilbo,
ich habe den Fehler bei fehlenden Trackdaten mal so abgefangen.
Klappt das auch bei dir mit Werten im Array?
ludwich
ich habe den Fehler bei fehlenden Trackdaten mal so abgefangen.
Klappt das auch bei dir mit Werten im Array?
Code: Alles auswählen
if (len(motorInfo['data']['lastTrack'])) != 0:
print ('Last Track: ')
print (' Timestamp: ', motorInfo['data']['lastTrack']['time'])
print (' Distance: ', motorInfo['data']['lastTrack']['distance'])
print (' Riding Time: ', motorInfo['data']['lastTrack']['ridingTime'])
-
- Beiträge: 7
- Registriert: So 16. Jun 2019, 18:56
- Roller: NIU N1S
- PLZ: 6
- Kontaktdaten:
Re: NIU Cloud (?)
Hallo Ludwig,
hab ich so eingebaut und funktioniert auch mit Werten bei mir.
Im Zweifel müßte man eigentlich jeden Teil einzeln prüfen ob da, bevor man ihn ausgibt.
Hab nur generell gecheckt, ob auf den request "was vernünftiges" kommt, nicht für jeden Einzelwert.
Hab Deine Lösung so aufgenommen, kommt bei der nächsten Änderung mit ins Git.
Gruß,
Bilbo
hab ich so eingebaut und funktioniert auch mit Werten bei mir.
Im Zweifel müßte man eigentlich jeden Teil einzeln prüfen ob da, bevor man ihn ausgibt.
Hab nur generell gecheckt, ob auf den request "was vernünftiges" kommt, nicht für jeden Einzelwert.
Hab Deine Lösung so aufgenommen, kommt bei der nächsten Änderung mit ins Git.
Gruß,
Bilbo
- ludwich
- Beiträge: 44
- Registriert: Fr 3. Mai 2019, 19:36
- Roller: NIU M+ Sport
- PLZ: 81
- Kontaktdaten:
Re: NIU Cloud (?)
Ich hab grad nen PullReq angelegt
ludwich
ludwich
-
- Beiträge: 7
- Registriert: So 16. Jun 2019, 18:56
- Roller: NIU N1S
- PLZ: 6
- Kontaktdaten:
Re: NIU Cloud (?)
Hallo Ludwig,
wow, mein erster Merge
Scheint jetzt aber nach leichter Korrektur nach dem Merge jetzt wieder zu funktionieren.
Zieh Dir noch mal die aktuelle Fassung und schau, ob es so für Dich funktioniert wie geplant, bitte.
Gruß,
bilbo
wow, mein erster Merge

Scheint jetzt aber nach leichter Korrektur nach dem Merge jetzt wieder zu funktionieren.
Zieh Dir noch mal die aktuelle Fassung und schau, ob es so für Dich funktioniert wie geplant, bitte.
Gruß,
bilbo
-
- Beiträge: 7
- Registriert: So 16. Jun 2019, 18:56
- Roller: NIU N1S
- PLZ: 6
- Kontaktdaten:
Re: NIU Cloud (?)
Habe gestern festgestellt, daß die Ladewerte nicht grade in feiner Granularität über die API bereit stehen.
z.B. stand der Charge-Wert beim Laden 30 Minuten auf 72%, dann mit einem Satz auf 82% (andere Stufen ähnlich).
Ich frage alle 2 Min die API ab.
Ist das bei Euch ähnlich? Habt Ihr evtl. schon rausgekriegt woran das liegt (könnte mir in der Tiefgarage vorstellen, daß mancher Update-Versuch wg. schlechtem Mobil-Empfang fehlschlägt?)
Gruß,
bilbo
z.B. stand der Charge-Wert beim Laden 30 Minuten auf 72%, dann mit einem Satz auf 82% (andere Stufen ähnlich).
Ich frage alle 2 Min die API ab.
Ist das bei Euch ähnlich? Habt Ihr evtl. schon rausgekriegt woran das liegt (könnte mir in der Tiefgarage vorstellen, daß mancher Update-Versuch wg. schlechtem Mobil-Empfang fehlschlägt?)
Gruß,
bilbo
Wer ist online?
Mitglieder in diesem Forum: Selectric und 377 Gäste