NEWS
Netatmo public Werte parsen?
-
Hallo Zusammen,
Versuche seit ein paar Tagen, Werte von Netatmo via getpublicdata API einzulesen. Die Sache mit dem Token funktioniert. Erhalte auch unten stehen JSON zurück. Aber beim Parsen und erstellen der Datenpunkte stehe ich etwas auf dem Schlauch und bräuchte mal eure Unterstützung. Mit var myjson = JSON.parse(body).body; lese ich die _id aus um Werte von nur ein paar Stationen zu erhalten. Aber dann...
{"status":"ok","time_server":1575613933,"time_exec":0,"body":[{"_id":"70:ee:50:1f:6b:f0","place":{"location":[7.035135874779104,50.82748439468796],"timezone":"Europe/Berlin","country":"DE","altitude":58,"city":"Rhein-Sieg-Kreis","street":"Schwanenweg"},"mark":12,"measures":{"02:00:00:1f:5c:68":{"res":{"1575613116":[1.1,89]},"type":["temperature","humidity"]},"70:ee:50:1f:6b:f0":{"res":{"1575613136":[1012.6]},"type":["pressure"]},"05:00:00:05:64:2e":{"rain_60min":0,"rain_24h":0,"rain_live":0,"rain_timeutc":1575613136},"06:00:00:03:4e:ee":{"wind_strength":19,"wind_angle":215,"gust_strength":34,"gust_angle":359,"wind_timeutc":1575613136}},"modules":["02:00:00:1f:5c:68","05:00:00:05:64:2e","06:00:00:03:4e:ee"],"module_types":{"02:00:00:1f:5c:68":"NAModule1","05:00:00:05:64:2e":"NAModule3","06:00:00:03:4e:ee":"NAModule2"}},{"_id":"70:ee:50:13:11:c0","place":{"location":[7.033748,50.837567],"timezone":"Europe/Berlin","country":"DE","altitude":54,"city":"Niederkassel","street":"Porzer Straße"},"mark":14,"measures":{"02:00:00:13:04:34":{"res":{"1575613778":[1.5,87]},"type":["temperature","humidity"]},"70:ee:50:13:11:c0":{"res":{"1575613795":[1017]},"type":["pressure"]}},"modules":["02:00:00:13:04:34"],"module_types":{"02:00:00:13:04:34":"NAModule1"}},{"_id":"70:ee:50:32:bd:9e","place":{"location":[7.114709701892252,50.83436957952585],"timezone":"Europe/Berlin","country":"DE","altitude":53,"city":"Rhein-Sieg-Kreis","street":"Porzer Straße"},"mark":14,"measures":{"02:00:00:33:0f:8e":{"res":{"1575613475":[2,80]},"type":["temperature","humidity"]},"70:ee:50:32:bd:9e":{"res":{"1575613495":[1020.7]},"type":["pressure"]}},"modules":["02:00:00:33:0f:8e"],"module_types":{"02:00:00:33:0f:8e":"NAModule1"}},{"_id":"70:ee:50:01:52:e2","place":{"location":[7.113965300000018,50.84010439999999],"timezone":"Europe/Berlin","country":"DE","altitude":56,"city":"Rhein-Sieg-Kreis","street":"Brügger Straße"},"mark":14,"measures":{"02:00:00:02:86:92":{"res":{"1575613504":[1.4,82]},"type":["temperature","humidity"]},"70:ee:50:01:52:e2":{"res":{"1575613554":[1018.1]},"type":["pressure"]}},"modules":["02:00:00:02:86:92"],"module_types":{"02:00:00:02:86:92":"NAModule1"}},{"_id":"70:ee:50:3b:f5:5a","place":{"location":[7.07051324,50.84093463],"timezone":"Europe/Berlin","country":"DE","altitude":52,"city":"Cologne","street":"Hagelerweg"},"mark":13,"measures":{"02:00:00:3c:1b:5c":{"res":{"1575613596":[1,88]},"type":["temperature","humidity"]},"70:ee:50:3b:f5:5a":{"res":{"1575613619":[1015.5]},"type":["pressure"]}},"modules":["02:00:00:3c:1b:5c"],"module_types":{"02:00:00:3c:1b:5c":"NAModule1"}},{"_id":"70:ee:50:2a:d5:e4","place":{"location":[7.090485,50.854752],"timezone":"Europe/Berlin","country":"DE","altitude":54,"city":"Cologne","street":"Fasanenweg"},"mark":14,"measures":{"02:00:00:2b:03:3c":{"res":{"1575613575":[1.6,96]},"type":["temperature","humidity"]},"70:ee:50:2a:d5:e4":{"res":{"1575613598":[1022.4]},"type":["pressure"]}},"modules":["02:00:00:2b:03:3c"],"module_types":{"02:00:00:2b:03:3c":"NAModule1"}},{"_id":"70:ee:50:53:03:4a","place":{"location":[7.101123,50.850117],"timezone":"Europe/Berlin","country":"DE","altitude":56,"city":"Cologne","street":"Zu den Wiesen"},"mark":11,"measures":{"02:00:00:53:48:92":{"res":{"1575613358":[1.3,82]},"type":["temperature","humidity"]},"70:ee:50:53:03:4a":{"res":{"1575613394":[1015.1]},"type":["pressure"]}},"modules":["02:00:00:53:48:92"],"module_types":{"02:00:00:53:48:92":"NAModule1"}}]}
Vielen Dank und Gruß
Rüdiger -
Habe es nun so weit, dass die Werte bei
console.log(messwerte);
wie folgt aussehen;{ '02:00:00:36:ed:30':{'res':{'1575901469':[7.9,82]},'type':['temperature','humidity']}, '70:ee:50:36:c2:42':{'res':{'1575901483':[1002]},'type':['pressure']}, '05:00:00:05:69:36':{'rain_60min':0.30300000000000005,'rain_24h':0.404,'rain_live':0,'rain_timeutc':1575901405}, '06:00:00:03:77:2c':{'wind_strength':1,'wind_angle':225,'gust_strength':4,'gust_angle':124,'wind_timeutc':1575901482} }
Jeder Versuch das Array zu parsen hat bis jetzt nicht funktioniert.
Hat jemand einen Ansatz, wie ich das hinbekomme?Vielen Dank!!
-
Hallo Rüdiger,
stehe gerade vor dem gleichen Problem. Bei mir scheitert's aber grad an dem Token. Hast du dafür ein extra node.js Modul verwendet?
Oder wärst du vielleicht bereit deine Lösung hier zu teilen?Vielen Grüße,
Sebastian -
Einfach Adapter installieren und schon hat man alle Daten. Funktioniert bei mir sehr gut.