IDDataLogger und iOS Widget über die weconnect api

Re: IDDataLogger und iOS Widget über die weconnect api

DomHaw
  • Beiträge: 11
  • Registriert: Fr 23. Apr 2021, 09:14
read
Hallo nochmal,

nachdem ich es nun mit dem ID.4 zum Laufen gebracht habe, habe ich noch eine "optische" Frage.

ID.3, Raspi 3, IDDataLogger, lokale IP xxx.74
ID.4, Raspi 2, IDDataLogger, lokale IP xxx.68

Auf dem iPhone habe ich zwei separate Skripte hinterlegt für und separat abgespeichert.
Wenn ich aber forceImageRefresh in einem Skript auf True setze, so ändert er für beide Widget das Fahrzeug-Icon.
Egal, in welchem Skript ich es ändere. Das ist natürlich doof. Aber wieso vermischt er es sowieso? Die hinterlegten Daten sind ja auch unabhängig voneinander.

Beste Grüße
Dominic
Anzeige

Re: IDDataLogger und iOS Widget über die weconnect api

robske_110
  • Beiträge: 93
  • Registriert: Do 25. Feb 2021, 10:59
  • Hat sich bedankt: 4 Mal
  • Danke erhalten: 37 Mal
read
Bugs sind toll.
Das Bild wird in einer Datei zwischengespeichert um Batterie und evtl. mobile Daten zu schonen beim updaten des Widgets. Die Datei hat aber den gleichen Namen für jede Instanz des Widgets :)
Werde ich in der nächsten Version beheben, bis dahin kannst du forceRefresh bei beiden auf true setzen.

Re: IDDataLogger und iOS Widget über die weconnect api

robske_110
  • Beiträge: 93
  • Registriert: Do 25. Feb 2021, 10:59
  • Hat sich bedankt: 4 Mal
  • Danke erhalten: 37 Mal
read
@DomHaw Ich habe den Fehler in https://github.com/robske110/IDDataLogg ... c3c353d7cd behoben. Würde mich über eine Rückmeldung freuen, ob es funktioniert hat.

Re: IDDataLogger und iOS Widget über die weconnect api

DomHaw
  • Beiträge: 11
  • Registriert: Fr 23. Apr 2021, 09:14
read
Danke dir!

- forceImageRefresh auf true/true stellen hat funktioniert
- dein neuer Code funktioniert auch

Außerdem habe ich noch folgendes ergänzt:

let widget = await createWidget()
widget.url =
"http://192.168.178.74/vwid"

Das verlinkt direkt auf die Web-Oberfläche (lokal bei mir noch), wenn man auf das Widget klickt.

Beste Grüße

Re: IDDataLogger und iOS Widget über die weconnect api

pokkaf
  • Beiträge: 6
  • Registriert: Do 21. Jan 2021, 21:39
  • Hat sich bedankt: 1 Mal
read
Erst einmal vielen Dank für das coole Projekt! :)
Ich habe leider ein Problem. Hab es per automatischem Skript installiert auf einem RaspberryPi OS mit Desktop. Scheint soweit gut zu laufen (es bekommt nach ./star.sh die Daten vom Auto, s. Screenshot). User und API-Key sind ebenfalls angelegt.
Wenn ich jedoch über die Weboberfläche im lokalen Netz versuche, mich einzuloggen, dann passiert nichts. Ich komme auf den Login-Screen (s. Screenshot), jedoch passiert rein gar nichts, wenn ich auf "Login" klicke bzw. mit Enter bestätige.

Kann es einen Zusammenhang haben damit, dass auf dem Raspberry auch Node-Red und ein PiHole laufen? (Benutze den DNS-Server vom PiHole nicht beim Zugriff auf die Weboberfläche)
Dateianhänge
2.png
1.png

Re: IDDataLogger und iOS Widget über die weconnect api

robske_110
  • Beiträge: 93
  • Registriert: Do 25. Feb 2021, 10:59
  • Hat sich bedankt: 4 Mal
  • Danke erhalten: 37 Mal
read
Das wird eine interessante Fehlersuche, da das Login-System zwecks Sicherheit wenig (Debug-)Informationen rausgibt.
Normalerweise sollte eigentlich "Authentication failure!" angezeigt werden, falls die Logindaten falsch sind oder andere Fehler aufgetreten sind. Da das nicht der Fall ist, kriegt die Website wohl nichtmal die Information.
Kennst du dich ein bisschen mit Browsern und den Entwicklerwerkzeugen aus? (Kurzes googeln sollte eigentlich auch reichen) Falls du es hinbekommst, kannst du nachschauen was logon.php nach dem klicken des Login Buttons zurückgibt (inkl. Statuscode)?
Zusätzlich ist auch der apache error (und access) log interessant, der liegt in /var/log/apache2/error.log.

Code: Alles auswählen

 sudo cat /var/log/apache2/error.log 
Da ist auch alles wo "logon.php" dabei steht interessant.

Re: IDDataLogger und iOS Widget über die weconnect api

pokkaf
  • Beiträge: 6
  • Registriert: Do 21. Jan 2021, 21:39
  • Hat sich bedankt: 1 Mal
read
Der Log aus dem Chrome-Entwicklertools im Anhang.
Die Apache2-Logdateien in /var/log/apache2 sind leider (auch als su geöffnet) komplett leer, Dateigrösse 0 Bytes. :-?
Dateianhänge
Datei 192.168.1.231-1621076985790.log
(771 Bytes) 7-mal heruntergeladen

Re: IDDataLogger und iOS Widget über die weconnect api

robske_110
  • Beiträge: 93
  • Registriert: Do 25. Feb 2021, 10:59
  • Hat sich bedankt: 4 Mal
  • Danke erhalten: 37 Mal
read
Das ist komisch. Der log zeigt klar das ein ISE aufgetreten ist bei logon.php.

Code: Alles auswählen

logon.php 500 (Internal Server Error)
Informationen darüber sollten eigentlich in den Logdateien liegen. Sind alle Logdateien da drin leer? Kannst du mal schauen ob die sich vielleicht unter /var/log/apache (ohne 2) oder /var/log/httpd verstecken? Ansonsten vielleicht die logs des apache services direkt anschauen.

Re: IDDataLogger und iOS Widget über die weconnect api

pokkaf
  • Beiträge: 6
  • Registriert: Do 21. Jan 2021, 21:39
  • Hat sich bedankt: 1 Mal
read
Die Dateien in /var/log/apache2 waren alle leer, ja.
/var/log/apache habe ich gar nicht.
Dafür bin ich in /var/log/lighttpd fündig geworden. Anbei die beiden betreffenden access- und error-Logs. (Beim Access-Log habe ich den Key mit XX ersetzt; hatte einmal per Eingabe im Browser mit dem Key probiert, das ganze aufzurufen, kam aber nichts)
Dateianhänge
Datei error.log
(30.26 KiB) 4-mal heruntergeladen
Datei access.log
(16.39 KiB) 5-mal heruntergeladen

Re: IDDataLogger und iOS Widget über die weconnect api

robske_110
  • Beiträge: 93
  • Registriert: Do 25. Feb 2021, 10:59
  • Hat sich bedankt: 4 Mal
  • Danke erhalten: 37 Mal
read
Ah, du hast schon einen http server auf dem pi durch pihole. Dadurch hat das install Skript dann apache installiert installiert und es wird der lighthttpd server mitbenutzt
An sich würde das schon funktionieren, das Problem ist nur das der Server wohl eine ältere php Version benutzt (so wie es aussieht wohl nichtmal 7.4) und IDDataLogger 8.0 braucht.
Du könntest jetzt versuchen parallel dazu apache oder einen anderen http server mit PHP8 zu installieren, das wird aber eine sehr komplizierte Angelegenheit.
Was ich empfehlen würde ist entweder auf dem gleichen PI docker zu installieren und dann das IDDataLogger docker setup zu benutzen oder falls du einen anderen PI hast auf dem den IDDataLogger zu installieren.

Hier mal als Referenz dann die Kommandos fürs entfernen der IDDataLogger Instanz, dass die da nicht rumliegen bleibt:

Code: Alles auswählen

sudo rm -rf ~/IDDataLogger
sudo rm -rf /var/www/html/vwid
sudo rm -f /var/www/.env
sudo apt -y remove php8.0 php8.0-pgsql php8.0-curl php8.0-gd php8.0-dom
sudo systemctl disable iddatalogger.service
sudo rm /etc/systemd/system/iddatalogger.service
entfernt jetzt nicht die Datenbank selbst, das könnte man auch noch machen. (sudo apt -y remove postgresql und dann noch das data directory löschen)
Anzeige
AntwortenAntworten

Zurück zu „ID.3 - Allgemeine Themen“

Gehe zu Profile
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag