Goed, het script controleert in de webpagina van weeronline of er regen in het gebied komt. Zo ja, dan zal er een event aangemaakt worden die 1malig uitgevoerd wordt (en daarna dus verwijderd wordt door HS) en een device op on zet. Ook dit moet gelden wanneer het opklaart.
Ik heb het script opgeslagen als regenmonitor.vb en een recurring event iedere 5 minuten die dit script uitvoert.
In het script moet je nog even de geoAreaId aanpassen en het device de juiste code geven. Bij mijn zijn virtuele devices met een housecode "v". Dus overal waar je v7 onder in dit script voorbij ziet komen moet je vervangen door de juiste code. (wel dus even een virtual device aanmaken of beter een status only! Ik heb deze de naam "regen" gegeven.)
De GeoAreaId kun je achterhalen door naar de website te gaan (http://www.weeronline.nl) en rechtsboven in het veld bij "het weer in" de plaats invullen. Niet enter drukken, wachten op een pulldown menu. Hover over de plaats die je wilt hebben en je ziet in de statusbalk van je browser een id aan het eind staat. Dat id moet je in het script vermelden (zie 3de regel van het script).
Code: Select all
Sub Main(ByVal Params As String)
Dim strData As String
strData = hs.GetURL("www.weeronline.nl","/Go/WeatherForecast/GetRainForecast?geoAreaId=4058004", True, 80)
If (InStr(strData, "geen buien vanaf") > 0) Then
If (hs.DeviceStatus("v7") = 2) Then
If Not hs.eventexists("geen regen vanaf") Then
hs.newtimeevent("geen regen vanaf", Mid(strData, InStr(strData, "vanaf ")+6, 5), FormatDateTime(Now,2), 1, 1, 1, 1, 1, 1, 1, "v7:off", 1, "", "")
hs.enableevent("geen regen vanaf")
End If
End If
Else
If (hs.DeviceStatus("v7") = 3) Then
If Not hs.eventexists("regen vanaf") Then
hs.newtimeevent("regen vanaf", Mid(strData, InStr(strData, "vanaf ")+6, 5), FormatDateTime(Now,2), 1, 1, 1, 1, 1, 1, 1, "v7:on", 1, "", "")
hs.enableevent("regen vanaf")
End If
End If
End If
End Sub
Versie 2.51 op pagina 10 is momenteel de laatste versie