If this don't work on, your System it wouldn't help.You can try it yourself as a URL command in a browser, this works 100%
please test on your System with the correct url
Moderator: Co-Administratoren
If this don't work on, your System it wouldn't help.You can try it yourself as a URL command in a browser, this works 100%
Code: Alles auswählen
https://swd.weatherflow.com/swd/rest/observations/station/2867?token=2fdf9a5b-19a0-46e6-99b3-28d67f8cab44
Code: Alles auswählen
{"station_id":2867,"station_name":"Bleiberg (Bublava, Ore Mountains), Czech Republic","public_name":"Bleiberg (Bublava, Ore Mountains), Czech Republic","latitude":50.36208,"longitude":12.50608,"timezone":"Europe/Prague","elevation":700.0,"is_public":true,"status":{"status_code":0,"status_message":"SUCCESS"},"station_units":{"units_temp":"c","units_wind":"kph","units_precip":"mm","units_pressure":"mb","units_distance":"km","units_direction":"degrees","units_other":"metric"},"outdoor_keys":["timestamp","air_temperature","barometric_pressure","station_pressure","pressure_trend","sea_level_pressure","relative_humidity","precip","precip_accum_last_1hr","precip_accum_local_day","precip_accum_local_yesterday","precip_minutes_local_day","precip_minutes_local_yesterday","wind_avg","wind_direction","wind_gust","wind_lull","solar_radiation","uv","brightness","lightning_strike_last_epoch","lightning_strike_last_distance","lightning_strike_count","lightning_strike_count_last_1hr","lightning_strike_count_last_3hr","feels_like","heat_index","wind_chill","dew_point","wet_bulb_temperature","delta_t","air_density"],"obs":[{"timestamp":1608547995,"air_temperature":-0.1,"barometric_pressure":940.5,"station_pressure":940.5,"sea_level_pressure":1023.0,"relative_humidity":99,"precip":0.0,"precip_accum_last_1hr":0.0,"precip_accum_local_day":0.101547,"precip_accum_local_yesterday":0.001252,"precip_minutes_local_day":27,"precip_minutes_local_yesterday":1,"wind_avg":0.2,"wind_direction":214,"wind_gust":0.7,"wind_lull":0.0,"solar_radiation":50,"uv":0.27,"brightness":6054,"lightning_strike_last_epoch":1599316508,"lightning_strike_last_distance":14,"lightning_strike_count":0,"lightning_strike_count_last_1hr":0,"lightning_strike_count_last_3hr":0,"feels_like":-0.1,"heat_index":-0.1,"wind_chill":-0.1,"dew_point":-0.2,"wet_bulb_temperature":-0.2,"delta_t":0.1,"air_density":1.19991,"pressure_trend":"falling"}]}
Code: Alles auswählen
!WeatherFlow - Tempest auslesen
!V1.0 MichaelN https://homematic-forum.de/forum/viewtopic.php?f=49&t=63711
string url = "https://swd.weatherflow.com/swd/rest/observations/station/2867?token=2fdf9a5b-19a0-46e6-99b3-28d67f8cab44";
string rueck;
string error;
system.Exec("wget --no-check-certificate -O --timeout=10 - '"#url#"'" , &rueck, &error);
if (!rueck== "")
{
WriteLine("HTTPRequest OK");
rueck = rueck.Replace('"','');
string Part; string Part1; string Part2;
foreach (Part, rueck.Split(",") ){
if (Part.Contains(":"))
{
WriteLine (Part);
}
}
} else {
WriteLine("Error at HHTP Request");
}
Code: Alles auswählen
Error at HHTP Request
Code: Alles auswählen
!WeatherFlow - Tempest auslesen
!V1.0 MichaelN https://homematic-forum.de/forum/viewtopic.php?f=49&t=63711
string url = "https://swd.weatherflow.com/swd/rest/observations/station/2867?token=2fdf9a5b-19a0-46e6-99b3-28d67f8cab44";
string rueck;
string error;
system.Exec("wget --no-check-certificate -O - '"#url#"'" , &rueck, &error);
if (!rueck== "")
{
WriteLine("HTTPRequest OK");
rueck = rueck.Replace('"','');
string Part; string Part1; string Part2;
foreach (Part, rueck.Split(",") ){
if (Part.Contains(":"))
{
WriteLine (Part);
}
}
} else {
WriteLine("Error at HTTP Request");
}
Code: Alles auswählen
HTTPRequest OK
{station_id:2867
station_name:Bleiberg (Bublava
public_name:Bleiberg (Bublava
latitude:50.36208
longitude:12.50608
timezone:Europe/Prague
elevation:700.0
is_public:true
status:{status_code:0
status_message:SUCCESS}
station_units:{units_temp:c
units_wind:kph
units_precip:mm
units_pressure:mb
units_distance:km
units_direction:degrees
units_other:metric}
outdoor_keys:[timestamp
obs:[{timestamp:1608549074
air_temperature:0.1
barometric_pressure:940.5
station_pressure:940.5
sea_level_pressure:1023.0
relative_humidity:99
precip:0.0
precip_accum_last_1hr:0.0
precip_accum_local_day:0.101547
precip_accum_local_yesterday:0.001252
precip_minutes_local_day:27
precip_minutes_local_yesterday:1
wind_avg:0.6
wind_direction:208
wind_gust:0.9
wind_lull:0.4
solar_radiation:32
uv:0.16
brightness:3875
lightning_strike_last_epoch:1599316508
lightning_strike_last_distance:14
lightning_strike_count:0
lightning_strike_count_last_1hr:0
lightning_strike_count_last_3hr:0
feels_like:0.1
heat_index:0.1
wind_chill:0.1
dew_point:-0.0
wet_bulb_temperature:0.0
delta_t:0.1
air_density:1.19903
pressure_trend:steady}]}
Code: Alles auswählen
!WeatherFlow - Tempest auslesen
!V1.0 MichaelN https://homematic-forum.de/forum/viewtopic.php?f=49&t=63711
string url = "https://swd.weatherflow.com/swd/rest/observations/station/STATIONID?token=TOKEN";
string prefix = "WF_";
string rueck;
string error;
object SV;
system.Exec("wget --no-check-certificate --timeout=2 -O - '"#url#"'" , &rueck, &error);
if (!rueck== "")
{
WriteLine("HTTP-Request OK");
rueck = rueck.Replace('"','');
string Part;
foreach (Part, rueck.Split(",") ){
if (Part.Contains(":"))
{
Part = Part.Replace(":",";");
WriteLine (prefix # web.webGetValueFromList(Part,0) #" = "# web.webGetValueFromList(Part,1));
SV = dom.GetObject(ID_SYSTEM_VARIABLES).Get((prefix # web.webGetValueFromList(Part,0)));
if (SV) {
SV.State(web.webGetValueFromList(Part,1));
WriteLine("=== SV "#prefix # web.webGetValueFromList(Part,0)#" written ===");
}
}
}
} else {
WriteLine("Error at HTTP Request");
}
Code: Alles auswählen
!WeatherFlow - Tempest auslesen
!V1.1 MichaelN https://homematic-forum.de/forum/viewtopic.php?f=49&t=63711
string url = "https://swd.weatherflow.com/swd/rest/observations/station/2867?token=2fdf9a5b-19a0-46e6-99b3-28d67f8cab44"; ! URL of API Call
string prefix = "WF_"; ! Prefix for systemvariables
! no changes required after this line
string rueck;
string error;
object SV;
system.Exec("wget --no-check-certificate --timeout=2 -O - '"#url#"'" , &rueck, &error);
if (!rueck== "")
{
WriteLine("HTTP-Request OK");
rueck = rueck.Replace('"','');
string Part; string Part1; string Part2;
foreach (Part, rueck.Split(",") ){
if (Part.Contains(":"))
{
Part = Part.Replace(":",";"); ! aus : ein ; machen, damit dr Inahlt als Liste behandelt wird
! stoerende Sonderzeichen entfernen
Part = Part.Replace("{","");
Part = Part.Replace("}","");
Part = Part.Replace("[","");
Part = Part.Replace("]","");
! Part 1 ist der Tag-Name
Part1 = web.webGetValueFromList(Part,0);
! Part 2 ist der Wert des Tags
Part2 = web.webGetValueFromList(Part,1);
! statt obs den Timestamp auslesen
if (Part1 == "obs") { Part1 = Part2; Part2 = web.webGetValueFromList(Part,2); }
! Timestamps in lesbares Datum umwandeln
if ((Part1 == "timestamp") || (Part1 == "lightning_strike_last_epoch")) { Part2 = Part2.ToInteger().ToTime(); }
WriteLine (prefix # Part1 #" = "# Part2);
! wenn die SV existiert neuen Wert schreiben
SV = dom.GetObject(ID_SYSTEM_VARIABLES).Get((prefix # Part1));
if (SV) {
SV.State(Part2);
WriteLine("=== SV "#prefix # Part1#" written ===");
}
}
}
} else {
WriteLine("Error at HTTP Request");
}