MagicMirror² v2.14.0 is available! For more information about this release, check out this topic.

http request

  • hello,

    I need a module to show value from a http request url from an ipx ( device.

    any expérience?


  • In php I’m using this code

    $xml = simplexml_load_file('http://ip:8889/status.xml');
    $result = array();
    foreach($xml->children() as $child){
    $result[$child->getName()] = trim($child);

  • Module Developer

    Sorry, I wanted to reply to this sooner but I had some issues setting up!

    What kind of information are you trying to display?

  • @Eunanibus Based on a xml file containing data from temperature captors, via the code above in php I visualise some data in a html table.

    I need convert the php code to js code, i think

  • Module Developer

    Sure. So I’d probably go about it with this approach and work from there:

    Try starting with the HelloWorld module and work from there. I’d start with putting this in the GetDom() function and return the contents of whatever you want displayed in the wrapper by appending it.

    var wrapper = document.createElement("div");
    var xmlhttp = new XMLHttpRequest();
    var url = "http://ip:8889/status.xml";
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var results = JSON.parse(xmlhttp.responseText);
            wrapper.innerHTML = parseResults(results);
    };"GET", url, true);
    return wrapper;
    function parseResults(results) {
       var nodes = results.childNodes;.
       var resultsContainer = document.createElement("div");
        var out = "";
        var i;
        for(i = 0; i < results.length; i++) {
            var resultWrapper = document.createElement("div");
            resultWrapper.innerHTML = x[i].nodeName + ": " + x[i].childNodes[0].nodeValue + "<br />";
        return resultsContainer;

    I’m a bit of a beginner too, but I think that might give you something to start with?

  • wow super,

    I’m trying to run the code but “ReferenceError: document is not defined”

  • Module Developer

    I’m replying Mobile at the moment so I can’t give you a comprehensive answer (sorry) - does it say which line the error occurs?

    Ensure that the parseData function is not within the GetDom() method, but isolated on its own. Go through and ensure that the document.createElement(“div”) function is referencing a document.

    Sorry, I mocked up that code in about 10 minutes and I’m not an expert so there may be issues.

  • ok no problem, I will try to check and share of course

  • I think I’m not sure where exactly to put the code

  • Module Developer

    Ok. I took a look at this last night and I’m getting somewhere so let me get back to you on this. I’m just trying to create the module for you.

Log in to reply