Torque Pro / ODB2 Auto logging

In IPS kommen einfach keine Daten an. :confused: :banghead:

Ich kann die Daten auf einer Synology in meinem LAN mit dem Open Torque Viewer empfangen und anzeigen. Aber wenn ich den Port in der Fritzbox auf den IPS-Server umleite (und in der App die Adresse anpasse), passiert in IPS schlicht gar nix.

Gibt es irgendwelche Testmöglichkeiten? Zum Beispiel ein Aufruf über den Browser? Beim Torque Viewer kommt eine simple Website, die nur ein „ok“ enthält, wenn der Aufruf der Upload-Seite klappt. So konnte ich feststellen, dass Port 88 funktioniert, Port 87 aber nicht. - Beim Aufruf von „ips-server-ip/hook/torque“ passiert nix.

Was könnte ich noch ausprobieren?

Dank und Grüße
galleto

Die Torque App erwartet, dass ein OK ausgegeben wird wenn die URL mit den Parametern gefüttert wird. Sollte der Hook ohne Parameter aufgerufen werden antwortet er mit „NOK“. Passiert das bei dir nicht ist generell irgendwas faul in IPS bzw. mit den Hooks.

2016-06-03 09_14_19-.de_hook_torque.png

Edit: Dein IPS horcht aber schon auf Port 80 oder? Sicher das nicht noch der Standardport 3777 für HTTP verwendet wird? Ansonsten mal in der FB von 80 auf 3777 umleiten.

:D:D:D

Port 3777 funktioniert! Vielen Dank!

