Autor Thema: Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...  (Gelesen 4242 mal)

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« am: 28 März 2017, 15:53:59 »
Hey Leute,
ich habe eine Tracking Server Software auf meinem NUC laufen, mit der ich sehen kann, wo sich mein Handy, (welches ich im Auto fest verbaut habe) gerade befindet.
Dieses sendet mir alle 5 Sekunden den aktuellen Standort, Batterie, Geschwindigkeit usw. an die Server Software TRACCAR.

Ich habe mir vor ca. 1,5 Jahren das ganze installiert und lese meine letzten Daten, mit einem PHP Script aus der Datenbank von TRACCAR aus und sende mir diese an einen DUMMY in FHEM.

Diesen Umweg möchte ich mir jetzt ersparen, da jetzt ein 2. Device hinzukommt und es einen einfacheren Weg gibt.

Man kann laut der Doku von Traccar: http://traccar.litvak.su/features/rest-api.html die Daten direkt auslesen.

Ich verstehe aber HTTPMOD überhaupt nicht und habe auch schon ein paar Stunden experimentiert, durch folgendes kann ich mich zumindest einmal anmelden und bekomme auch Daten, doch leider nicht die die ich haben möchte:

define Traccar_HTTPMOD_Login HTTPMOD http://192.168.0.45:8082/traccar/rest/login?payload=[fhem,fhem] 60
attr Traccar_HTTPMOD_Login extractAllJSON 1

Damit erhalte ich folgendes:

Internals:
   .getList
   .setList
   BUSY       0
   CFGFN
   DEF        http://192.168.0.45:8082/traccar/rest/login?payload=[fhem,fhem] 60
   Interval   60
   JSONEnabled 1
   LASTSEND   1490708416.61838
   MainURL    http://192.168.0.45:8082/traccar/rest/login?payload=[fhem,fhem]
   ModuleVersion 3.3.5 - 29.9.2016
   NAME       Traccar_HTTPMOD_Login
   NR         813458
   STATE      ???
   TRIGGERTIME 1490708476.61765
   TRIGGERTIME_FMT 2017-03-28 15:41:16
   TYPE       HTTPMOD
   addr       http://192.168.0.45:8082
   buf
   code       200
   conn
   data
   displayurl http://192.168.0.45:8082/traccar/rest/login?payload=[fhem,fhem]
   header
   host       192.168.0.45
   httpheader HTTP/1.1 200 OK
 
Date: Tue, 28 Mar 2017 13:40:16 GMT
 
Set-Cookie: JSESSIONID=1ewp7z4w2cw6gwyqcawgi8xg6;Path=/
 
Expires: Thu, 01 Jan 1970 00:00:00 GMT
 
Content-Type: application/json; charset=UTF-8
 
Content-Length: 295
 
Server: Jetty(9.2.13.v20150730)
   httpversion 1.0
   hu_blocking 0
   hu_filecount 3
   hu_portSfx :8082
   ignoreredirects 0
   loglevel   4
   path       /traccar/rest/login?payload=[fhem,fhem]
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.0.45:8082/traccar/rest/login?payload=[fhem,fhem]
   value      0
   .readingParseList:
   QUEUE:
   Readings:
     2017-03-28 15:40:16   admin           false
     2017-03-28 15:40:16   archive         false
     2017-03-28 15:40:16   id              2
     2017-03-28 15:40:16   login           fhem
     2017-03-28 15:40:16   manager         false
     2017-03-28 15:40:16   password_hash_method MD5
     2017-03-28 15:40:16   readOnly        false
     2017-03-28 15:40:16   userSettings_centerLatitude xx.geändert
     2017-03-28 15:40:16   userSettings_centerLongitude x.geändert
     2017-03-28 15:40:16   userSettings_mapType GOOGLE_HYBRID
     2017-03-28 15:40:16   userSettings_speedUnit kilometersPerHour
     2017-03-28 15:40:16   userSettings_timePrintInterval 1
     2017-03-28 15:40:16   userSettings_zoomLevel 18
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.0.45:8082/traccar/rest/login?payload=[fhem,fhem]
     value      0
   Defptr:
     Readingbase:
       admin      reading
       archive    reading
       id         reading
       login      reading
       manager    reading
       password_hash_method reading
       readOnly   reading
       userSettings_centerLatitude reading
       userSettings_centerLongitude reading
       userSettings_mapType reading
       userSettings_speedUnit reading
       userSettings_timePrintInterval reading
       userSettings_zoomLevel reading
     Readingnum:
       admin
       archive
       id
       login
       manager
       password_hash_method
       readOnly
       userSettings_centerLatitude
       userSettings_centerLongitude
       userSettings_mapType
       userSettings_speedUnit
       userSettings_timePrintInterval
       userSettings_zoomLevel
     Readingoutdated:
     Requestreadings:
       Update:
         admin      reading
         archive    reading
         id         reading
         login      reading
         manager    reading
         password_hash_method reading
         readOnly   reading
         userSettings_centerLatitude reading
         userSettings_centerLongitude reading
         userSettings_mapType reading
         userSettings_speedUnit reading
         userSettings_timePrintInterval reading
         userSettings_zoomLevel reading
   Sslargs:
Attributes:
   extractAllJSON 1


Jetzt müsste ich mit Eingabe von http://192.168.0.45:8082/traccar/rest/getLatestPositions die Angaben erhalten, die ich brauche, aber wie baue ich das jetzt ein???

Wenn ich in meinem Browser erst

http://192.168.0.45:8082/traccar/rest/getLatestPositionseingebe, kommt eine Fehlermeldung, klar, weil ich mich nicht angemeldet habe, gebe ich jetzt zur Anmeldung

http://192.168.0.45:8082/traccar/rest/login?payload=[fhem,fhem]gefolgt von
http://192.168.0.45:8082/traccar/rest/getLatestPositionsein, dann erhalte ich meine Angaben, die ich haben möchte:

[{"id":7462829,"device":{"id":1,"uniqueId":"xxxxxxxxxxxx350","name":"Car","timeout":300,"idleSpeedThreshold":0.0,"iconType":{"OFFLINE":{"width":53,"height":20,"urls":["img/sedan-white.png","img/sedan-green.png"]},"LATEST":{"width":53,"height":20,"urls":["img/sedan-red.png","img/sedan-green.png"]}}},"time":"Tue, 28 Mar 2017 15:48:18 +0200","valid":true,"latitude":xx.geändert,"longitude":x.geändert,"altitude":xxx.geändert,"speed":0.0,"course":xxx.geändert,"other":"{\"battery\":\"100.0\",\"ip\":\"xxx.xxx.x.17\"}","protocol":"osmand","serverTime":"Tue, 28 Mar 2017 15:48:20 +0200"}]
Wie kann ich mich nun mit HTTPMOD erst einloggen und dann die Daten abrufen?

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #2 am: 28 März 2017, 17:00:50 »
Wie im Beispiel
attr PM get01Name MyGetValue <br>
attr PM get01URL http://MyPoolManager/cgi-bin/directory/webgui.fcgi?special=1?sid=$sid <br>
attr PM getHeader1 Content-Type: application/json <br>
attr PM get01Data {"get" :{"30.1234.value"}} <br>

solltes Du dein jsessionid speichern und wieder benutzen: etwas in der Art
get01URL https://d.traccar.litvak.su/traccar/rest/getDevices?jsessionid=$id
Dein $id kriegst Du beim login:
Zitat
Set-Cookie: JSESSIONID=1ewp7z4w2cw6gwyqcawgi8xg6;Path=/
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #3 am: 28 März 2017, 17:31:46 »
Mhhhh, das ist mir gerade einfach zu kompliziert, habe jetzt schon einiges probiert, aber so wirklich weiss ich nicht, was welches attr bewirkt.
Hatte ich mir irgendwie einfacher vorgestellt.

Danke aber für die Links und die Hilfestellung, werde weiter probieren.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #4 am: 28 März 2017, 18:02:31 »
Bin schonmal ein Stück weiter.
folgendes funktioniert:

Zitat
define Traccar_HTTPMOD_Login HTTPMOD http://192.168.0.45:8082/traccar/rest/login?payload=[fhem,fhem] 60
attr Traccar_HTTPMOD_Login enableCookies 1
attr Traccar_HTTPMOD_Login extractAllJSON 1

somit erhalte ich ja meine Daten, die ich nicht wirklich brauche, dann geh ich in die DEF und ändere das oben ROT markierte um:

Zitat
define Traccar_HTTPMOD_Login HTTPMOD http://192.168.0.45:8082/traccar/rest/getLatestPositions 60
attr Traccar_HTTPMOD_Login enableCookies 1
attr Traccar_HTTPMOD_Login extractAllJSON 1

Dann bekomme ich alle Readings, die ich brauche, aber das muss doch auch anders gehen, ich weiss ja jetzt nicht, wie lange das Cookie gilt und ob es ein FHEM Neustart überlebt.

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #5 am: 28 März 2017, 23:51:41 »
Weil dein HTTPMOD ist mit dem ersten DEF angemeldet und besitzt die Sitzung. Er kann dann weitere Daten holen.

Das gleiche passiert wenn Du get01URL, get02URL usw nutzt.

Ansonsten kanns Du in 99_myUtils ein Script mit curl entwickelt. Das kann dann genauso wie in der Einlatung deiner Webseite aussehen. Vielleicht einfacher?
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #6 am: 29 März 2017, 00:06:38 »
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #7 am: 29 März 2017, 09:40:10 »
Danke für die Hilfe, werde an dem Thema nächste Woche weitermachen, heute ist erst einmal mein Hue System dran.


Gesendet von iPhone mit Tapatalk
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline StefanStrobel

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 961
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #8 am: 29 März 2017, 19:37:44 »
Mit den sidXX Attributen kannst Du eine Sequenz von Abfragen definieren, die für das Login benötigt werden. Steht im Wiki auch beschrieben.

Gruß
     Stefan

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #9 am: 29 März 2017, 19:46:55 »
Den Wiki Beitrag hab ich auch schon gelesen, werde da nur noch nicht wirklich schlau draus, aber wie schon geschrieben, habe heute erst einmal mein neues Spielzeug in Betrieb genommen und mache nächste Woche an dieser Baustelle hier weiter.

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline rohlande

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #10 am: 03 Mai 2017, 20:35:38 »
Hallo Experten,

also ich habe auch ein Traccar auf meiner Synology laufen.
Nur leider funktionieren die Logins via API / rest wie in der Doku beschrieben in Kombination mit httpmod nicht.
Gibt es da schon weitere Erkenntnisse?

Gruss Denny
my perl5 (revision 5 version 24 subversion 1)
fhem.pl 15766 2018-01-03
EspEasy / HMLan / Hue / Sonos / Jeelink / NanoCul433 / Homebridge / CUL 868 / Telegram / MQTT - Tasmota / SML Energiezähler / AMAD

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #11 am: 03 Mai 2017, 20:48:05 »
Zitat
Nur leider funktionieren die Logins via API / rest wie in der Doku beschrieben in Kombination mit httpmod nicht.
Naja. Und wie nicht? Hast Du vielleicht ein "list httpmoddevice" für uns? Und eine Log mit verbose 5? Meine Glaskugel haben leider meine Kinder schon lange gebrochen...  ;)

Gruß
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline rohlande

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #12 am: 03 Mai 2017, 21:52:28 »
Sorry.
Ja da hast Du wohl Recht mein Fehler / Entschuldigung!

BUSY

0
CFGFN

CHANGED

DEF
http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem] 60
HTTPCookies

Interval

60
JSONEnabled

1
LASTSEND

1493840343.93542
MainURL

http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem]
ModuleVersion

3.3.9 - 23.3.2017
NAME

Traccar_HTTPMOD_Login
NR

2427
STATE

???
TRIGGERTIME

1493840403.93464
TRIGGERTIME_FMT

2017-05-03 21:40:03
TYPE

HTTPMOD
addr

http://192.168.178.20:55000
buf

code

404
conn

data

displayurl

http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem]
header

host

192.168.178.20
httpheader

HTTP/1.1 404 Not Found Date: Wed, 03 May 2017 19:39:03 GMT Content-Type: text/html; charset=ISO-8859-1 Cache-Control: must-revalidate,no-cache,no-store Content-Length: 89 Server: Jetty(9.2.19.v20160908)
httpversion

1.0
hu_blocking

0
hu_filecount

4
hu_portSfx

:55000
ignoreredirects

0
loglevel

4
path

/traccar/rest/login?payload=[fhem,fhem]
protocol

http
redirects

0
timeout

2
url

http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem]
value

0
my perl5 (revision 5 version 24 subversion 1)
fhem.pl 15766 2018-01-03
EspEasy / HMLan / Hue / Sonos / Jeelink / NanoCul433 / Homebridge / CUL 868 / Telegram / MQTT - Tasmota / SML Energiezähler / AMAD

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #13 am: 03 Mai 2017, 23:30:02 »
Sorry, bei mir leigt das im Moment auf Eis, aber vielleicht kommt ihr ja schon weiter und ich kann daraus lernen...
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #14 am: 04 Mai 2017, 13:04:21 »
@rohlande: sorry, aber alles ist durcheinander. Das Ding ist unlesbar.

Hab einen HTTP/1.1 404 gesehen: Page not found. Du hast irgendwelche URL aufgerufen, die nicht existiert. Leider mit der Log, die Du uns zur Verfüngung gestellt hast, kann ich nicht sagen wie und wo.
Anscheinend fehlt auch die weitere Nutzung vom Ergeniss von der Anmeldung (z.B. $sid). Aber wiederum... bitte einmal das DEF/list, richtig formatiert, und einmal die Log mit verbose 5.

Hilfreich wäre auch eine httpTrace von der Anmeldungsprozess, wenn du es manuell in einem Browser machst. Oder mind. copy/paste von den verschiedenen urls und Fehlermeldungen.

Gruß

FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #15 am: 04 Mai 2017, 16:10:59 »
@Ma_Bo: probier sowas:
define Traccar HTTPMOD http://192.168.0.45:8082/traccar/rest/getLatestPositions 60
attr Traccar enableCookies 1
attr Traccar verbose 5
attr Traccar extractAllJSON 1
attr Traccar reAuthRegex /rest/login
attr Traccar sid1URL http://192.168.0.45:8082/traccar/rest/login?payload=[fhem,fhem]

Erklärung (wenn StefanStrobel in der Nähe, bitte um Korrektur/Ergänzung):
- define auf die Poll URL wo deine interessante Werte sind
- attr enableCookies selbst erklärend
- attr extractAllJSON zumindest am Anfang, bist du weiter in Details von den Readings forschst- erstmal alles holen und extrahieren
- attr reAuthRegex : detektieren, wenn ein Login nötig ist, durch irgendwelche regex. Da gehe ich davon aus, dass dein Ding einfach die Login Seite zurückschickt, wenn man sich anmelden muss
- attr sid1URL: ruf die AuthentifizierungsURL mit payload user,password: normalerweise laut Traccar Doku, sollte es reichen, um sich anzumelden, und sid oder jsessionid zu bekommen

Weitere Polling Verfahren mit
attr Traccar get[0-9]URL im gleichen Device (define).

Probier mal, und poste mal die list und logs.


@rohlande: was ergibt bei dir http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem] in einem Browser?

Gruß
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline rohlande

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #16 am: 04 Mai 2017, 19:37:26 »
@amenomade:

die URL gibt mir im BROWSER ein "404 not Found" wieder.

list httmoddevice:
Internals:
   BUSY       0
   CHANGED
   DEF        http://192.168.178.20:55001/traccar/rest/login?payload=[fhem,fhem] 60
   HTTPCookies
   Interval   60
   JSONEnabled 1
   LASTSEND   1493919188.12202
   MainURL    http://192.168.178.20:55001/traccar/rest/login?payload=[fhem,fhem]
   ModuleVersion 3.3.9 - 23.3.2017
   NAME       Traccar_HTTPMOD_Login
   NR         399
   STATE      ???
   TRIGGERTIME 1493919248.12126
   TRIGGERTIME_FMT 2017-05-04 19:34:08
   TYPE       HTTPMOD
   addr       http://192.168.178.20:55001
   buf
   data
   displayurl http://192.168.178.20:55001/traccar/rest/login?payload=[fhem,fhem]
   header
   host       192.168.178.20
   httpversion 1.0
   ignoreredirects 0
   loglevel   4
   path       /traccar/rest/login?payload=[fhem,fhem]
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.178.20:55001/traccar/rest/login?payload=[fhem,fhem]
   value      0
   Httpcookiehash:
   QUEUE:
   Readings:
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.178.20:55001/traccar/rest/login?payload=[fhem,fhem]
     value      0
   Sslargs:
Attributes:
   enableCookies 1
   extractAllJSON 1
   room       Halle
   verbose    2

Ok. der 404 ist scheinbar weg. Komisch  :o
Nun muss ich wohl die Session hinbekommen.


EDIT: Ups Fehler drin im Port. 404 kommt weiterhin. ich hatte nur einen weiteren Port geteset.

hier der aktuelle Auszug, welcher auch im Browser nicht funnktioniert

Internals:
   BUSY       0
   CHANGED
   DEF        http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem] 60
   HTTPCookies
   Interval   60
   JSONEnabled 1
   LASTSEND   1493920431.74037
   MainURL    http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem]
   ModuleVersion 3.3.9 - 23.3.2017
   NAME       Traccar_HTTPMOD_Login
   NR         399
   STATE      ???
   TRIGGERTIME 1493920491.73923
   TRIGGERTIME_FMT 2017-05-04 19:54:51
   TYPE       HTTPMOD
   addr       http://192.168.178.20:55000
   buf
   code       404
   conn
   data
   displayurl http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem]
   header
   host       192.168.178.20
   httpheader HTTP/1.1 404 Not Found
 
Date: Thu, 04 May 2017 17:53:51 GMT
 
Content-Type: text/html; charset=ISO-8859-1
 
Cache-Control: must-revalidate,no-cache,no-store
 
Content-Length: 89
 
Server: Jetty(9.2.19.v20160908)
   httpversion 1.0
   hu_blocking 0
   hu_filecount 5
   hu_portSfx :55000
   ignoreredirects 0
   loglevel   4
   path       /traccar/rest/login?payload=[fhem,fhem]
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem]
   value      0
   Httpcookiehash:
   QUEUE:
   Readings:
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem]
     value      0
   Sslargs:
Attributes:
   enableCookies 1
   extractAllJSON 1
   reAuthRegex /traccar/rest/
   room       Halle
   verbose    5

« Letzte Änderung: 04 Mai 2017, 19:55:45 von rohlande »
my perl5 (revision 5 version 24 subversion 1)
fhem.pl 15766 2018-01-03
EspEasy / HMLan / Hue / Sonos / Jeelink / NanoCul433 / Homebridge / CUL 868 / Telegram / MQTT - Tasmota / SML Energiezähler / AMAD

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #17 am: 04 Mai 2017, 19:42:48 »
@Ma_Bo: probier sowas:
define Traccar HTTPMOD http://192.168.0.45:8082/traccar/rest/getLatestPositions 60
attr Traccar enableCookies 1
attr Traccar verbose 5
attr Traccar extractAllJSON 1
attr Traccar reAuthRegex /rest/login
attr Traccar sid1URL http://192.168.0.45:8082/traccar/rest/login?payload=[fhem,fhem]

Erklärung (wenn StefanStrobel in der Nähe, bitte um Korrektur/Ergänzung):
- define auf die Poll URL wo deine interessante Werte sind
- attr enableCookies selbst erklärend
- attr extractAllJSON zumindest am Anfang, bist du weiter in Details von den Readings forschst- erstmal alles holen und extrahieren
- attr reAuthRegex : detektieren, wenn ein Login nötig ist, durch irgendwelche regex. Da gehe ich davon aus, dass dein Ding einfach die Login Seite zurückschickt, wenn man sich anmelden muss
- attr sid1URL: ruf die AuthentifizierungsURL mit payload user,password: normalerweise laut Traccar Doku, sollte es reichen, um sich anzumelden, und sid oder jsessionid zu bekommen

Weitere Polling Verfahren mit
attr Traccar get[0-9]URL im gleichen Device (define).

Probier mal, und poste mal die list und logs.


@rohlande: was ergibt bei dir http://192.168.178.20:55000/traccar/rest/login?payload=[fhem,fhem] in einem Browser?

Gruß

Danke für das Beispiel, werde ich sobald wie möglich testen, leider wird das erst nächste Woche werden. Ggfs. schaffe ich das diese oder morgen Nacht noch.
Ich werde dann berichten.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #18 am: 04 Mai 2017, 20:13:13 »
@rohlande:
Zitat
die URL gibt mir im BROWSER ein "404 not Found"
Dann musst du das erstmal lösen, das hat nichts mit FHEM zu tun. Ich würde sagen, dir fehlt noch etwas wie die so genannte "RestFul API" http://traccar.litvak.su/features/rest-api.html. Ohne diese API ist bestimmt eine andere Vorgehensweise zu suchen: andere URLs, usw.
So lang du keine vernünftige Vorgehensweise in einem Browser hast, brauchst Du nicht, es versuchen, in fhem zu implementieren!

@Ma_bo: kein Thema, ich bin nicht in Eile. Du bist derjenige, der an die Sache interessiert ist  ;)

Gruß
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline rohlande

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #19 am: 04 Mai 2017, 20:33:27 »
ja das dachte ich mir schon.
Meine Traccar Instanz läuft auf einer Synology. Diese scheint eine Andere zu sein welche hier verwendet wird.
Obwohl diese von der Traccar Seite kommt.

Gruss Denny

Edit:

also auch die aktuelle Version löst das Problem nicht.
traccar3.10-016-noarch.spk
Schade! :-(

Ich habe den Entwickler angeschrieben mal sehen was kommt.
Schönen Abend noch Zusammen,
« Letzte Änderung: 04 Mai 2017, 22:15:56 von rohlande »
my perl5 (revision 5 version 24 subversion 1)
fhem.pl 15766 2018-01-03
EspEasy / HMLan / Hue / Sonos / Jeelink / NanoCul433 / Homebridge / CUL 868 / Telegram / MQTT - Tasmota / SML Energiezähler / AMAD

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #20 am: 04 Mai 2017, 23:11:09 »
Ich glaube du versuchst den falschen Port zu erreichen, das wird der Port sein, an den die Geräte senden.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #21 am: 05 Mai 2017, 00:25:01 »
@Ma_Bo: Ne, auf Synology ist der Port 55000 laut Doku zu nutzen. Ich glaube, das Problem ist eher, dass er versucht, die RESTful API von litvak zu nutzen, ohnedie  installiert zu haben. Die RESTful API ist laut Litvak "a modified version of traccar-web".

@rohlande:
Was ergeben folgende Aufrufe in einem Browser?http://192.168.178.20:55000
http://192.168.178.20:55000/api/devices
http://192.168.178.20:55000/api/devices?payload=[fhem,fhem]
in einem Browser?

Gruß
« Letzte Änderung: 05 Mai 2017, 00:53:09 von amenomade »
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline rohlande

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #22 am: 07 Mai 2017, 14:44:00 »
@amenomade:

Also 1. habe ich den Entwickler angeschrieben welcher mich an Entwickler  für die Synology verwiesen hat.
Es scheint wohl so zu sein, das laut "1sthandy", welcher der Entwickler  für die Synology ist, nur die Installationsroutine für die Synology angepasst wurde.
Der Rest scheint Java zu sein.

2. habe ich mit Deinen Tipps der URL herum gespielt und konnte schonmal auf die Header und einige weitere Infos aus der MYSQL zugreifen.

[{"id":1,"attributes":{},"name":"Denny","uniqueId":"627038","status":"online","lastUpdate":"2017-05-07T12:30:33.422+0000","positionId":1355,"groupId":0,"geofenceIds":[],"phone":"xxxxxxxxxxx","model":"BlackBerry","contact":"Denny","category":"car"},{"id":2,"attributes":{},"name":"Sabine","uniqueId":"264804","status":"online","lastUpdate":"2017-05-07T12:28:08.854+0000","positionId":1353,"groupId":0,"geofenceIds":[],"phone":"xxxxxxxxxxxx","model":"HTC one Mini II","contact":"Sabine","category":"person"},{"id":3,"attributes":{},"name":"Mama","uniqueId":"519929","status":"online","lastUpdate":"2017-05-07T12:29:26.476+0000","positionId":1354,"groupId":0,"geofenceIds":[],"phone":"xxxxxxxxxxxx","model":"Samsung J5","contact":"Beate","category":"person"}]
das list httpmodlistdevice:

Internals:
   BUSY       0
   CHANGED
   DEF        http://192.168.178.20:55000/api/devices?payload=[fhem,fhem] 60
   HTTPCookies
   Interval   60
   JSONEnabled 1
   LASTSEND   1494160844.04444
   MainURL    http://192.168.178.20:55000/api/devices?payload=[fhem,fhem]
   ModuleVersion 3.3.9 - 23.3.2017
   NAME       Traccar_HTTPMOD_Login
   NR         399
   STATE      ???
   TRIGGERTIME 1494160904.04326
   TRIGGERTIME_FMT 2017-05-07 14:41:44
   TYPE       HTTPMOD
   addr       http://192.168.178.20:55000
   buf
   code       415
   conn
   data
   displayurl http://192.168.178.20:55000/api/devices?payload=[fhem,fhem]
   header
   host       192.168.178.20
   httpheader HTTP/1.1 415 Unsupported Media Type
 
Date: Sun, 07 May 2017 12:40:44 GMT
 
Access-Control-Allow-Headers: origin, content-type, accept, authorization
 
Access-Control-Allow-Credentials: true
 
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
 
Access-Control-Allow-Origin: *
 
Content-Length: 61
 
Server: Jetty(9.2.21.v20170120)
   httpversion 1.0
   hu_blocking 0
   hu_filecount 1195
   hu_portSfx :55000
   ignoreredirects 0
   loglevel   4
   path       /api/devices?payload=[fhem,fhem]
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.178.20:55000/api/devices?payload=[fhem,fhem]
   value      0
   Httpcookiehash:
   QUEUE:
   Readings:
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.178.20:55000/api/devices?payload=[fhem,fhem]
     value      0
   Sslargs:
Attributes:
   enableCookies 1
   extractAllJSON 1
   room       Halle
   verbose    5


So hier noch der log:
2017.05.07 18:26:08 4: Traccar_HTTPMOD_Login: GetUpdate called (update)
2017.05.07 18:26:08 4: Traccar_HTTPMOD_Login: update timer modified: will call GetUpdate in 60.0 seconds at 2017-05-07 18:27:08
2017.05.07 18:26:08 4: Traccar_HTTPMOD_Login: AddToQueue adds update, initial queue len: 0
2017.05.07 18:26:08 5: Traccar_HTTPMOD_Login: AddToQueue adds type update to URL http://192.168.178.20:55000/api/devices?payload=[fhem,fhem], no data, no headers, retry 0
2017.05.07 18:26:08 5: Traccar_HTTPMOD_Login: HandleSendQueue called, qlen = 1
2017.05.07 18:26:08 4: Traccar_HTTPMOD_Login: HandleSendQueue sends request type update to URL http://192.168.178.20:55000/api/devices?payload=[fhem,fhem], No Data, No Header,
timeout 2
2017.05.07 18:26:08 4: HttpUtils url=http://192.168.178.20:55000/api/devices?payload=[fhem,fhem]
2017.05.07 18:26:08 5: HttpUtils request header:
GET /api/devices?payload=[fhem,fhem] HTTP/1.0
Host: 192.168.178.20:55000
User-Agent: fhem
Content-Length: 0
Content-Type: application/x-www-form-urlencoded

2017.05.07 18:26:08 4: http://192.168.178.20:55000/api/devices?payload=[fhem,fhem]: HTTP response code 415
2017.05.07 18:26:08 4: HttpUtils http://192.168.178.20:55000/api/devices?payload=[fhem,fhem]: Got data, length: 61
2017.05.07 18:26:08 5: HttpUtils response header:
HTTP/1.1 415 Unsupported Media Type
Date: Sun, 07 May 2017 16:26:08 GMT
Access-Control-Allow-Headers: origin, content-type, accept, authorization
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: *
Content-Length: 61
Server: Jetty(9.2.21.v20170120)
2017.05.07 18:26:08 4: Traccar_HTTPMOD_Login: Read callback: request type was update retry 0,
Header: HTTP/1.1 415 Unsupported Media Type
Date: Sun, 07 May 2017 16:26:08 GMT
Access-Control-Allow-Headers: origin, content-type, accept, authorization
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: *
Content-Length: 61
Server: Jetty(9.2.21.v20170120),
Body: HTTP 415 Unsupported Media Type - NotSupportedException (...)
2017.05.07 18:26:08 3: Traccar_HTTPMOD_Login: error while parsing JSON data: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "HTTP 415 Unsupported...") at (eval 353189) line 1.

2017.05.07 18:26:08 5: Traccar_HTTPMOD_Login: looking for Cookies in HTTP/1.1 415 Unsupported Media Type
Date: Sun, 07 May 2017 16:26:08 GMT
Access-Control-Allow-Headers: origin, content-type, accept, authorization
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: *
Content-Length: 61
Server: Jetty(9.2.21.v20170120)
2017.05.07 18:26:08 5: Traccar_HTTPMOD_Login: ExtractSid called, context reading, num
2017.05.07 18:26:08 5: Traccar_HTTPMOD_Login: Checking SID with JSON 1ohywg1ok72dl10939tfbvtgam
2017.05.07 18:26:08 4: Traccar_HTTPMOD_Login: CheckAuth decided no authentication required
2017.05.07 18:26:08 3: Traccar_HTTPMOD_Login: no parsed JSON structure available
2017.05.07 18:26:08 5: Traccar_HTTPMOD_Login: Read starts parsing response to update with defined readings:
2017.05.07 18:26:08 3: Traccar_HTTPMOD_Login: Read response to update didn't match any Reading
2017.05.07 18:26:08 5: Traccar_HTTPMOD_Login: HandleSendQueue called, qlen = 0


Gruss Denny
« Letzte Änderung: 07 Mai 2017, 18:53:26 von rohlande »
my perl5 (revision 5 version 24 subversion 1)
fhem.pl 15766 2018-01-03
EspEasy / HMLan / Hue / Sonos / Jeelink / NanoCul433 / Homebridge / CUL 868 / Telegram / MQTT - Tasmota / SML Energiezähler / AMAD

Offline spel

  • Full Member
  • ***
  • Beiträge: 108
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #23 am: 03 Juli 2017, 23:09:59 »
Hallo Denny,

ich nutze auch Traccar und überlege wie ich es auf das TabletUI / mein Tablet bekomme...

Ich nutzte allerdings noch nicht mysql. Wie weit bist du mittlerweile?

Danke und Gruß

Christoph

Offline rohlande

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #24 am: 13 Juli 2017, 19:22:51 »
Hi,

ich muss gestehen, dass ich es im Moment nicht verfolge.
Aber gut das Du fragst.
Denn aktuell bin ich gezwungen die GPS Position in ein FHEM dummy zu schreiben.
Das werde ich jetzt via php Script hoffentlich gelöst bekommen.
Dazu gab es wohl schon Umsetzungen. Muss mich aber erst damit befassen.
Wenn es etwas dazu gibt stelle ich es ein.

VG Denny
my perl5 (revision 5 version 24 subversion 1)
fhem.pl 15766 2018-01-03
EspEasy / HMLan / Hue / Sonos / Jeelink / NanoCul433 / Homebridge / CUL 868 / Telegram / MQTT - Tasmota / SML Energiezähler / AMAD

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #25 am: 27 Juli 2017, 16:22:50 »
@rohlande: Dann musst du das erstmal lösen, das hat nichts mit FHEM zu tun. Ich würde sagen, dir fehlt noch etwas wie die so genannte "RestFul API" http://traccar.litvak.su/features/rest-api.html. Ohne diese API ist bestimmt eine andere Vorgehensweise zu suchen: andere URLs, usw.
So lang du keine vernünftige Vorgehensweise in einem Browser hast, brauchst Du nicht, es versuchen, in fhem zu implementieren!

@Ma_bo: kein Thema, ich bin nicht in Eile. Du bist derjenige, der an die Sache interessiert ist  ;)

Gruß

Habe es mal ausprobiert mit (nicht wundern, der IP Bereich hat sich geändert, der hier verwendete ist aktuell):

define Traccar HTTPMOD http://192.168.178.45:8082/traccar/rest/getLatestPositions 60
attr Traccar enableCookies 1
attr Traccar verbose 5
attr Traccar extractAllJSON 1
attr Traccar reAuthRegex /rest/login
attr Traccar sid1URL http://192.168.178.45:8082/traccar/rest/login?payload=[fhem,fhem]

Dann kommt im Log:

2017.07.27 16:08:26.026 4: Traccar: GetUpdate called (update)
2017.07.27 16:08:26.026 4: Traccar: update timer modified: will call GetUpdate in 60.0 seconds at 2017-07-27 16:09:26
2017.07.27 16:08:26.027 4: Traccar: AddToQueue adds update, initial queue len: 0
2017.07.27 16:08:26.027 5: Traccar: AddToQueue adds type update to URL http://192.168.178.45:8082/traccar/rest/getLatestPositions, no data, no headers, retry 0
2017.07.27 16:08:26.027 5: Traccar: HandleSendQueue called, qlen = 1
2017.07.27 16:08:26.027 5: Traccar: HandleSendQueue is adding Cookies: JSESSIONID=n3u1h96fv8gf1d4082jxtcpy6
2017.07.27 16:08:26.027 4: Traccar: HandleSendQueue sends request type update to URL http://192.168.178.45:8082/traccar/rest/getLatestPositions, No Data,
header: Cookie: JSESSIONID=n3u1h96fv8gf1d4082jxtcpy6,
timeout 2
2017.07.27 16:08:26.027 4: HttpUtils url=http://192.168.178.45:8082/traccar/rest/getLatestPositions
2017.07.27 16:08:26.030 5: HttpUtils request header:
GET /traccar/rest/getLatestPositions HTTP/1.0
Host: 192.168.178.45:8082
User-Agent: fhem
Cookie: JSESSIONID=n3u1h96fv8gf1d4082jxtcpy6
Content-Length: 0
Content-Type: application/x-www-form-urlencoded

2017.07.27 16:08:26.037 4: http://192.168.178.45:8082/traccar/rest/getLatestPositions: HTTP response code 401
2017.07.27 16:08:26.038 4: HttpUtils http://192.168.178.45:8082/traccar/rest/getLatestPositions: Got data, length: 321
2017.07.27 16:08:26.038 5: HttpUtils response header:
HTTP/1.1 401 Unauthorized
Date: Thu, 27 Jul 2017 14:08:26 GMT
Content-Type: text/html; charset=ISO-8859-1
Cache-Control: must-revalidate,no-cache,no-store
Content-Length: 321
Server: Jetty(9.2.13.v20150730)
2017.07.27 16:08:26.038 4: Traccar: Read callback: request type was update retry 0,
Header: HTTP/1.1 401 Unauthorized
Date: Thu, 27 Jul 2017 14:08:26 GMT
Content-Type: text/html; charset=ISO-8859-1
Cache-Control: must-revalidate,no-cache,no-store
Content-Length: 321
Server: Jetty(9.2.13.v20150730),
Body: <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 401 Unauthorized</title>
</head>
<body><h2>HTTP ERROR 401</h2>
<p>Problem accessing /traccar/rest/getLatestPositions. Reason:
<pre>    Unauthorized</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>

</body>
</html>

2017.07.27 16:08:26.038 3: Traccar: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\n<head>\n<met...") at (eval 8382090) line 1.

2017.07.27 16:08:26.038 5: Traccar: looking for Cookies in HTTP/1.1 401 Unauthorized
Date: Thu, 27 Jul 2017 14:08:26 GMT
Content-Type: text/html; charset=ISO-8859-1
Cache-Control: must-revalidate,no-cache,no-store
Content-Length: 321
Server: Jetty(9.2.13.v20150730)
2017.07.27 16:08:26.038 5: Traccar: ExtractSid called, context reading, num
2017.07.27 16:08:26.039 5: Traccar: CheckAuth is checking buffer with ReAuthRegex /rest/login
2017.07.27 16:08:26.039 4: Traccar: CheckAuth decided no authentication required
2017.07.27 16:08:26.039 3: Traccar: no parsed JSON structure available
2017.07.27 16:08:26.039 5: Traccar: UpdateReadingList created list of reading.* nums to parse during getUpdate as
2017.07.27 16:08:26.039 5: Traccar: Read starts parsing response to update with defined readings:
2017.07.27 16:08:26.039 3: Traccar: Read response to update didn't match any Reading
2017.07.27 16:08:26.039 5: Traccar: HandleSendQueue called, qlen = 0
2017.07.27 16:09:26.027 4: Traccar: GetUpdate called (update)
2017.07.27 16:09:26.028 4: Traccar: update timer modified: will call GetUpdate in 60.0 seconds at 2017-07-27 16:10:26
2017.07.27 16:09:26.028 4: Traccar: AddToQueue adds update, initial queue len: 0
2017.07.27 16:09:26.028 5: Traccar: AddToQueue adds type update to URL http://192.168.178.45:8082/traccar/rest/getLatestPositions, no data, no headers, retry 0
2017.07.27 16:09:26.028 5: Traccar: HandleSendQueue called, qlen = 1
2017.07.27 16:09:26.029 5: Traccar: HandleSendQueue is adding Cookies: JSESSIONID=n3u1h96fv8gf1d4082jxtcpy6
2017.07.27 16:09:26.029 4: Traccar: HandleSendQueue sends request type update to URL http://192.168.178.45:8082/traccar/rest/getLatestPositions, No Data,
header: Cookie: JSESSIONID=n3u1h96fv8gf1d4082jxtcpy6,
timeout 2
2017.07.27 16:09:26.029 4: HttpUtils url=http://192.168.178.45:8082/traccar/rest/getLatestPositions
2017.07.27 16:09:26.031 5: HttpUtils request header:
GET /traccar/rest/getLatestPositions HTTP/1.0
Host: 192.168.178.45:8082
User-Agent: fhem
Cookie: JSESSIONID=n3u1h96fv8gf1d4082jxtcpy6
Content-Length: 0
Content-Type: application/x-www-form-urlencoded

2017.07.27 16:09:26.039 4: http://192.168.178.45:8082/traccar/rest/getLatestPositions: HTTP response code 401
2017.07.27 16:09:26.039 4: HttpUtils http://192.168.178.45:8082/traccar/rest/getLatestPositions: Got data, length: 321
2017.07.27 16:09:26.039 5: HttpUtils response header:
HTTP/1.1 401 Unauthorized
Date: Thu, 27 Jul 2017 14:09:26 GMT
Content-Type: text/html; charset=ISO-8859-1
Cache-Control: must-revalidate,no-cache,no-store
Content-Length: 321
Server: Jetty(9.2.13.v20150730)
2017.07.27 16:09:26.039 4: Traccar: Read callback: request type was update retry 0,
Header: HTTP/1.1 401 Unauthorized
Date: Thu, 27 Jul 2017 14:09:26 GMT
Content-Type: text/html; charset=ISO-8859-1
Cache-Control: must-revalidate,no-cache,no-store
Content-Length: 321
Server: Jetty(9.2.13.v20150730),
Body: <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 401 Unauthorized</title>
</head>
<body><h2>HTTP ERROR 401</h2>
<p>Problem accessing /traccar/rest/getLatestPositions. Reason:
<pre>    Unauthorized</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>

</body>
</html>

2017.07.27 16:09:26.039 3: Traccar: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\n<head>\n<met...") at (eval 8382883) line 1.

2017.07.27 16:09:26.040 5: Traccar: looking for Cookies in HTTP/1.1 401 Unauthorized
Date: Thu, 27 Jul 2017 14:09:26 GMT
Content-Type: text/html; charset=ISO-8859-1
Cache-Control: must-revalidate,no-cache,no-store
Content-Length: 321
Server: Jetty(9.2.13.v20150730)
2017.07.27 16:09:26.040 5: Traccar: ExtractSid called, context reading, num
2017.07.27 16:09:26.040 5: Traccar: CheckAuth is checking buffer with ReAuthRegex /rest/login
2017.07.27 16:09:26.040 4: Traccar: CheckAuth decided no authentication required
2017.07.27 16:09:26.040 3: Traccar: no parsed JSON structure available
2017.07.27 16:09:26.040 5: Traccar: Read starts parsing response to update with defined readings:
2017.07.27 16:09:26.040 3: Traccar: Read response to update didn't match any Reading
2017.07.27 16:09:26.040 5: Traccar: HandleSendQueue called, qlen = 0

List vom Traccar:

Internals:
   .getList
   .setList
   BUSY       0
   CFGFN
   CHANGED
   DEF        http://192.168.178.45:8082/traccar/rest/getLatestPositions 60
   HTTPCookies JSESSIONID=n3u1h96fv8gf1d4082jxtcpy6
   Interval   60
   JSONEnabled 1
   LASTSEND   1501164801.29707
   MainURL    http://192.168.178.45:8082/traccar/rest/getLatestPositions
   ModuleVersion 3.3.11 - 8.5.2017
   NAME       Traccar
   NR         411808
   STATE      ???
   TRIGGERTIME 1501164861.29623
   TRIGGERTIME_FMT 2017-07-27 16:14:21
   TYPE       HTTPMOD
   addr       http://192.168.178.45:8082
   buf
   code       401
   conn
   data
   displayurl http://192.168.178.45:8082/traccar/rest/getLatestPositions
   header     Cookie: JSESSIONID=n3u1h96fv8gf1d4082jxtcpy6
   host       192.168.178.45
   httpheader HTTP/1.1 401 Unauthorized
 
Date: Thu, 27 Jul 2017 14:13:21 GMT
 
Content-Type: text/html; charset=ISO-8859-1
 
Cache-Control: must-revalidate,no-cache,no-store
 
Content-Length: 321
 
Server: Jetty(9.2.13.v20150730)
   httpversion 1.0
   hu_blocking 0
   hu_filecount 8
   hu_portSfx :8082
   ignoreredirects 0
   loglevel   4
   path       /traccar/rest/getLatestPositions
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.178.45:8082/traccar/rest/getLatestPositions
   value      0
   .readingParseList:
   Httpcookiehash:
     Jsessionid:
       Options    Path=/
 
       Value      n3u1h96fv8gf1d4082jxtcpy6
   QUEUE:
   Readings:
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.178.45:8082/traccar/rest/getLatestPositions
     value      0
   Sslargs:
Attributes:
   enableCookies 1
   extractAllJSON 1
   reAuthRegex /rest/login
   sid1URL    http://192.168.178.45:8082/traccar/rest/login?payload=[fhem,fhem]
   userattr   sid1URL
   verbose    5


Wenn ich das im Browser abrufe:

http://192.168.178.45:8082/traccar/rest/login?payload=[fhem,fhem]
erhalte ich (teilweise Werte mit xxxx ersetzt):

{"id":2,"login":"fhem","password_hash_method":"MD5","admin":true,"manager":false,"userSettings":{"speedUnit":"kilometersPerHour","timePrintInterval":1,"zoomLevel":18,"centerLongitude":xxxx,"centerLatitude":xxxx,"mapType":"GOOGLE_HYBRID"},"readOnly":false,"archive":true}
wenn ich das dann im Browser abrufe:

http://192.168.178.45:8082/traccar/rest/getLatestPositions
erhalte ich alle Werte korrekt im Browser (teilweise Werte mit xxxx ersetzt):

[{"id":8336795,"device":{"id":1,"uniqueId":"xxxx","name":"Deaktiviert","timeout":300,"idleSpeedThreshold":0.0,"iconType":{"OFFLINE":{"width":53,"height":20,"urls":["img/sedan-white.png","img/sedan-green.png"]},"LATEST":{"width":53,"height":20,"urls":["img/sedan-red.png","img/sedan-green.png"]}}},"time":"Thu, 18 May 2017 12:54:18 +0200","valid":true,"latitude":xxxx,"longitude":xxxx,"altitude":xxxx,"speed":0.0,"course":148.83218383789062,"other":"{\"battery\":\"100.0\",\"ip\":\"xxxx\"}","protocol":"osmand","serverTime":"Fri, 19 May 2017 17:25:58 +0200"},{"id":9387104,"device":{"id":2,"uniqueId":"xxxx","name":"C220","timeout":300,"idleSpeedThreshold":0.0,"iconType":{"OFFLINE":{"width":53,"height":20,"urls":["img/sedan-white.png","img/sedan-green.png"]},"LATEST":{"width":53,"height":20,"urls":["img/sedan-red.png","img/sedan-green.png"]}}},"time":"Thu, 27 Jul 2017 16:18:59 +0200","valid":false,"latitude":xxxx,"longitude":xxxx,"altitude":64.0,"speed":0.0,"course":262.0,"other":"{\"sat\":2,\"event\":\"2\",\"input\":\"4210\",\"ip\":\"xxxx\"}","protocol":"wondex","serverTime":"Thu, 27 Jul 2017 16:19:01 +0200"},{"id":8842182,"device":{"id":3,"uniqueId":"xxxx","name":"MaBo iPhone","timeout":300,"idleSpeedThreshold":0.0,"iconType":{"OFFLINE":{"width":12,"height":20,"urls":["img/phone-white.png","img/phone-green.png"]},"LATEST":{"width":12,"height":20,"urls":["img/phone-red.png","img/phone-green.png"]}}},"time":"Wed, 21 Jun 2017 16:00:58 +0200","valid":true,"latitude":xxxx,"longitude":xxxx,"altitude":54.6765,"speed":0.0,"course":0.0,"other":"{\"battery\":\"78\",\"ip\":\"xxxx\"}","protocol":"osmand","serverTime":"Wed, 21 Jun 2017 16:01:54 +0200"}]
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #26 am: 28 Juli 2017, 01:32:32 »
Also...

Der Versuch, getLatestPositions aufzurufen leitet nicht nach die Authentifizierungsseite weiter, sondern ergibt HTTP 401 "Unauthorized".
Dann kommt die Regex im Einsatz
attr Traccar reAuthRegex /rest/login
Zitat
CheckAuth is checking buffer with ReAuthRegex /rest/login
Da in der HTTP401 Unauthorized Seite keine "/rest/login" zu finden ist, sagt HTTMOD
Zitat
CheckAuth decided no authentication required
Und Schluss

Ich würde einfach reAuthRegex ändern, damit es auf z.B. "Unauthorized" geprüft wird
attr Traccar reAuthRegex UnauthorizedDamit sollte er sehen, dass er nicht authentifiziert ist, und deswegen sid1URL  aufrufen.
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #27 am: 28 Juli 2017, 05:05:33 »
Das Probier ich heute Nachmittag aus.

Danke für deine Hilfe.


Tapatalk mit Handy geschrieben, daher kurz gehalten.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #28 am: 28 Juli 2017, 05:17:19 »
MEGA, es funktioniert !

Jetzt muss ich nur noch schauen, dass ich nur die Readings bekomme, die ich brauche.

Grüße Marcel


#####EDIT

Ist doch ganz gut, dass ich ALLE Readings direkt in einem device habe...  ;D
« Letzte Änderung: 28 Juli 2017, 17:45:41 von Ma_Bo »
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline rohlande

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #29 am: 09 August 2017, 22:48:09 »
@Ma_Bo:  welche Version hast Du installiert? Bin in der Zwischenzeit auf einen Debian Server umgezogen. Nur leider scheint bei der aktuellen Version auch kein RestFul Api zu laufen oder ich mache einen Fehler?

VG Denny
my perl5 (revision 5 version 24 subversion 1)
fhem.pl 15766 2018-01-03
EspEasy / HMLan / Hue / Sonos / Jeelink / NanoCul433 / Homebridge / CUL 868 / Telegram / MQTT - Tasmota / SML Energiezähler / AMAD

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2481
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #30 am: 10 August 2017, 01:32:51 »
Hab dir schon den Link gegeben oder? Aber ok, lassen wir erstmal Ma_bo antworten.
« Letzte Änderung: 10 August 2017, 01:45:01 von amenomade »
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1092
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #31 am: 10 August 2017, 05:08:28 »
V3.1 mit der litvak webui


Tapatalk iPhone, daher kurz gehalten.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline Maui

  • Full Member
  • ***
  • Beiträge: 131
Antw:Hilfe zu HTTPMOD, verstehe leider nur Bahnhof...
« Antwort #32 am: 11 Juli 2018, 10:14:59 »
Hab es gestern mal mit litvak 3.9 zum Laufen gebracht. Funktioniert echt gut. Danke für eure Ansätze. Hab mir noch ein kleines Helfer-Modul gebaut, um zu sehen, wann die letzte Position kam (wie lange her) und mir ggf. eine Telegram-Message zu schicken.
Falls jmd. noch Hilfe braucht...

 

decade-submarginal