[vz-users] Archos Weatherstation - Daten im json-Format anmiddleware weiterleiten?
Andreas Goetz
cpuidle at gmail.com
Thu Feb 11 09:46:18 CET 2016
Moin,
2016-02-10 23:36 GMT+01:00 Klaus Stetter <vz at bkwn.de>:
> Danke euch beiden!
>
> Ich hab's jetzt auch mal ganz Laienhaft gemacht. Auf dem raspi gab's schon
> ein json_pp, das zerpflückt das json schön zeilenweise. Der Rest war grep,
> cut und zu guter letzt vzclient.
>
Lösung zählt, aber irgendwie schade. Mit ein wenig Suche (im github von vz)
hätte sich jsonclient finden lassen- oder einfach in der Ordner schauen wo
auch vzclient liegt. Es gibt sogar eine Hilfe:
usage: jsonclient [-h] [--url URL] [-f FILE] [-e EVAL] [-j JSON]
A python client for json data sources
optional arguments:
-h, --help show this help message and exit
--url URL url of the data source
-f FILE, --file FILE filename of the data source
-e EVAL, --eval EVAL get comma-separated attribute from json response
(use
@prop=value to filter arrays) (Example:
entity, at uuid=4,0,type will extract the type from a
json string: {entity:[{uuid:4,type="power"...}]})
-j JSON, --json JSON send json request
Dann ists ganz einfach:
jsonclient --url <atmos> -e response,periods,0,ob,sensors, at type=indoor,tempC
jsonclient --url <atmos> -e
response,periods,0,ob,sensors, at type=outdoor-1,tempC
> Andreas, mit jsonclient meinst Du genau was? google findet da alles
> Mögliche und ich lerne ja gerne dazu....
>
s.o.
>
> Gruß,
> Klaus
>
Viele Grüße,
Andreas
PS.: die Struktur wird deutlich wenn man das json mal formatiert:
{
"success":true,
"error":null,
"response":{
"id":"00037F000EE5",
"loc":null,
"place":null,
"periods":[
{"ob":{
"timestamp":1455135114,
"dateTimeISO":"2016-02-10T20:11:54+00:00",
"onDemand":false,
"sensors":[
{
"type":"indoor",
"port":0,
"tempC":21.2,
"tempF":70,
"humidity":"43",
"pressureMB":970,
"pressureIN":28.64,
"co2":610,
"noise":33,
"heatindexF":77,
"heatindexC":25,
"windchillF":70,
"windchillC":21,
"feelslikeF":77,
"feelslikeC":25},
{
"type":"outdoor-1",
"port":3,
"tempC":3.9,
"tempF":39,
"humidity":84,
"signal":1,
"lowBatt":false,
"heatindexF":39,
"heatindexC":4,
"windchillF":39,
"windchillC":4,
"feelslikeF":39,
"feelslikeC":4}
],
"isDay":false,
"sunrise":1455084641,
"sunriseISO":"2016-02-10T06:10:41+00:00",
"sunset":1455128263,
"sunsetISO":"2016-02-10T18:17:43+00:00"}
}
],
"profile":{
"tz":"UTC","elevFT":null,"elevM":null
}
}
}
> ps: Ich habe kürzlich hier einen Vorschlag gelesen, ob man denn nicht
> einheitenlose Zähler einführen könne und optional die Einheit selbst
> definieren. Das unterstütze ich sehr! CO2 wird in ppm gemessen, aber die
> Einheit fehlt halt.
>
>
>
> Am 10.02.2016 um 22:13 schrieb Andreas Götz:
>
>>
>> Am 10.02.2016 um 22:03 schrieb Klaus Reichenecker <kr at kr123.de>:
>>>
>>> Ich als Laie würde es mal wieder in einem Bash-Script
>>> auseinanderschnipsel :-)
>>>
>>> Dann wie Andreas sagt mit vzclient
>>>
>> Nein, sagt er nicht ;)
>>
>> Jsonclient zum zerlegen, vzclient zum speichern.
>>
>> Viele Grüße, Andreas
>>
>>
>>>
>>> ----- Original Message ----- From: "Andreas Götz" <cpuidle at gmail.com>
>>> To: "volkszaehler.org - users" <volkszaehler-users at demo.volkszaehler.org
>>> >
>>> Sent: Wednesday, February 10, 2016 9:41 PM
>>> Subject: Re: [vz-users] Archos Weatherstation - Daten im json-Format
>>> anmiddleware weiterleiten?
>>>
>>>
>>> Jsonclient und vzclient!
>>>
>>> Am 10.02.2016 um 21:28 schrieb Klaus Stetter <vz at bkwn.de>:
>>>>
>>>> Hallo,
>>>>
>>>> heute habe ich mir mal angeschaut, ob und wie ich an die Daten meiner
>>>> Archos Weather Station herankomme.
>>>> Das ist eine Wetterstation mit Cloud-Anbindung, ähnlich der Netatmo.
>>>> Leider kommt man offiziell nur über die passende iOS oder Android App an
>>>> seine eigene Daten.
>>>> Ein Mitschnitt mit der Fritzbox offenbarte dann die "Geheimnisse" des
>>>> Protokolls, um an die Daten zu kommen. Es sind gerade mal 2 curl-Aufrufe
>>>> nötig, dann liefert die Wetterstation den letzten Datensatz in folgendem
>>>> Format:
>>>>
>>>>
>>>> {"success":true,"error":null,"response":{"id":"00037F000EE5","loc":null,"place":null,"periods":[{"ob":{"timestamp":1455135114,"dateTimeISO":"2016-02-10T20:11:54+00:00","onDemand":false,"sensors":[{"type":"indoor","port":0,"tempC":21.2,"tempF":70,"humidity":"43","pressureMB":970,"pressureIN":28.64,"co2":610,"noise":33,"heatindexF":77,"heatindexC":25,"windchillF":70,"windchillC":21,"feelslikeF":77,"feelslikeC":25},{"type":"outdoor-1","port":3,"tempC":3.9,"tempF":39,"humidity":84,"signal":1,"lowBatt":false,"heatindexF":39,"heatindexC":4,"windchillF":39,"windchillC":4,"feelslikeF":39,"feelslikeC":4}],"isDay":false,"sunrise":1455084641,"sunriseISO":"2016-02-10T06:10:41+00:00","sunset":1455128263,"sunsetISO":"2016-02-10T18:17:43+00:00"}}],"profile":{"tz":"UTC","elevFT":null,"elevM":null}}}
>>>>
>>>> Wie würdet ihr die interessierenden Daten weiterverarbeiten und in
>>>> vzlogger bzw. direkt an die middleware einspeisen? Gibt's da irgendwo ein
>>>> ähnliches Beispiel, das man abkupfern kann? Ich würde das sicher auch
>>>> alleine hinkriegen, aber meine Lösung wäre bestimmt viiiel zu kompliziert,
>>>> weil ich es bisher nicht so mit Skript- und Interpretersprachen habe...
>>>>
>>>> Gruß,
>>>> Klaus
>>>>
>>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20160211/4aaeeb8d/attachment.html>
More information about the volkszaehler-users
mailing list