This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Buienradar script
#1
Anybody any idea  why the HomelynK "buienradar" script stopt working at the end of October?
Reply
#2
Hi,

They probably changed the XML format.

Here is a more stable version that ignores the XML changes and with auto object creation:

Code:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661
-- Geef station naam op die gebruikt dient te worden station_naam = "Zwolle" -- Vul hier het weerstation naam in. (Zie tabel hieronder) --Beschikbare weerstations -- 1 = Venlo                                27 = Goeree -- 2 = Arnhem                                28 = Leeuwarden -- 3 = Berkhout                            29 = Lelystad -- 4 = Cadzand                            30 = West-Utrecht                                             -- 5 = Utrecht                            31 = Maastricht -- 6 = Den Helder                        32 = Noordoostpolder -- 7 = Eindhoven                        33 = Oost-Groningen -- 8 = Weert                                34 = Oosterschelde -- 10 = Gilzen Rijen                35 = Rotterdam -- 11 = Goes                                36 = Rotterdam Haven -- 12 = Oost-Overijssel            37 = Schaar -- 13 = Groningen                        38 = Amsterdam -- 14 = Oost-Zeeland                39 = Midden-Zeeland -- 15 = Zwolle                            40 = West-Friesland -- 16 = Gorinchem                        41 = Texel -- 17 = Hoek van Holland        42 = Tholen -- 18 = Zuid-Zeeland                43 = Twente -- 19 = Hoogeveen                        44 = West-Zeeland -- 20 = Wadden                            45 = Vlieland -- 21 = Enkhuizen-Lelystad    46 = Vlissingen -- 22 = Schiermonnikoog            47 = Uden -- 23 = IJmond                            48 = Terneuzen -- 24 = IJmuiden                        49 = Hoorn -- 25 = Katwijk                            50 = Wijk aan Zee -- 26 = Noord-Groningen            51 = Woensdrecht -- Geef adressen + namen op en activeer de te gebruiken items (actief J/N), objecten worden automatisch aangemaakt indien niet bestaand. adresmapping = {  ['stationnaam'] = {    actief = 'J',    adres = '40/1/0',    naam = 'Station naam',    objecttype = dt.text  },  ['datum'] = {    actief = 'J',    adres = '40/1/1',    naam = 'Tijd en datum laatste update van weerstation',    objecttype = dt.text  },  ['zin'] = {    actief = 'J',    adres = '40/1/2',    naam = 'Weer tekstueel',    objecttype = dt.text  },  ['temperatuurGC'] = {    actief = 'J',    adres = '40/1/3',    naam = 'Temperatuur',    objecttype = dt.text  },  ['temperatuur10cm'] = {    actief = 'J',    adres = '40/1/4',    naam = 'Temperatuur op 10 centimeter van maaiveld',    objecttype = dt.text  },  ['luchtdruk'] = {    actief = 'J',    adres = '40/1/5',    naam = 'Luchtdruk',    objecttype = dt.text  },  ['luchtvochtigheid'] = {    actief = 'J',    adres = '40/1/6',    naam = 'Luchtvochtigheid',    objecttype = dt.text  },  ['regenMMPU'] = {    actief = 'J',    adres = '40/1/7',    naam = 'Regen milimeter per uur',    objecttype = dt.text  },  ['windrichting'] = {    actief = 'J',    adres = '40/1/8',    naam = 'Windrichting',    objecttype = dt.text  },  ['windrichtingGR'] = {    actief = 'J',    adres = '40/1/9',    naam = 'Windrichting in graden',    objecttype = dt.text  },  ['windsnelheidMS'] = {    actief = 'J',    adres = '40/1/10',    naam = 'Windsnelheid in meters per seconde',    objecttype = dt.text  },  ['windstotenMS'] = {    actief = 'J',    adres = '40/1/11',    naam = 'Windstoten in meter per seconde',    objecttype = dt.text  },  ['zichtmeters'] = {    actief = 'J',    adres = '40/1/12',    naam = 'Zicht in meters',    objecttype = dt.text  },  ['zonintensiteitWM2'] = {    actief = 'J',    adres = '40/1/13',    naam = 'Zon intensitiet',    objecttype = dt.text  },  ['icoonactueel'] = {    actief = 'J',    adres = '40/1/14',    naam = 'URL actueel icoon',    objecttype = dt.text  },  ['icoonid'] = {    actief = 'J',    adres = '40/1/15',    naam = 'Icoon id',    objecttype = dt.text  },  ['icoon'] = {    actief = 'N',    adres = '40/1/16',    naam = 'Icoon',    objecttype = dt.text  },  ['windsnelheidBF'] = {    actief = 'N',    adres = '40/1/17',    naam = 'Windsnelheid in beaufort',    objecttype =    dt.text  },  ['regio'] = {    actief = 'N',    adres = '40/1/18',    naam = 'Regio',    objecttype = dt.text  },  ['stationcode'] = {    actief = 'N',    adres = '40/1/19',    naam = 'Station code',    objecttype = dt.text  },  ['stationid'] = {    actief = 'N',    adres = '40/1/20',    naam = 'Station id',    objecttype = dt.text  },  ['lat'] = {    actief = 'N',    adres = '40/1/21',    naam = 'Latitude',    objecttype = dt.text  },  ['latGraden'] = {    actief = 'N',    adres = '40/1/22',    naam = 'Latitude in graden',    objecttype = dt.text  },  ['lon'] = {    actief = 'N',    adres = '40/1/23',    naam = 'Longitude',    objecttype = dt.text  },  ['lonGraden'] = {    actief = 'N',    adres = '40/1/24',    naam = 'Longitude in graden',    objecttype = dt.text  },  ['url'] = {    actief = 'N',    adres = '40/1/25',    naam = 'URL',    objecttype = dt.text  }, } -- Load libs require('socket.http') -- Function to create objects function createobject(item)    grp.create({        name = item.naam,        address = item.adres,        datatype = item.objecttype,        --visparams = item.visparams,        --enums = item.enums,        --units = item.units,        tags = {'Buienradar'},                 comment = 'Automatisch aangemaakt door buienradar script',    }) end -- Set timeout socket.http.TIMEOUT = 15 -- Get data from API local data = socket.http.request('http://xml.buienradar.nl/') --log(data) if not data then  alert('Weerbericht kan niet worden opgehaald..')  return end -- Create result table weerstationtag = false result = {} -- callback for tag start function starttag(parser, tag, attributes)  -- create new storage in result table for each <item> tag  if tag == 'weerstation' then    weerstationtag = true    table.insert(result, {})  end  currtag = tag    -- Add attribute "id"  if attributes.id ~= nil then    if currtag then      result[ #result ].stationid = attributes.id    end  end  -- Add attribute "regio"  if attributes.regio ~= nil then    if weerstationtag and currtag then      result[ #result ].regio = attributes.regio    end  end    -- Add attribute "zin"  if attributes.zin ~= nil then    if weerstationtag and currtag then      result[ #result ].zin = attributes.zin    end  end    -- Add attribute "ID"  if attributes.ID ~= nil then    if weerstationtag and currtag then      result[ #result ].icoonid = attributes.ID    end  end   end -- callback for tag end function endtag(p, tag)  if tag == 'weerstation' then    weerstationtag = false  end  currtag = nil end -- callback for character data function cdata(parser, text, attributes)  -- check if parser is inside of <item> and either in <title> or <description>  if weerstationtag and currtag then    if currtag == 'stationcode' then      result[ #result ].stationcode = text    elseif currtag == 'stationnaam' then      result[ #result ].stationnaam = text      elseif currtag == 'lat' then        result[ #result ].lat = text    elseif currtag == 'lon' then      result[ #result ].lon = text    elseif currtag == 'datum' then      result[ #result ].datum = text      elseif currtag == 'luchtvochtigheid' then      result[ #result ].luchtvochtigheid = text      elseif currtag == 'temperatuurGC' then      result[ #result ].temperatuurGC = text      elseif currtag == 'windsnelheidMS' then      result[ #result ].windsnelheidMS = text      elseif currtag == 'windsnelheidBF' then      result[ #result ].windsnelheidBF = text      elseif currtag == 'windrichtingGR' then      result[ #result ].windrichtingGR = text      elseif currtag == 'windrichting' then      result[ #result ].windrichting = text      elseif currtag == 'luchtdruk' then      result[ #result ].luchtdruk = text      elseif currtag == 'zichtmeters' then      result[ #result ].zichtmeters = text      elseif currtag == 'windstotenMS' then      result[ #result ].windstotenMS = text    elseif currtag == 'regenMMPU' then      result[ #result ].regenMMPU = text    elseif currtag == 'zonintensiteitWM2' then      result[ #result ].zonintensiteitWM2 = text      elseif currtag == 'icoonactueel' then      result[ #result ].icoonactueel= text    elseif currtag == 'temperatuur10cm' then      result[ #result ].temperatuur10cm = text    elseif currtag == 'url' then      result[ #result ].url = text    elseif currtag == 'latGraden' then      result[ #result ].latGraden = text    elseif currtag == 'lonGraden' then      result[ #result ].lonGraden = text    end  end end -- create parser lxp = require('lxp') parser = lxp.new({  StartElement = starttag,  EndElement = endtag,  CharacterData = cdata, }) -- parse data if parser:parse(data) then  parseddata = result else  log('parse failed') end --log(parseddata) -- loop through LUA result table if #parseddata > 0 then  for _, item in ipairs(parseddata) do    -- Get item with selected station_naam    if item.regio == station_naam then      if adresmapping.zin.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.zin.adres)        if currentvalue == nil then            createobject(adresmapping.zin)        end        if item.zin ~= currentvalue then          grp.update(adresmapping.zin.adres, item.zin)        end      end            if adresmapping.temperatuurGC.actief == 'J' then              currentvalue = grp.getvalue(adresmapping.temperatuurGC.adres)        if currentvalue == nil then            createobject(adresmapping.temperatuurGC)        end        if item.temperatuurGC ~= currentvalue then          grp.update(adresmapping.temperatuurGC.adres, item.temperatuurGC)        end      end            if adresmapping.windstotenMS.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.windstotenMS.adres)        if currentvalue == nil then            createobject(adresmapping.windstotenMS)        end        if item.windstotenMS ~= currentvalue then          grp.update(adresmapping.windstotenMS.adres, item.windstotenMS)        end      end            if adresmapping.luchtdruk.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.luchtdruk.adres)        if currentvalue == nil then            createobject(adresmapping.luchtdruk)        end        if item.luchtdruk ~= currentvalue then          grp.update(adresmapping.luchtdruk.adres, item.luchtdruk)        end      end            if adresmapping.stationcode.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.stationcode.adres)        if currentvalue == nil then            createobject(adresmapping.stationcode)        end        if item.stationcode ~= currentvalue then          grp.update(adresmapping.stationcode.adres, item.stationcode)        end      end            if adresmapping.url.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.url.adres)        if currentvalue == nil then            createobject(adresmapping.url)        end        if item.url ~= currentvalue then          grp.update(adresmapping.url.adres, item.url)        end      end            if adresmapping.lonGraden.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.lonGraden.adres)        if currentvalue == nil then            createobject(adresmapping.lonGraden)        end        if item.lonGraden ~= currentvalue then          grp.update(adresmapping.lonGraden.adres, item.lonGraden)        end      end            if adresmapping.datum.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.datum.adres)        if currentvalue == nil then            createobject(adresmapping.datum)        end        if item.datum ~= currentvalue then          grp.update(adresmapping.datum.adres, item.datum)        end      end            if adresmapping.stationnaam.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.stationnaam.adres)        if currentvalue == nil then            createobject(adresmapping.stationnaam)        end        if item.stationnaam ~= currentvalue then          grp.update(adresmapping.stationnaam.adres, item.stationnaam)        end      end            if adresmapping.temperatuur10cm.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.temperatuur10cm.adres)        if currentvalue == nil then            createobject(adresmapping.temperatuur10cm)        end        if item.temperatuur10cm ~= currentvalue then          grp.update(adresmapping.temperatuur10cm.adres, item.temperatuur10cm)        end      end            if adresmapping.icoonactueel.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.icoonactueel.adres)        if currentvalue == nil then            createobject(adresmapping.icoonactueel)        end        if item.icoonactueel ~= currentvalue then          grp.update(adresmapping.icoonactueel.adres, item.icoonactueel)        end      end            if adresmapping.lat.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.lat.adres)        if currentvalue == nil then            createobject(adresmapping.lat)        end        if item.lat ~= currentvalue then          grp.update(adresmapping.lat.adres, item.lat)        end      end            if adresmapping.windrichtingGR.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.windrichtingGR.adres)        if currentvalue == nil then            createobject(adresmapping.windrichtingGR)        end        if item.windrichtingGR ~= currentvalue then          grp.update(adresmapping.windrichtingGR.adres, item.windrichtingGR)        end      end            if adresmapping.regio.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.regio.adres)        if currentvalue == nil then            createobject(adresmapping.regio)        end        if item.regio ~= currentvalue then          grp.update(adresmapping.regio.adres, item.regio)        end      end            if adresmapping.luchtvochtigheid.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.luchtvochtigheid.adres)        if currentvalue == nil then            createobject(adresmapping.luchtvochtigheid)        end        if item.luchtvochtigheid ~= currentvalue then          grp.update(adresmapping.luchtvochtigheid.adres, item.luchtvochtigheid)        end      end            if adresmapping.windrichting.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.windrichting.adres)        if currentvalue == nil then            createobject(adresmapping.windrichting)        end        if item.windrichting ~= currentvalue then          grp.update(adresmapping.windrichting.adres, item.windrichting)        end      end            if adresmapping.lon.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.lon.adres)        if currentvalue == nil then            createobject(adresmapping.lon)        end        if item.lon ~= currentvalue then          grp.update(adresmapping.lon.adres, item.lon)        end      end            if adresmapping.zichtmeters.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.zichtmeters.adres)        if currentvalue == nil then            createobject(adresmapping.zichtmeters)        end        if item.zichtmeters ~= currentvalue then          grp.update(adresmapping.zichtmeters.adres, item.zichtmeters)        end      end            if adresmapping.latGraden.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.latGraden.adres)        if currentvalue == nil then            createobject(adresmapping.latGraden)        end        if item.latGraden ~= currentvalue then          grp.update(adresmapping.latGraden.adres, item.latGraden)        end      end            if adresmapping.windsnelheidBF.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.windsnelheidBF.adres)        if currentvalue == nil then            createobject(adresmapping.windsnelheidBF)        end        if item.windsnelheidBF ~= currentvalue then          grp.update(adresmapping.windsnelheidBF.adres, item.windsnelheidBF)        end      end            if adresmapping.windsnelheidMS.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.windsnelheidMS.adres)        if currentvalue == nil then            createobject(adresmapping.windsnelheidMS)        end        if item.windsnelheidMS ~= currentvalue then          grp.update(adresmapping.windsnelheidMS.adres, item.windsnelheidMS)        end      end            if adresmapping.zonintensiteitWM2.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.zonintensiteitWM2.adres)        if currentvalue == nil then            createobject(adresmapping.zonintensiteitWM2)        end        if item.zonintensiteitWM2 ~= currentvalue then          grp.update(adresmapping.zonintensiteitWM2.adres, item.zonintensiteitWM2)        end      end            if adresmapping.regenMMPU.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.regenMMPU.adres)        if currentvalue == nil then            createobject(adresmapping.regenMMPU)        end        if item.regenMMPU ~= currentvalue then          grp.update(adresmapping.regenMMPU.adres, item.regenMMPU)        end      end            if adresmapping.stationid.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.stationid.adres)        if currentvalue == nil then            createobject(adresmapping.stationid)        end        if item.stationid ~= currentvalue then          grp.update(adresmapping.stationid.adres, item.stationid)        end      end            if adresmapping.icoonid.actief == 'J' then        currentvalue = grp.getvalue(adresmapping.icoonid.adres)        if currentvalue == nil then          createobject(adresmapping.icoonid)        end        if item.icoonid ~= currentvalue then          grp.update(adresmapping.icoonid.adres, item.icoonid)          if adresmapping.icoon.actief == 'J' then            if currentvalue == nil then              createobject(adresmapping.icoon)                end            if item.icoonid == 'a' then              grp.update(adresmapping.icoon.adres, 17)            elseif item.icoonid == 'aa' then              grp.update(adresmapping.icoon.adres, 6)            elseif item.icoonid == 'b'then              grp.update(adresmapping.icoon.adres, 12)            elseif item.icoonid == 'bb'then              grp.update(adresmapping.icoon.adres, 13)              elseif item.icoonid == 'c' or item.icoonid == 'cc' then              grp.update(adresmapping.icoon.adres, 7)            elseif item.icoonid == 'd' or item.icoonid == 'dd' then              grp.update(adresmapping.icoon.adres, 10)            elseif item.icoonid == 'e' or item.icoonid == 'ee' then              grp.update(adresmapping.icoon.adres, 9)            elseif item.icoonid == 'f' or item.icoonid == 'ff' then              grp.update(adresmapping.icoon.adres, 2)            elseif item.icoonid == 'g' or item.icoonid == 'gg' then              grp.update(adresmapping.icoon.adres, 5)            elseif item.icoonid == 'h' or item.icoonid == 'hh' then              grp.update(adresmapping.icoon.adres, 3)            elseif item.icoonid == 'i' or item.icoonid == 'ii' then              grp.update(adresmapping.icoon.adres, 3)            elseif item.icoonid == 'j' or item.icoonid == 'jj' then              grp.update(adresmapping.icoon.adres, 19)            elseif item.icoonid == 'k' or item.icoonid == 'kk' then              grp.update(adresmapping.icoon.adres, 16)            elseif item.icoonid == 'l' or item.icoonid == 'll' then              grp.update(adresmapping.icoon.adres, 16)            elseif item.icoonid == 'm' or item.icoonid == 'mm' then              grp.update(adresmapping.icoon.adres, 2)            elseif item.icoonid == 'n' or item.icoonid == 'nn' then              grp.update(adresmapping.icoon.adres, 1)            elseif item.icoonid == 'o' or item.icoonid == 'oo' then              grp.update(adresmapping.icoon.adres, 11)            elseif item.icoonid == 'p' or item.icoonid == 'pp' then              grp.update(adresmapping.icoon.adres, 11)            elseif item.icoonid == 'q' or item.icoonid == 'qq' then              grp.update(adresmapping.icoon.adres, 16)            elseif item.icoonid == 'r' or item.icoonid == 'rr' then              grp.update(adresmapping.icoon.adres, 19)            elseif item.icoonid == 's' or item.icoonid == 'ss' then              grp.update(adresmapping.icoon.adres, 5)            elseif item.icoonid == 't' or item.icoonid == 'tt' then              grp.update(adresmapping.icoon.adres, 8)            elseif item.icoonid == 'u' or item.icoonid == 'uu' then              grp.update(adresmapping.icoon.adres, 4)            elseif item.icoonid == 'v' or item.icoonid == 'vv' then              grp.update(adresmapping.icoon.adres, 1)            elseif item.icoonid == 'w' or item.icoonid == 'ww' then              grp.update(adresmapping.icoon.adres, 15)            elseif item.icoonid == 'x' or item.icoonid == 'xx' then              grp.update(adresmapping.icoon.adres, 9)            elseif item.icoonid == 'y' or item.icoonid == 'yy' then              grp.update(adresmapping.icoon.adres, 20)            elseif item.icoonid == 'z' or item.icoonid == 'zz' then              grp.update(adresmapping.icoon.adres, 20)            elseif item.icoonid == '0' or item.icoonid == '00' then              grp.update(adresmapping.icoon.adres, 19)            elseif item.icoonid == '1' or item.icoonid == '11' then              grp.update(adresmapping.icoon.adres, 20)            else              grp.update(adresmapping.icoon.adres, 19)            end          end        end        end    end  end end

BR,

Erwin
Reply
#3
Thanks Erwin, 

Just tried the script.

Still same problem, it says 'Weerbericht kan niet worden opgehaald..' Also the objects are not created automatically. I made a few objects manually but with the same result.
Reply
#4
Hi,

I tried the script just before i posted it and it worked perfect, objects are only created when values are received and the object is not there yet. So i think there is something wrong with your DNS settings or default gateway address.

Can you try to goto system -> status -> network utils and try to ping xml.buienradar.nl?

BR,

Erwin
Reply
#5
(02.12.2017, 22:57)Erwin van der Zwart Wrote: Hi,

I tried the script just before i posted it and it worked perfect, objects are only created when values are received and the object is not there yet. So i think there is something wrong with your DNS settings or default gateway address.

Can you try to goto system -> status -> network utils and try to ping xml.buienradar.nl?

BR,

Erwin
PING xml.buienradar.nl (217.118.167.65): 56 data bytes

--- xml.buienradar.nl ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss

PING www.domodynamic.nl (46.182.216.26): 56 data bytes
64 bytes from 46.182.216.26: seq=0 ttl=58 time=4.698 ms
64 bytes from 46.182.216.26: seq=1 ttl=58 time=4.663 ms
64 bytes from 46.182.216.26: seq=2 ttl=58 time=4.567 ms
64 bytes from 46.182.216.26: seq=3 ttl=58 time=4.672 ms

--- www.domodynamic.nl ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 4.567/4.650/4.698 ms

Checked DNS and gateway, they are correct. My own website works fine, just not xml.buienradar.nl 

What am I overlooking here?

BR Hajo
Reply
#6
All of a sudden the script started working. Thanks Erwin, you'r a miracle worker.
Reply
#7
Unfortunately script stopt working again, any suggestions ?
Reply
#8
Hi,

You are nr 7 today (:

They upgraded something on the Buienradar server, call me tomorrow and i can run a fix for you.

BR,

Erwin
Reply


Forum Jump: