Hi there, I'm currently facing some new challenges. I'm using uibuilder on Node Red and I've successfully created an HTML page. However, I'm struggling to figure out how to get an external msg.payload to display on my HTML page. I also don't have much experience with HTML.
My goal is to get for  1: { ChargeNr: "", Legierung: "", Length = msg.payload.P1R1Length}, .
I get also the msg.payload.P1R1Length i proofed it so .
HTML`<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" href="../uibuilder/images/node-blue.ico">
    <title>Circle Grid</title>
    <meta name="description" content="Node-RED uibuilder - Circle Grid">
    <link rel="stylesheet" type="text/css" href="./index.css" media="all">
    <script defer src="../uibuilder/uibuilder.iife.min.js"></script>
    <style>
        /* Get circles visible */
        .circle {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background-color: #ccc;
            display: inline-block;
            position: absolute;
            margin: -20px 0 0 -20px;
            cursor: pointer;
        }
        .circle.green {
            background-color: #0f0;
        }
        .circle:hover {
            background-color: #aaa;
        }
        /* vertical separator */
        .separator {
            width: 2px;
            height: 190%;
            background-color: #666;
            position: absolute;
            left: 0;
            top: 0;
        }
        h1.with-subtitle {
            text-align: center;
            margin-left: -50px;
        }
        /* Add styling for the circle numbers */
        .circle-number {
            font-size: 18px;
            font-weight: bold;
            color: #333;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }
        /* Add styling for the vertical numbering */
        .vertical-number {
            font-size: 18px;
            font-weight: bold;
            color: #333;
            position: absolute;
            left: 0;
            text-align: right;
        }
    </style>
</head>
<body class="uib">
    <h1 class="with-subtitle">Circle Grid - uibuilder Blank Template</h1>
    <div role="doc-subtitle">Using the IIFE library.</div>
    <div id="circle-grid" style="position: relative; width: 900px; height: 450px; margin: 0 auto;">
        <!-- Add vertical numbering -->
        <div style="position: absolute; left: -80px; bottom: 0; height: 100%; width: 30px;">
        </div>
    </div>
    <script>
        // Add vertical numbering
        for (let i = 15; i >= 1; i--) {
            const verticalNumber = document.createElement('div');
            verticalNumber.className = 'vertical-number';
            verticalNumber.style.bottom = `${(15 - i) * 59.5 - 400}px`;
            verticalNumber.style.left = `35px`; // adjust the left position
            verticalNumber.textContent = `${15 - i + 1}`;
            verticalNumber.style.color = '#333'; // corrected color
            document.querySelector('#circle-grid > div').appendChild(verticalNumber);
        }
        const R3P1Laenge = msg.payload.R3P1Laenge;
    </script>
    <script>
        // Generate the circle grid
        const circleGrid = document.getElementById('circle-grid');
        const circleData = {
            
            1: { ChargeNr: "", Legierung: "", Length: 0},
            2: { ChargeNr: "", Legierung: "", Length: 0 },
            3: { ChargeNr: "", Legierung: "", Length: 0 },
            4: { ChargeNr: "", Legierung: "", Length: 0 },
            5: { ChargeNr: "", Legierung: "", Length: 0 },
            6: { ChargeNr: "", Legierung: "", Length: 0 },
            7: { ChargeNr: "", Legierung: "", Length: 0 },
            8: { ChargeNr: "", Legierung: "", Length: 0 },
            9: { ChargeNr: "", Legierung: "", Length: 0 },
            10: { ChargeNr: "", Legierung: "", Length: 0 },
            11: { ChargeNr: "", Legierung: "", Length: 0 },
            12: { ChargeNr: "", Legierung: "", Length: 0 },
            13: { ChargeNr: "", Legierung: "", Length: 0 },
            14: { ChargeNr: "12", Legierung: "12", Length: 1 },
            15: { ChargeNr: "Char15", Legierung: "Leg15", Length: 500 },
            16: { ChargeNr: "", Legierung: "", Length: 0 },
            17: { ChargeNr: "", Legierung: "", Length: 0 },
            18: { ChargeNr: "", Legierung: "", Length: 0 },
            19: { ChargeNr: "", Legierung: "", Length: 0 },
            20: { ChargeNr: "", Legierung: "", Length: 0 },
            21: { ChargeNr: "", Legierung: "", Length: 0 },
            22: { ChargeNr: "", Legierung: "", Length: 0 },
            23: { ChargeNr: "", Legierung: "", Length: 0 },
            24: { ChargeNr: "", Legierung: "", Length: 0 },
            25: { ChargeNr: "", Legierung: "", Length: 0 },
            26: { ChargeNr: "", Legierung: "", Length: 0 },
            27: { ChargeNr: "", Legierung: "", Length: 0 },
            28: { ChargeNr: "", Legierung: "", Length: 0 },
            29: { ChargeNr: "", Legierung: "", Length: 0 },
            30: { ChargeNr: "", Legierung: "", Length: 0 },
            31: { ChargeNr: "N886", Legierung: "CuCOAL79", Length: 7050 },
            32: { ChargeNr: "", Legierung: "", Length: 0 },
            33: { ChargeNr: "", Legierung: "", Length: 0 },
            34: { ChargeNr: "", Legierung: "", Length: 0 },
            35: { ChargeNr: "", Legierung: "", Length: 0 },
            36: { ChargeNr: "", Legierung: "", Length: 0 },
            37: { ChargeNr: "", Legierung: "", Length: 0 },
            38: { ChargeNr: "", Legierung: "", Length: 0 },
            39: { ChargeNr: "", Legierung: "", Length: 0 },
            40: { ChargeNr: "", Legierung: "", Length: 0 },
            41: { ChargeNr: "", Legierung: "", Length: 0 },
            42: { ChargeNr: "", Legierung: "", Length: 0 },
            43: { ChargeNr: "", Legierung: "", Length: 0 },
            44: { ChargeNr: "", Legierung: "", Length: 0 },
            45: { ChargeNr: "", Legierung: "", Length: 0 },
            46: { ChargeNr: "", Legierung: "", Length: 0 },
            47: { ChargeNr: "", Legierung: "", Length: 0 },
            48: { ChargeNr: "", Legierung: "", Length: 0 },
            49: { ChargeNr: "", Legierung: "", Length: 0 },
            50: { ChargeNr: "", Legierung: "", Length: 0 },
            51: { ChargeNr: "", Legierung: "", Length: 0 },
            52: { ChargeNr: "", Legierung: "", Length: 0 },
            53: { ChargeNr: "", Legierung: "", Length: 0 },
            54: { ChargeNr: "", Legierung: "", Length: 0 },
            55: { ChargeNr: "", Legierung: "", Length: 0 },
            56: { ChargeNr: "", Legierung: "", Length: 0 },
            57: { ChargeNr: "", Legierung: "", Length: 0 },
            58: { ChargeNr: "", Legierung: "", Length: 0 },
            59: { ChargeNr: "", Legierung: "", Length: 0 },
            60: { ChargeNr: "", Legierung: "", Length: 0 },
            61: { ChargeNr: "", Legierung: "", Length: 0 },
            62: { ChargeNr: "", Legierung: "", Length: 0 },
            63: { ChargeNr: "", Legierung: "", Length: 0 },
            64: { ChargeNr: "", Legierung: "", Length: 0 },
            65: { ChargeNr: "", Legierung: "", Length: 0 },
            66: { ChargeNr: "", Legierung: "", Length: 0 },
            67: { ChargeNr: "", Legierung: "", Length: 0 },
            68: { ChargeNr: "", Legierung: "", Length: 0 },
            69: { ChargeNr: "", Legierung: "", Length: 0 },
            70: { ChargeNr: "", Legierung: "", Length: 0 },
            71: { ChargeNr: "", Legierung: "", Length: 0 },
            72: { ChargeNr: "", Legierung: "", Length: 0 },
            73: { ChargeNr: "", Legierung: "", Length: 0 },
            74: { ChargeNr: "", Legierung: "", Length: 0 },
            75: { ChargeNr: "", Legierung: "", Length: 0 },
            76: { ChargeNr: "", Legierung: "", Length: 0 },
            77: { ChargeNr: "", Legierung: "", Length: 0 },
            78: { ChargeNr: "", Legierung: "", Length: 0 },
            79: { ChargeNr: "", Legierung: "", Length: 0 },
            80: { ChargeNr: "", Legierung: "", Length: 0 },
            81: { ChargeNr: "", Legierung: "", Length: 0 },
            82: { ChargeNr: "", Legierung: "", Length: 0 },
            83: { ChargeNr: "", Legierung: "", Length: 0 },
            84: { ChargeNr: "", Legierung: "", Length: 0 },
            85: { ChargeNr: "", Legierung: "", Length: 0 },
            86: { ChargeNr: "", Legierung: "", Length: 0 },
            87: { ChargeNr: "", Legierung: "", Length: 0 },
            88: { ChargeNr: "", Legierung: "", Length: 0 },
            89: { ChargeNr: "", Legierung: "", Length: 0 },
            90: { ChargeNr: "", Legierung: "", Length: 0 },
            91: { ChargeNr: "", Legierung: "", Length: 0 },
            92: { ChargeNr: "", Legierung: "", Length: 0 },
            93: { ChargeNr: "", Legierung: "", Length: 0 },
            94: { ChargeNr: "", Legierung: "", Length: 0 },
            95: { ChargeNr: "", Legierung: "", Length: 0 },
            96: { ChargeNr: "", Legierung: "", Length: 0 },
            97: { ChargeNr: "", Legierung: "", Length: 0 },
            98: { ChargeNr: "", Legierung: "", Length: 0 },
            99: { ChargeNr: "", Legierung: "", Length: 0 },
            100: { ChargeNr: "", Legierung: "", Length: 0 },
            101: { ChargeNr: "", Legierung: "", Length: 0 },
            102: { ChargeNr: "", Legierung: "", Length: 0 },
            103: { ChargeNr: "", Legierung: "", Length: 0 },
            104: { ChargeNr: "", Legierung: "", Length: 0 },
            105: { ChargeNr: "", Legierung: "", Length: 0 },
            106: { ChargeNr: "", Legierung: "", Length: 0 },
            107: { ChargeNr: "", Legierung: "", Length: 0 },
            108: { ChargeNr: "", Legierung: "", Length: 0 },
            109: { ChargeNr: "", Legierung: "", Length: 0 },
            110: { ChargeNr: "", Legierung: "", Length: 0 },
            111: { ChargeNr: "", Legierung: "", Length: 0 },
            112: { ChargeNr: "", Legierung: "", Length: 0 },
            113: { ChargeNr: "", Legierung: "", Length: 0 },
            114: { ChargeNr: "", Legierung: "", Length: 0 },
            115: { ChargeNr: "", Legierung: "", Length: 0 },
            116: { ChargeNr: "", Legierung: "", Length: 0 },
            117: { ChargeNr: "", Legierung: "", Length: 0 },
            118: { ChargeNr: "", Legierung: "", Length: 0 },
            119: { ChargeNr: "", Legierung: "", Length: 0 },
            120: { ChargeNr: "", Legierung: "", Length: 0 },
            121: { ChargeNr: "", Legierung: "", Length: 0 },
            122: { ChargeNr: "", Legierung: "", Length: 0 },
            123: { ChargeNr: "", Legierung: "", Length: 0 },
            124: { ChargeNr: "", Legierung: "", Length: 0 },
            125: { ChargeNr: "", Legierung: "", Length: 0 },
            126: { ChargeNr: "", Legierung: "", Length: 0 },
            127: { ChargeNr: "", Legierung: "", Length: 0 },
            128: { ChargeNr: "", Legierung: "", Length: 0 },
            129: { ChargeNr: "", Legierung: "", Length: 0 },
            130: { ChargeNr: "", Legierung: "", Length: 0 },
            131: { ChargeNr: "", Legierung: "", Length: 0 },
            132: { ChargeNr: "", Legierung: "", Length: 0 },
            133: { ChargeNr: "", Legierung: "", Length: 0 },
            134: { ChargeNr: "", Legierung: "", Length: 0 },
            135: { ChargeNr: "", Legierung: "", Length: 0 },
            136: { ChargeNr: "", Legierung: "", Length: 0 },
            137: { ChargeNr: "", Legierung: "", Length: 0 },
            138: { ChargeNr: "", Legierung: "", Length: 0 },
            139: { ChargeNr: "", Legierung: "", Length: 0 },
            140: { ChargeNr: "", Legierung: "", Length: 0 },
            141: { ChargeNr: "", Legierung: "", Length: 0 },
            142: { ChargeNr: "", Legierung: "", Length: 0 },
            143: { ChargeNr: "", Legierung: "", Length: 0 },
            144: { ChargeNr: "", Legierung: "", Length: 0 },
            145: { ChargeNr: "", Legierung: "", Length: 0 },
            146: { ChargeNr: "", Legierung: "", Length: 0 },
            147: { ChargeNr: "", Legierung: "", Length: 0 },
            148: { ChargeNr: "", Legierung: "", Length: 0 },
            149: { ChargeNr: "", Legierung: "", Length: 0 },
            150: { ChargeNr: "", Legierung: "", Length: 0 },
            151: { ChargeNr: "", Legierung: "", Length: 0 },
            152: { ChargeNr: "", Legierung: "", Length: 0 },
            153: { ChargeNr: "", Legierung: "", Length: 0 },
            154: { ChargeNr: "", Legierung: "", Length: 0 },
            155: { ChargeNr: "", Legierung: "", Length: 0 },
            156: { ChargeNr: "", Legierung: "", Length: 0 },
            157: { ChargeNr: "", Legierung: "", Length: 0 },
            158: { ChargeNr: "", Legierung: "", Length: 0 },
            159: { ChargeNr: "", Legierung: "", Length: 0 },
            160: { ChargeNr: "", Legierung: "", Length: 0 },
            161: { ChargeNr: "", Legierung: "", Length: 0 },
            162: { ChargeNr: "", Legierung: "", Length: 0 },
            163: { ChargeNr: "", Legierung: "", Length: 0 },
            164: { ChargeNr: "", Legierung: "", Length: 0 },
            165: { ChargeNr: "", Legierung: "", Length: 0 },
            166: { ChargeNr: "", Legierung: "", Length: 0 },
            167: { ChargeNr: "", Legierung: "", Length: 0 },
            168: { ChargeNr: "", Legierung: "", Length: 0 },
            169: { ChargeNr: "", Legierung: "", Length: 0 },
            170: { ChargeNr: "", Legierung: "", Length: 0 },
            171: { ChargeNr: "", Legierung: "", Length: 0 },
            172: { ChargeNr: "", Legierung: "", Length: 0 },
            173: { ChargeNr: "N113", Legierung: "JKL96", Length: 235 },
            174: { ChargeNr: "", Legierung: "", Length: 0 },
            175: { ChargeNr: "", Legierung: "", Length: 0 },
            176: { ChargeNr: "", Legierung: "", Length: 0 },
            177: { ChargeNr: "", Legierung: "", Length: 0 },
            178: { ChargeNr: "", Legierung: "", Length: 0 },
            179: { ChargeNr: "", Legierung: "", Length: 0 },
            180: { ChargeNr: "", Legierung: "", Length: 0 }
            
            
            
            
            
        };
        for (let i = 0; i < 180; i++) {
            const circle = document.createElement('div');
            circle.className = 'circle';
            circle.style.left = `${(circleGrid.offsetWidth / 2) - 420 + (Math.floor(i / 15) * 60) - 20}px`;
            circle.style.top = `${(i % 15) * 60}px`;
            circle.setAttribute('id', `circle${i + 1}`);
            circle.setAttribute('name', `Circle ${i + 1}`);
            if (circleData[i + 1]) {
                const data = circleData[i + 1];
                circle.setAttribute('data-chargenr', data.ChargeNr);
                circle.setAttribute('data-legierung', data.Legierung);
                circle.setAttribute('data-length', data.Length);
                //  if (data.ChargeNr !== "" && data.Legierung !== "" && data.Length !== 0) {
                if (data.Length !== 0) {
                    circle.classList.add('green');
                }
            } else {
                circle.setAttribute('data-chargenr', '');
                circle.setAttribute('data-legierung', '');
                circle.setAttribute('data-length', '0');
            }
            // Add a click event to the circle
            circle.onclick = function() {
                alert(`ChargeNr.: ${this.getAttribute('data-chargenr')}\nLegierung: ${this.getAttribute('data-legierung')}\nLength: ${this.getAttribute('data-length')}`);
            };
            // Add a vertical separator for every 15th circle
            if (i % 15 === 0 && i !== 0) {
                const separator = document.createElement('div');
                separator.className = 'separator';
                separator.style.left = `${parseInt(circle.style.left) - 30}px`; // adjust the left position of the separator
                circleGrid.appendChild(separator);
            }
            // Add a number to the circle
            const circleNumber = document.createElement('div');
            circleNumber.className = 'circle-number';
            circleNumber.textContent = `${Math.floor(i / 15) + 1}`;
            circle.appendChild(circleNumber);
            circleGrid.appendChild(circle);
        }
    </script>
</body>
</html>`
            
