IoT-Sensordatenbereiniger + InfluxDB-Logger (n8n | Webhook | Function | InfluxDB)

Anfänger

Dies ist ein Engineering, Multimodal AI-Bereich Automatisierungsworkflow mit 4 Nodes. Hauptsächlich werden Set, Webhook, Function, HttpRequest und andere Nodes verwendet. Bereinigung von IoT-Sensordaten und Protokollierung in InfluxDB (Webhook | Function | HTTP)

Voraussetzungen
  • HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich

Verwendete Nodes (4)

Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "Vz7fCuVAkUFMUjHC",
  "meta": {
    "instanceId": "14e4c77104722ab186539dfea5182e419aecc83d85963fe13f6de862c875ebfa",
    "templateCredsSetupCompleted": true
  },
  "name": "IoT Sensor Data Cleaner + InfluxDB Logger (n8n | Webhook | Function | InfluxDB)",
  "tags": [],
  "nodes": [
    {
      "id": "0a94db25-793e-4d2d-867a-5fe8132c849c",
      "name": "Sensor-Eingang",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -620,
        -60
      ],
      "webhookId": "278534e3-2340-4504-ac50-9c0c1df4e4de",
      "parameters": {
        "path": "sensor-data",
        "options": {
          "responseData": "{\"status\":\"received\"}"
        },
        "httpMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "id": "7b1507ea-8760-45ff-bee8-d656723ce34e",
      "name": "Daten bereinigen & transformieren",
      "type": "n8n-nodes-base.function",
      "position": [
        -220,
        -60
      ],
      "parameters": {
        "functionCode": "const data = $json.body;\n\nfunction isValid(value, min, max) {\n  return typeof value === 'number' && value >= min && value <= max;\n}\n\nif (!isValid(data.temperature, -50, 150) || \n    !isValid(data.humidity, 0, 100) || \n    !isValid(data.voltage, 0, 500)) {\n  throw new Error('Invalid sensor data range');\n}\n\nconst cleaned = {\n  temperature: Math.round(data.temperature * 10) / 10,\n  humidity: Math.round(data.humidity * 10) / 10,\n  voltage: Math.round(data.voltage * 10) / 10,\n  timestamp: new Date(data.timestamp).toISOString()\n};\n\nreturn [\n  {\n    json: cleaned\n  }\n];"
      },
      "typeVersion": 1
    },
    {
      "id": "2bd6195b-4989-4e86-a622-79c5131ccf4e",
      "name": "Konfiguration setzen",
      "type": "n8n-nodes-base.set",
      "position": [
        -420,
        -60
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "influxDbHost",
              "value": "hosturl"
            },
            {
              "name": "influxDbToken",
              "value": "token"
            },
            {
              "name": "influxDbBucket",
              "value": "bucket"
            },
            {
              "name": "influxDbOrg",
              "value": "org"
            },
            {
              "name": "measurement",
              "value": "table"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "6afbb252-6628-4ad3-81da-f8a5db70c171",
      "name": "HTTP-Anfrage",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        20,
        -60
      ],
      "parameters": {
        "url": "={{$node[\"Set Config\"].json[\"influxDbHost\"]}}/api/v2/write",
        "body": "={{$node[\"Set Config\"].json[\"measurement\"]}} temperature={{$json[\"temperature\"]}},humidity={{$json[\"humidity\"]}},voltage={{$json[\"voltage\"]}} {{Date.parse($json[\"timestamp\"])}}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendQuery": true,
        "contentType": "raw",
        "sendHeaders": true,
        "rawContentType": "text/plain",
        "queryParameters": {
          "parameters": [
            {
              "name": "bucket",
              "value": "={{$node[\"Set Config\"].json[\"influxDbBucket\"]}}"
            },
            {
              "name": "org",
              "value": "={{$node[\"Set Config\"].json[\"influxDbOrg\"]}}"
            },
            {
              "name": "precision",
              "value": "={{$node[\"Set Config\"].json[\"precision\"]}}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Token {{$node[\"Set Config\"].json[\"influxDbToken\"]}}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "bbe71c64-0ee9-4bef-af35-99f00227f20f",
  "connections": {
    "2bd6195b-4989-4e86-a622-79c5131ccf4e": {
      "main": [
        [
          {
            "node": "7b1507ea-8760-45ff-bee8-d656723ce34e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6afbb252-6628-4ad3-81da-f8a5db70c171": {
      "main": [
        []
      ]
    },
    "0a94db25-793e-4d2d-867a-5fe8132c849c": {
      "main": [
        [
          {
            "node": "2bd6195b-4989-4e86-a622-79c5131ccf4e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7b1507ea-8760-45ff-bee8-d656723ce34e": {
      "main": [
        [
          {
            "node": "6afbb252-6628-4ad3-81da-f8a5db70c171",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Anfänger - Engineering, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Anfänger
Anzahl der Nodes4
Kategorie2
Node-Typen4
Schwierigkeitsbeschreibung

Für n8n-Anfänger, einfache Workflows mit 1-5 Nodes

Autor
WeblineIndia

WeblineIndia

@weblineindia

A Leading Software Engineering, Consulting & Outsourcing Services Company in USA & India serving Clients Globally since 1999.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34