[
    {
        "id": "1af41f7b.7fdcc9",
        "type": "template",
        "z": "530080da.f617a",
        "name": "Template",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "<!doctype html>\n<html>\n  <head>\n      <style>\n              {{{payload.style}}}\n      </style>\n    <meta charset=\"utf-8\">\n    <title>Fahrplananzeiger</title>\n    <script type=\"text/javascript\">\n        var ws;\n        var wsUri = \"ws:\";\n        var loc = window.location;\n        console.log(loc);\n        if (loc.protocol === \"https:\") { wsUri = \"wss:\"; }\n        // This needs to point to the web socket in the Node-RED flow\n        // ... in this case it's ws/fpa\n        wsUri += \"//\" + loc.host + loc.pathname.replace(\"fpa\",\"ws/fpa\");\n\n        function wsConnect() {\n            console.log(\"connect\",wsUri);\n            ws = new WebSocket(wsUri);\n            //var line = \"\";    // either uncomment this for a building list of messages\n            ws.onmessage = function(msg) {\n                console.log(msg);\n                var line = \"\";  // or uncomment this to overwrite the existing message\n                // parse the incoming message as a JSON object\n                data = msg.data;\n                //console.log(\"output\", data);                \n                obj = JSON.parse(data);\n                console.log(obj);\n                var tag = Object.keys(obj);\n                if( tag == \"time\") {\n                   //get time\n                   obj = obj.time;\n                   document.getElementById('time').innerHTML = obj;\n                }\n                if( tag == \"fault\") {\n                   //get fault\n                   obj = obj.fault;\n                   document.getElementById('fault').innerHTML = obj;\n                }\n                if(typeof(obj) == \"object\") {\n                    if(obj instanceof Array) {\n                    //console.log(obj.length);\n                    var pointer = obj.length;\n                    var list = document.getElementById('list');\n                    if(list.hasChildNodes()) {\n                        Anzahl = document.getElementById(\"list\").childNodes.length;\n                        //console.log(\"Liste\",list);\n                        //console.log(Anzahl);\n                        for (var i = 0; i < Anzahl; i++) {\n                            list.removeChild(list.firstChild);\n                        }\n                    }\n                    var i = 0;\n                    while( i < pointer ) {\n                        /* Start ceate Row for Display */\n                        /* Hier beginnt die Erzeugung der Zeilen für die Anzeige */\n                        row = document.createElement(\"tr\"); //Zeile erzeugen\n                        cell = document.createElement(\"td\"); // Zelle erzeugen\n                        /* Hier wird der Punkt als svg erzeugt */\n                        if( obj[i].point == \"*\") {\n                        svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n                        circle = document.createElementNS('http://www.w3.org/2000/svg', 'circle');\n                        circle.setAttribute('cx',\"7\"); // Position x\n                        circle.setAttribute('cy',\"7\"); // Position y\n                        circle.setAttribute('r',\"7\"); // Radius\n                        circle.setAttribute('fill',\"#00ff00\"); // Füllfarbe\n                        svg.appendChild(circle);\n                        svg.setAttribute('width', '14px');  //Breite svg\n                        svg.setAttribute('height', '14px');  // Höhe svg\n                        svg.setAttribute('viewBox', '0 0 14 14'); // sichtbare Größe svg\n                        cell.appendChild(svg);\n                        } else {\n                            text = document.createTextNode(\"\");\n                            cell.appendChild(text);\n                        }\n                        row.appendChild(cell);\n                        /* Ende Punkt erzeugen */\n                        cell = document.createElement(\"td\"); // Zelle erzeugen\n                        myP = document.createElement(\"p\"); // Absatz erzeugen\n                        text = document.createTextNode(obj[i].ptime); // Abfahrtzeit setzen\n                        myP.appendChild(text); // Abfahrtzeit setzen\n                        myP.setAttribute(\"id\",\"ptime\"); // ID Abfahrtzeit setzen\n                        cell.appendChild(myP); // Absatz an Zelle binden\n                        myP = document.createElement(\"p\"); // Absatz erzeugen\n                        text = document.createTextNode(obj[i].train); //Zug setzen\n                        myP.appendChild(text); //Zug setzen\n                        myP.setAttribute(\"id\",\"train\"); // ID Zug setzen\n                        cell.appendChild(myP); // Absatz an Zelle binden\n                        cell.setAttribute(\"class\",\"time\"); // class Absatz setzen\n                        row.appendChild(cell); // Zelle an Zeile binden\n                        cell = document.createElement(\"td\"); // Zelle erzeugen\n                        text = document.createTextNode(obj[i].des); // Ziel setzen\n                        cell.appendChild(text); // Ziel setzen\n                        cell.setAttribute(\"class\",\"des\"); // calls Ziel setzen\n                        row.appendChild(cell); // Zelle an Zeile binden\n                        cell = document.createElement(\"td\"); // Zelle erzeugen\n                        myP = document.createElement(\"p\"); // Absatz erzeugen\n                        text = document.createTextNode(obj[i].via); // Über etzen\n                        myP.appendChild(text); // Über setzen\n                        myP.setAttribute(\"id\",\"via\"); // ID Über setzen\n                        cell.appendChild(myP); // Absatz an Zelle binden\n                        myP = document.createElement(\"p\"); // Absatz erzeugen\n                        text = document.createTextNode(obj[i].delay); // Verspätung erzeugen\n                        myP.appendChild(text); // Verspätung erzeugen\n                        myP.setAttribute(\"id\",\"delay\"); // ID Verspätung setzen\n                        cell.appendChild(myP); // Absatz an Zelle binden\n                        myP = document.createElement(\"p\"); // Absatz erzeugen\n                        text = document.createTextNode(obj[i].cancel); // Ausfall erzeugen\n                        myP.appendChild(text); // Ausfall erzeugen\n                        myP.setAttribute(\"id\",\"cancel\"); // ID Ausfall setzen\n                        cell.appendChild(myP); // Absatz an Zelle binden                        \n                        cell.setAttribute(\"class\",\"via\"); // class Zelle setzen\n                        row.appendChild(cell); // Zelle an Zeile binden\n                        cell = document.createElement(\"td\"); // Zelle erzeugen\n                        text = document.createTextNode(obj[i].track); // Gleis etzen\n                        cell.appendChild(text);\n                        text = document.createTextNode(\" \");\n                        cell.appendChild(text);\n                        text = document.createTextNode(obj[i].notice); // Hinweis erzeugen\n                        cell.appendChild(text); // Hinweis erzeugen\n                        cell.setAttribute(\"class\",\"track\"); // class Zelle setzen\n                        row.appendChild(cell); // Zelle an Zeile binden\n                        row.setAttribute(\"id\",\"row\"); // id der Zeile setzen\n                        list.appendChild(row); // Zeile an Tabellen Body binden\n                        /* End generate*/\n                        /*Ende Erzeugung */\n                        i++;\n                    }\n                    }\n                }\n            }\n            ws.onopen = function() {\n                console.log(\"connected\");\n            }\n            ws.onclose = function() {\n                // in case of lost connection tries to reconnect every 3 secs\n                setTimeout(wsConnect,3000);\n            }\n        }\n    </script>\n</head>\n<body onload=\"wsConnect();\" onunload=\"ws.disconnect();\">\n<!-- Ab hier kann das Template angepasst werden -->\n<div class=\"table\">\n    <div class=\"head0\" style=\"padding-bottom: 0%\">\n\t\t\t<svg\n\t\t\t\txmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n\t\t\t\txmlns:cc=\"http://creativecommons.org/ns#\"\n\t\t\t\txmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n\t\t\t\txmlns:svg=\"http://www.w3.org/2000/svg\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tid=\"pikto\"\n\t\t\t\tversion=\"1.1\"\n\t\t\t\tviewBox=\"0 0 8.4666659 8.4666668\"\n\t\t\t\theight=\"32\"\n\t\t\t\twidth=\"32\">\n\t\t\t\t<defs\n\t\t\t\tid=\"defs864\" />\n\t\t\t\t\t<metadata\n\t\t\t\t\tid=\"metadata867\">\n\t\t\t\t\t<rdf:RDF>\n\t\t\t\t\t<cc:Work\n\t\t\t\t\trdf:about=\"\">\n\t\t\t\t\t<dc:format>image/svg+xml</dc:format>\n\t\t\t\t\t<dc:type\n\t\t\t\t\trdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />\n\t\t\t\t\t<dc:title></dc:title>\n\t\t\t\t</cc:Work>\n\t\t\t\t</rdf:RDF>\n\t\t\t\t</metadata>\n\t\t\t\t<g\n\t\t\t\ttransform=\"translate(0,-288.53333)\"\n\t\t\t\tid=\"layer1\">\n\t\t\t\t<path\n\t\t\t\tid=\"path1441\"\n\t\t\t\td=\"m 2.5516227,296.71425 c 0.924391,-0.008 2.43703,-0.008 3.36142,0 0.924391,0.008 0.168071,0.0138 -1.68071,0.0138 -1.848781,0 -2.605101,-0.006 -1.68071,-0.0138 z m -1.91173807,-0.11503 -0.117564,-0.10255 0.149397,0.0875 c 0.196627,0.11514 0.199552,0.11763 0.138313,0.11763 -0.02892,0 -0.105485,-0.0462 -0.170146,-0.10256 z m 6.98291707,0.0875 c 0.01141,-0.008 0.08798,-0.0544 0.170146,-0.10256 l 0.149397,-0.0875 -0.117564,0.10255 c -0.06466,0.0564 -0.141227,0.10256 -0.170147,0.10256 -0.02892,0 -0.04324,-0.007 -0.03183,-0.0151 z m -6.81459307,-0.23367 c -0.08927,-0.0544 -0.206832,-0.17199 -0.261258,-0.26125 -0.09608,-0.15759 -0.09896,-0.257 -0.09896,-3.42413 0,-3.16712 0.0029,-3.26653 0.09896,-3.42412 0.05443,-0.0893 0.171992,-0.20683 0.261258,-0.26126 0.15758903,-0.0961 0.25699807,-0.099 3.42412407,-0.099 3.167126,0 3.266534,0.003 3.424124,0.099 0.08926,0.0544 0.206831,0.17199 0.261257,0.26126 0.09608,0.15759 0.09896,0.257 0.09896,3.42412 0,3.16713 -0.0029,3.26654 -0.09896,3.42413 -0.05443,0.0893 -0.171992,0.20683 -0.261257,0.26125 -0.15759,0.0961 -0.256998,0.099 -3.424124,0.099 -3.167126,0 -3.26653504,-0.003 -3.42412407,-0.099 z m 6.83760607,-0.2719 0.122234,-0.12223 v -3.29125 -3.29125 l -0.122234,-0.12223 -0.122233,-0.12223 H 4.2323327 0.94108366 l -0.12223403,0.12223 -0.122233,0.12223 v 3.29125 3.29125 l 0.122233,0.12223 0.12223403,0.12224 h 3.29124904 3.291249 z m -6.501009,-1.09783 c 0,-0.17338 0.0012,-0.1743 0.224095,-0.1743 0.206864,0 0.224095,-0.01 0.224095,-0.12668 0,-0.1254 0.0036,-0.12653 0.361041,-0.11204 0.3313,0.0134 0.362352,0.0239 0.376955,0.12667 0.01534,0.10802 0.03459,0.11205 0.535337,0.11205 h 0.519424 v -0.1245 -0.12449 h 1.967053 1.967053 v 0.11669 c 0,0.1161 -0.004,0.11686 -0.784331,0.14868 -0.810861,0.0331 -1.497693,0.12396 -1.929704,0.25538 -0.200617,0.061 -0.561028,0.0759 -1.855006,0.0763 l -1.606012,5.7e-4 z m 1.344568,-0.57269 c -1.029691,-0.0278 -1.114617,-0.0533 -1.270494,-0.38184 -0.07116,-0.14997 -0.0808,-0.30263 -0.06344,-1.00551 0.01835,-0.74305 0.0346,-0.86987 0.157303,-1.22709 0.07526,-0.21911 0.197122,-0.52164 0.270797,-0.67228 l 0.133954,-0.2739 0.585137,-0.014 c 0.622141,-0.0149 0.658812,-0.0329 0.507415,-0.24906 -0.110613,-0.15793 -0.333019,-0.25979 -0.567191,-0.25979 -0.146061,0 -0.201668,-0.0206 -0.201668,-0.0747 0,-0.0639 0.143863,-0.0747 0.995977,-0.0747 0.852113,0 0.995976,0.0108 0.995976,0.0747 0,0.0541 -0.05561,0.0747 -0.201668,0.0747 -0.234173,0 -0.456578,0.10186 -0.567191,0.25979 -0.145929,0.20834 -0.106578,0.23819 0.313954,0.23819 0.490838,0 0.586109,0.0662 0.849703,0.5904 0.529559,1.0531 1.334423,1.70044 2.443723,1.96543 l 0.4482,0.10707 v 0.46019 0.46018 l -1.954603,0.0136 c -1.075032,0.007 -2.369178,0.002 -2.875882,-0.0113 z m 4.730888,-0.62249 c 0,-0.19089 -0.01476,-0.22409 -0.0996,-0.22409 -0.08228,0 -0.0996,0.0332 -0.0996,0.1909 0,0.20415 0.02743,0.25729 0.132797,0.25729 0.0455,0 0.0664,-0.0706 0.0664,-0.2241 z m -0.298793,-0.044 c 0,-0.19329 -0.01425,-0.22101 -0.124497,-0.24209 -0.118987,-0.0227 -0.124497,-0.0131 -0.124497,0.21829 0,0.22503 0.0088,0.24209 0.124497,0.24209 0.113862,0 0.124497,-0.0187 0.124497,-0.21829 z m -0.398391,-0.0805 c 0,-0.13695 -0.01681,-0.2493 -0.03735,-0.24968 -0.02054,-4.2e-4 -0.08777,-0.0142 -0.149396,-0.0307 -0.105355,-0.0282 -0.112047,-0.015 -0.112047,0.22112 0,0.19732 0.01868,0.25603 0.08715,0.27392 0.19786,0.0517 0.211645,0.0377 0.211645,-0.21466 z m -0.448189,-0.11651 c 0,-0.23661 -0.01397,-0.27226 -0.12684,-0.32369 -0.208598,-0.095 -0.22761,-0.0747 -0.211787,0.22651 0.01511,0.28761 0.04587,0.32417 0.301278,0.35812 0.02054,0.003 0.03735,-0.11469 0.037349,-0.26094 z m -0.549895,-0.21963 c -0.0021,-0.32814 -0.0062,-0.33876 -0.174296,-0.4459 l -0.172188,-0.10976 v 0.37106 c 0,0.37091 6.5e-5,0.37108 0.161847,0.44183 0.08901,0.0389 0.167448,0.0726 0.174295,0.0748 0.0068,0.002 0.0115,-0.14721 0.01034,-0.33208 z m -3.643165,0.0772 c 0.139685,-0.13968 0.03445,-0.38843 -0.164336,-0.38843 -0.133484,0 -0.224095,0.0906 -0.224095,0.2241 0,0.13348 0.09061,0.22409 0.224095,0.22409 0.05752,0 0.131468,-0.0269 0.164336,-0.0598 z m 1.955485,-0.0461 c 0.08968,-0.16758 -0.01372,-0.3423 -0.202567,-0.3423 -0.111154,0 -0.165881,0.0315 -0.205386,0.1182 -0.07899,0.17336 0.0185,0.32999 0.205386,0.32999 0.09782,0 0.164568,-0.0349 0.202567,-0.10589 z m 1.092202,-0.40689 v -0.41318 l -0.199195,-0.19451 -0.199195,-0.19451 v 0.30195 c 0,0.54734 0.04919,0.76025 0.193803,0.83885 0.07144,0.0388 0.146696,0.0715 0.167238,0.0726 0.02054,10e-4 0.03735,-0.18394 0.03735,-0.41119 z m -0.873248,-0.94883 c 0.08818,-0.0645 0.08524,-0.0834 -0.07135,-0.46064 -0.08982,-0.21636 -0.188549,-0.40986 -0.219394,-0.42998 -0.03085,-0.0201 -0.484721,-0.0369 -1.008612,-0.0374 -0.702437,-5.6e-4 -0.965904,0.0156 -1.003466,0.0615 -0.07572,0.0925 -0.309851,0.68854 -0.309851,0.78877 0,0.0478 0.02801,0.0982 0.06225,0.11198 0.03424,0.0138 0.601395,0.0269 1.260353,0.029 0.9323,0.003 1.218506,-0.011 1.290068,-0.0633 z m -0.884452,-1.50352 0.109754,-0.17219 h -0.244408 -0.244409 l 0.109755,0.17219 c 0.06036,0.0947 0.120959,0.17218 0.134654,0.17218 0.01369,0 0.07429,-0.0775 0.134654,-0.17218 z m -2.80448907,5.72741 c -0.04543,-0.0693 -0.07353,-0.13511 -0.06246,-0.14618 0.01107,-0.0111 0.05788,0.0456 0.104027,0.12605 0.102768,0.17907 0.07225,0.19384 -0.04157,0.0201 z m 7.68148707,0.002 c 0.115138,-0.19663 0.117625,-0.19956 0.117625,-0.13832 0,0.0289 -0.04615,0.10549 -0.102553,0.17015 l -0.102553,0.11756 z m -7.77685707,-3.56062 c 0,-1.84878 0.0062,-2.6051 0.0138,-1.68071 0.0076,0.92439 0.0076,2.43703 0,3.36142 -0.0076,0.92439 -0.0138,0.16807 -0.0138,-1.68071 z m 7.91801207,0 c 0,-1.84878 0.0062,-2.6051 0.0138,-1.68071 0.0076,0.92439 0.0076,2.43703 0,3.36142 -0.0076,0.92439 -0.0138,0.16807 -0.0138,-1.68071 z m -7.89174307,-3.4223 c 0,-0.0289 0.04615,-0.10548 0.102554,-0.17015 l 0.102553,-0.11756 -0.08748,0.1494 c -0.115138,0.19662 -0.117625,0.19955 -0.117627,0.13831 z m 7.75544707,-0.12618 -0.08787,-0.16153 0.100317,0.11756 c 0.08536,0.10004 0.130985,0.20691 0.08787,0.20582 -0.0068,-1.4e-4 -0.05199,-0.073 -0.100317,-0.16185 z M 0.63988463,288.9366 c 0.06466,-0.0564 0.141226,-0.10255 0.170146,-0.10255 0.06124,0 0.05831,0.002 -0.138313,0.11762 l -0.149397,0.0875 z m 7.10326407,-0.006 c -0.08217,-0.0526 -0.123867,-0.0958 -0.09266,-0.096 0.0312,-1.4e-4 0.109635,0.0438 0.174296,0.0977 0.148054,0.12334 0.112442,0.12259 -0.08163,-0.002 z m -5.191526,-0.13354 c 0.924391,-0.008 2.43703,-0.008 3.36142,0 0.924391,0.008 0.168071,0.0138 -1.68071,0.0138 -1.848781,0 -2.605101,-0.006 -1.68071,-0.0138 z\"\n\t\t\t\tstyle=\"fill:#ffffff;fill-opacity:1;stroke-width:0.04979881\" />\n\t\t\t\t</g>\n\t\t\t</svg>\n\t</div>\n    <div class=\"head3\" id=\"time\">\n        <strong>\n        {{ time }}\n        </strong>\n    </div>\t\n    <div class=\"head1\">\n        <strong>\n            Abfahrt Hbf\n        </strong>\n    </div>\n    <div class=\"head4\">\n\t<svg xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.0\" width=\"744.09448\" height=\"526.5354\" class=\"skalierendes-svg\" viewBox=\"0 0 745 527\" id=\"logo\">\n\t\t<defs id=\"defs2369\"/>\n\t\t<g transform=\"translate(-593.32638,-244.47955)\" id=\"layer1\">\n\t\t<g transform=\"matrix(2.8072397,0,0,2.8072397,-1054.5664,-1311.3148)\" id=\"g2504\">\n\t\t<path d=\"M 829.65558,723.91382 L 607.93512,723.91382 L 607.93512,572.06531 L 829.65558,572.06531 L 829.65558,723.91382 z \" style=\"fill:#ffffff;fill-rule:nonzero;stroke:none\" id=\"path94\"/>\n\t\t<path d=\"M 628.05363,591.26554 L 672.46452,591.26554 C 700.1795,591.26554 716.45792,609.13001 716.45792,647.69737 C 716.45792,688.76906 699.42822,705.21447 672.46452,705.21447 L 628.05363,705.21447 L 628.05363,591.26554 z M 728.89635,591.26554 L 778.56638,591.26554 C 799.35267,591.26554 809.78756,603.78737 809.78756,618.22924 C 809.78756,637.17898 798.68479,643.60689 790.08654,645.44344 L 790.08654,645.94432 C 802.94226,647.61387 814.54582,656.71311 814.54582,674.16029 C 814.46242,692.94303 800.85532,705.21447 775.47767,705.21447 L 728.89635,705.21447 L 728.89635,591.26554 z M 655.51822,609.13001 L 665.28523,609.13001 C 681.06286,609.13001 689.41072,620.48318 689.41072,647.19649 C 689.41072,677.83328 679.6437,687.01601 665.78612,687.01601 L 655.51822,687.01601 L 655.51822,609.13001 z M 756.11055,608.96311 L 766.62884,608.96311 C 777.39772,608.96311 781.82209,614.97354 781.82209,621.98583 C 781.82209,630.50068 777.23072,636.4277 766.46194,636.4277 L 756.11055,636.4277 L 756.11055,608.96311 z M 756.11055,657.88187 L 769.04977,657.88187 C 781.82209,657.88187 785.24469,664.05929 785.24469,672.15675 C 785.24469,681.58987 778.39939,687.01601 769.21676,687.01601 L 756.11055,687.01601 L 756.11055,657.88187 z M 619.12139,560.54524 L 819.88856,560.54524 C 834.16344,560.54524 845.767,572.06531 845.767,586.34028 L 845.767,709.55535 C 845.767,723.83032 834.16344,735.43388 819.88856,735.43388 L 619.12139,735.43388 C 604.84642,735.43388 593.32635,723.83032 593.32635,709.55535 L 593.32635,586.34028 C 593.32635,572.06531 604.84642,560.54524 619.12139,560.54524 z M 619.45528,578.15932 L 819.63807,578.15932 C 824.06244,578.15932 827.65204,581.74892 827.65204,586.17329 L 827.65204,709.72234 C 827.65204,714.14671 824.06244,717.7363 819.63807,717.7363 L 619.45528,717.7363 C 615.03091,717.7363 611.44132,714.14671 611.44132,709.72234 L 611.44132,586.17329 C 611.44132,581.74892 615.03091,578.15932 619.45528,578.15932\" style=\"fill:#ec1b2d;fill-rule:evenodd;stroke:none\" id=\"path96\"/>\n\t\t</g>\n\t\t</g>\n\t</svg>\n    </div>\n</div>\n<table class=head>\n    <colgroup>\n    <col width=\"10\">\n    <col width=\"30\">\n    <col width=\"80\">\n    <col width=\"140\">\n    <col width=\"40\">\n    </colgroup>\n\t<tr class=\"trhead\">\n        <th class=\"trhead\"> </th>\n        <th class=\"trhead\">Zeit</th>\n        <th class=\"trhead\">Nach</th>\n        <th class=\"trhead\">Über</th>\n        <th class=\"trhead\" style=\"text-align:center\">Gleis</th>\n    </tr>\n</table>\n<table class=\"list\">\n    <colgroup>\n    <col width=\"10\">\n    <col width=\"30\">\n    <col width=\"80\">\n    <col width=\"140\">\n    <col width=\"40\">\n    </colgroup>\n<tbody id=\"list\"></tbody>\n</table>\n<table class=\"foot\">\n    <tr class=\"foot\">\n        <td class=\"foot\" id=\"fault\">\n          {{ fault }}\n        </td>\n    </tr>\n</table>\n</body>\n</html>",
        "output": "str",
        "x": 489.5,
        "y": 282,
        "wires": [
            [
                "f87e0b14.a93978"
            ]
        ]
    }
]