Zum Hauptinhalt springen

Generisch (HTTP und MQTT)

Die Generic Integration ist die flexibelste Integration in Yggio und ermöglicht den Empfang von Daten von Tausenden verschiedener Gerätetypen. Sie wird verwendet, um jedes Gerät zu integrieren, das Daten über HTTP oder MQTT übertragen kann und durch eine eindeutige Kennung identifiziert werden kann. Zum Beispiel Nb-IoT-Geräte, Cat-M-Geräte, WiFi-Geräte, TCP/IP-Geräte (wie Kameras oder Gateways) oder verschiedene Arten von Webdiensten, die Daten an Yggio senden können. Die Generic Integration wird auch verwendet, um virtuelle Nodes zu erstellen, die mit Daten aus Translatoren oder Flows gefüllt werden können.

Generische Geräte werden durch eine global eindeutige ID identifiziert. Es gibt mehrere Eigenschaften, die als Träger Ihrer ID gewählt werden können. Aktuell unterstützte Identifikatoren:

IdentifierNameBeschreibung
secretString zwischen 8 und 128 Zeichen, nur A-Z, 0-9, -, . und _
gatewayEui64-Bit global eindeutiger Extended Unique Identifier (EUI-64)
imeiInternational Mobile Equipment Identity, 15-stellige Nummer
tagbeliebiger String
serialNumberbeliebiger String

Es müssen zwei Aktionen durchgeführt werden, in beliebiger Reihenfolge:

  1. Erstellen Sie die Node über das Control Panel (oder die API, es folgt Adding devices to Yggio) 1.1 Navigieren Sie oben im Panel zu Devices 1.2 Drücken Sie oben rechts auf die Schaltfläche New device 1.3 Wählen Sie Single Mode 1.4 Wählen Sie Generic im Dropdown-Menü und drücken Sie Continue 1.5 Geben Sie das eindeutige Secret ein, das für dieses Gerät verwendet werden soll, und drücken Sie Continue 1.6 (Optional) Geben Sie dem Gerät einen Gerätemodellnamen und drücken Sie Continue oder Skip 1.7 (Optional) Fügen Sie einen Translator hinzu, indem Sie die Schaltfläche +Add translator drücken, oder drücken Sie Skip 1.8 Geben Sie dem Gerät einen Namen und (optional) eine Beschreibung, einen Standort und kontextuelle Parameter, und drücken Sie Add device

  2. Senden Sie Daten an die Integration, entweder über HTTP oder MQTT. Für MQTT, siehe MQTT Broker. Für HTTP sollte eine Nachricht in diesem Format an <server>/http-push/generic gesendet werden:

{
<identifierName>: <identifier>,
"basically": "any",
"json": "compatible",
"information": [1]
"stuff": {
"nested": "is allowed"
}
}

Die Anfrage muss außerdem entweder einen Header oder einen Querystring enthalten, der Ihren Identifikator bestimmt: identifier=<identifierName> Ein Beispiel:

curl -sS https://staging.yggio.net/http-push/generic?identifier=secret \
-H 'content-type: application/json' \
-d @- <<EOF
{
"secret": "ABCDEFGHIJKL_1234567890",
"basically": "any",
"json": "compatible",
"information": [1],
"stuff": {
"nested": "is allowed"
}
}
EOF