JSON-Payload mit Node-Red

Hallo,

kann mir einer von euch mal auf die Sprünge helfen. Ich möchte die Temperatur und Luftfeuchtigkeit zu einem Server senden, was im Prinzip auch funktioniert. Ich bekomme die Entität aber nicht in den Payload geladen. Kann mir einer sagen, wie ich das schreiben muss?

// Runden der Werte auf ganze Zahlen
var roundedTemperature = Math.round(parseFloat(msg.payload.sensor.box3_temperature));
var roundedHumidity = Math.round(parseFloat(msg.payload.sensor.box3_Humidity));
var roundedIdentifier = Math.round(parseFloat(msg.payload.input_number.identifier_box3));

// JSON-Payload erstellen
msg.payload = {
    temperature: roundedTemperature,
    humidity: roundedHumidity,
    Identifier: roundedIdentifier
};

return msg;

Viele Grüße
Stefan

Moin,
hast du den Ausgang der function Node einfach mal durch die json Node gejagt?
grafik
Da es aus der function Node als Objekt raus kommt.

LG

Du erzeugst ja erstmal ein Objekt, dieses müsstest du dann zusätzlich in einen JSON-String umwandeln.

// Runden der Werte auf ganze Zahlen
var roundedTemperature = Math.round(parseFloat(msg.payload.sensor.box3_temperature));
var roundedHumidity = Math.round(parseFloat(msg.payload.sensor.box3_Humidity));
var roundedIdentifier = Math.round(parseFloat(msg.payload.input_number.identifier_box3));

// JSON-Payload erstellen
msg.payload = JSON.stringify( {
    temperature: roundedTemperature,
    humidity: roundedHumidity,
    Identifier: roundedIdentifier
});

return msg;

Guten Morgen,

vielen Dank für eure Antworten. Hab noch einmal den ganzen Code mit angehangen. Ok, dann werde ich da noch einmal schauen.

[
    {
        "id": "0095094406b1ad38",
        "type": "tab",
        "label": "Flow 4",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "inject",
        "type": "inject",
        "z": "0095094406b1ad38",
        "name": "Sende Werte",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "10",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "str",
        "x": 180,
        "y": 80,
        "wires": [
            [
                "function"
            ]
        ]
    },
    {
        "id": "function",
        "type": "function",
        "z": "0095094406b1ad38",
        "name": "JSON erstellen",
        "func": "// Runden der Werte auf ganze Zahlen\nvar roundedTemperature = Math.round(parseFloat(msg.payload.sensor.box3_temperature));\nvar roundedHumidity = Math.round(parseFloat(msg.payload.sensor.box3_humidity));\nvar roundedIdentifier = Math.round(parseFloat(msg.payload.input_number.identifier_box3));\n\n// JSON-Payload erstellen\nmsg.payload = {\n    temperature: roundedTemperature,\n    humidity: roundedHumidity,\n    Identifier: roundedIdentifier\n};\n\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 380,
        "y": 80,
        "wires": [
            [
                "http_request"
            ]
        ]
    },
    {
        "id": "http_request",
        "type": "http request",
        "z": "0095094406b1ad38",
        "name": "Sende POST",
        "method": "POST",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "http://xxx.xxx.xxx.xxx:xxx/api/humidity",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 580,
        "y": 80,
        "wires": [
            [
                "debug"
            ]
        ]
    },
    {
        "id": "debug",
        "type": "debug",
        "z": "0095094406b1ad38",
        "name": "Antwort anzeigen",
        "active": false,
        "tosidebar": true,
        "console": false,
        "complete": "payload",
        "targetType": "msg",
        "x": 780,
        "y": 80,
        "wires": []
    }
]

Hab´s hin bekommen, falls es jemanden interessiert…

[
    {
        "id": "caad49ce5c607c2d",
        "type": "tab",
        "label": "3D-MES",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "7673221db4b8ee65",
        "type": "inject",
        "z": "caad49ce5c607c2d",
        "name": "Sende Werte",
        "props": [],
        "repeat": "10",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "topic": "",
        "x": 120,
        "y": 40,
        "wires": [
            [
                "045c055301561e39",
                "e8ee5ecd08e127e6",
                "6de841a47e8d350e",
                "5319fce987bbcd90",
                "dba613fe0f6c9993",
                "46061c23d2d737d1",
                "45c15626b647372a",
                "f29d0ae75620f52c",
                "75d10cd38071898c"
            ]
        ]
    },
    {
        "id": "045c055301561e39",
        "type": "api-current-state",
        "z": "caad49ce5c607c2d",
        "name": "Hole Temperatur",
        "server": "25bb7b972abf0ad5",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "sensor.box1_temperature",
        "state_type": "num",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            }
        ],
        "for": 0,
        "forType": "num",
        "forUnits": "minutes",
        "x": 340,
        "y": 40,
        "wires": [
            [
                "4183f8e8ea8a11cb"
            ]
        ]
    },
    {
        "id": "e8ee5ecd08e127e6",
        "type": "api-current-state",
        "z": "caad49ce5c607c2d",
        "name": "Hole Luftfeuchtigkeit",
        "server": "25bb7b972abf0ad5",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "sensor.box1_humidity",
        "state_type": "num",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            }
        ],
        "for": 0,
        "forType": "num",
        "forUnits": "minutes",
        "x": 360,
        "y": 100,
        "wires": [
            [
                "8cf122fa5d7aa047"
            ]
        ]
    },
    {
        "id": "6de841a47e8d350e",
        "type": "api-current-state",
        "z": "caad49ce5c607c2d",
        "name": "Hole Identifier",
        "server": "25bb7b972abf0ad5",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "input_number.identifier_box1",
        "state_type": "num",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            }
        ],
        "for": 0,
        "forType": "num",
        "forUnits": "minutes",
        "x": 340,
        "y": 160,
        "wires": [
            [
                "850b69c63096d418"
            ]
        ]
    },
    {
        "id": "4183f8e8ea8a11cb",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "Setze Topic für Temperatur",
        "func": "msg.payload = {\n    temperature: parseFloat(msg.payload) // Beispielwert für Temperatur\n};\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 620,
        "y": 40,
        "wires": [
            [
                "00b60d3874b23706"
            ]
        ]
    },
    {
        "id": "8cf122fa5d7aa047",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "Setze Topic für Luftfeuchtigkeit",
        "func": "msg.payload = {\n    humidity: parseFloat(msg.payload) // Beispielwert für Luftfeuchtigkeit\n};\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 630,
        "y": 100,
        "wires": [
            [
                "00b60d3874b23706"
            ]
        ]
    },
    {
        "id": "850b69c63096d418",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "Setze Topic für Identifier",
        "func": "msg.payload = {\n    identifier: parseInt(msg.payload, 10) // Beispielwert für Identifier\n};\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 610,
        "y": 160,
        "wires": [
            [
                "00b60d3874b23706"
            ]
        ]
    },
    {
        "id": "00b60d3874b23706",
        "type": "join",
        "z": "caad49ce5c607c2d",
        "name": "Zusammenführen",
        "mode": "custom",
        "build": "merged",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "\\n",
        "joinerType": "str",
        "useparts": true,
        "accumulate": false,
        "timeout": "",
        "count": 3,
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "",
        "reduceFixup": "",
        "x": 930,
        "y": 40,
        "wires": [
            [
                "2dcea1ea4c4d0a42"
            ]
        ]
    },
    {
        "id": "2dcea1ea4c4d0a42",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "JSON erstellen",
        "func": "// Überprüfen, ob msg.payload ein Objekt ist\nif (typeof msg.payload === \"object\") {\n    // Werte aus msg.payload extrahieren und runden\n    let temperature = Math.round(parseFloat(msg.payload.temperature)); // Temperatur runden\n    let humidity = Math.round(parseFloat(msg.payload.humidity));       // Luftfeuchtigkeit runden\n    let identifier = parseInt(msg.payload.identifier, 10);             // Identifier in eine Ganzzahl umwandeln\n\n    // Prüfe, ob die Konvertierungen erfolgreich waren\n    if (isNaN(temperature) || isNaN(humidity) || isNaN(identifier)) {\n        node.error(\"Ein oder mehrere Werte konnten nicht konvertiert werden.\");\n        return null; // Keine Weiterleitung, wenn Fehler auftritt\n    }\n\n    // JSON-Payload erstellen\n    msg.payload = {\n        temperature: temperature,\n        humidity: humidity,\n        Identifier: identifier\n    };\n\n    return msg;\n} else {\n    // Fehler, wenn msg.payload kein Objekt ist\n    node.error(\"msg.payload ist kein Objekt!\");\n    return null; // Keine Weiterleitung, wenn Fehler auftritt\n}\n",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1140,
        "y": 40,
        "wires": [
            [
                "f41400871c9e3da4"
            ]
        ]
    },
    {
        "id": "f41400871c9e3da4",
        "type": "http request",
        "z": "caad49ce5c607c2d",
        "name": "Sende POST",
        "method": "POST",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "http://192.168.10.208:81/api/humidity",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 1330,
        "y": 40,
        "wires": [
            [
                "c823c95dd4c05a50"
            ]
        ]
    },
    {
        "id": "c823c95dd4c05a50",
        "type": "debug",
        "z": "caad49ce5c607c2d",
        "name": "Antwort anzeigen",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1530,
        "y": 40,
        "wires": []
    },
    {
        "id": "5319fce987bbcd90",
        "type": "api-current-state",
        "z": "caad49ce5c607c2d",
        "name": "Hole Temperatur",
        "server": "25bb7b972abf0ad5",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "sensor.box2_temperature",
        "state_type": "num",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            }
        ],
        "for": 0,
        "forType": "num",
        "forUnits": "minutes",
        "x": 340,
        "y": 260,
        "wires": [
            [
                "1d3a53c1b5330534"
            ]
        ]
    },
    {
        "id": "dba613fe0f6c9993",
        "type": "api-current-state",
        "z": "caad49ce5c607c2d",
        "name": "Hole Luftfeuchtigkeit",
        "server": "25bb7b972abf0ad5",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "sensor.box2_humidity",
        "state_type": "num",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            }
        ],
        "for": 0,
        "forType": "num",
        "forUnits": "minutes",
        "x": 360,
        "y": 320,
        "wires": [
            [
                "4ceed5bd016f482a"
            ]
        ]
    },
    {
        "id": "46061c23d2d737d1",
        "type": "api-current-state",
        "z": "caad49ce5c607c2d",
        "name": "Hole Identifier",
        "server": "25bb7b972abf0ad5",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "input_number.identifier_box2",
        "state_type": "num",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            }
        ],
        "for": 0,
        "forType": "num",
        "forUnits": "minutes",
        "x": 340,
        "y": 380,
        "wires": [
            [
                "360573784e6ade47"
            ]
        ]
    },
    {
        "id": "1d3a53c1b5330534",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "Setze Topic für Temperatur",
        "func": "msg.payload = {\n    temperature: parseFloat(msg.payload) // Beispielwert für Temperatur\n};\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 620,
        "y": 260,
        "wires": [
            [
                "7244fb3cd7e95dc5"
            ]
        ]
    },
    {
        "id": "4ceed5bd016f482a",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "Setze Topic für Luftfeuchtigkeit",
        "func": "msg.payload = {\n    humidity: parseFloat(msg.payload) // Beispielwert für Luftfeuchtigkeit\n};\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 630,
        "y": 320,
        "wires": [
            [
                "7244fb3cd7e95dc5"
            ]
        ]
    },
    {
        "id": "360573784e6ade47",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "Setze Topic für Identifier",
        "func": "msg.payload = {\n    identifier: parseInt(msg.payload, 10) // Beispielwert für Identifier\n};\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 610,
        "y": 380,
        "wires": [
            [
                "7244fb3cd7e95dc5"
            ]
        ]
    },
    {
        "id": "7244fb3cd7e95dc5",
        "type": "join",
        "z": "caad49ce5c607c2d",
        "name": "Zusammenführen",
        "mode": "custom",
        "build": "merged",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "\\n",
        "joinerType": "str",
        "useparts": true,
        "accumulate": false,
        "timeout": "",
        "count": 3,
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "",
        "reduceFixup": "",
        "x": 930,
        "y": 260,
        "wires": [
            [
                "aadced59d69dbd95"
            ]
        ]
    },
    {
        "id": "aadced59d69dbd95",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "JSON erstellen",
        "func": "// Überprüfen, ob msg.payload ein Objekt ist\nif (typeof msg.payload === \"object\") {\n    // Werte aus msg.payload extrahieren und runden\n    let temperature = Math.round(parseFloat(msg.payload.temperature)); // Temperatur runden\n    let humidity = Math.round(parseFloat(msg.payload.humidity));       // Luftfeuchtigkeit runden\n    let identifier = parseInt(msg.payload.identifier, 10);             // Identifier in eine Ganzzahl umwandeln\n\n    // Prüfe, ob die Konvertierungen erfolgreich waren\n    if (isNaN(temperature) || isNaN(humidity) || isNaN(identifier)) {\n        node.error(\"Ein oder mehrere Werte konnten nicht konvertiert werden.\");\n        return null; // Keine Weiterleitung, wenn Fehler auftritt\n    }\n\n    // JSON-Payload erstellen\n    msg.payload = {\n        temperature: temperature,\n        humidity: humidity,\n        Identifier: identifier\n    };\n\n    return msg;\n} else {\n    // Fehler, wenn msg.payload kein Objekt ist\n    node.error(\"msg.payload ist kein Objekt!\");\n    return null; // Keine Weiterleitung, wenn Fehler auftritt\n}\n",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1140,
        "y": 260,
        "wires": [
            [
                "6ac630738b77155f"
            ]
        ]
    },
    {
        "id": "6ac630738b77155f",
        "type": "http request",
        "z": "caad49ce5c607c2d",
        "name": "Sende POST",
        "method": "POST",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "http://192.168.10.208:81/api/humidity",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 1330,
        "y": 260,
        "wires": [
            [
                "d2dc32c82162ef39"
            ]
        ]
    },
    {
        "id": "d2dc32c82162ef39",
        "type": "debug",
        "z": "caad49ce5c607c2d",
        "name": "Antwort anzeigen",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1530,
        "y": 260,
        "wires": []
    },
    {
        "id": "45c15626b647372a",
        "type": "api-current-state",
        "z": "caad49ce5c607c2d",
        "name": "Hole Temperatur",
        "server": "25bb7b972abf0ad5",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "sensor.box3_temperature",
        "state_type": "num",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            }
        ],
        "for": 0,
        "forType": "num",
        "forUnits": "minutes",
        "x": 340,
        "y": 480,
        "wires": [
            [
                "50c9cb009bff0608"
            ]
        ]
    },
    {
        "id": "f29d0ae75620f52c",
        "type": "api-current-state",
        "z": "caad49ce5c607c2d",
        "name": "Hole Luftfeuchtigkeit",
        "server": "25bb7b972abf0ad5",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "sensor.box3_humidity",
        "state_type": "num",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            }
        ],
        "for": 0,
        "forType": "num",
        "forUnits": "minutes",
        "x": 360,
        "y": 540,
        "wires": [
            [
                "d78b71bdc26cd27c"
            ]
        ]
    },
    {
        "id": "75d10cd38071898c",
        "type": "api-current-state",
        "z": "caad49ce5c607c2d",
        "name": "Hole Identifier",
        "server": "25bb7b972abf0ad5",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "input_number.identifier_box3",
        "state_type": "num",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            }
        ],
        "for": 0,
        "forType": "num",
        "forUnits": "minutes",
        "x": 340,
        "y": 600,
        "wires": [
            [
                "f756c61aadfe31b6"
            ]
        ]
    },
    {
        "id": "50c9cb009bff0608",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "Setze Topic für Temperatur",
        "func": "msg.payload = {\n    temperature: parseFloat(msg.payload) // Beispielwert für Temperatur\n};\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 620,
        "y": 480,
        "wires": [
            [
                "4064c76a7b846760"
            ]
        ]
    },
    {
        "id": "d78b71bdc26cd27c",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "Setze Topic für Luftfeuchtigkeit",
        "func": "msg.payload = {\n    humidity: parseFloat(msg.payload) // Beispielwert für Luftfeuchtigkeit\n};\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 630,
        "y": 540,
        "wires": [
            [
                "4064c76a7b846760"
            ]
        ]
    },
    {
        "id": "f756c61aadfe31b6",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "Setze Topic für Identifier",
        "func": "msg.payload = {\n    identifier: parseInt(msg.payload, 10) // Beispielwert für Identifier\n};\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 610,
        "y": 600,
        "wires": [
            [
                "4064c76a7b846760"
            ]
        ]
    },
    {
        "id": "4064c76a7b846760",
        "type": "join",
        "z": "caad49ce5c607c2d",
        "name": "Zusammenführen",
        "mode": "custom",
        "build": "merged",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "\\n",
        "joinerType": "str",
        "useparts": true,
        "accumulate": false,
        "timeout": "",
        "count": 3,
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "",
        "reduceFixup": "",
        "x": 930,
        "y": 480,
        "wires": [
            [
                "af78db0f5ba07375"
            ]
        ]
    },
    {
        "id": "af78db0f5ba07375",
        "type": "function",
        "z": "caad49ce5c607c2d",
        "name": "JSON erstellen",
        "func": "// Überprüfen, ob msg.payload ein Objekt ist\nif (typeof msg.payload === \"object\") {\n    // Werte aus msg.payload extrahieren und runden\n    let temperature = Math.round(parseFloat(msg.payload.temperature)); // Temperatur runden\n    let humidity = Math.round(parseFloat(msg.payload.humidity));       // Luftfeuchtigkeit runden\n    let identifier = parseInt(msg.payload.identifier, 10);             // Identifier in eine Ganzzahl umwandeln\n\n    // Prüfe, ob die Konvertierungen erfolgreich waren\n    if (isNaN(temperature) || isNaN(humidity) || isNaN(identifier)) {\n        node.error(\"Ein oder mehrere Werte konnten nicht konvertiert werden.\");\n        return null; // Keine Weiterleitung, wenn Fehler auftritt\n    }\n\n    // JSON-Payload erstellen\n    msg.payload = {\n        temperature: temperature,\n        humidity: humidity,\n        Identifier: identifier\n    };\n\n    return msg;\n} else {\n    // Fehler, wenn msg.payload kein Objekt ist\n    node.error(\"msg.payload ist kein Objekt!\");\n    return null; // Keine Weiterleitung, wenn Fehler auftritt\n}\n",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1140,
        "y": 480,
        "wires": [
            [
                "49daa8acb3ba3100"
            ]
        ]
    },
    {
        "id": "49daa8acb3ba3100",
        "type": "http request",
        "z": "caad49ce5c607c2d",
        "name": "Sende POST",
        "method": "POST",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "http://xxx.xxx.xxx.xxx:xx/api/humidity",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 1330,
        "y": 480,
        "wires": [
            [
                "3aa07c0db0e21137"
            ]
        ]
    },
    {
        "id": "3aa07c0db0e21137",
        "type": "debug",
        "z": "caad49ce5c607c2d",
        "name": "Antwort anzeigen",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1530,
        "y": 480,
        "wires": []
    },
    {
        "id": "25bb7b972abf0ad5",
        "type": "server",
        "name": "Home Assistant",
        "version": 5,
        "addon": true,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": "30",
        "areaSelector": "friendlyName",
        "deviceSelector": "friendlyName",
        "entitySelector": "friendlyName",
        "statusSeparator": ": ",
        "statusYear": "hidden",
        "statusMonth": "short",
        "statusDay": "numeric",
        "statusHourCycle": "default",
        "statusTimeFormat": "h:m",
        "enableGlobalContextStore": false
    }
]