Bloomsky Wetterstation

Antworten
hafo
starter
Beiträge: 11
Registriert: 16.09.2018, 13:44

Bloomsky Wetterstation

Beitrag von hafo » 16.09.2018, 13:59

Hallo zusammen
Ich bin erst seit kurzem mit dem ioBroker am arbeiten und habe daher noch fast keine Kentnisse von der ganzen Materie. Eigentlich habe ich das Programm (läuft im Docker auf einer Synology) nur installiert um mit dem NodeRed Adapter eine Verbindung von Alexa zu meinen Homematikkomponenten herzustellen. Aber nun sehe ich immer mehr Möglichkeiten welche ausprobiert werden müssen :lol:
Aktuell versuche ich meine Bloomsky Wetterstation einzubinden. Dazu habe ich eine Webadresse und einen Api Key. Versucht habe ich schon den Systeminfo und Simple Api Adapter. Leider bin ich bei beiden nicht weiter gekommen.
Daher meine Frage: Wie bekomme ich die Daten meiner Wetterstation in das Objekte Menü?
Falls es hilft, habe ich noch die Dokumentation angehängt und hier https://www.symcon.de/forum/threads/350 ... -und-Storm hat jemand ein Skript für ein ähliches Projekt geschrieben
Schöne Grüsse
Hansjürg
Dateianhänge
v1.6BloomskyDeviceOwnerAPIDocumentationforBusinessOwners.pdf
(248.4 KiB) 15-mal heruntergeladen

Karl_999
professional
Beiträge: 152
Registriert: 21.11.2017, 22:09

Re: Bloomsky Wetterstation

Beitrag von Karl_999 » 16.09.2018, 19:18

Die Antwort der Wetterstation kommt als JSON.
Da würde ich den Systeminfo-Adapter empfehlen.
Dem gibst du als Quelle die Adresse deiner Wetterstation und kannst dann über den RegExp/Filter die gewünschten Datenfelder angeben. Das können auch mehrere sein. Diese Datenfelder werden dann in ioBroker-Variablen gespeichert , deren Namen in der ersten Spalte angegeben wurden.

Zum Test solltest du erst einmal den Webaufruf im Browser machen und dir das JSON ansehen.

hafo
starter
Beiträge: 11
Registriert: 16.09.2018, 13:44

Re: Bloomsky Wetterstation

Beitrag von hafo » 16.09.2018, 19:50

Danke, leider habe ich bisher nichteinmal den Webaufruf hinbekommen. Ich weiss nicht wo der Api Key hinkommt. Dasselbe Problem habe ich auch im Systeminfo Adapter. Ich hab da schon einiges versucht.

hafo
starter
Beiträge: 11
Registriert: 16.09.2018, 13:44

Re: Bloomsky Wetterstation

Beitrag von hafo » 16.09.2018, 20:33

Kleiner Fortschritt, der Webaufruf funktioniert.
Wie soll ich nun den Adapter konfigurieren?
Spoiler: Show hidden text
[
{
"UTC": 2,
"CityName": "xxxxx",
"Storm": {
"UVIndex": "1",
"WindDirection": "NE",
"RainDaily": 0,
"WindGust": 0,
"SustainedWindSpeed": 0,
"RainRate": 0,
"24hRain": 0
},
"Searchable": true,
"DeviceName": "xxxxxx",
"RegisterTime": 1454769760,
"DST": 1,
"BoundedPoint": "",
"LON": 9.5705,
"Point": {},
"VideoList": [
"
],
"DeviceID": "xxxxx",
"NumOfFollowers": 15,
"LAT": xxxxx,
"ALT": xxx,
"Data": {
"Luminance": 3,
"Temperature": 65.44,
"ImageURL": "
"TS": 1537124980,
"Rain": false,
"Humidity": 98,
"Pressure": 28.29,
"DeviceType": "SKY1",
"Voltage": 2643,
"Night": true,
"UVIndex": "1",
"ImageTS": 1537121084
},
"FullAddress": "xxxx,xxxx, xxxxx, xx",
"StreetName": "xxxxx",
"PreviewImageList": [
"
],
}
],
Name: Bloomsky.[Storm, Data]
Type: web
Source: api.bloomsky.com/api/skydata/
RegExp Filter: Storm, Data
Convert: json
Role Type: -
Write Comman: -
Schedule: */*:6:1 (sollte im 6 minuten takt synchronisieren)

Karl_999
professional
Beiträge: 152
Registriert: 21.11.2017, 22:09

Re: Bloomsky Wetterstation

Beitrag von Karl_999 » 18.09.2018, 19:44

hafo hat geschrieben:
16.09.2018, 20:33
Wie soll ich nun den Adapter konfigurieren?
Ich befürchte / vermute, dass die Daten nicht vollständig sind.
Es sollte etwas in der Form

Code: Alles auswählen

{
  "IDENTIFIER_1": [
    {
      "SUB_IDENTIFIER_1": 0
      },
    {
      "SUB_IDENTIFIER_2": 0
      }
      
      ]
 }, 
kommen.
Bei dir fängt es mit [ an und endet mit einem ","

hafo
starter
Beiträge: 11
Registriert: 16.09.2018, 13:44

Re: Bloomsky Wetterstation

Beitrag von hafo » 18.09.2018, 20:29

Karl_999 hat geschrieben:
18.09.2018, 19:44
Ich befürchte / vermute, dass die Daten nicht vollständig sind.
Nimmst du da Bezug auf meinen Webaufruf? Der ist wirklich nicht vollständig, ich habe meine persönlichen Daten gelöscht. Ich wollte damit nur aufzeigen wie die relevanten Daten aussehen.
Gemäss diesem Link https://bloomsky.desk.com/customer/port ... b_id=17311 funktioniert der Systeminfo Adapter gar nicht in diesem Fall, ich kann den Api Key nicht in der URL angeben. Meine neuste Idee wäre das mit dem Node Red Adapter zu lösen. Wäre da eine richtige Get Abfrage machbar mit den dazugehörigen Daten im Header? Oder hat jemand eine bessere Idee?

Karl_999
professional
Beiträge: 152
Registriert: 21.11.2017, 22:09

Re: Bloomsky Wetterstation

Beitrag von Karl_999 » 19.09.2018, 19:20

hafo hat geschrieben:
18.09.2018, 20:29
Nimmst du da Bezug auf meinen Webaufruf? Der ist wirklich nicht vollständig
Das macht es schwierig, dann die notwendige Hilfe zu geben. Damit meine ich nicht die fehlenden (bzw. geschwärzten) privaten Daten. Es ist einfach die vollständige Struktur der Rückgabedaten notwendig.
hafo hat geschrieben:
18.09.2018, 20:29
Gemäss diesem Link https://bloomsky.desk.com/customer/port ... b_id=17311 funktioniert der Systeminfo Adapter gar nicht in diesem Fall
Wie hast du denn dann die Antwort erhalten?
Die Adapter machen nicht viel mehr als die angegebene URI zu senden und dann die Antwort passend zu zerlegen, Daher kann man die URI ganz einfach z.B. im Browser testen.
Sollten irgendwelche Mimiken mir Anmeldung, Cookies und / oder Session-ID notwendig sein, dann wird's nicht ohne extra Software gehen.

hafo
starter
Beiträge: 11
Registriert: 16.09.2018, 13:44

Re: Bloomsky Wetterstation

Beitrag von hafo » 19.09.2018, 20:31

In der Anleitung (.pdf in meinem ersten Beitrag) wird das Chrome Plugin "Advanced REST Client" und "httpie" von Github empfohlen. Mit ersterem habe ich den erfolgreichen Webaufruf gemacht. Der Link im selben Post führt zu einem PHP Script, welches jemand für Symcan Hausautomation geschrieben hat, wäre natürlich das tollste wenn dies ohne grosse Änderungen auch hier funtionieren würde :roll:
Hier https://bloomsky.desk.com/customer/port ... b_id=17311 hat noch jemand erfolgreich diesen Code zum abrufen geschrieben
Spoiler: Show hidden text
<?php
header('Content-Type: application/json');

$api = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"; //your API key from BloomSky
$url = "https://api.bloomsky.com/api/skydata";


// Create a stream
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Authorization:".$api."\r\n"

)
);
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above
$file = file_get_contents($url, false, $context);
echo $file;
?>

Hilft dies weiter? Den Code vom Webaufruf kann ich dir morgen gerne noch minimalzensiert nachreichen, so dass alle Zeichen sichtbar sind.

Danke und Gruss
Hansjürg

hafo
starter
Beiträge: 11
Registriert: 16.09.2018, 13:44

Re: Bloomsky Wetterstation

Beitrag von hafo » 22.09.2018, 12:35

Vor Montag Abend läuft bei mir leider nichts mehr. Falls jemand eine gute Idee hat, nur zu.

hafo
starter
Beiträge: 11
Registriert: 16.09.2018, 13:44

Re: Bloomsky Wetterstation

Beitrag von hafo » 24.09.2018, 19:13

Hallo zusammen
Hier endlich der versprochene Code aus dem Webaufruf.
Spoiler: Show hidden text
[
{
"UTC": 2,
"CityName": "xxx",
"Storm": {
"UVIndex": "1",
"WindDirection": "NE",
"RainDaily": 0.12,
"WindGust": 4,
"SustainedWindSpeed": 2.01,
"RainRate": 0,
"24hRain": 0.57
},
"Searchable": true,
"DeviceName": "Wetterchecker",
"RegisterTime": 1454769760,
"DST": 1,
"BoundedPoint": "",
"LON": 9.5705,
"Point": {},
"VideoList": [
"http://s3.amazonaws.com/bskytimelapses/ ... -09-20.mp4",
"http://s3.amazonaws.com/bskytimelapses/ ... -09-21.mp4",
"http://s3.amazonaws.com/bskytimelapses/ ... -09-22.mp4",
"http://s3.amazonaws.com/bskytimelapses/ ... -09-23.mp4",
"http://s3.amazonaws.com/bskytimelapses/ ... -09-24.mp4"
],
"VideoList_C": [
"http://s3.amazonaws.com/bskytimelapses/ ... 9-20_C.mp4",
"http://s3.amazonaws.com/bskytimelapses/ ... 9-21_C.mp4",
"http://s3.amazonaws.com/bskytimelapses/ ... 9-22_C.mp4",
"http://s3.amazonaws.com/bskytimelapses/ ... 9-23_C.mp4",
"http://s3.amazonaws.com/bskytimelapses/ ... 9-24_C.mp4"
],
"DeviceID": "xxx",
"NumOfFollowers": 15,
"LAT": xxx,
"ALT": xxx,
"Data": {
"Luminance": 22,
"Temperature": 50.56,
"ImageURL": "http://s3-us-west-1.amazonaws.com/bskyimgs/xxx=.jpg",
"TS": 1537812069,
"Rain": false,
"Humidity": 71,
"Pressure": 28.56,
"DeviceType": "SKY1",
"Voltage": 2598,
"Night": true,
"UVIndex": "1",
"ImageTS": 1537811200
},
"FullAddress": "xxx, xxx, xxx, xx",
"StreetName": "xxx",
"PreviewImageList": [
"http://s3-us-west-1.amazonaws.com/bskyi ... 1xxxs=.jpg",
"http://s3-us-west-1.amazonaws.com/bskyi ... 1xxxs=.jpg",
"http://s3-us-west-1.amazonaws.com/bskyi ... J1xxx=.jpg",
"http://s3-us-west-1.amazonaws.com/bskyi ... J1xxx=.jpg",
"http://s3-us-west-1.amazonaws.com/bskyi ... J1xxx=.jpg"
],
}
],
Wen mir jemand sagen kann wie ich in NodeRed an diese Daten komme, dann wäre mir schon sehr geholfen.

Gruss
Hansjürg

hafo
starter
Beiträge: 11
Registriert: 16.09.2018, 13:44

Re: Bloomsky Wetterstation

Beitrag von hafo » 24.09.2018, 21:25

Hier würde es so einfach aussehen
https://nodered.org/docs/api/admin/meth ... es/module/
Aber ich finde kein Node bei welchem der Header und Value so eingestellt werden können.

Antworten