[
    {
        "id": "953ddfa3daa2b330",
        "type": "http request",
        "z": "8e38f7e60c11d07a",
        "name": "",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "https://wasserstand-nordsee.bsh.de/data/DE__505P.json",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 310,
        "y": 380,
        "wires": [
            [
                "7980e6a3bc5b7045"
            ]
        ]
    },
    {
        "id": "c35e4a64440425d9",
        "type": "inject",
        "z": "8e38f7e60c11d07a",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "600",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 90,
        "y": 380,
        "wires": [
            [
                "953ddfa3daa2b330"
            ]
        ]
    },
    {
        "id": "7980e6a3bc5b7045",
        "type": "function",
        "z": "8e38f7e60c11d07a",
        "name": "function 2",
        "func": "let tideData = msg.payload.hwnw_forecast.data;\n\n// Funktion zur Umwandlung in lokale Zeit (Europe/Berlin)\nfunction getLocalTime(utcString) {\n    let isoString = utcString.replace(' ', 'T');\n    if (!isoString.endsWith('Z') && !isoString.includes('+')) {\n        isoString += 'Z';\n    }\n    let date = new Date(isoString);\n    // Nur Uhrzeit, im deutschen Format\n    return date.toLocaleTimeString(\"de-DE\", { timeZone: \"Europe/Berlin\", hour: '2-digit', minute: '2-digit' });\n}\n\n// Array für die beiden Payloads\nlet payloads = [];\n\nfor (let i = 0; i < 2; i++) {\n    let event = tideData[i];\n    let icon = event.event === \"HW\" ? 19481 : 19480;\n    let text = getLocalTime(event.timestamp);\n\n    payloads.push({\n        \"icon\": icon,\n        \"text\": text,\n        \"lifetime\": 305\n    });\n}\n\n// Wenn du beide nacheinander senden willst, kannst du sie als array ausgeben oder einzeln weiterverarbeiten\n// Hier als array:\nmsg.payload = payloads;\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 540,
        "y": 380,
        "wires": [
            [
                "7eaa8bbb418a0b21"
            ]
        ]
    },
    {
        "id": "7eaa8bbb418a0b21",
        "type": "http request",
        "z": "8e38f7e60c11d07a",
        "name": "AwtrixUlanzi/tide",
        "method": "POST",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "http://192.168.178.78/api/custom?name=tide",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [
            {
                "keyType": "Content-Type",
                "keyValue": "",
                "valueType": "other",
                "valueValue": "application/json"
            }
        ],
        "x": 760,
        "y": 380,
        "wires": [
            []
        ],
        "icon": "font-awesome/fa-align-left"
    }
]