Page 1 of 1

Probleem met Jscript en parameters

Posted: Wed Aug 04, 2010 12:08 pm
by danzel1981
Hallo,

Ik ben een script aan het maken om buienradar uit te lezen ten behoeve van mijn tuinberegening, zie onderstaande code.
Echter wil ik de variabele sDevice, meegeven via parameters, de functie declaratie wordt dan:

Code: Select all

function Main(sDevice) 
, de regel

Code: Select all

var sDevice = "A1";
haal ik weg.

Bij "Optional parameters" vul ik dan in: ("Main", "A1").

De string "A1" wordt correct meegegeven in de functie Main, echter zie ik in de hs log "4-8-2010 11:55:36 Error Device A1 bestaat niet! " verschijnen, terwijl deze wel bestaat, dit gaat wel goed indien ik de waarde "A1" niet meegeef als parameter.

Het lijkt erop dat hs de parameter "A1" interpreteerd als geen string zijnde, ik heb

Code: Select all

hs.DeviceExists(new String(sDevice))
ook al getracht, echter zonder resultaat.

Iemand enig idee?

tnx!

Code: Select all

function Main() {
    var sDevice = "A1";

    if (hs.DeviceExists(sDevice) == -1) {
        hs.WriteLog("Error", "Device " + sDevice + " bestaat niet!");
    } else {
        var xHttp = new ActiveXObject("Microsoft.XMLHTTP");
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        var xmlNodes;

        xHttp.open("GET", "http://xml.buienradar.nl/", false);
        xHttp.send();

        xmlDoc = xHttp.responseXML;
        xmlNodes = xmlDoc.selectNodes("//buienradarnl/weergegevens/actueel_weer/weerstations/weerstation[@id=\"6377\"]");

        if (xmlNodes.length > 0) {
            var fRegen;

            try {
                fRegen = parseFloat(xmlNodes[0].selectSingleNode("regenMMPU").text);
            } catch (e) {
                fRegen = 0;
            }

            if (fRegen != 0) {
                hs.WriteLog("Error", "Het heeft " + fRegen + " mm geregend in de afgelopen 5 minuten.");
                if (hs.DeviceStatus(sDevice) != 2) {
                    hs.SetDeviceStatus(sDevice, 2);
                }
            } else {
                hs.WriteLog("Info", "Het heeft niet geregend in de afgelopen 5 minuten.");
            }
        }
    }
}    

Re: Probleem met Jscript en parameters

Posted: Fri Aug 06, 2010 9:21 am
by AshaiRey
Probeer eens

Code: Select all

string sDevice = "A1";
of

Code: Select all

function Main(string sDevice)
//var sDevice = "A1"; 

Re: Probleem met Jscript en parameters

Posted: Tue Aug 10, 2010 9:56 am
by danzel1981
Hey bedankt, ik heb het echter inmiddels omgezet naar VB script, veel voorbeelden zijn in vb gemaakt dus dat maakt het leven iets gemakkelijker :lol:

Groet!