Übrigens klappt in der App auch der Port 88 (für andere „Könner“ wie mich: http://eigene-url.de:88/hook/torque).

Nochmals danke, auch und vor allem für das Modul! große Klasse!

Grüße
galleto

hallo!

Ich glaube in der module.php unter \modules\IPS_TorquePro\TorqueProHook ist ein Fehler, der verhindert dass mehrere Instanzen angelegt werden können, bzw. kommen keine Daten mehr, wenn sich die ID geändert hat:

			$torqueIDInstance = false;
			foreach($torqueProAppInstances as [b]$torqueIDInstance[/b]){
				if($data['id'] === IPS_GetObject([b]$torqueIDInstance[/b])['ObjectIdent'])
					$torqueIDInstance = true;
			}
			if($torqueIDInstance === false)

$torqueIDInstance wir hier erst auf false gesetzt und danach in der foreach-Schleife nochmals verwendet.
Damit ist der ObjectIdent bei mir immer leer.

Wenn ich den Code z.B. auf
$torqueIDInstance = false;
foreach($torqueProAppInstances as $torqueAppInstance){
if($data[‚id‘] === IPS_GetObject($torqueAppInstance)[‚ObjectIdent‘])
$torqueIDInstance = true;
}
if($torqueIDInstance === false)

ändere funktioniert es einwandfrei.
Einfache Möglichkeit es zu testen ist der direkte aufruf der Hook-URL mit verschiedenen ID-Parametern, z:B.:
http://xyz/hook/torque?id=1111&k10=5&k11=23
http://xyz/hook/torque?id=2222&k10=5&k11=23

Ich hatte mich gewundert, dass nach einem Update meines Android-Radios keine Werte mehr im IP-Symcon ankamen, erst nachdem ich die von der letzten Installation existierende Instanz gelöscht hatte kamen wieder Werte an.

Gruß
Tobias

In der module.php muss in Zeile 122 der Aufruf von

IPS_SendDataToChildren($this->InstanceID, $JSONString);

zu

$this->SendDataToChildren($JSONString);

geändert werden.

Dazu musste ich die bestehende Instanz löschen und automatisch neu erstellen lassen.

Vielen Dank an Nall-chan für die Hilfe!

Gruß
Tobias

Normalerweise brauchst du keine Instanz löschen. Der Code ist ja nicht in der Instanz.
Michael

Das Skript legt ja bei Dateneingang autmoatisch eine „Dummy-Instanz“ für jedes Fahrzeug an.
Diese musste ich löschen, da das Skript die darunterliegenden Variablen nicht mehr aktualisiert hatte.
Nach dem Löschen wurden alle übertragenen Variablen wieder in einer neuen Instanz angelegt.

Gruß
Tobias

Moin,

ich muss da noch mal nachfragen, gibts die(ses) Modul(e) auch mit 3G Daten Übermittlung? Ich würde da gerne eine kleine Datenkarte reinschieben und das nicht immer über mein Handy laufen lassen wollen.

Ich bräuchte da mal eine „Hardware“ Empfehlung für den ODB2 Stecker… :slight_smile:

Danke,

Gruß
dzvo

Hallo und vielen Dank für die Module.

Bei mir läuft es irgendwie nicht - da wird nichts automatisch erstellt.
„Für jede neue TorqueID wird automatisch eine „TorqueProApp“ Instanz erstellt.“

Ich habe die cool Instanz angelegt und in der App den Server abgegeben. Der Test in der App ist erfolgreich.

Eine TorqueProApp wird in symcon nicht angelegt. Das kann ich manuell machen aber auch dann geschieht nichts.

Hat jemand eine Idee, wo ich suchen muss?

Danke und Gruß

Gesendet mit Tapatalk

Die NOK Antwort bekomme ich, wenn ich den Test ohne Parameter mache.
Angelegt wird aber nichts in symcon.

Gesendet mit Tapatalk

Hi,

probier mal …/hook/torque?id=Test
Damit sollte eine Instanz „Test“ angelegt werden.
Außerdem kontrolliere mal Deine Meldungen im IPS, bei mir kommt auch bei falschen Werten ein Eintrag:
31.01.2018 17:22:41*| TorqueProHook*| Invalid Request: Id not existant

Gruß
Tobias

Hallo,

mit ID=Test wird eine Instanz mit dem Script TorqueKeys angelegt. Rückmeldung im Browser ist OK!
Fehlermeldungen werden dabei nicht geworfen.

Dann könnte es doch funktionieren, oder?
Muss ich morgen nochmal im Fahrzeug mit der App probieren.

Gesendet mit Tapatalk

Sollte funktionieren…
Lösche vorher vorsichtshalber die gerade erstellte Instanz raus, hatte bei mir sonst Probleme gemacht…
Wenn ich mich recht erinner, hatte Torque Probleme mit https, also vielleicht mit http versuchen. Und nicht vergessen die PIDs zum aufzeichnen in Torque auszuwählen.

Gruß und viel Erfolg
Tobias

Danke. Das Ergebnis poste ich dann für die Nachwelt.

Gesendet mit Tapatalk

Nochmals vielen Dank.
Mit den Tips hat es funktioniert. Die Daten kommen an.

Gesendet mit Tapatalk

Wenn ich die angelegte Instanz zwecks Übersicht in einen anderen Ordner schiebe klappt’s nicht mehr.
Muss ich da etwas anpassen?

Gesendet mit Tapatalk

Problem lag an der Verbindung zum OBD Dongle.
Funzt einwandfrei

Gesendet mit Tapatalk

Hallo Leute,

vielen Dank für das Modul.

Nach der Installation kann ich zwar anhand des Zeitstempels sehen das die I/O Instanz aktualisiert wird.
Im Debug-Fenster kann ich aber keine ankommenden Daten sehen.
Bei dem direkten Aufruf über den Webbrowser kommt folgende Fehlermeldung:

Fatal error: Uncaught TypeError: Argument 1 passed to Patami\IPS\System\ErrorHandler::ExceptionHandler() must be an instance of Exception, instance of Error given in /var/lib/symcon/modules/ipspatami/libs/Patami/IPS/System/ErrorHandler.php:112 Stack trace: #0 [internal function]: Patami\IPS\System\ErrorHandler::ExceptionHandler(Object(Error)) #1 {main} thrown in /var/lib/symcon/modules/ipspatami/libs/Patami/IPS/System/ErrorHandler.php on line 112
Abort Processing during Fatal-Error: Uncaught TypeError: Argument 1 passed to Patami\IPS\System\ErrorHandler::ExceptionHandler() must be an instance of Exception, instance of Error given in /var/lib/symcon/modules/ipspatami/libs/Patami/IPS/System/ErrorHandler.php:112 Stack trace: #0 [internal function]: Patami\IPS\System\ErrorHandler::ExceptionHandler(Object(Error)) #1 {main} thrown Error in Script /var/lib/symcon/modules/ipspatami/libs/Patami/IPS/System/ErrorHandler.php on Line 112

Hat jemand eine Idee?

Gruß

Axel

Such den Fehler im ipspatami Framework. Weil das Modul taucht in der Fehlermeldung gar nicht auf.
Michael

Danke für den Hinweis!

Gruß

Axel