[vz-dev] Temperatur / 1wire / httplog - GET / Post ?

Klaus Reichenecker kr at kr123.de
Thu Nov 10 20:12:41 CET 2011


Hallo Justin,

danke für deine Hilfe, das mit dem ? hatte ich total übersehen
leider haut es aber immer noch nicht hin

Ich habe es mal versucht so wie von Dir beschrieben, dann zusätzlich auch 
mal in Zeile 50 das GET durch POST ersetzt

Gaszähler funktioniert: (Auszug Wireshark)
Message: POST /middleware.php/data/61eb6ba0-0af5-11e1-9574-d70c330d08ce.json 
HTTP/1.1\r\n

Das hier aber leider nicht:
Message: POST 
/middleware.php/data/95d98700-07da-11e1-bb04-0fe73f97b4c6.json?value=22.8\n


Ports usw. passt alles / sieht zumindest mal gleich aus

Hat jemand das Ganze so am laufen ?

Viele Grüße

Klaus



----- Original Message ----- 
From: "Justin Otherguy" <justin at justinotherguy.org>
To: "volkszaehler.org" <volkszaehler-dev at lists.volkszaehler.org>
Sent: Thursday, November 10, 2011 8:20 AM
Subject: Re: [vz-dev] Temperatur / 1wire / httplog - GET / Post ?


Moin Klaus,

Am 10.11.2011 um 06:58 schrieb Klaus Reichenecker:

> Message: GET 
> /middleware.php/data/?95d98700-07da-11e1-bb04-0fe73f97b4c6.json?value=22.4\n
> - funktioniert nicht für die Temperatur, aber:
>
> curl -d "" 
> http://demo.volkszaehler.org/middleware.php/data/95d98700-07da-11e1-bb04-0fe73f97b4c6.json?value=24,9
> funktioniert
der Unterschied ist das "?" zwischen "data/" und der UUID; es gefällt der 
Middleware nicht, wenn der Pfad nicht mit einem Format (z. B. .json) endet:

  curl -d "" 
http://demo.volkszaehler.org/middleware.php/data/95d98700-07da-11e1-bb04-0fe73f97b4c6.json?value=24,9

vs.

  curl -d "" 
http://demo.volkszaehler.org/middleware.php/data/?95d98700-07da-11e1-bb04-0fe73f97b4c6.json?value=24,9

Hier die Antwort auf den 2. Request:

{"version":"0.2","exception":{"message":"Missing 
format","type":"Exception","code":0}}

-> missing format -> der Pfad endet nicht auf .json (oder eines der anderen 
zulässigen Formate; das kommt erst in den URL-Parametern, s. [0])

Wenn Du das "?" aus Zeile 50 in protocols/httplog/httplog.c rausoperierst, 
sollte es tun:

diff httplog.c*
50c50
<     "GET " CONF_HTTPLOG_PATH "?";
---
>     "GET " CONF_HTTPLOG_PATH ;

Gib Bescheid.

> Könnte es evtl. damit zusammen hängen das ich Ethersex nicht von Eurer 
> Seite, sondern direkt installiert habe ?
nein, das hat damit nix zu tun.

Ein Hinweis zu den UUIDs: die solltest Du nicht veröffentlichen (ML...), da 
so jeder Zugriff auf die Daten hat. Für Aussentemperaturwerte und für 
Stromprofile von PV-Anlagen ist das unkritisch, für die anderen eher nicht. 
Wenn das also bei Dir alles läuft, solltest Du neue UUIDs generieren und die 
dann für die finale Installation verwenden.


Gruss, J.

[0] http://wiki.volkszaehler.org/development/api/reference

_______________________________________________
volkszaehler-dev mailing list
volkszaehler-dev at lists.volkszaehler.org
https://volkszaehler.org/mailman/listinfo/volkszaehler-dev 



More information about the volkszaehler-dev mailing list