EIO404 - Bluetooth-Basisstation IFM - Kostenlose Bedienungsanleitung
Finden Sie kostenlos die Bedienungsanleitung des Geräts EIO404 IFM als PDF.
Benutzerfragen zu EIO404 IFM
0 Frage zu diesem Gerät. Beantworten Sie die, die Sie kennen, oder stellen Sie Ihre eigene.
Eine neue Frage zu diesem Gerät stellen
Laden Sie die Anleitung für Ihr Bluetooth-Basisstation kostenlos im PDF-Format! Finden Sie Ihr Handbuch EIO404 - IFM und nehmen Sie Ihr elektronisches Gerät wieder in die Hand. Auf dieser Seite sind alle Dokumente veröffentlicht, die für die Verwendung Ihres Geräts notwendig sind. EIO404 von der Marke IFM.
BEDIENUNGSANLEITUNG EIO404 IFM
Betriebsanleitung
Bluetooth® Mesh IoT Basisstation
EIO404
Firmware: 1.55
Inhaltsverzeichnis
1 Vorbemerkung 5
1.1 Rechtliche Hinweise 5
1.2 Verwendete Symbole 5
1.3 Warnhinweise 5
2 Sicherheitshinweise 7
2.1 Cybersecurity 7
2.2 Sicherheitssymbol auf dem Gerät 8
3 Bestimmungsgemäße Verwendung 9
3.1 Vorhersehbarer Fehleinsatz 9
3.2 Topologie des Bluetooth-Mesh-Netzwerks 9
4 Funktion 11
4.1 Optische Signalisierung 11
4.2 Ethernet-Schnittstelle 11
4.3 Bluetooth LE 11
4.4 Bluetooth Mesh.... 11
4.5 ifm IoT-Core 11
5 Montage 13
5.1 Überblick.... 13
5.2 Montagemöglichkeiten 13
5.2.1 Montage ohne Zubehör.... 13
5.2.2 Montage mit Befestigungswinkel E80335 13
5.2.3 Montage mit Klemmschelle E80336 14
5.2.4 Montage mit Befestigungsstäben E80337 14
5.3 Gerät montieren 14
6 Elektrischer Anschluss 15
6.1 Überblick.... 15
6.2 Hinweise zu Verkabelung 15
6.3 Spannungsversorgung 15
6.4 Ethernet-Port.... 16
7 Bedien- und Anzeigeelemente 17
7.1 Überblick.... 17
7.2 Status-LED 17
8 Parametrierung.... 18
8.1 Hinweise zur Parametrierung 18
8.1.1 Parametrierung über Bluetooth-Schnittstelle 18
8.1.2 Parametrierung über Ethernet-Schnittstelle.... 18
8.1.3 ▶ ifm moneo|blue installieren 19
8.1.4 ▶ ifm moneo|configure installieren 19
8.1.5 Bluetooth-Password.... 19
8.2 ifm moneo|blue 21
8.2.1 Verbindung zum Gerät herstellen 21
8.2.1.1 ▶ Bluetooth Mesh IO-Link Adapter provisionieren 21
8.2.1.2 ▷ Bluetooth Mesh IO-Link Adapter aus Netzwerk entfernen 22
8.2.2 Identifikationsinformationen lesen 23
8.2.3 IP-Einstellungen konfigurieren 23
8.2.4 Bluetooth-Mesh-Netzwerknamen einstellen 23
8.2.5 Bluetooth-Stationsnamen einstellen 23
8.2.6 ▶ MQTT-Verbindung konfigurieren.... 23
8.2.7 ▶ MQTT-Kommandokanal konfigurieren.... 24
8.2.8 Firmware aktualisieren 24
8.2.8.1 Firmware der verbundenen Adapter aktualisieren.... 25
8.3 ifm IoT-Core REST API.... 26
8.3.1 ifm IoT-Core: Allgemeine Informationen 26
8.3.1.1 Auf den ifm IoT- Core zugreifen 26
8.3.2 Erste Schritte 28
8.3.3 Allgemeine Funktionen 29
8.3.3.1 Beispiel: Parameterwert ändern 29
8.3.3.2 Beispiel: Mehrere Parameterwerte gleichzeitig lesen 30
8.3.3.3 Beispiel: Teilbaum ausgeben 30
8.3.3.4 Beispiel: IoT Core durchsuchen 31
8.3.4 Ethernet: IP-Einstellungen konfigurieren 32
8.3.5 Ethernet: Passwortschutz konfigurieren 32
8.3.5.1 Beispiel: Ethernet-Passwort setzen.... 33
8.3.5.2 Beispiel: Anfrage mit Authentifizierung 34
8.3.5.3 Beispiel: Ethernet-Passwort löschen 34
8.3.6 Bluetooth: Stationsname einstellen 35
8.3.7 Bluetooth: Passwortschutz konfigurieren.... 35
8.3.7.1 Beispiel: Bluetooth-Password ändern.... 36
8.3.8 Bluetooth Mesh-Netzwerk verwalten 36
8.3.8.1 Beispiel: Verfügbare Mesh Adapter suchen 37
8.3.8.2 Beispiel: Mesh Adapter am Mesh-Netzwerk anmelden 37
8.3.8.3 Beispiel: Mesh Adapter ersetzen.... 38
8.3.8.4 Beispiel: Mesh Adapter vom Mesh-Netzwerk abmelden 38
8.3.9 ▷ Bluetooth Mesh IO-Link Adapter verwalten 39
8.3.10 Zeitgeber konfigurieren 39
8.3.10.1 Beispiel: Zählintervall einstellen 40
8.3.10.2 Beispiel: Zähler starten 40
8.3.10.3 Beispiel: Zähler stoppen 40
8.3.11 Benachrichtigungen nutzen.... 41
8.3.11.1 Ereignisgesteuerte Benachrichtigungen 41
8.3.11.2 Zeitgesteuerte Benachrichtigungen.... 41
8.3.11.3 Beispiel: Zeitgesteuerte Benachrichtigung erzeugen....42
8.3.11.4 Beispiel: Ereignisgesteuerte Benachrichtigung erzeugen 43
8.3.11.5 Beispiel: Aktive Benachrichtigungen anzeigen 43
8.3.11.6 Beispiel: Benachrichtigung ändern 44
8.3.11.7 Beispiel: Benachrichtigung löschen.... 45
8.3.12 MQTT nutzen 45
8.3.12.1 MQTT-Verbindung konfigurieren.... 45
8.3.12.2 MQTT-Kommandokanal konfigurieren.... 46
8.3.12.3 Beispiel: MQTT-Kommandokanal konfigurieren und aktivieren ..... 47
8.3.12.4 Beispiel: Gerätetemperatur an MQTT-Broker veröffentlichen 49
8.3.13 Gerät zurücksetzen, neu starten und lokalisieren 50
8.3.14 Geräteinformationen lesen und schreiben.... 50
8.3.15 Zustands- und Diagnoseinformationen lesen 50
8.4 ifm moneo|configure 52
8.4.1 Verbindung zum Gerät herstellen 52
8.4.1.1 Bluetooth Mesh IO-Link Adapter provisionieren 52
8.4.1.2 Bluetooth Mesh IO-Link Adapter aus Mesh-Netzwerk entfernen ..... 53
8.4.2 Info: Identifikationsinformationen lesen 54
8.4.3 IoT: IP-Einstellungen konfigurieren 54
8.4.4 IoT: Passwortschutz konfigurieren 55
8.4.4.1 Ethernet-Password setzen 55
8.4.4.2 Ethernet-Passwort zurücksetzen.... 55
8.4.5 Bluetooth LE: Stationsnamen einstellen 56
8.4.6 Bluetooth LE: Passwortschutz konfigurieren 56
8.4.6.1 Bluetooth-Password ändern.... 56
8.4.7 Bluetooth Mesh: Netzwerk verwalten 57
8.4.8 MQTT: MQTT-Verbindung konfigurieren.... 57
8.4.8.1 MQTT-Verbindung steuern 58
8.4.9 MQTT: Kommandokanal konfigurieren 58
8.4.9.1 MQTT-Kommandokanal steuern 59
8.4.10 Timer: Zeitgeber konfigurieren 59
8.4.10.1 Zeitgeber starten....60
8.4.10.2 Zeitgeber stoppen 60
8.4.11 Firmware: Gerät zurücksetzen, neu starten oder lokalisieren 60
8.5 IoT-Core Visualizer 61
8.5.1 IoT-Core Visualizer starten 61
8.5.2 Benachrichtigungen verwalten 61
8.5.2.1 Neue Benachrichtigungen erstellen.... 61
8.5.2.2 Benachrichtigungen löschen 62
8.5.3 Auf den IoT-Core-Baum zugreifen.... 63
8.5.3.1 Elemente des IoT Core suchen.... 63
8.5.3.2 Auf Elemente des IoT Core zugreifen 64
8.5.4 Firmware aktualisieren 65
9 Fehlerbehebung 67
10 Wartung, Instandsetzung und Entsorgung 68
10.1 Firmware aktualisieren 68
11 Anhang 69
11.1 ifm IoT Core 69
11.1.1 Profile 69
11.1.2 Typen 70
11.1.3 Dienste 71
11.1.3.1 Dienst: create_backup 71
11.1.3.2 Dienst: factoryreset 71
11.1.3.3 Dienst: get_credit 71
11.1.3.4 Dienst: getblobdata 71
11.1.3.5 Dienst: getdata 71
11.1.3.6 Dienst: getdatamulti 72
11.1.3.7 Dienst: getidentity 72
11.1.3.8 Dienst: getsubscriberlist 73
11.1.3.9 Dienst: gettree.... 73
11.1.3.10 Dienst: install.... 74
11.1.3.11 Dienst: install_backup....74
11.1.3.12 Dienst: querytree....74
11.1.3.13 Dienst: reboot 74
11.1.3.14 Dienst: register 74
11.1.3.15 Dienst: replace 75
11.1.3.16 Dienst: reset 75
11.1.3.17 Dienst: resetpassword.... 75
11.1.3.18 Dienst: reset_credits 75
11.1.3.19 Dienst: scan 75
11.1.3.20 Dienst: setblock.... 76
11.1.3.21 Dienst: setdata 76
11.1.3.22 Dienst: setdatamulti....76
11.1.3.23 Dienst: signal 76
11.1.3.24 Dienst: start....77
11.1.3.25 Dienst: start_stream_set 77
11.1.3.26 Dienst: stop 77
11.1.3.27 Dienst: stream_set 77
11.1.3.28 Dienst: subscribe 77
11.1.3.29 Dienst: unregister 78
11.1.3.30 Dienst: unsubscribe....78
1 Vorbemerkung
Anleitung, technische Daten, Zulassungen und weitere Informationen über den QR-Code auf dem Gerät / auf der Verpackung oder über documentation.ifm.com.
1.1 Rechtliche Hinweise
© Alle Rechte bei ifm electronic gmbh. Vervielfältigung und Verwertung dieser Anleitung, auch auszugsweise, nur mit Zustimmung der ifm electronic gmbh.
- Bluetooth® ist ein eingetragenes Warenzeichen der Bluetooth SIG Inc.
- Apple , das Apple-Logo, iPhone und iPod Touch sind Marken der Apple Inc., die in den USA und weiteren Ländern eingetragen sind. Der App Store ist eine Dienstleistungsmarke der Apple Inc.
- iOS® Betriebssystem ist ein eingetragenes Warenzeichen der Apple Inc.
- Google® ist ein eingetragenes Warenzeichen der Google LLC.
- Android® Betriebssystem ist ein eingetragenes Warenzeichen der Google LLC.
- Android, Google Play und das Google Play-Logo sind Marken von Google Inc.
1.2 Verwendete Symbole
√ Voraussetzung
▶ Handlungsanweisung
Reaktion, Ergebnis
[...] Bezeichnung von Tasten, Schaltflächen oder Anzeigen
→ Querverweis

Wichtiger Hinweis
Fehlfunktionen oder Störungen sind bei Nichtbeachtung möglich

Information
Ergänzender Hinweis
1.3 Warnhinweise
Warnhinweise warnen vor möglichen Personen- und Sachschäden. Dadurch wird der sichere Umgang mit dem Produkt ermöglicht. Warnhinweise sind wie folgt abgestuft:

WARNUNG
Warnung vor schweren Personenschäden
▷ Tödliche und schwere Verletzungen sind möglich, wenn der Warnhinweis nicht beachtet wird.

VORSICHT
Warnung vor leichten bis mittelschweren Personenschäden
▷ Leichte bis mittelschwere Verletzungen sind möglich, wenn der Warnhinweis nicht beachtet wird.
ACHTUNG
Warnung vor Sachschäden
▷ Sachschäden sind möglich, wenn der Warnhinweis nicht beachtet wird.
2 Sicherheitshinweise
- Das beschriebene Gerät wird als Teilkomponente in einem System verbaut.
– Die Sicherheit dieses Systems liegt in der Verantwortung des Erstellers.
- Der Systemersteller ist verpflichtet, eine Risikobeurteilung durchzuführen und daraus eine Dokumentation nach den gesetzlichen und normativen Anforderungen für den Betreiber und den Benutzer des Systems zu erstellen und beizulegen. Diese muss alle erforderlichen Informationen und Sicherheitshinweise für den Betreiber, Benutzer und ggf. vom Systemersteller autorisiertes Servicepersonal beinhalten.
- Dieses Dokument vor Inbetriebnahme des Produktes lesen und während der Einsatzdauer aufbewahren.
- Das Produkt muss sich uneingeschränkt für die betreffenden Applikationen und Umgebungsbedingungen eignen.
- Das Produkt nur bestimmungsgemäß verwenden (→ Bestimmungsgemäße Verwendung).
- Die Missachtung von Anwendungshinweisen oder technischen Angaben kann zu Sach- und / oder Personenschäden führen.
- Für Folgen durch Eingriffe in das Produkt oder Fehlgebrauch durch den Betreiber übernimmt der Hersteller keine Haftung und keine Gewährleistung.
- Montage, elektrischer Anschluss, Inbetriebnahme, Programmierung, Konfiguration, Bedienung und Wartung des Produktes darf nur für die jeweilige Tätigkeit ausgebildetes, autorisiertes Fachpersonal durchführen.
- Geräte und Kabel wirksam vor Beschädigung schützen.
- Beschädigte Geräte austauschen, da anderenfalls die technischen Daten und die Sicherheit beeinträchtigt werden.
2.1 Cybersecurity
Installation
Das Gerät ist für den Betrieb in einer sicheren Umgebung gemäß IEC 62443-1-1 geeignet.
▶ Eine Risikobeurteilung der Anlage nach IEC 62443-1-1 durchführen.
Das Gerät ist für den Betrieb hinter einer Firewall konzipiert.
▶ Maßnahmen zur Sicherstellung der physikalischen Sicherheit ergreifen.
Das Gerät besitzt keinen Eigenschutz vor nicht autorisierten Zugriffen.
▶ Das Gerät nur in vertrauenswürdigen Netzwerken betreiben.
Beispiele für vertrauenswürdige Netzwerke (nach IEC 62443-3-1, Part 5):
• Interne Firmennetzwerke (Local Area Networks - LANs)
– Durch die IT-Abteilung verwaltete und abgesicherte Netzwerke
- Industrielle Steuerungssysteme (Industrial Control Systems - ICS)
- Netzwerke für die Steuerung und Überwachung von industriellen Prozesse
– ICS sind isoliert von anderen Netzwerken
- Punkt-zu-Punkt-Verbindung zwischen dem Gerät und dem nächsten Kommunikationspartner
Bluetooth-LE-Schnittstelle
Die Bluetooth-LE-Schnittstelle verwendet das JustWorks-Kopplungsverfahren (Pairing), um eine kryptografisch gesicherte Kommunikation zwischen dem Gerät und ifm moneo|blue herzustellen.
▶ Eine Verbindung zwischen Gerät und ifm moneo|blue ausschließlich in einer gesicherten Umgebung herstellen.
Die Bluetooth-LE-Schnittstelle des Geräts ist mit einem Passwortschutz gesichert. Bei der Erstanmeldung am Gerät muss der Benutzer das werkseitig gesetzte Passwort ändern.
▶ Das Passwort ausschließlich in einer gesicherten Umgebung ändern.
▶ Ein starkes Passwort entsprechend der Unternehmensrichtlinie wählen.
Bluetooth-Mesh-Schnittstelle
Die Bluetooth-Mesh-Kommunikation zwischen den Netzwerkteilnehmern ist nach der erfolgreichen Provisionierung der Geräte im Bluetooth-Mesh-Netzwerk kryptografisch abgesichert.
▶ Die Geräte ausschließlich in einer gesicherten Umgebung für das Bluetooth-Mesh-Netzwerk provisionieren.
Betrieb
▶ Die in der Gerätedokumentation beschriebenen Security-Funktionen und die Empfehlungen für deren Anwendung beachten.
Wartung
▶ Systemkonfiguration und Systemdaten gemäß den Change-Management-Prozessen des Unternehmens sichern.
▶ Regelmäßig prüfen, ob Softwareaktualisierungen für das Gerät verfügbar sind.
Die Integrität und Authentizität der Softwareaktualisierung durch die folgenden organisatorischen Maßnahmen sicherstellen:
▶ Die neue Firmwaredatei auf einen sicheren Laptop/PC herunterladen.
▶ Für die heruntergeladene Firmwaredatei den SHA-256-Hashwert berechnen, www.ifm.com/cnt/product-security.
▶ Prüfen, ob der berechnete Hashwert mit dem auf der ifm-Webseite bereitgestellten SHA-256-Hashwert übereinstimmt.
▶ Die Firmwaredatei über eine gesicherte Verbindung auf dem Gerät installieren, z. B. Punkt-zu-Punkt-Verbindung.
Außerbetriebnahme
▶ Darauf achten, dass keine schützenswerten Informationen in unberechtigte Hände gelangen können.
▶ Vor der Außerbetriebnahme des Geräts die Systemeinstellungen immer auf die Werkseinstellungen zurücksetzen.
2.2 Sicherheitssymbol auf dem Gerät

Sicherheitssymbol auf dem Gerät:
▶ Für den sicheren Betrieb des Geräts die Betriebsanleitung beachten.
3 Bestimmungsgemäße Verwendung
Das Gerät kann verwendet werden:
- Als zentraler Organisationsknoten für den Aufbau und Verwaltung eines Bluetooth-Mesh-Netzwerks mit Bluetooth Mesh IO-Link Adaptern als Teilnehmer
- Für die Parametrierung der verbundenen Bluetooth Mesh IO-Link Adapter und optional der angeschlossenen IO-Link Devices.
- Als Gateway zwischen übergeordneter IIoT-Ebene und den verbundenen Bluetooth Mesh IO-Link Adaptern für die Übertragung von Prozessdaten sowie Status- und Diagnoseinformationen der angeschlossenen IO-Link Devices
Erlaubter Einsatz:
- In Innenräumen
- Das Gerät nur innerhalb der Grenzen der technischen Daten einsetzen: → Technische Daten.

Zulassungsrelevante Hinweise: Beipackzettel des Gerätes und documentation.ifm.com
3.1 Vorhersehbarer Fehleinsatz
Das Gerät ist nicht geeignet für Umgebungen mit besonderen Anforderungen an mechanische Stabilität (z. B. Schock/Vibration).
Das Gerät ist nicht geeignet für den Einsatz in kritischen Applikationen. Die Daten werden nicht in Echtzeit übertragen.
3.2 Topologie des Bluetooth-Mesh-Netzwerks
Empfohlene Topologie:

Abb. 1: Positionierung des EIO404 im Zentrum des Bluetooth-Mesh-Netzwerks
▶ Die ▶ Bluetooth Mesh IoT Basisstation möglichst in der Mitte des Bluetooth Mesh-Netzwerks positionieren.
▷ Die Netzauslastung verringert sich.
▷ Die Stabilität der Kommunikation erhöht sich im Vergleich zu einer Positionierung der Basisstation am Rand des Bluetooth-Mesh-Netzwerks.
Nicht empfohlene Topologie:

Abb. 2: Positionierung des EIO404 am Rand des Bluetooth-Mesh-Netzwerks
Eine ▶ Positionierung der ▶ Bluetooth Mesh IoT Basisstation am Rand des Bluetooth-Mesh-Netzwerks hat zur Folge, dass die gesamten Daten über einen oder wenige Bluetooth Mesh IO-Link Adapter übertragen werden müssen. Das führt bei diesen Adaptern zu einer hohen Auslastung und kann negative Auswirkungen auf Stabilität und Latenzen des gesamten Bluetooth-Mesh-Netzwerkshaben.
▶ Positionierung der ▷ Bluetooth Mesh IoT Basisstation am Rand des Bluetooth-Mesh-Netzwerks vermeiden.
▶ Falls keine zentrale Positionierung möglich, zusätzliche Bluetooth Mesh IO-Link Adapter als Relaisknoten im Bluetooth-Mesh-Netzwerk platzieren.
4 Funktion
4.1 Optische Signalisierung
Das Gerät verfügt eine Status-LED für die Anzeige von Statusinformationen, Warnungen und Fehlerzuständen.
4.2 Ethernet-Schnittstelle
Dieses Gerät verfügt über eine Ethernet-Schnittstelle:
• Parametrierung des Geräts
• Parametrierung des Bluetooth-Mesh-Netzwerks
- Ethernet-Kommunikation zur IT-Ebene (Monitoring)
4.3 Bluetooth LE
Das Gerät unterstützt die Kommunikation per Bluetooth Low Energy (LE). Über Bluetooth LE können folgenden Funktionen ausgeführt werden:
• Parametrierung der Basisstation
• Parametrierung Bluetooth-Mesh-Netzwerk
• Parametrierung Ethernet Schnittstelle
• Parametrierung der MQTT-Verbindung
- Parametrierung der angeschlossenen Bluetooth Mesh IO-Link Adapter inkl. Verbundener IO-Link Devices
4.4 Bluetooth Mesh
Das Gerät unterstützt das Bluetooth-Mesh-Protokoll.
Zusammen mit Bluetooth Mesh IO-Link Adaptern EIO344 kann das Gerät ein Bluetooth-Mesh-Netzwerk erzeugen und verwalten. Nach der Einrichtung des Bluetooth-Mesh-Netzwerks baut das Gerät selbstständig die Verbindung zum Bluetooth Mesh IO-Link Adapter (EIO344) auf.
Mit der ▷ Bluetooth Mesh IoT Basisstation können bis zu 50 Bluetooth Mesh IO-Link Adapter verbunden werden.
In einem Bluetooth-Mesh-Netzwerk bietet das Gerät die folgenden Funktionen:
• Parametrierung des Adapters
- Parametrierung des angeschlossenen IO-Link Devices
• Monitoring der Prozessdaten (Intervall: 1 s ... 24 h)

Detaillierte Informationen zum Bluetooth Mesh IO-Link Adapter EIO344: documentation.ifm.com
4.5 ifm IoT-Core
Das Gerät verfügt über den ifm IoT-Core. Der ifm IoT-Core repräsentiert die Funktionalität des Geräts. Die Funktionalität besteht aus einer Menge aus Daten, Diensten und Ereignissen. Die Elemente des ifm IoT-Core sind in einem JSON-Objekt in einer hierarchischen Baumstruktur angeordnet. Der ifm
IoT-Core stellt diese Elemente über Standard-Schnittstellen (z. B. HTTP) der Außenwelt zur Verfügung stellt. So können der Anwender und andere Geräte auf Daten (Parameter, Prozessdaten), Ereignisse (Events) und Funktionen (Dienste) des Geräts zugreifen.
5 Montage
5.1 Überblick

1: Gewindebohrungen
2: Anschlüsse Spannungsversorgung und Ethernet

Die Anschlüsse für Spannungsversorgung und Ethernet sind um jeweils 270° drehbar.
5.2 Montagemöglichkeiten
Für die Montage ist optionales Zubehör verfügbar: documentation.ifm.com

Die für die Montage notwendigen Schrauben gehören nicht zum Lieferumfang des Gerätes.
5.2.1 Montage ohne Zubehör
Das Gerät kann ohne Montagezubehör montiert werden.
▶ Zur Montage eine plane Montageoberfläche verwenden.
▶ Für die Montage die 4 Gewindebohrungen auf der Rückseite des Geräts nutzen, Überblick (→ ☐ 13).
5.2.2 Montage mit Befestigungswinkel E80335
Der Befestigungswinkel ist für die seitliche Montage des Gerätes vorgesehen.


5.2.3 Montage mit Klemmschelle E80336
Die Klemmschale dient der Montage des Gerätes an einem Klemmzylinder.


5.2.4 Montage mit Befestigungsstäben E80337
Das Gerät mit Befestigungsschrauben am Montageort befestigen.


5.3 Gerät montieren

▶ Anlage vor Montage spannungsfrei schalten.
▶ Das Gerät mit der gewünschten Option montieren.
▶ Für die Befestigung des Gehäuses ausschließlich M4-Schrauben verwenden. Max. Anzugsdrehmoment: 0,8 Nm.
6 Elektrischer Anschluss

Das Gerät darf nur von einer Elektrofachkraft installiert werden.
Nationale und internationale Vorschriften zur Errichtung elektrotechnischer Anlagen befolgen.
Spannungsversorgung nach SELV, PELV.
▶ Anlage spannungsfrei schalten.
6.1 Überblick

1: Ethernet-Port
2: Spannungsversorgung
6.2 Hinweise zu Verkabelung
Die Gewindeanschlüsse im Gerät entsprechen dem M12-Standard. Für die Einhaltung der spezifizierten Schutzart dürfen nur Kabel verwendet werden, die diesem Standard entsprechen. Bei selbst konfektionierten Kabeln ist der Systemersteller für die Schutzart verantwortlich.
▶ Steckverbindungen mit vergoldeten Kontakten verwenden.
▶ Steckverbindungen bei der Montage senkrecht aufsetzen, damit die Überwurfmutter nicht das Gewinde beschädigt.
▶ Vor dem Anschluss der Steckverbindung prüfen, ob in der Buchse ein unbeschädigter O-Ring vorhanden ist.
▶ Codierung der Steckverbindungen bei der Montage beachten.
▶ Alle abgehenden Kabel nach maximal 200 mm mit einer geeigneten Zugentlastung versehen.
Für den Einsatzbereich cULus:
▶ Für den Anschluss des Geräts nur UL-zertifizierte Kabel der Kategorie CYJV 2/7/8 mit geeigneten technischen Daten verwenden.
6.3 Spannungsversorgung
Über den Port wird das Gerät an die Spannungsversorgung angeschlossen.

VORSICHT
Der Port verfügt über keinen Überstromschutz.
▷ Brandgefahr
▶ Stromkreise absichern.
Anschlussbelegung:

1: L+
2: n.c.
3: L-
4: n.c.
5: n.c.
▶ Port mit der Spannungsversorgung verbinden.
▶ Für den Anschluss eine M12-Steckverbindung verwenden.
▶ Überwurfmutter mit 0,6...1,5 Nm anziehen.
6.4 Ethernet-Port
Über den Port wird das Gerät mit dem IT-Netzwerk verbunden.
• Maximale Leitungslänge: 20 m

Am M12-Port darf keine Fremdeinspeisung in das Gerät erfolgen.
Anschlussbelegung:

1: TX+
2: RX+
3: TX-
4: RX-
5: n.c.
▶ Den Port direkt oder über ein Netzwerkkopplungselement (z. B. Switch) mit dem IT-Netzwerk verbinden.
▶ Für den Anschluss eine M12-Steckverbindung verwenden (min. Schutzart: IP 67).
▶ Überwurfmutter mit 0,6...1,5 Nm anziehen.
7 Bedien- und Anzeigeelemente
7.1 Überblick

1: Status-LED
7.2 Status-LED
| LED | Beschreibung | Farbe | Zustand | Typ | Beschreibung |
| Status | - | - | Aus | Fehler | Spannung zu niedrig |
| Betriebsanzeige | Grün | Ein | Normalbetrieb | Gerät arbeitet fehlerfrei | |
| Blinkt (Doppelblinken) | Warnung | Optische Identifikation | |||
| Blinkt (200 ms ein, 800 ms aus) | Hinweis | Firmware-UpdateHINWEIS! Warten, bis der Aktualisierungsvorgang abgeschlossen ist. | |||
| Störanzeige | Rot | Ein | Geräte-tausch | Hardwarefehler | |
| Blinkt (1 Hz) | Fehler | Temperatur der Platine außerhalb des To-leranzbereichs | |||
| Blinkt (1 Hz) | Hinweis | Keine Ethernet-Verbindung | |||
| Blinkt (1 Hz) | Warnung | Keine Bluetooth-Mesh-Verbindung | |||
| Bluetooth-Status | Blau | Ein | Hinweis | Bluetooth aktiv | |
| Blinkt (Doppelblinken, einmalig) | Hinweis | Mesh Bereitstellung erfolgreich (nach Geräte-ID- Meldung) |
8 Parametrierung
Dieses Gerät kann über 2 Schnittstellen parametriert werden. Mittels Ethernet oder Bluetooth lassen sich Informationen lesen oder Einstellungen vornehmen. Es sind für jede Schnittstelle zugeordnete Informationen und Einstellungen möglich.
- Für Ethernet verbinden Sie den M12-Stecker über ein M12-Ethernetkabel ( → Zubehör) mit einem Netzwerk.
- Mit einer App wird über Bluetooth eine Verbindung hergestellt.

Informationen zu geeigneter Parametriersoftware unter io-link.ifm
8.1 Hinweise zur Parametrierung
8.1.1 Parametrierung über Bluetooth-Schnittstelle
Um die ▷ Bluetooth Mesh IoT Basisstation über die Bluetooth-Schnittstelle zu parametrieren:

▶ Das Gerät mit der Spannungsversorgung verbinden.
▶ ifm moneo|blue installieren, ifm moneo|blue installieren (→ 19).
8.1.2 Parametrierung über Ethernet-Schnittstelle
Verfügbare Optionen für Konfiguration des Geräts über die Ethernet-Schnittstelle:
- ifm IoT-Core REST API: ifm IoT-Core REST API (→ 26)
- ifm moneo|configure: ifm moneo|configure (→ 52)
- ifm IoT-Core Visualizer: IoT-Core Visualizer (→ 61)
Um die Bluetooth Mesh IoT Basisstation über die Ethernet-Schnittstelle zu parametrieren:

▶ Das Gerät über den Ethernet-Port mit PC/Laptop verbinden.
▶ Das Gerät mit der Spannungsversorgung verbinden.
▶ Optional: ifm moneo|configure installieren, ifm moneo|configure installieren (→ 19).
8.1.3 ifm moneo|blue installieren
Für den Zugriff auf das Gerät über die Bluetooth-Schnittstelle stellt ifm electronic die App ifm moneo| blue bereit. Die App ist im Apple App-Store und im Google Play Store abrufbar.


Um ifm moneo|blue zu installieren:
▶ Mit dem Mobilgerät den QR-Code scannen.
▷ App-Seite im App Store bzw. Google PlayStore wird geöffnet.
▶ ifm mone|blue installieren.
▷ ifm monoe|blue ist auf dem Mobilgerät installiert.
8.1.4 ifm moneo|configure installieren

Informationen zu ifm moneo|configure: ifm.com/cnt/moneo
▶ ifm moneo|configure herunterladen.
▶ Laptop/PC starten.
▶ Mit Administratorenrechten anmelden.
▶ ifm moneo|configure installieren und lizensieren (→ Installationsanleitung ifm moneo).
▷ ifm moneo|configure ist installiert.
8.1.5 Bluetooth-Password
Der Zugriff auf das Gerät über Bluetooth LE ist mit einem Passwort geschützt. Der Passwortschutz kann nicht deaktiviert werden.
Das werkseitig gesetzte Bluetooth-Passwort besteht aus den letzten 6 Ziffern der Seriennummer des Geräts (z. B. 100000138488).
Die Seriennummer ist auf der Verpackung und auf dem Gerät abgedruckt.

Abb. 3: Abbildung der Seriennummer: Auf dem Gerät (links) und auf der Verpackung (rechts)
Beim ersten Zugriff auf das Gerät mit ifm moneo|blue wird der Benutzer aufgefordert, das werkseitig gesetzte Passwort zu ändern.
▶ Ein starkes Passwort entsprechend der Unternehmensrichtlinie wählen.
Das Bluetooth-Passwort hat keinen Einfluss auf den Zugriff auf das Gerät über ifm moneo und die IoT-Core-Schnittstelle.
8.2 ifm moneo|blue
8.2.1 Verbindung zum Gerät herstellen

▶ Bei der Erstinbetriebnahme das werkseitig gesetzte Passwort (→ Bluetooth-Passwort ☐ 19) der Bluetooth-Schnittstelle ändern.
Voraussetzungen:
√ Bluetooth ist auf dem Mobilgerät aktiviert.
√ ifm moneo|blue ist auf dem Mobilgerät installiert, ifm moneo|blue installieren (→ 19).
√ Gerät befindet sich in der Nähe des Mobilgeräts (Entfernung: max. 15 m).
√ Gerät ist angeschlossen und betriebsbereit.
▶ ifm monoe|blue starten.



▶ Auf [Geräte scannen] klicken.
▷ ifm moneo|blue sucht in der Umgebung nach verfügbaren Geräten.
▷ ifm moneo|blue erkennt alle verfügbaren Geräte.
Bluetooth Mesh IoT Basisstation wählen und mit dem Mobilgerät koppeln.
▷ Überblicksansicht erscheint.
▷ Überblicksansicht zeigt Geräte des Bluetooth-Mesh-Netzwerks.
▶ Auf Symbol der Bluetooth Mesh IoT Basisstation klicken.
▷ Editor für Parameterwerte des Geräts erscheint.
▷ Das Gerät kann konfiguriert werden.
8.2.1.1 Bluetooth Mesh IO-Link Adapter provisionieren
Um einen Bluetooth Mesh IO-Link Adapter zu einem Bluetooth-Mesh-Netzwerk hinzuzufügen, muss der Adapter an der Bluetooth Mesh IoT Basisstation provisioniert werden.
Voraussetzungen:
√ ifm moneo|blue ist auf dem Mobilgerät installiert, ifm moneo|blue installieren (→ 19).
√ Bluetooth ist auf dem Mobilgerät aktiviert.
√ Bluetooth Mesh IoT Basisstation EIO404 ist gestartet und betriebsbereit.
√ Bluetooth Mesh IO-Link Adapter EIO344 ist gestartet und betriebsbereit.
√ Gerät befindet sich in der Nähe des Mobilgeräts (Entfernung: max. 15 m).
√ ifm moneo|blue ist gestartet.
Bluetooth Mesh IoT Basisstation mit Mobilgerät koppeln, Verbindung zum Gerät herstellen (→ 21).



▶ In der Kopfzeile: Auf + klicken.
Bluetooth Mesh IoT Basisstation sucht nach verfügbaren Adaptern in der Umgebung.
▷ Alle verfügbaren Adapter werden angezeigt.
▶ Den Bluetooth Mesh IO-Link Adapter wählen.
▷ Auf [Provisionieren] klicken.
Bluetooth Mesh IoT Basisstation bindet den Adapter in das Bluetooth-Mesh-Netzwerk ein.
▷ ifm moneo|blue hat Zugriff auf den Bluetooth Mesh IO-Link Adapter.
▷ Falls angeschlossen: ifm moneo|blue hat Zugriff auf das angeschlossene IO-Link Device.
Nach der Provisionierung baut die Bluetooth Mesh IoT Basisstation selbständig die Verbindung zu allen provisionierten Bluetooth Mesh IO-Link Adaptern auf. Die Verbindung wird direkt oder über weitere Bluetooth Mesh IO-Link Adapter aufgebaut.
Die Bluetooth Mesh IO-Link Adapter senden zyklisch in einem definierten Intervall die Prozessdaten an die Bluetooth Mesh IoT Basisstation. Die Prozessdaten lassen sich dort ausgelesen und für die Anlagenüberwachung nutzen.
8.2.1.2 Bluetooth Mesh IO-Link Adapter aus Netzwerk entfernen
Um einen Bluetooth Mesh IO-Link Adapter aus dem Bluetooth-Mesh-Netzwerk zu entfernen:
Bluetooth Mesh IO-Link Adapter zurücksetzen (Back-to-Box), → Betriebsanleitung EIO344.
Bluetooth Mesh IO-Link Adapter wird aus Bluetooth-Mesh-Netzwerk entfernt.
▷ Der für die Provisionierung genutzte Credit wird freigegeben.
8.2.2 Identifikationsinformationen lesen
Verfügbare Informationen:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Seriennummer] | Seriennummer | z. B. 000022503648 | ro 1 |
| [Firmware-Version] | Firmware-Version | z. B. V1.42 | ro 1 |
| [Bootloader-Revision] | Bootloader-Version | z. B. V0.07 | ro 1 |
| [EEPROM-Revision] | EEPROM-Version | z. B. V0.03 | ro 1 |
| [Mac-Adresse] | Bluetooth-MAC-Adresse | z. B. B4-E3-F9-C7-54-43 | ro 1 |
| [Hardware-Revision] | Hardware-Stand | z. B. AA | ro 1 |
| [Hersteller] | Hersteller | ifm electronic gmbh | ro 1 |
| [Produkname] | Artikelnummer | EIO404 | ro 1 |
1 nur lesen
8.2.3 IP-Einstellungen konfigurieren
Um die IP-Einstellungen des Ethernet-Ports zu konfigurieren:
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [IP-Adresse] | IP-Adresse der Ethernet-Schnittstelle | z. B. 192.168.0.100 | r w 1 |
| [Subnetzmaske] | Subnetzmaske des Ethernet-Netzwerks | z. B. 255.255.255.0 | r w 1 |
| [Default-Gateway] | IP-Adresse des Netzwerk-Gateways | z. B. 192.168.0.1 | r w 1 |
| [DHCP] | DHCP-Client des Geräts aktivieren / de-aktivieren | Static IP: IP-Einstellungen werden vom Anwender eingestellt (Default)DHCP: IP-Einstellungen werden von DHCP-Server im Netzwerk eingestellt | r w 1 |
1 lesen und schreiben
8.2.4 Bluetooth-Mesh-Netzwerknamen einstellen
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Meshnetzwerk-Name] | Name des Bluetooth-Mesh-Netzwerks (max. 32 Zeichen) | z. B. Plant2 Hall3 | rw 1 |
1 lesen und schreiben
8.2.5 Bluetooth-Stationsnamen einstellen
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Bluetooth-LE-Name] | ▷ Name des Geräts im Bluetooth LE Netzwerks (max. 22 Zeichen) | z. B. BaseStation | rw 1 |
1 lesen und schreiben
8.2.6 MQTT-Verbindung konfigurieren
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [MQTT-Version] | MQTT-Version | z. B. 3.1.1 | ro 1 |
| [Keep-Alive] | Max. Zeit zwischen 2 aufeinanderfolgenden MQTT-Protokoll-Paketen (Wert in s) | 0: 0 s...10: 10 s...60: 60 s | rw 2 |
1 nur lesen
2 lesen und schreiben
8.2.7 MQTT-Kommandokanal konfigurieren
Sicherstellen, dass der MQTT-Broker erreichbar ist und der gewählte Port des MQTT-Brokers für die Datenübertragung freigegeben ist.
Die Wildcards „+“ und „#“ in Topic-Namen werden nicht unterstützt.
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Broker-IP] | ▶ IP-Adresse des MQTT-Brokers | z. B. 3.69.1.9 | rw 1 |
| [Broker-Port] | Portnummer des MQTT-Brokers | z. B. 1883 | rw 1 |
| [Topic] | Bezeichnung des MQTT-Kommando-Topics | z. B. reqTopic | rw 1 |
| [Antwort-Topic] | Bezeichnung des MQTT-Antwort-Topics | z. B. resp Topic | rw 1 |
| [Nutzername] | Nutzername | z. B. user1 | rw 1 |
1 lesen und schreiben
8.2.8 Firmware aktualisieren
ifm moneo|blue bietet die Möglichkeit, die ▷ Firmware der Bluetooth Mesh IoT Basisstation zu aktualisieren.
Neue Firmware verfügbar auf der Produktdetailseite des Geräts: documentation.ifm.com
Die Aktualisierung der Firmware darf nicht unterbrochen werden.
▶ Das Gerät während des Aktualisierungsvorgangs nicht neu starten.
▶ Warten, bis die Aktualisierung abgeschlossen ist.
Voraussetzungen:
√ Firmware-Datei der Bluetooth Mesh IoT Basisstation ist im Dateisystem des Mobilgeräts gespeichert.
√ ifm moneo|blue ist gestartet.
▶ Verbindung zur Bluetooth Mesh IoT Basisstation herstellen.
▶ Editoransicht der Bluetooth Mesh IoT-Basisstation aufrufen.
▶ In Kopfzeile: Auf ↑ klicken.
▷ Dialogfenster erscheint.
▶ Option [Update Base station] wählen.
▶ Im Bereich [Select update file]: Auf [Browse] klicken.
▶ Neue Firmware-Datei wählen.
▷ Menüseite zeigt die gewählte Firmware-Datei.
▶ Auf [Import] klicken.
▷ Firmware-Datei wird auf das Gerät übertragen.
▷ Meldung erscheint zu Installation der neuen Firmware und Neustart des Geräts.
▶ Auf [OK] klicken, um die Abfrage zu bestätigen.
▷ Firmware der Bluetooth Mesh IoT Basisstation wird aktualisiert.
▷ Gerät startet neu.
▷ Neue Firmware ist auf der Bluetooth Mesh IoT Basisstation installiert.
8.2.8.1 Firmware der verbundenen Adapter aktualisieren
ifm moneo|blue bietet die Möglichkeit, über die Bluetooth Mesh IoT Basisstation die Firmware der verbundenen Bluetooth Mesh IO-Link Adapter zu aktualisieren.

Neue Firmware verfügbar auf der Produktdetailseite des Geräts: documentation.ifm.com

Für Informationen zur Aktualisierung der Firmware eines einzelnen Bluetooth Mesh IO-Link Adapters: Betriebsanleitung EIO344

Die Aktualisierung der Firmware darf nicht unterbrochen werden.
▶ Das Gerät während des Aktualisierungsvorgangs nicht neu starten.
▶ Warten, bis die Aktualisierung abgeschlossen ist.
Voraussetzungen:
√ Firmware-Datei der Bluetooth Mesh IO-Link Adapter ist im Dateisystem des Mobilgeräts gespeichert.
√ ifm moneo|blue ist gestartet.
▶ Verbindung zur Bluetooth Mesh IoT Basisstation herstellen.
▶ Editoransicht der Bluetooth Mesh IoT-Basisstation aufrufen.
▶ In Kopfzeile: Auf ↑ klicken.
▷ Dialogfenster erscheint.
▶ Option [Update all connected mesh adapters] wählen.
▶ Im Bereich [Select update file]: Auf [Browse] klicken.
▶ Neue Firmware-Datei wählen.
▷ Menüseite zeigt die gewählte Firmware-Datei.
▶ Auf [Import] klicken.
▷ Firmware-Datei wird auf die Bluetooth Mesh IoT Basisstation übertragen.
▷ Hinweis erscheint, dass neue Firmware für die verbundenen Adapter verfügbar ist.
▶ Auf [Update] klicken.
▷ Neue Firmware wird an alle verbundenen Bluetooth Mesh IO-Link Adapter übertragen.
▷ Firmware wird aktualisiert.
▷ Alle Adapter starten neu.
▷ Neue Firmware ist auf allen verbundenen Bluetooth Mesh IO-Link Adaptern installiert.
8.3 ifm IoT-Core REST API
8.3.1 ifm IoT-Core: Allgemeine Informationen
Das Gerät verfügt über den ifm IoT-Core. Der ifm IoT-Core repräsentiert die Funktionalität des Geräts. Die Funktionalität besteht aus einer Menge aus Daten, Diensten und Ereignissen. Die Elemente des ifm IoT-Core sind in einem JSON-Objekt in einer hierarchischen Baumstruktur angeordnet. Der ifm IoT-Core stellt diese Elemente über Standard-Schnittstellen (z. B. HTTP) der Außenwelt zur Verfügung. So können der Anwender und andere Geräte auf Daten (Parameter, Prozessdaten), Ereignisse (Events) und Funktionen (Dienste) des Geräts zugreifen.
8.3.1.1 Auf den ifm IoT- Core zugreifen
Der Zugriff auf ein Element des ifm IoT-Core erfolgt über dessen Adresse (z. B. root/port1/pin2). Die Adresse setzt sich zusammen aus dem zum Element führenden Pfad (root/port1) und dem Identifier des Elements (pin2).
Der Anwender kann über HTTP-Requests auf den ifm IoT-Core zugreifen. Folgende Methoden werden unterstützt.
GET-Methode
Zugriff: lesend
Syntax der Anfrage (Request):
http://ip/data_point/service
| Parameter | Beschreibung |
| ip | IP-Adresse der IoT-Schnittstelle |
| data_point | Datenpunkt, auf den zugegriffen werden soll |
| service | Dienst |
Syntax der Antwort (Response):
{
"cid": id,
"data": {"value":"resp_data"},
"adr": "data_point/service",
"code": diag_code
}
| Feld | Parameter | Beschreibung |
| cid | id | Correlation ID für die Zuordnung von Anfrage und Antwort |
| data | resp_data | Wert des Datenpunkts; abhängig vom Datentyp des Datenpunkts |
| adr | data_point | Datenpunkt, auf den zugegriffen wurde |
| service | Dienst, mit dem auf den Datenpunkt zugegriffen wurde | |
| code | diag_code | Diagnosecode Diagnosecodes |
Beispiel: GET-Request
• Anfrage (per Browser):
http://192.168.0.79/deviceinfo/productname/getdata
- Antwort:
{
"cid": -1,
"data": {"value":"EI0404"},
"adr": "/deviceinfo/productname/getdata",
"code": 200
}
POST-Methode
Zugriff: lesend, schreibend
Syntax der Anfrage (Request):
{
"code":"code_id",
"cid":id,
"adr":"data_point/service",
"data":{"req_data"},
"auth":{"user":"usr_id","passwd":"password"}
}
| Feld | Parameter | Beschreibung |
| code | code_id | Dienstklasserequest: Anfragetransaction: Transaktionevent: Ereignis |
| cid | id | Correlation ID für die paarweise Zuordnung von Anfrage und Rückgabe; vom Nutzer frei wählbare Kennung |
| adr | data_point | Datenpunkt, auf den zugegriffen werden soll |
| service | Dienst, mit dem auf den Datenpunkt zugegriffen werden soll | |
| data 1 | req_data | Daten, die an den ifm IoT-Core gesendet werden (z. B. neue Werte); Syntax abhängig vom Dienst |
| auth 2 | usr_id | Nutzername (BASE64-codiert); Default: administrator |
| password | Passwort (BASE64-codiert) |
1 optional; nur erforderlich bei Diensten, die Daten an den ifm IoT Core senden (z. B. setdata)
2 optional; nur erforderlich, wenn Sicherheitsmodus aktiviert ist
Syntax der Antwort (Response):
{
"cid": id,
"data": {resp_data},
"adr": "data_point/service",
"code": diag_code
}
| Feld | Parameter | Beschreibung |
| cid | id | Correlation ID für die Zuordnung von Anfrage und Rückgabe (→ Request) |
| data1 | resp_data | Werte, die vom ifm IoT Core zurückgegeben werden; Syntax abhängig vom Dienst |
| adr | data_point | Datenpunkt, auf den zugegriffen wurde |
| service | Dienst, mit dem auf den Datenpunkt zugegriffen wurde | |
| code | diag_code | Diagnosecode |
1 optional; nur verfügbar bei Diensten, die Daten vom ifm IoT Core empfangen (z. B. getdata)
Beispiel: POST-Request
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/deviceinfo/devicename/getdata"
}
Antwort (Response):
{
"cid": 1,
"data": {
"value": "New Base"
},
"adr": "/deviceinfo/devicename/getdata",
"code": 200
}
Diagnosecodes
| Code | Text | Beschreibung |
| 200 | OK | Anfrage erfolgreich abgearbeitet |
| 400 | Bad request | Ungültige Anfrage |
| 403 | Forbidden | Verbotene Anfrage |
| 404 | Element not found: | Angegebene Adresse existiert nicht |
| 408 | Request Timeout | Zeitüberschreitung bei der Antwort auf die Anfrage |
| 404 | Element not found: | Der angefragte Dienst existiert nicht. |
| 413 | Request payload too large | Nutzdaten der Anfrage zu groß |
| 414 | Request-URL too long | Anfrage-URL zu lang |
| 416 | Request Range Not Satisfiable | Angefragter Wertebereich nicht innerhalb der erlaubten Grenzen |
| 422 | Invalid payload. Invalid: | Übergebene Daten / Nutzdatensind ungültig |
| 423 | The service is busy | Dienst ist derzeit blockiert, deaktiviert oder beschäftigt |
| 424 | Failed dependency: | Ausführung des Dienstes zur Zeit nicht erlaubt (Abhängigkeiten prüfen) |
| 429 | Too many requests | Zu viele Anfragen |
| 500 | Internal Server Error | Interner Fehler |
| 501 | Not implemented | Nicht implementiert |
| 502 | Remote service failed with code: | Anfrage an das Remote-Gerät fehlgeschlagen mit Fehlermeldung |
| 503 | Service Unavailable | Dienst nicht verfügbar |
| 507 | Insufficient storage | Speicher des Geräts nicht ausreichend |
| 550 | Service execution failed | Ausführung des Dienstes fehlgeschlagen |
| 901 | Already exists | Element oder Link zum Element existiert bereits an der gleichen Stelle im IoT-Core-Baum |
8.3.2 Erste Schritte
Der ifm IoT-Core enthält Elemente, die nur zur internen Verwendung durch ifm vorgesehen sind. Diese Elemente werden in der Abfrage mit dem Dienst gettree nicht ausgegeben. Die Elemente sind gegen unerlaubten Zugriff geschützt.
Um die komplette Baumstruktur des IoT-Cores des Geräts auszugeben, die folgende POST-Anfrage an den ifm IoT-Core senden:
{
"code":"request",
"cid":-1,
"adr":"/gettree"
}
Der ifm IoT-Core gibt die komplette Baumstruktur als strukturiertes JSON-Objekt zurück.
▶ In der Baumstruktur des JSON-Objekts alle Unterstrukturen und die enthaltenen Datenpunkte identifizieren.
▶ Die anwendbaren Dienste für den Zugriff auf Unterstrukturen und darin enthaltene Datenpunkte identifizieren.
8.3.3 Allgemeine Funktionen
Das Gerät besitzt den Typ device (→ Typen ☐ 70). Auf das Wurzelelement des Gerätebaums können folgende Dienste angewendet werden:
| Dienst | Beschreibung |
| ../gettree | Gesamtbaum oder Teilbaum der Gerätebeschreibung (JSON) ausgeben |
| ../getidentity | Identifikationsinformationen des Geräts lesen |
| ../getdatamulti | Mehrere Elemente sequenziell lesen |
| ../getelementinfo | Detaillierte Informationen eines Elements lesen |
| ../getsubscriberlist | Liste mit allen aktiven Benachrichtigungsabonnements ausgeben |
| ../querytree | Gerätebeschreibung nach spezifischen Elementen durchsuchen |
Auf Elemente vom Typ data können in Abhängigkeit von den gesetzten Zugriffsrechten folgende Dienste angewendet werden:
| Dienst | Beschreibung |
| ../getdata | Wert des Elements lesen |
| ../setdata | Wert des Elements schreiben |
8.3.3.1 Beispiel: Parameterwert ändern
Aufgabe: Der Parameter device name des Geräts soll den Wert "New Base Station" erhalten.
Lösung: Mit dem Dienst setdata den neuen Wert des Elements deviceinfo/devicename schreiben.
Anfrage (Request):
{
"code":"request",
"cid":4711,
"adr":"/deviceinfo/devicename/setdata",
"data":{
"newvalue":"New Base Station",
}
}
Antwort (Response):
{
"cid":4711,
"adr":"/deviceinfo/devicename/setdata",
"code":200
}
8.3.3.2 Beispiel: Mehrere Parameterwerte gleichzeitig lesen
Aufgabe: Folgende aktuelle Informationen des Geräts sollen gelesen werden: Temperatur, Seriennummer
Lösung: Die aktuellen Parameterwerte mit dem Dienst getdatamulti lesen (Datenpunkt Temperatur: /processdatabasestation/temperature/cpu; Datenpunkt Seriennummer: /deviceinfo/serialnumber).
Anfrage (Request):
{
"code":"request",
"cid":4711,
"adr":"/getdatamulti",
"data":{
"datatosend":[
"/processdatabasestation/temperature/cpu",
"/deviceinfo/serialnumber"
]
}
}
Antwort (Response):
{
"cid":4711,
"data":{
"processdatabasestation/temperature/cpu":{
"code":200,
"data":32
},
"deviceinfo/serialnumber":{
"code":200,
"data":"000174210147"
}
},
"adr":"getdatamulti",
"code":200
}
8.3.3.3 Beispiel: Teilbaum ausgeben
Aufgabe: Alle direkten Unterelemente des Knotens meshnetwork ausgeben.
Lösung: Mit Dienst gettree den gewünschten Teilbaum ausgeben (Wurzelknoten: meshnetwork, zu zeigende Unterebenen: 1)
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/gettree",
"data": {
"adr": "/meshnetwork/",
"level": 1
}
}
Antwort (Response):
{
"cid": 1,
"data": {
"identifier": "meshnetwork",
"type": "structure",
"subs": [
{
"identifier": "provisioning",
"type": "structure",
"profiles": [
"wirelessprovisioning"
]
},
{
"identifier": "mesh_adapter[1]",
"type": "subdevice",
"profiles": []
},
{
"identifier": "adapter_update",
"type": "structure",
"profiles": [
"software",
"software/uploadablesoftware"
]
}
]
},
"adr": "/gettree",
"code": 200
}
8.3.3.4 Beispiel: IoT Core durchsuchen
Aufgabe: Alle Elemente mit dem Profil datarequired sollen aufgelistet werden.
Lösung: Mit dem Dienst querytree den IoT Core des Geräts mit dem Parameter datarequired (profile) durchsuchen.
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/querytree",
"data": {
"profile": "datarequired"
}
}
Antwort (Response):
{
"cid": 1,
"data": {
"adrList":[
"00-02-01-42-DC-9D/iotsetup/ethernet/network/ipaddress",
"00-02-01-42-DC-9D/iotsetup/ethernet/network/subnetmask",
"00-02-01-42-DC-9D/iotsetup/ethernet/network/dhcp",
"00-02-01-42-DC-9D/iotsetup/ethernet/network/ipdefaultgateway"
]
},
"adr": "/querytree",
"code": 200
}
8.3.4 Ethernet: IP-Einstellungen konfigurieren
Unterstruktur: iotsetup/ethernet/network

▶ Die Datenpunkte der Unterstruktur network nur blockweise mit dem Dienst setblock ändern!
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| ../dhcp | Konfigurationsmethode für IP-Einstellungen der Schnittstelle | 0: Static IP: Statische Adressierung (Default)1: DHCP: Adressierung per DHCP (Dynamic Host Configuration Protocol) | rw1 |
| ../ipaddress | IP-Adresse der Schnittstelle | z. B. 192.168.0.79 (Default) | rw12 |
| ../subnetmask | Subnetzmaske des Netzwerksegments | z. B 255.255.255.0 (Default) | rw12 |
| ../ipdefaultgateway | IP-Adresse des Netzwerk-Gateways | z. B. 192.168.0.100 (Default) | rw12 |
| ../macaddress | MAC-Adresse der Schnittstelle | z. B. 00-02-01-42-DC-9D | ro3 |
1 lesen und schreiben
2 nur änderbar, wenn DHCP deaktiviert
3 nur lesen
Anwendbare Dienste:
| Name | Beschreibung |
| ../setblock | Alle Datenpunkte der Unterstruktur blockweise schreiben |
8.3.5 Ethernet: Passwortschutz konfigurieren
Der Passwortschutz sichert das Gerät vor nicht autorisierten Zugriffen über die Ethernet-Schnittstelle.
Nachdem das Passwort gesetzt wurde, muss der Anwender für die Authentifizierung den POST-Requests zusätzlich das Feld "auth" mit gültigem Nutzername ("user") und Passwort ("passwd") übergeben.
Der Nutzername ist administrator. Der Nutzername ist fest eingestellt und kann nicht geändert werden.
Nutzername und Passwort werden als Base64-codierte Zeichenketten dargestellt: Beispiel: Anfrage mit Authentifizierung (→ 34)
Mit aktivierten Passwortschutz können folgende Requests auch ohne Authentifizierung ausgeführt werden:
- getidentity
• deviceinfo/vendor/getdata
• deviceinfo/productcode/getdata
Unterstruktur: iotsetup/ethernet/security
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| ../password | Passwort für Authentifizierung setzen (Base64-codierte Zeichenkette)Min. Länge: 6 Max. Länge: 32 | z. B. ZXRoX3 Bhc3N3b3Jk | wo 1 |
1 nur schreiben
Gültiger Zeichensatz für das Passwort vor der Base64-Codierung: UTF-8 ohne Steuerzeichen
Anwendbare Dienste:
| Name | Beschreibung |
| ../resetpassword | Ethernet-Passwort löschen |
8.3.5.1 Beispiel: Ethernet-Passwort setzen
Aufgabe: Die Ethernet-Verbindung soll mit einem Passwort geschützt werden (Passwort: eth_password)
Lösung: Mit dem Dienst setdata das Passwort eth_password (Base64-codiert: ZXRoX3
Bhc3N3b3Jk) auf den Datenpunkt iotsetup/ethernet/security/password schreiben.
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/iotsetup/ethernet/security/password/setdata",
"data": {
"newvalue": "ZXRoX3
Bhc3N3b3Jk"
}
}
Antwort (Response):
{
"code": "request",
"cid": 1,
"adr": "/iotsetup/ethernet/security/password/setdata",
"code": 200
}
Die Ethernet-Schnittstelle ist passwortgeschützt. Der Dienst getidentity ( → Dienst: getidentity ☐ 72) zeigt, dass das Passwort gesetzt ist.
8.3.5.2 Beispiel: Anfrage mit Authentifizierung
Aufgabe: Die Temperatur des Geräts soll gelesen werden. Das Passwort ist gesetzt (Passwort: eth_password).
Lösung: Mit dem Dienst getdata den Datenpunkt processdatabasestation/temperature/cpu lesen. Nutzername und Passwort werden als Base64-codierte Zeichenketten übergeben:
- Nutzername:
- administrator: YWRtaW5pc3RyYXRvcg==
- Password:
- eth_password: ZXRoX3
Bhc3N3b3Jk
Anfrage (Request):
{
"code": "request",
"cid": -1,
"adr": "/processdatabasestation/temperature/cpu/getdata",
"auth": {
"user": "YWRtaW5pc3RyYXRvcg==",
"passwd": "ZXRoX3
Bhc3N3b3Jk"
}
}
Antwort (Response):
{
"cid": -1,
"adr": "/processdatabasestation/temperature/cpu/getdata",
"data": {
"value": 37
},
"code": 200
}
8.3.5.3 Beispiel: Ethernet-Passwort löschen
Aufgabe: Der Zugriff auf das Gerät über die Ethernet-Schnittstelle ist mit einem Passwort geschützt (Passwort: eth_password). Das Passwort soll gelöscht werden.
Lösung: Mit dem Dienst resetpassword auf die Unterstruktur iotesetup/ethernet/security schreiben. Nutzername und Passwort werden als Base64-codierte Zeichenketten übergeben.
- Nutzername:
- administrator: YWRtaW5pc3RyYXRvcg==
- Password:
- eth_password: ZXRoX3
Bhc3N3b3Jk
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/iotsetup/ethernet/security/resetpassword",
"auth": {
"user": "YWRtaW5pc3RyYXRvcg==",
"passwd": "ZXRoX3
Bhc3N3b3Jk"
}
}
Antwort (Response):
{
"cid": 1,
"adr": "/iotsetup/ethernet/security/resetpassword",
"code": 200
}
8.3.6 Bluetooth: Stationsname einstellen
Unterstruktur: iotsetup/bluetooth_le
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| ../bluetooth_name | Stationsname des Geräts (Zeichenkette mit max. 22 Zeichen) | z. B. eio404_base | rw 1 |
1 lesen und schreiben
8.3.7 Bluetooth: Passwortschutz konfigurieren

Hinweise zum Bluetooth-Password beachten: Bluetooth-Password ( → 19)
Unterstruktur: iotsetup/bluetooth_le/security
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| ../security/password | Passwort für Authentifizierung an Bluetooth-LE- Authentifizierung setzen (Base64-codierte Zeichenkette)Min. Länge: 6 Max. Länge: 32HINWEIS! Das Passwort hat keinen Einfluss auf die Mesh-Funktionalität. | z. B. YmxIX3 Bhc3N3b3Jk | wo 1 |
| ../security/password_state | Aktueller Status des Bluetooth-Passworts | 0: Default Password – werkseitig eingestelltes Passwort (letzten 6 Ziffern der Seriennummer)1: User specific password - Nutzerspezifisches Passwort | ro 2 |
1 nur schreiben
2 nur lesen

Gültiger Zeichensatz für Passwort vor der Base64-Codierung: UTF-8 ohne Steuerzeichen
Anwendbare Dienste:
| Name | Beschreibung |
| ../resetpassword | Passwort auf Werkseinstellungen zurücksetzen |
8.3.7.1 Beispiel: Bluetooth-Passwort ändern
Aufgabe: Das Bluetooth-Password soll auf den Wert ble_password gesetzt werden.
Lösung: Mit dem Dienst setdata das Passwort ble_password (Base64-codiert: Ymx1X3
Bhc3N3b3Jk) auf den Datenpunkt /iotsetup/bluetooth_le/security/password schreiben.
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "iotsetup/bluetooth_le/security/password/setdata",
"data": {
"newvalue": "YmxlX3
Bhc3N3b3Jk"
}
}
}
Antwort (Response):
{
"cid":1,
"adr":"iotsetup/bluetooth_le/security/password/setdata",
"code":200
}
8.3.8 Bluetooth Mesh-Netzwerk verwalten
Unterstruktur: meshnetwork/provisioning
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| ../max_nodes | Max. Anzahl der Knoten | 50 | ro 1 |
| ../current_nodes | Aktuelle Anzahl der Knoten im Mesh-Netzwerk | 0...50 | ro 1 |
| ../valid_credits_count | Aktuelle Anzahl der genutzten Bluetooth Mesh Credits | 0...65535 | ro 1 |
1 nur lesen
Anwendbare Dienste:
| Name | Beschreibung |
| ../scan | Umgebung des Geräts nach verfügbaren Knoten scannen |
| ../register | Einen Knoten am Mesh-Netzwerk anmelden |
| ../unregister | Einen Knoten vom Mesh-Netzwerk abmelden |
| ../replace | Einen Knoten des Mesh-Netzwerks ersetzen |
| ../get_credit | Credit des Mesh-Netzwerks anfordern, um einen Knoten zum Netzwerk hinzufügen zu können |
| ../reset_credits | Aktuell angeforderte Credits zurücksetzen |
8.3.8.1 Beispiel: Verfügbare Mesh Adapter suchen
Aufgabe: In der Umgebung des Geräts soll nach verfügbaren Bluetooth Mesh Adaptern gesucht werden.
Lösung: Den Dienst scan auf der Unterstruktur meshnetwork/provisioning ausführen.
Anfrage (Request):
{
"code": "request",
"cid": 4711,
"adr": "/meshnetwork/provisioning/scan"
}
Antwort (Response):
{
"cid":4711,
"data":[{
"id": "XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX",
"name": "EIO344 ifm SN: 123456789011",
"info": [
{
"key": "MAC Address",
"value": "aa-bb-cc-dd-ee-ff"
},
{
"key": "Signal Strength",
"value": 77
}
]
}],
"adr":"/meshnetwork/provisioning/scan",
"code":200
}
Die Basisstation hat einen Bluetooth Mesh Adapter mit der UUID (Feld "id") und einem Namen (Feld "name") gefunden. Der Mesh Adapter besitzt eine MAC-Adresse und hat eine Signalstärke von 77%.
8.3.8.2 Beispiel: Mesh Adapter am Mesh-Netzwerk anmelden
Aufgabe: Mit den beim Netzwerkscan erkannten Daten soll der Mesh Adapter am Bluetooth Mesh-Netzwerk angemeldet werden.
Lösung: Den Dienst register auf der Unterstruktur meshnetwork/provisioning ausführen. Die UUID des Mesh Adapter muss übergeben werden.
Anfrage (Request):
{
"code":10,
"cid": 4711,
"adr":"/meshnetwork/provisioning/register",
"data":{
"id":"XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX"
}
}
Antwort (Response):
{
"code":200,
"cid":4711,
"adr":"/meshnetwork/provisioning/register",
"data":{
"adr":"/meshnetwork/mesh_adapter[1]"
}
}
Nach der erfolgreichen Anmeldung des Bluetooth Mesh Adapters wird dessen IoT-Core-Baum in den IoT-Core-Baum der Bluetooth Mesh Basisstation eingebunden (Unterstruktur meshnetwork/mesh_adapter[x] (x: 1...50)).
8.3.8.3 Beispiel: Mesh Adapter ersetzen
Aufgabe: Der im Bluetooth Mesh-Netzwerk angemeldete Mesh Adapter mit der UUID "XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX" soll ersetzt werden durch den Mesh Adapter mit der UUID "YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY".
Lösung: Den Dienst replace auf der Unterstruktur meshnetwork/provisioning ausführen. Die UUID der beiden Mesh Adapter muss übergeben werden.
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/meshnetwork/provisioning/replace",
"data": {
"old_id": "XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX",
"new_id": "YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY"
}
}
Antwort (Response):
{
"cid": 1,
"adr": "/meshnetwork/provisioning/replace",
"code": 200
}
8.3.8.4 Beispiel: Mesh Adapter vom Mesh-Netzwerk abmelden
Aufgabe: Der Bluetooth Mesh Adapter mit der UUID "YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY" soll vom Mesh-Netzwerk abgemeldet werden.
Lösung: Den Dienst unregister auf der Unterstruktur meshnetwork/provisioning ausführen. Die UUID des Mesh Adapter muss übergeben werden.
Anfrage (Request):
Anfrage (Request):
{
"code": "request",
"cid": 4711,
"adr": "/meshnetwork/provisioning/unregister",
"data": {
"id": "YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY-YY"
}
}
Antwort (Response):
{
"cid":4711,
"adr":"/meshnetwork/provisioning/unregister",
"code":200
}
Die Unterstruktur des Mesh Adapters (mesh_adapter[x] (x: 1...50)) wird aus dem IoT-Core-Baum der Mesh Basisstation entfernt.
8.3.9 Bluetooth Mesh IO-Link Adapter verwalten
Für jeden in das Netzwerk eingebundenen Bluetooth Mesh IO-Link Adapter wird eine Unterstruktur mesh_adapter[x] (x:1...50) unter meshnetwork erzeugt. Die Unterstruktur enthält den IoT-Core des Bluetooth Mesh IO-Link Adapters mit gerätespezifischen Strukturen und Datenpunkten.

Beschreibung des IoT-Cores der Bluetooth Mesh IO-Link Adapter: → Betriebsanleitung der EIO344
Auf den IoT-Core des Bluetooth Mesh IO-Link Adapters kann nur über die Bluetooth Mesh IoT Basisstation zugegriffen werden. Dazu muss der Adapter in das Bluetooth Mesh-Netzwerk eingebunden sein.
8.3.10 Zeitgeber konfigurieren
Das Gerät verfügt über 2 Zeitgeber. Die Zeitgeber können für die zeitgesteuerte Übertragung von Benachrichtigungen (→ Benachrichtigungen nutzen ☐ 41) genutzt werden.
Unterstruktur: timer[1] | timer[2]
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| ../counter | Zählerstand | 0...4294967295 | ro 1 |
| ../interval | Zählintervall (Wert in ms) | 1000: 1000 ms86400000: 86400000 ms | rw 2 |
| ../interval/unit | Einheit des Zählintervalls | ms: Millisekunden | ro 1 |
| ../status | Status des Zählers | 0: stopped - Zähler angehalten1: running - Zähler läuft | ro 1 |
1 nur lesen
2 lesen und schreiben
Anwendbare Dienste:
| Name | Beschreibung |
| ../status/start | Zähler starten |
| ../status/stop | Zähler stoppen |
8.3.10.1 Beispiel: Zählintervall einstellen
Das ▶ Zählintervall des Zeitgebers 2 soll auf 2,5 s eingestellt werden.
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/timer[2]/interval/setdata",
"data": {
"newvalue": 2500
}
}
Antwort (Response):
{
"cid": 1,
"adr": "/timer[2]/interval/setdata",
"code": 200
}
8.3.10.2 Beispiel: Zähler starten
Der Zähler des Zeitgebers 2 ist konfiguriert und soll gestartet werden.
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/timer[2]/status/start"
}
Antwort (Response):
{
"cid": 1,
"adr": "/timer[2]/status/start",
"code": 200
}
8.3.10.3 Beispiel: Zähler stoppen
Der Zähler des Zeitgebers 2 läuft und soll gestoppt werden.
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/timer[2]/status/stop"
}
Antwort (Response):
{
"cid": 1,
"adr": "/timer[2]/status/stop",
"code": 200
}
8.3.11 Benachrichtigungen nutzen
Das Gerät unterstützt das Versenden von Benachrichtigungen. Eine Benachrichtigung kann die aktuellen Werte einzelner oder mehrerer Prozessdaten enthalten.
Verfügbare Benachrichtigungstypen:
• Ereignisgesteuerte Benachrichtigungen (→ 41)
- Zeitgesteuerte Benachrichtigungen (→ 41)
Benachrichtigungen werden an eine bestimmte Zieladresse gesendet. Die Zieladresse besteht aus den Elementen Übertragungsprotokoll, IP-Adresse, Port und Topic (z. B: http://192.168.100.254:80/myTopic)
Unterstützte Übertragungsprotokolle:
- http
- mqtt
Die Aktivitätsdauer einer Benachrichtigung kann eingestellt werden.
Der Nutzer kann mit dem Dienst getsubscriberlist alle aktiven Benachrichtigungen anzeigen.
8.3.11.1 Ereignisgesteuerte Benachrichtigungen
Alle Elemente des ifm IoT-Cores mit einem Unterelement vom Typ event können als Auslöser für ereignisgesteuerte Benachrichtigungen genutzt werden.
| Name | Beschreibung |
| ../datachanged | Knoten für die Anzeige von Wertänderungen des übergeordneten Datenknotens |
| ../eventcollection | Knoten für die Anzeige von Wertänderungen mehrerer Datenknoten des IoT-Cores |
| ../treechanged | Knoten für die Anzeige von Strukturänderungen im IoT-Core |
Anwendbare Dienste:
| Name | Beschreibung |
| ../subscribe | Benachrichtigungen anmelden |
| ../unsubscribe | Benachrichtigungen abmelden |
8.3.11.2 Zeitgesteuerte Benachrichtigungen
Der ifm IoT-Core bietet 2 Zeitgeber, die als Auslöser für zeitgesteuerte Benachrichtigungen genutzt werden können.
| Name | Beschreibung |
| ../timer[1]/counter/datachanged | Zähler des Zeitgerbers 1 |
| ../timer[2]/counter/datachanged | Zähler des Zeitgebers 2 |
Die Intervallzeit der Zeitgeber kann eingestellt werden. Jeder Zählimpuls löst eine Benachrichtigung aus.
Anwendbare Dienste:
| Name | Beschreibung |
| ../subscribe | Benachrichtigungen anmelden |
| ../unsubscribe | Benachrichtigungen abmelden |
8.3.11.3 Beispiel: Zeitgesteuerte Benachrichtigung erzeugen
Aufgabe: Die Werte der folgenden Parameter sollen aller 10 Sekunden an das Topic myData auf einem Netzwerk-Rechner mit der IP-Adresse 192.168.0.4 verschickt werden:
• IO-Link Eingangsdaten des Sensors an Bluetooth Mesh IO-Link Adapter 1
- Betriebstemperatur der Bluetooth Mesh IoT Basisstation
Lösung: Die Lösung besteht aus 3 Teilschritten:
Zählintervall des Zeitgeber 1 einstellen (10 s = 10000)
• Anfrage (Request):
{
"code":"request",
"cid":4712,
"adr":"/timer[1]/interval/setdata",
"data":{
"newvalue":10000
}
}
▶ Zeitgeber 1 starten
• Anfrage (Request):
{
"code": "request",
"cid": 4712,
"adr": "/timer[1]/counter/start",
}
▶ Benachrichtigungen aktivieren
• Anfrage (Request):
{
"code": "request",
"cid": 4711,
"adr": "/timer[1]/counter/datachanged/subscribe",
"data": {
"callback": "http://192.168.0.4:80/myData",
"datatosend": [
"/meshnetwork/mesh_adapter[1]/iolinkmaster/port[1]/iolinkdevice/pdin",
"/processdatabasestation/temperature/cpu"
]
}
}
Die Benachrichtigung wird im JSON-Format übertragen. Die Benachricht besitzt folgende Struktur:
{
"code": "event",
"cid": 4711,
"adr": "",
"data": {
"eventno": "6317",
"srcurl": "/timer[1]/counter/datachanged",
"payload": {
"/timer[1]/counter": {
"code": 200,
"data": 1
},
"/processdatabasestation/temperature/cpu": {
"code": 200,
"data": 39
},
"/meshnetwork/mesh_adapter[1]/iolinkmaster/port[1]/iolinkdevice/pdin": {
"code": 200,
"data": "03B0"
}
}
}
}
8.3.11.4 Beispiel: Ereignisgesteuerte Benachrichtigung erzeugen
Aufgabe: Bei Änderungen des Bluetooth Mesh-Netzwerks soll eine Nachricht mit der Anzahl der eingebundenen Mesh-Adapter an einen Server gesendet werden (Server IP-Adresse: 192.168.82.100, Port: 80, Topic: myData).
Lösung:
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/treechanged/subscribe",
"data": {
"callback": "http://192.168.82.100:80/myData"
"datatosend": [
"/meshnetwork/provisioning/current_nodes"
]
}
}
Antwort (Response):
{
"cid": 1,
"adr": "/treechanged/subscribe",
"code": 200
}
8.3.11.5 Beispiel: Aktive Benachrichtigungen anzeigen
Aufgabe: Alle aktiven Benachrichtigungen sollen angezeigt werden.
Lösung: Mit dem Dienst getsubscriberlist alle aktiven Benachrichtigungen lesen.
Anfrage (Request):
{
"code": "request",
"cid": 4711,
"adr": "/getsubscriberlist"
}
Antwort (Response):
{
"cid": 4711,
"data": [
{
"adr": "00-02-01-0B-AA-06/timer[1]/counter/datachanged",
"datatosend": [
"00-02-01-0b-aa-06/mesh_adapter[1]/iolinkmaster/port[1]/iolinkdevice/pdin",
"00-02-01-0b-aa-06/processdatabasestation/temperature"
],
"cid": 4711,
"callbackurl": "http://192.168.0.4:80/myData",
}
],
"adr": "/getsubscriberlist",
"code": 200
}
8.3.11.6 Beispiel: Benachrichtigung ändern
Aufgabe: Das existierende Abonnement soll geändert werden. Anstatt der Temperatur der Bluetooth-Basisstation soll die anliegende Betriebsspannung übertragen werden.
Lösung: Das existierende Abonnement überschreiben. Dafür müssen in der Anfrage die Parmeterwerte für "cid" und "callback" gleich denen des existierenden Abonnements sein.
Anfrage (Request):
{
"code": "request",
"cid": 4712,
"adr": "/timer[1]/counter/datachanged/subscribe",
"data": {
"callback": "http://192.168.0.4:80/myData",
"datatosend": [
"/meshnetwork/mesh_adapter[1]/iolinkmaster/port[2]/iolinkdevice/pdin",
"/processdatabasestation/voltage/input"
]
}
}
Antwort (Response):
{
"cid":4712,
"adr":"/timer[1]/counter/datachanged/subscribe",
"code":200
}
8.3.11.7 Beispiel: Benachrichtigung löschen
Aufgabe: Die existierende Benachrichtigung soll gelöscht werden.
Lösung: Mit dem Dienst unsubscribe die Benachrichtigung löschen. Dafür muss in der Anfrage der Wert des Parameters "callback" gleich dem der existierenden Benachrichtigung sein.
Anfrage (Request):
{
"code":"request",
"cid":4712,
"adr":"/timer[1]/counter/datachanged/unsubscribe",
"data":{
"callback":"http://192.168.0.4:80/myData"
}
}
8.3.12 MQTT nutzen
Der ifm IoT-Core unterstützt das MQTT-Protokoll. MQTT ermöglicht es einem Client über einen Broker mit dem ifm IoT-Core zu kommunizieren, um Daten anzufordern und zu empfangen. Der ifm IoT-Core kann Nachrichten an einen MQTT-Broker veröffentlichen (publish).
Um eine MQTT-Kommunikation zu ermöglichen, muss der Anwender den MQTT-Kommandokanal konfigurieren. Die Konfiguration umfasst folgende Teilschritte:
▶ Prüfen, ob MQTT-Broker erreichbar ist.
▶ MQTT-▶ Kommandokanal aktivieren.
▶ MQTT-Kommandokanal konfigurieren.
▶ MQTT-Verbindung konfigurieren.
▷ MQTT-Verbindung ist konfiguriert und aktiviert.
▶ Prüfen, ob der gewünschte Port des MQTT-Brokers offen ist.
Nach der Konfiguration des MQTT-Kommandokanals und der MQTT-Verbindung können Daten an den MQTT-Broker veröffentlicht werden (publish). Die Veröffentlichung der Daten an den MQTT-Broker erfolgt über den Dienst subscribe.
8.3.12.1 MQTT-Verbindung konfigurieren
Das folgende Zustandsdiagramm zeigt den Einfluss der Dienste start, stop und reset auf den aktuellen Zustand einer MQTT-Verbindung:

Nach erfolgreicher Initialisierung im Zustand init wechselt die Verbindung automatisch in den Zustand running.
Die Verbindung nimmt automatisch den Zustand error ein, wenn mindestens eines der folgenden Ereignisse aufritt:
- kein MQTT-Broker erreichbar
Unterstruktur: connections/mqttconnection
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| ../type | Typ der Verbindung (MQTT) | mqtt: MQTT-Verbindung | ro 1 |
| ../status | Status der MQTT-Verbindung | init: Zustand init – Initialisierungstopped: Zustand stopped – Verbindung angehaltenrunning: Zustand running – Verbindung läufterror: Zustand error - Fehlerzustand | ro 1 |
| ../status/preset | Voreinstellung des Status der MQTT-Verbindung | running: Status running (Default) | ro 1 |
| ../MQTTSetup | Unterstruktur für allgemeine MQTT-Einstellungen | ||
| ../MQTTSetup/QoS | Qualitiy of Service (QoS) der MQTT-Verbindung | 0: QoS Level 0 - PUBLISH (ohne Bestätigung) (Default)1: QoS Level 1 - PUBLISH > PUBREC (Einfache Bestätigung)2: QoS Level 2 - PUBLISH > PUBREL > PUBCOMP (Doppelte Bestätigung) | rw 2 |
| ../MQTTSetup/version | MQTT-Version | z. B. 3.1.1 | ro 1 |
| ../MQTTSetup/KeepAlive | KeepAlive: Max. Zeit zwischen 2 auf-einanderfolgenden MQTT-Protokoll-Paketen (Wert in s) | 0: deaktiviert...10: 10 s (Default)...60: 60 s | rw 2 |
1 nur lesen
2 lesen und schreiben
Anwendbare Dienste:
| Name | Beschreibung |
| ../status/start | MQTT aktivieren. |
| ../status/stop | MQTT deaktivieren. |
| ../status/reset | MQTT zurücksetzen. |
8.3.12.2 MQTT-Kommandokanal konfigurieren
Der MQTT-Kommandokanal erlaubt das Senden und Empfangen von ifm IoT-Core-Benachrichtigungen ( → Benachrichtigungen nutzen ☐ 41).

Sicherstellen, dass der MQTT-Broker erreichbar ist und der gewählte Port des MQTT-Brokers für die Datenübertragung freigegeben ist.
Die Wildcards „+“ und „#“ in Topic-Namen werden nicht unterstützt.
Unterstruktur: connections/mqttconnection/mqttcmdchannel
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| ../type | Type des Kommandokanals | • mqtt: MQTT-Kommandokanal (Default) | ro 1 |
| ../status | Status des Kommandokanals | init: Zustand initstopped: Zustand stoppedrunning: Zustand running (Default)error: Zustand error | ro 1 |
| ../status/preset | Voreingestellter Kanalzustand | running: Zustand running (Default) | ro 1 |
| ./mqtt CmdChannel Setup | Unterstruktur für Einstellungen des Kommandokanals | -- | |
| ./mqtt CmdChannel Setup/brokerIP | IP-Adresse des MQTT-Brokers | z. B. 3.69.1.9 | rw 2 |
| ./mqtt CmdChannel Setup/broker-Port | Portnummer des MQTT-Brokers | z. B. 1883 | rw 2 |
| ./mqtt CmdChannel Setup/cmdTopic | Bezeichnung des MQTT-Kommando-Topics | z. B. reqTopic | rw 2 |
| ./mqtt CmdChannel Setup/default-Reply Topic | Bezeichnung des Standard-MQTT-Antwort-Topics | z. B. resp Topic | rw 2 |
| ./mqttcmdchannelsetup/user | Nutzername | z. B. user1 | rw 2 |
| ./mqttcmdchannelsetup/password | Passwort (nicht Base64-codiert) | z. B. passwort123 | rw 2 |
1 nur lesen
2 lesen und schreiben
Anwendbare Dienste:
| Name | Beschreibung |
| ../status/start | MQTT-Kanal starten |
| ../status/stop | MQTT-Kanal stoppen |
| ../status/reset | MQTT-Kanal zurücksetzen |
8.3.12.3 Beispiel: MQTT-Kommandokanal konfigurieren und aktivieren
Aufgabe: Der MQTT-Kommandokanal zu einem MQTT-Broker soll konfiguriert werden (IP-Adresse: 192.168.82.100, Port: 1883, Kommando-Topic: reqTopic, Standard-Antwort-Topic: resp
Topic). Die MQTT-Verbindung soll für QoS-Level 2 konfiguriert werden.
Lösung: Die Lösung besteht aus den folgenden Teilschritten:
▶ Prüfen, ob der MQTT-Broker erreichbar ist und der gewünschte Port freigegeben wurde.
▶ Kommandokanal aktivieren.
Anfrage (Request):
{
"code": "request",
"cid": 1,
"adr": "/connections/mqtt
Connection/mqtt
CmdChannel/status/start"
}
▶ IP-Adresse des MQTT-Brokers einstellen.
Anfrage (Request):
{
"code": "request",
"cid": 2,
"adr": "/connections/mqtt
Connection/mqtt
CmdChannel/mqtt
CmdChannel
Setup/brokerIP/setdata",
"data": {
"newvalue": "192.168.82.100"
}
}
▶ Port des MQTT-Brokers einstellen.
Anfrage (Request):
{
"code": "request",
"cid": 3,
"adr": "/connections/mqtt
Connection/mqtt
CmdChannel/mqtt
CmdChannel
Setup/broker
Port/setdata",
"data": {
"newvalue": 1883
}
}
▶ Name des Topics einstellen.
Anfrage (Request):
{
"code": "request",
"cid": 4,
"adr": "/connections/mqtt
Connection/mqtt
CmdChannel/mqtt
CmdChannel
Setup/cmdTopic/setdata",
"data": {
"newvalue": "reqTopic"
}
}
▶ Name des Standard-Antwort-Topics einstellen.
Anfrage (Request):
{
"code": "request",
"cid": 5,
"adr": "/connections/mqtt
Connection/mqtt
CmdChannel/mqtt
CmdChannel
Setup/default
ReplyTopic/setdata",
"data": {
"newvalue": "resp
Topic"
}
}
▶ QoS-Level einstellen.
Anfrage (Request):
{
"code": "request",
"cid": 6,
"adr": "connections/mqtt
Connection/MQTTSetup/QoS/setdata",
"data": {
"newvalue": 2
}
}
8.3.12.4 Beispiel: Gerätetemperatur an MQTT-Broker veröffentlichen
Aufgabe: Die Temperatur des Geräts soll aller 10 s an einen MQTT-Broker veröffentlicht werden (MQTT-Broker: 192.168.82.100, Port: 1883, Topic: devtemp).
Lösung:
Voraussetzungen:
√ ▷ MQTT-Verbindung ist konfiguriert.
√ ▷ MQTT-Kommandokanal ist konfiguriert.
√ Intervall des Zeitgebers 1 ist auf 10 s eingestellt.
√ Zeitgeber 1 ist gestartet.
▶ Mit dem Dienst subscribe den Prozesswert an den MQTT-Broker veröffentlichen.
Anfrage (Request) – MQTT-Broker ist nicht passwortgeschützt:
{
"code": "request",
"cid": 4711,
"adr": "/timer[1]/counter/datachanged/subscribe",
"data": {
"callback": "mqtt://192.168.82.100:1883/devtemp",
"datatosend": [
"processdatabasestation/temperature/cpu"
]
}
}
Anfrage (Request) – MQTT-Broker ist passwortgeschützt (Logon: user1, Passwort: passwort123):
{
"code": "request",
"cid": 4711,
"adr": "/timer[1]/counter/datachanged/subscribe",
"data": {
"callback": "mqtt://user1:password123@192.168.82.100:1883/devtemp",
"datatosend": ["processdatabasestation/temperature/cpu"]
}
}
Antwort (Response):
{
"cid":4711,
"adr":"/timer[1]/counter/datachanged/subscribe",
"code":200
}
Die Benachrichtigung wird im JSON-Format verschickt und besitzt folgende Struktur:
{
"code":"event",
"cid":4711,
"adr": "",
"data":{
"eventno":"6317",
"srcurl":"/timer[1]/counter/datachanged",
"payload":{
"/timer[1]/counter":{"code":200,"data":1},
"/processdatabasestation/temperature/cpu":{"code":200,"data":39}}
}
}
}
8.3.13 Gerät zurücksetzen, neu starten und lokalisieren
Unterstruktur: firmware
Anwendbare Dienste:
| Name | Beschreibung |
| ../factoryreset | Gerät auf Werkseinstellungen rücksetzen |
| ../reboot | Gerät neu starten |
| ../signal | Blinken der Status-LED auslösen |
8.3.14 Geräteinformationen lesen und schreiben
Unterstruktur: deviceinfo
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| ../serialnumber | Seriennummer | z. B. 000194610104 | ro 1 |
| ../swrevision | Firmware-Version | z. B. V1.36 | ro 1 |
| ../bootloaderrevision | Bootloader-Version | z. B. V0.06 | ro 1 |
| ../productinstanceuri | Bezeichnung des Wurzelknotens im IoT-Core-Baum | z. B. B4-E3-F9-C7-54-43 | ro 1 |
| ../eepromversion | EEPROM-Version | z. B. V0.02 | ro 1 |
| ../btmacaddress | Bluetooth-MAC-Adresse | z. B. B4-E3-F9-C7-54-43 | ro 1 |
| ../hwrevision | Hardware-Stand | z. B. AA | ro 1 |
| ../producttext | Produktbezeichnung | Bluetooth Mesh IoT Basestation | ro 1 |
| ../vendor | Hersteller | ifm electronic gmbh | ro 1 |
| ../productname | Produktname | EIO404 | ro 1 |
| ../productcode | Produkt-Code | EIO404 | ro 1 |
| ../devicename | Nutzerspezifischer Gerätename | z. B. mesh_base | rw 2 |
1 nur lesen
2 lesen und schreiben
8.3.15 Zustands- und Diagnoseinformationen lesen
Unterstruktur: processdatabasestation
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| ../temperature/cpu | CPU-Temperatur des Geräts (Wert in °C) | -40: -40°C...85: 85°C | ro 1 |
| ../voltage/input | Eingangsspannung des Geräts (Wert in mV) | 0: 0 mV...40000: 40000 mV | ro 1 |
| ../operatingstate | Betriebszustand des Geräts | 0: Device OK1: Bluetooth Mesh no device provisioned2: Ethernet link not connected3: Electronic temperature out of range4: Bluetooth LE connected5: Firmware update installation6: Hardware Error7: Undervoltage | ro 1 |
1 nur lesen
8.4 ifm moneo|configure
8.4.1 Verbindung zum Gerät herstellen

▶ Bei der Erstinbetriebnahme das werksseitig gesetzte Passwort für die Bluetooth-Schnittstelle ändern, Bluetooth LE: Passwortschutz konfigurieren (→ 56).
▶ Zusätzlich das Passwort für die Ethernet-Schnittstelle setzen, IoT: Passwortschutz konfigurieren (→ ☐ 55).
Voraussetzungen:
√ Gerät ist über Ethernet-Schnittstelle mit moneo-PC/Laptop verbunden.
√ ifm moneo|configure ist aus dem PC/Laptop installiert und lizensiert, ifm moneo|configure installieren (→ 19).
▶ ifm moneo|configure starten.
▶ Netzwerk nach verfügbaren Geräten durchsuchen (Gerätetyp: Generic IoT-Core device, IP-Adresse: 192.168.0.79).
▷ ifm moneo|configure erkennt das Gerät.

▶ In Spalte [Aktionen]: Auf 🔒 klicken.
▷ Editor für Parameterwerte des Geräts erscheint.
8.4.1.1 Bluetooth Mesh IO-Link Adapter provisionieren
Um einen Bluetooth Mesh IO-Link Adapter zu einem Bluetooth-Mesh-Netzwerk hinzuzufügen, muss der Adapter an der Bluetooth Mesh IoT Basisstation provisioniert werden.
Voraussetzungen:
√ ifm moneo|configure ist gestartet.
√ Gerät wurde beim Netzwerk-Scan gefunden.

▶ In Spalte [Aktionen]: Auf ⚙ klicken.
▷ Dialogfenster erscheint.
Bluetooth Mesh IoT Basisstation sucht in der Umgebung nach verfügbaren Bluetooth Mesh IO-Link Adaptern.
▷ Verfügbare Geräte werden in Liste angezeigt.

▶ Gewünschte Bluetooth Mesh IO-Link Adapter wählen.
▶ Auf [VERBINDEN] klicken.
▷ Gewählte Bluetooth Mesh IO-Link Adapter werden provisioniert.
▷ Provisionierte Geräte sind Teilnehmer des Bluetooth-Mesh-Netzwerks.
▷ In Übersichtsansicht erscheinen die provisionierten Adapter als Unterknoten der Bluetooth Mesh IoT Basisstation.

Nach der Provisionierung baut die Bluetooth Mesh IoT Basisstation selbständig die Verbindung zu allen provisionierten Bluetooth Mesh IO-Link Adaptern auf. Die Verbindung wird direkt oder über weitere Bluetooth Mesh IO-Link Adapter aufgebaut.
Die Bluetooth Mesh IO-Link Adapter senden zyklisch in einem definierten Intervall die Prozessdaten an die Bluetooth Mesh IoT Basisstation. Die Prozessdaten lassen sich dort ausgelesen und für die Anlagenüberwachung nutzen.
8.4.1.2 Bluetooth Mesh IO-Link Adapter aus Mesh-Netzwerk entfernen
Voraussetzungen:
√ ifm moneo|configure ist gestartet.
√ Gerät wurde beim Netzwerk-Scan erkannt.
√ Bluetooth Mesh IO-Link Adapter ist Teilnehmer des Bluetooth-Mesh-Netzwerks.

▶ In Spalte [Aktionen]: Auf 🔊 klicken.
▷ Hinweis zu den Folgen des Entfernens erscheint.
▶ Auf [OK] klicken, um die Meldung zu bestätigen.
Bluetooth Mesh IO-Link Adapter wird aus Bluetooth-Mesh-Netzwerk entfernt.
▷ Der für die Provisionierung genutzte Credit wird freigegeben.
8.4.2 Info: Identifikationsinformationen lesen
Verfügbare Informationen:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Serial number] | Seriennummer | z. B. 000022503648 | ro 1 |
| [SW-Revision] | Firmware-Version | z. B. V1.42 | ro 1 |
| [Bootloader revision] | Bootloader-Version | z. B. V0.07 | ro 1 |
| [EEPROM revision] | EEPROM-Version | z. B. V0.03 | ro 1 |
| [Bluetooth MAC address] | Bluetooth-MAC-Adresse | z. B. B4-E3-F9-C7-54-43 | ro 1 |
| [HW-Revision] | Hardware-Stand | z. B. AA | ro 1 |
| [Product text] | Produktbezeichnung | Bluetooth Mesh IoT Basestation | ro 1 |
| [Vendor] | Hersteller | ifm electronic gmbh | ro 1 |
| [Product code] | Artikelnummer | EIO404 | ro 1 |
1 nur lesen
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [Info] wählen.
▷ Menüseite zeigt die Geräteinformationen.
8.4.3 IoT: IP-Einstellungen konfigurieren
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [IP address] | IP-Adresse der Ethernet-Schnittstelle | z. B. 192.168.0.100 | rw 1 |
| [Subnet mask] | Subnetzmaske des Ethernet-Netzwerks | z. B. 255.255.255.0 | rw 1 |
| [Default gateway IP address] | IP-Adresse des Netzwerk-Gateways | z. B. 192.168.0.1 | rw 1 |
| [DHCP] | DHCP-Client des Geräts aktivieren / de-aktivieren | Static IP: IP-Einstellungen werden vom Anwender eingestellt (Default)DHCP: IP-Einstellungen werden von DHCP-Server im Netzwerk eingestellt | rw 1 |
| [MAC address] | MAC-Adresse der Schnittstelle | z. B. 00-02-01-42-DC-B0 | ro 2 |
1 lesen und schreiben
2 nur lesen
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [IoT] wählen.
▷ Menüseite zeigt aktuelle Einstellungen der Ethernet-Schnittstelle.
▶ Parameter einstellen.
▶ Geänderte Werte auf das Gerät schreiben.
▷ Neue IP-Einstellungen der Ethernet-Schnittstelle sind aktiv.
8.4.4 IoT: Passwortschutz konfigurieren
Der Passwortschutz sichert das Gerät vor nicht autorisierten Zugriffen über die Ethernet-Schnittstelle.
Nach dem Setzen des Passworts muss sich der Anwender beim Zugriff auf das Gerät über die Ethernet-Schnittstelle mit Nutzernamen und Passwort authentifizieren.
Der Nutzername ist administrator. Der Nutzername ist fest eingestellt und kann nicht geändert werden.
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Security password] | Passwort für geschützten Zugriff auf Ethernet-Schnittstelle (erlaubte Länge: 6-32 Zeichen) | wo 1 |
1 nur schreiben
8.4.4.1 Ethernet-Passwort setzen
Um das Passwort der Ethernet-Schnittstelle zu setzen:
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [IoT] wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ Gewünschtes Passwort eingeben.
▶ Geänderte Werte auf das Gerät schreiben.
▷ Passwortschutz ist aktiviert.
▷ Der Anwender muss sich ab dem nächsten Zugriff auf das Gerät mit Nutzername und dem gewählten Passwort anmelden.
8.4.4.2 Ethernet-Passwort zurücksetzen
Das Rücksetzen des Passworts deaktiviert den Schutz vor nicht autorisiertem Zugriff auf die Ethernet-Schnittstelle des Geräts.
Um das Passwort der Ethernet-Schnittstelle zurückzusetzen:
Voraussetzungen:
√ Ansicht [Geräte konfigurieren] ist geöffnet.
√ Editor für Parameterwerte des Geräts ist geöffnet.
√ Sicherheitsmodus der Ethernet-Schnittstelle ist aktiviert.
▶ Menü [IoT] wählen. ▷ Menüseite zeigt aktuelle Einstellungen.
▶ Auf [Reset password] klicken.
▷ Das Passwort wird gelöscht.
▷ Der Passwortschutz wird deaktiviert.
▷ Der Anwender kann ohne Eingabe von Nutzername und Passwort über die Ethernet-Schnittstelle auf das Gerät zugreifen.
8.4.5 Bluetooth LE: Stationsnamen einstellen
Verfügbare Datenpunkte:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Bluetooth LE name] | Name des Geräts im Bluetooth LE Netzwerks (max. 22 Zeichen) | z. B. Temperature Collector | rw 1 |
1 lesen und schreiben
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [Bluetooth LE] wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ Stationsnamen eingeben.
▶ Geänderte Werte auf das Gerät schreiben.
Name des Geräts im Bluetooth LE Netzwerk ist eingestellt.
8.4.6 Bluetooth LE: Passwortschutz konfigurieren

Hinweise zum Bluetooth-Password beachten: Bluetooth-Password ( → 19)
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Security password] | Passwort für die Authentifizierung an Bluetooth-LE-Schnittstelle setzen• Min Länge: 6• Max. Länge: 32HINWEIS! Das Passwort hat keinen Einfluss auf die Mesh-Funktionalität. | rw 1 |
1 lesen und schreiben
8.4.6.1 Bluetooth-Passwort ändern
Um das Passwort der Bluetooth-LE-Schnittstelle zu ändern:
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [Bluetooth LE] wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ Gewünschtes Passwort eingeben.
▶ Geänderte Werte auf das Gerät schreiben.
▷ Das neue Passwort ist aktiv.
8.4.7 Bluetooth Mesh: Netzwerk verwalten
Um Informationen zur den im Mesh-Netzwerk aktiven Mesh Adapter zu erhalten:
Verfügbare Informationen:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Max Mesh Nodes] | Max. Anzahl der Knoten | 0...50 | ro 1 |
| [Current Mesh Nodes] | Aktuelle Anzahl der Knoten im Mesh-Netzwerk | 0...50 | ro 1 |
| [Taken Mesh Credits] | Aktuelle Anzahl der für die Provisionierung genutzten Credits | ro 1 |
1 nur lesen
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [Bluetooth Mesh] wählen.
▷ Menüseite zeigt Informationen über das Mesh-Netzwerk.
8.4.8 MQTT: MQTT-Verbindung konfigurieren
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [MQTT Version] | MQTT-Version | z. B. 3.1.1 | ro 1 |
| [Quality of Service] | Quality of Service (QoS) der MQTT-Verbindung | QoS 0: QoS Level 0 - PUBLISH (ohne Bestätigung) (Default)QoS 1: QoS Level 1 - PUBLISH > PUBREC (Einfache Bestätigung)QoS 2: QoS Level 2 - PUBLISH > PUBREL > PUBCOMP (Doppelte Bestätigung) | rw 2 |
| [Keep Alive] | Max. Zeit zwischen 2 aufeinanderfolgenden MQTT-Protokoll-Paketen (Wert in s) | 0: 0 s...10: 10 s...60: 60 s | rw 2 |
1 nur lesen
2 lesen und schreiben
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [MQTT] aufrufen.
▷ Menüseite zeigt aktuelle Konfiguration der MQTT-Verbindung.
▶ Parameter einstellen.
▶ Geänderte Werte auf das Gerät schreiben.
▷ MQTT-Verbindung ist konfiguriert.
8.4.8.1 MQTT-Verbindung steuern
Das folgende Zustandsdiagramm zeigt den Einfluss der Dienste start, stop und reset auf den aktuellen Zustand einer MQTT-Verbindung:

Nach erfolgreicher Initialisierung im Zustand init wechselt die Verbindung automatisch in den Zustand running.
Die Verbindung nimmt automatisch den Zustand error ein, wenn mindestens eines der folgenden Ereignisse aufritt:
- kein MQTT-Broker erreichbar
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
√ MQTT-Verbindung ist konfiguriert.
▶ Menü [MQTT] aufrufen.
Um die MQTT-Verbindung zu aktivieren:
▶ Auf [Start] klicken.
▷ MQTT-Verbindung wird aktiviert.
Um die MQTT-Verbindung zu deaktivieren.
▶ Auf [Stop] klicken.
▷ MQTT-Verbindung wird deaktiviert.
Um die MQTT-Verbindung zurückzusetzen:
▶ Auf [Reset] klicken.
▷ MQTT-Verbindung wird zurückgesetzt.
8.4.9 MQTT: Kommandokanal konfigurieren
Sicherstellen, dass der MQTT-Broker erreichbar ist und der gewählte Port des MQTT-Brokers für die Datenübertragung freigegeben ist.
Die Wildcards „+“ und „#“ in Topic-Namen werden nicht unterstützt.
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Broker IP] | IP-Adresse des MQTT-Brokers | z. B. 3.69.1.9 | rw1 |
| [Broker Port] | Portnummer des MQTT-Brokers | z. B. 1883 | rw1 |
| [Topic] | Bezeichnung des MQTT-Topics | z. B. reqTopic | rw1 |
| [Reply Topic] | Standard-Antwort-Topic | z. B. resp Topic | rw1 |
| [Username] | Nutzername | z. B. user1 | rw1 |
| [Password] | Passwort (nicht Base64-codiert) | z. B. passwort123 | wo 2 |
1 lesen und schreiben
2 nur schreiben
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [MQTT] > [MQTT Command Channel] aufrufen.
▷ Menüseite zeigt aktuelle Konfiguration des MQTT-Kommandokanals.
▶ Parameter einstellen.
▶ Geänderte Werte auf das Gerät schreiben.
▷ MQTT-Kommandokanal ist konfiguriert.
8.4.9.1 MQTT-Kommandokanal steuern
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
√ MQTT-Kommandokanal ist konfiguriert.
▶ Menü [MQTT] > [MQTT Command Channel] aufrufen.
Um den MQTT-Kommandokanal zu aktivieren:
▶ Auf [Start] klicken.
▷ MQTT-Kommandokanal wird aktiviert.
Um den MQTT-Kommandokanal zu deaktivieren:
▶ Auf [Stop] klicken.
▷ MQTT-Kommandokanal wird deaktiviert.
Um den MQTT-Kommandokanal zurückzusetzen:
▶ Auf [Reset] klicken.
▷ MQTT-Kommandokanal wird zurückgesetzt.
8.4.10 Timer: Zeitgeber konfigurieren
Das Gerät verfügt über 2 Zeitgeber. Die Zeitgeber können für die zeitgesteuerte Übertragung von Benachrichtigungen genutzt werden.
Verfügbare Parameter:
| Name | Beschreibung | Wertebereich | Zugriff |
| [Interval] | Zählerintervall (Wert in ms) | 1000: 1000 ms86400000: 86400000 ms | r w 1 |
1 lesen und schreiben
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [Timer 1] / [Timer 2] wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ Zählerintervall eingeben.
▶ Geänderte Werte auf das Gerät schreiben.
▷ Zählerintervall des gewählten Zählers ist eingestellt.
8.4.10.1 Zeitgeber starten
Die Zeitgeber [Timer 1] und [Timer 2] können separat gestartet werden.
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
√ Zählerintervall ist eingestellt.
▶ Menü [Timer 1] / [Timer 2] wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ Auf [Start] klicken.
▷ Der gewählte Zeitgeber startet bei 0.
▷ Bei Ablauf des eingestellten Zählerintervalls generiert der Zeitgeber ein Signal.
8.4.10.2 Zeitgeber stoppen
Die Zeitgeber [Timer 1] und [Timer 2] können separat gestoppt werden.
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [Timer 1] / [Timer 2] wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ Auf [Stop] klicken.
▷ Zeitgeber wird angehalten.
8.4.11 Firmware: Gerät zurücksetzen, neu starten oder lokalisieren
Voraussetzungen:
√ Editor für Parameterwerte des Geräts ist geöffnet.
▶ Menü [Firmware] wählen.
▷ Menüseite zeigt verfügbare Optionen.
Um das Gerät zu lokalisieren:
▶ Auf [Signal] klicken.
▷ LEDs des Geräts blinken.
Um das Gerät zurückzusetzen:
▶ Auf [Factory Reset] klicken.
▷ Gerät wird auf Werkseinstellungen zurückgesetzt.
Um das Gerät neu zu starten:
▶ Auf [Reboot] klicken.
▷ Gerät startet neu.
8.5 IoT-Core Visualizer
Der IoT-Core Visualizer bietet eine grafische Benutzeroberfläche für den Zugriff auf die Funktionen des ifm IoT Cores.
8.5.1 IoT-Core Visualizer starten
Um den IoT-Core Visualizer zu starten:
Voraussetzungen:
√ Gerät ist ordnungsgemäß angeschlossen, Parametrierung über Ethernet-Schnittstelle (→ 18).
√ Ethernet-Schnittstelle ist konfiguriert.
▶ Webbrowser starten.
▶ Folgende URL aufrufen: http://
▷ Webbrowser zeigt die Startseite des IoT-Core Visualizers.

Das Navigationsmenü bietet Zugriff auf folgende Funktionen:
• [Notification]: Benachrichtigungen verwalten (→ 61)
• [Elements]: Auf den IoT-Core-Baum zugreifen (→ 63)
• [Update]: Firmware aktualisieren
8.5.2 Benachrichtigungen verwalten
Die Menüseite [Notification] bietet Zugriff auf Benachrichtigungsfunktion des IoT-Cores.
▶ Hinweise zu Benachrichtigungen beachten: Benachrichtigungen nutzen (→ 41)
Voraussetzungen:
√ IoT-Core Visualizer ist gestartet.
▶ Menü [Notification] wählen.
▷ Menüseite für die Verwaltung von Benachrichtigungen erscheint.
▷ Tabelle zeigt alle aktiven Benachrichtigungen.
8.5.2.1 Neue Benachrichtigungen erstellen
Neue Benachrichtigungen werden mithilfe eines Wizards erstellt.
Für zeitgesteuerte Benachrichtigungen über Zeitgeber 1 oder Zeitgeber 2 muss der Nutzer die Intervallzeit des betreffenden Zeitgebers einstellen.
Voraussetzungen:
√ IoT-Core Visualizer ist gestartet.
√ Menü [Notification] ist aktiv.
▶ Am rechten Rand der Tabelle auf + klicken.
▷ Wizard für die Erstellung von Benachrichtigungen erscheint.

▶ Mithilfe des Wizards schrittweise die gewünschten Benachrichtigungsparameter wählen.
▷ Tabelle zeigt die erstellte Benachrichtigung.
8.5.2.2 Benachrichtigungen löschen
Voraussetzungen:
√ IoT-Core Visualizer ist gestartet.
√ Menü [Notification] ist aktiv.
√ Mindestens eine Benachrichtigung wurde erstellt.
▶ In der Zeile der Benachrichtigung in Spalte [Unsubscribe] auf × klicken.
▷ Gewählte Benachrichtigung wird gelöscht.
8.5.3 Auf den IoT-Core-Baum zugreifen
Die Menüseite [Elements] bietet Zugriff auf den IoT-Core-Baum des Geräts.
Voraussetzungen:
√ IoT-Core Visualizer ist gestartet.
▶ Menü [Elements] wählen.
▷ Menüseite für den Zugriff auf die Elemente des IoT-Core-Baums erscheint.
▷ Ansicht zeigt die Struktur des IoT-Core-Baums des Geräts.
8.5.3.1 Elemente des IoT Core suchen
Die Menüseite [Elements] ermöglicht es, den IoT-Core-Baum nach Elementen mit bestimmten Eigenschaften zu durchsuchen und die Ergebnisse auszugeben.
Nach den folgenden Eigenschaften kann gesucht werden:
• [identifier]: Name des Elements
• [profile]: Profil des Elements
• [type]: Typ des Elements
Voraussetzungen:
√ IoT-Core Visualizer ist gestartet.
√ Menü [Elements] ist aktiv.

▶ In den Auswahllisten [identifier], [profile] und [type] die Suchkriterien für das gewünschte Element wählen.
▶ Auf [Search for Elements] klicken.
▷ IoT-Core Visualizer durchsucht Gerätebeschreibung nach Elementen mit gewählten Suchkriterien.
▷ Ergebnisliste zeigt alle gefundenen Elemente.
8.5.3.2 Auf Elemente des IoT Core zugreifen
Der Anwender kann mit den vom Gerät unterstützten Diensten auf die Elemente des IoT Core zugreifen.

▶ Weitere Informationen zu den Funktionen des ifm IoT-Cores beachten: ifm IoT-Core REST API (→ ☐ 26)
Voraussetzungen:
√ IoT-Core Visualizer ist gestartet.
√ Menü [Elements] ist aktiv.
▶ Optional: Elemente des IoT Core suchen (→ ☐ 63)
▶ Zum Element navigieren.
▶ Auf das Pfeilsymbol neben dem Dienst klicken.
▷ Dialogfenster erscheint.
▶ Optional: Bei Schreibzugriffen die benötigten Werte in das Feld eingeben.
▶ Auf [Request] klicken, um den Dienst auszuführen.
▷ Dienst wird auf dem Gerät ausgeführt.
ODER
▶ Auf [Cancel] klicken, um den Vorgang abzubrechen.
▷ Dienst wird nicht ausgeführt.
8.5.4 Firmware aktualisieren
Die Menüseite [Update] bietet die Möglichkeit, die Firmware der Bluetooth Mesh IoT Basisstation und der provisionierten Bluetooth Mesh IO-Link Adapter zu aktualisieren.

Neue Firmware verfügbar auf der Produktdetailseite des Geräts: documentation.ifm.com

Für Informationen zur Aktualisierung der Firmware eines einzelnen Bluetooth Mesh IO-Link Adapters: Betriebsanleitung EIO344

Die Aktualisierung der Firmware darf nicht unterbrochen werden.
▶ Das Gerät während des Aktualisierungsvorgangs nicht neu starten.
▶ Warten, bis die Aktualisierung abgeschlossen ist.
Voraussetzungen:
√ IoT-Core Visualizer ist gestartet.
√ Neue Firmware wurde heruntergeladen: documentation.ifm.com
▶ Menü [Update] wählen.
▷ Menüseite zeigt Informationen zur aktuellen Firmware-Version der Bluetooth Mesh IoT Basisstation (Bereich [Base_update]).
▷ Menüseite zeigt Informationen zur aktuellen Firmware-Version der an der Basisstation provisionierten Bluetooth Mesh IO-Link Adapter (Bereich [Adapter_update]).
| 00-02-01-30-1A-00 - online | Visualizer v2.25.257 | |||||
| Notification | Elements | Update | ||||
| Base_update | ||||||
| 00-02-01-30-1A-00/firmware/base_update | Container | |||||
| Version: | V1.54 | G | Chunk size: | 1024 | G | |
| Type: | firmware | G | Max size: | 2621440 | G | |
| Load software file | choose software package | Size: | 0 | G | ||
| Update | ||||||
| Adapter_update | ||||||
| 00-02-01-30-1A-00/meshnetwork/adapter_update | Container | |||||
| Version: | unknown | G | Chunk size: | 1024 | G | |
| Type: | firmware | G | Max size: | 2621440 | G | |
| Load software file | choose software package | Size: | 0 | G | ||
| Update | ||||||
Um die Firmware der Bluetooth Mesh IoT Basisstation zu aktualisieren:
▶ Zum Bereich der Bluetooth Mesh IoT Basisstation wechseln.
▶ Auf [Load software file] klicken und neue Firmware-Datei (*.bin) wählen.
▶ Auf [Update] klicken, um den Aktualisierungsprozess zu starten.
Firmware der Bluetooth Mesh IoT Basisstation wird aktualisiert.
▷ Fortschritt des Aktualisierungsprozesses wird angezeigt.
▷ Nach erfolgreicher Aktualisierung: Gerät startet automatisch neu.
Um die ▷ Firmware aller provisionierten und verbundenen Bluetooth Mesh IO-Link Adapter zu aktualisieren:
▶ Zum Bereich der Bluetooth Mesh IO-Link Adapter wechseln.
▶ Auf [Load software file] klicken und neue Firmware-Datei (*.bin) wählen.
▶ Auf [Update] klicken, um den Aktualisierungsprozess zu starten.
Firmware aller provisionierten und verbundenen Bluetooth Mesh IO-Link Adapter wird aktualisiert.
▷ Fortschritt des Aktualisierungsprozesses wird angezeigt.
▷ Nach erfolgreicher Aktualisierung: Die Geräte starten automatisch neu.
9 Fehlerbehebung
Fehler, Warnungen und Statusmeldungen werden von der Status-LED angezeigt: Bedien- und Anzeigeelemente (→ 17)

Im Fehlerfall (Status-LED blinkt rot) liefert der Gerätestatus detaillierte Diagnoseinformationen.
| Fehlerbild | Fehlerursache | Abhilfe |
| Gerät ist an Spannungsversorgung an-geschlossen, Status-LED ist aus | Versorgungsspannung zu niedrig | ► Spannungsversorgung prüfen |
| Gerät ist an Spannungsversorgung an-geschlossen, Status-LED leuchtet rot | Hardwarefehler, Gerät ist defekt | ► Gerät tauschen |
| Status-LED blinkt rot, Gerätestatus: [Over temperature] oder [Under tempe-rature] | Temperatur der Platine außerhalb des Toleranzbereichs | ► Umgebungstemperatur prüfen |
| Status-LED blinkt rot, Gerätestatus: [Bluetooth Mesh no device provisioned] | Keine Verbindung zum Bluetooth-Mesh-Netzwerk | ► Abstände zu Bluetooth Mesh IO-Link Adaptern prüfen |
| Status-LED blinkt rot, Gerätestatus: [Ethernet link not connected] | Kein Ethernet-Verbindung | ► Ethernet-Verdrahtung prüfen |
ifm moneo stellt im Online-Betrieb zusätzliche Status- und Diagnoseinformationen bereit: → Online-Hilfe ifm moneo
10 Wartung, Instandsetzung und Entsorgung
Das Gerät ist wartungsfrei.
▶ Bei Fehlfunktionen Kontakt mit ifm aufnehmen.
▶ Da innerhalb des Gerätes keine vom Anwender zu wartende Bauteile enthalten sind, das Gehäuse nicht öffnen. Die Instandsetzung des Gerätes darf nur durch den Hersteller erfolgen.
▶ Reinigung des Geräts mit einem trockenen Tuch.
▶ Das Gerät gemäß den nationalen Umweltvorschriften entsorgen.
10.1 Firmware aktualisieren
Die Firmware des Geräts kann über die folgenden Optionen aktualisiert werden:
- ifm moneo|blue: Firmware aktualisieren (→ 24)
• IoT-Core Visualizer: Firmware aktualisieren (→ 65)
11 Anhang
11.1 ifm IoT Core
11.1.1 Profile
| Profil | Beschreibung |
| blob | Binary Large Object |
| comm Channel | Kommunikationskanal |
| comm Interface | Kommunikationsschnittstelle |
| connections | Verbindungen |
| const_value | Konstante |
| datarequired | Benötigte Daten |
| deviceinfo | Identifikationsinformationen |
| devicereset | Zurücksetzbare Firmware |
| devicestatus | Gerätestatus |
| eventcollection | Ereignissammlung |
| mqtt CmdChannel Setup | MQTT-Kommandokanal-Einstellungen |
| mqtt Setup | MQTT-Einstellungen |
| network | Netzwerk |
| parameter | Parameter |
| processdata | Prozessdaten |
| runcontrol | Steuerungsstruktur |
| securityconfig_base | Sicherheitseinstellungen |
| software | Software |
| software/uploadablesoftware | Aktualisierbare Software |
| subdatablock | Daten, auf die nur blockweise geändert werden können |
| timer | Timer |
| wirelessprovisioning | Struktur für die Verwaltung von Funknetzwerken |
11.1.2 Typen
| Typ | Beschreibung |
| data | Datenpunkt |
| device | Wurzelelement, das ein Gerät repräsentiert |
| event | Ereignis, das durch die Firmware ausgelöst werden kann und Benachrichtigungen verschickt |
| service | Dienst, der aus dem Netzwerk heraus angesprochen werden kann |
| structure | Strukturelement (z. B. ein Ordner im Dateisystem) |
11.1.3 Dienste
11.1.3.1 Dienst: create_backup
Name: create_backup
Beschreibung: Der Dienst erstellt eine Sicherung der aktuellen Einstellungen des Geräts.
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.2 Dienst: factoryreset
Name: factoryreset
Beschreibung: Der Dienst setzt die Parameter des Geräts auf die Werkseinstellungen.
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.3 Dienst: get_credit
Name: get_credit
Beschreibung: Der Dienst liest ein verfügbares Credit des Bluetooth-Netzwerks.
Anfrage (Feld "data"): keine
Antwort (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| netkey | obligatorisch | STRING | Netzwerkschlüssel |
| iv_key | obligatorisch | INT | Index |
| appkey | obligatorisch | STRING | Anwendungsschlüssel |
| address | obligatorisch | INT | Adresse |
| expiry_time | obligatorisch | INT | Ablaufzeit (Wert in s) |
11.1.3.4 Dienst: getblobdata
Name: getblobdata
Beschreibung: Der Dienst liest ein Binary Large Object (blob).
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| Pos | obligatorisch | NUMBER | Byte-Position |
| length | obligatorisch | NUMBER | Größe des Objekts (Anzahl an Bytes) |
Antwort (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| data | obligatorisch | STRING | zu dekodierende Daten (BASE64-codiert) |
| crc | optional | HEX STRING | CRC der Daten nach der Dekodierung |
| md5 | optional | HEX STRING | MD5-Prüfsumme der Daten nach der Dekodierung |
11.1.3.5 Dienst: getdata
Name: getdata
Beschreibung: Der Dienst liest den Wert eines Datenpunkts und gibt diesen aus.
Anfrage (Feld "data"): keine
Antwort (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| value | obligatorisch | STRING | Wert des Datenpunkts |
11.1.3.6 Dienst: getdatamulti
Name: getdatamulti
Beschreibung: Der Dienst liest sequenziell die Werte mehrerer Datenpunkte und gibt diese aus. Für jeden Datenpunkt werden der Wert und ein Diagnosecode ausgegeben.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| datatosend | obligatorisch | ARRAY OF STRINGS | Liste von Datenpunkten, die abgefragt werden sollen; Datenpunkte müssen den Dienst getdata unterstützen ("datatosend": ["url1", "url2", ..., "urlx"]) |
Antwort (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| url | obligatorisch | STRING | Datenpunkt, der abgefragt wurde |
| code | obligatorisch | INT | Diagnosecode der Abfrage |
| data | obligatorisch | STRING | Wert des Datenpunkts |
11.1.3.7 Dienst: getidentity
Name: getidentity
Beschreibung: Der Dienst ruft Informationen über die Identität des Geräts ab.
Anfrage (Feld "data"): keine
Antwort (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| iot | device | Gerätebeschreibung als JSON-Objekt | |
| iot.name | obligatorisch | STRING | Typ des Elements |
| iot.uid | optional | STRING | |
| iot.version | obligatorisch | STRING | |
| iot.catalogue | optional | ARRAY OF OBJECTS | |
| iot.deviceclass | optional | ARRAY OF STRING | Geräteklasse |
| iot.serverlist | optional | ARRAY OF OBJECTS | |
| device | optional | Artikelnummer | |
| device.serialnumber | optional | Seriennummer | |
| device.hwrevision | optional | Hardware-Version | |
| device.swrevision | optional | Software-Version | |
| device.custom | optional |
Der Parameter secuity.isPasswd
Set gibt den Passwort-Status der Verbindung zurück, über die der Dienst aufgerufen wird.
Beispiel 1:
√ Passwort für Bluetooth-Verbindung ist gesetzt.
▶ getidentity-Anfrage über Webbrowser stellen.
▷ security.isPasswd
Set = false
Beispiel 2:
√ Passwort für Ethernet-Verbindung ist gesetzt.
▶ getidentity-Anfrage über Webbrowser stellen.
▷ security.isPasswd
Set = true
11.1.3.8 Dienst: getsubscriberlist
Name: getsubscriberlist
Beschreibung: Der Dienst liefert eine Liste mit allen aktiven Abonnements.
Anfrage (Feld "data"): keine
Antwort (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| adr | obligatorisch | STRING | Auslöser für Benachrichtigung |
| datatosend | obligatorisch | ARRAY OF STRINGS | Liste mit URLs der Datenelemente; URLs sind kommagetrennt |
| cid | obligatorisch | STRING | ID der aktiven Benachrichtigung |
| callbackurl | obligatorisch | STRING | Zieladresse für die Benachrichtigungen |
| duration | obligatorisch | STRING | Aktivitätsdauer |
11.1.3.9 Dienst: gettree
Name: gettree
Beschreibung: Der Dienst liest die Gerätebeschreibung des Geräts und gibt sie als JSON-Objekt aus. Die Ausgabe kann auf einen Teilbaum der Gerätebeschreibung begrenzt werden.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| adr | optional | STRING | Wurzelelement des Teilbaums |
| level | optional | STRING | max. Ebene, bis zu der der Teilbaum ausgegeben wird• keine Angabe: alle Ebenen werden angezeigt• 0: keine Unterelemente anzeigen ("subs")• 1: Unterelemente anzeigen• 2: Unterelemente bis zur 2. Ebene anzeigen• 3: Unterelemente bis zur 3. Ebene anzeigen...• 20: Unterelemente bis zur 20. Ebene anzeigen |
Antwort (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| identifier | obligatorisch | STRING | Bezeichner des Wurzelelements |
| type | obligatorisch | STRING | Typ des Elements |
| format | optional | JSON-Objekt | Format des Dateninhalts |
| uid | optional | STRING | |
| profiles | optional | JSON-Array | |
| subs | obligatorisch | JSON-Array | Unterelemente |
| hash | optional | STRING |
11.1.3.10 Dienst: install
Name: install
Beschreibung: Der Dienst installiert die in einem Speicherbereich des Geräts gespeicherte Software.
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.11 Dienst: install_backup
Name: install_backup
Beschreibung: Der Dienst stellt eine im Speicherbereich des Geräts gespeicherte Sicherung wieder her.
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.12 Dienst: querytree
Name: querytree
Beschreibung: Der Dienst durchsucht einen Gerätebaum nach den Kriterien profile, type und identifier und gibt eine Liste aus mit den URLs der gefundenen Elemente. Mindestens eines der Suchkriterien muss angegeben werden. Der Dienst ist nur auf dem Wurzelknoten des Geräts ausführbar.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| profile | optional | STRING | Profil des gesuchten Elements |
| type | optional | STRING | Typ des gesuchten Elements |
| identifier | optional | STRING | Name des gesuchten Elements |
Antwort (Feld "data"): keine
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| urllist | obligatorisch | ARRAY | Array mit URLs der gefundenen Elemente; URLs sind durch Kommas getrennt |
11.1.3.13 Dienst: reboot
Name: reboot
Beschreibung: Der Dienst startet das Gerät neu.
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.14 Dienst: register
Name: register
Beschreibung: Der Dienst registriert ein unterstütztes Gerät im Netzwerk.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| id | obligatorisch | STRING | Identifier des Geräts, das am Netzwerk angemeldet werden soll |
Antwort (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| adr | optional | STRING | Pfad zum Gerät in der Netzwerkstruktur |
11.1.3.15 Dienst: replace
Name: replace
Beschreibung: Der Dienst meldet ein Gerät vom Netzwerk ab und meldet ein baugleiches Gerät im Netzwerk an.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| old_id | obligatorisch | STRING | Identifier des Geräts, das ersetzt werden soll |
| new_id | obligatorisch | STRING | Identifier des Geräts, das angemeldet werden soll |
Antwort (Feld "data"): keine
11.1.3.16 Dienst: reset
Name: reset
Beschreibung: Der Dienst setzt eine Verbindung zurück in den Initialisierungszustand.
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.17 Dienst: resetpassword
Name: resetpassword
Beschreibung: Der Dienst deaktiviert den Sicherheitsmodus und setzt das Passwort zurück.
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.18 Dienst: reset_credits
Name: reset_credits
Beschreibung: Der Dienst setzt alle angeforderten Credits der im Mesh-Netzwerk angemeldeten Bluetooth-Adapter zurück.
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.19 Dienst: scan
Name: scan
Beschreibung: Der Dienst sucht in der Umgebung nach unterstützten Geräten. Gefundene Geräte und deren Eigenschaften werden ausgegeben.
Anfrage (Feld "data"): keine
Antwort (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| id | obligatorisch | STRING | Identifier des Geräts |
| name | obligatorisch | STRING | Name des Geräts |
| info | optional | ARRAY | Eigenschaften des Geräts• Obligatorisch: Signal Strength |
11.1.3.20 Dienst: setblock
Name: setblock
Beschreibung: Der Dienst setzt die Werte mehrerer Datenpunkte einer Struktur gleichzeitig.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| datatoset | obligatorisch | ARRAY OF OBJECTS | Liste von Datenpunkten und deren neuen Werten; Datenpunkte müssen den Dienst setdata unterstützen |
| consistent | optional | BOOL | Rückgabe innerhalb einer bestimmten Zeit |
Antwort (Feld "data"): keine
11.1.3.21 Dienst: setdata
Name: setdata
Beschreibung: Der Dienst setzt den Wert eines Datenpunkts.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| newvalue | obligatorisch | STRING | Neuer Wert des Datenpunkts |
| duration | optional | STRING | Dauer der Speicherung des Wertslifetime: Wert wird mit IoT Core gespeichert; Wert beibt gültig auch nach Neutart des Gerätsuptime: Wert wird bis zum nächsten Neustart des Geräts gespeichert |
Antwort (Feld "data"): keine
11.1.3.22 Dienst: setdatamulti
Name: setdatamulti
Beschreibung: Der Dienst schreibt sequenziell die Werte mehrerer Datenpunkte. Für jeden Datenpunkt muss der Sollwert übergeben werden.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| datatosend | obligatorisch | ARRAY OF STRINGS | Liste von Datenpunkten und dazugehörenden Werten (codiert), die geschrieben werden sollen; Datenpunkte müssen den Dienst setdata unterstützen ("datatosend":["url1":"value1","url2":value2",..., "urlx":"valuex"]) |
Antwort (Feld "data"): keine
11.1.3.23 Dienst: signal
Name: signal
Beschreibung: Der Dienst löst das Blinken der Status-LEDs des Geräts aus.
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.24 Dienst: start
Name: start
Beschreibung: Der Dienst startet eine Funktion (z. B. Verbindung, Timer).
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.25 Dienst: start_stream_set
Name: start_stream_set
Beschreibung: Der Dienst startet die sequenzielle Übertragung mehrerer Datenfragmente.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| size | obligatorisch | STRING | Gesamtgröße der zu übertragenden Daten (Anzahl der Bytes) |
Antwort (Feld "data"): keine
11.1.3.26 Dienst: stop
Name: stop
Beschreibung: Der Dienst stoppt eine Funktion (z. B. Verbindung, Timer).
Anfrage (Feld "data"): keine
Antwort (Feld "data"): keine
11.1.3.27 Dienst: stream_set
Name: stream_set
Beschreibung: Der Dienst übertragt ein Datensegment.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| value | obligatorisch | BIN (BASE64) | Segment der Binärdaten (BASE64-codiert) |
Antwort (Feld "data"): keine
11.1.3.28 Dienst: subscribe
Name: subscribe
Beschreibung: Der Dienst aktiviert die Benachrichtigung.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Bechreibung |
| callback | obligatorisch | STRING | Zieladresse für Benachrichtigungen; URL-Format:JSON: http://ipaddress:port/pathJSON: ws://pathMQTT: mqtt://ipaddress:port/path |
| datatosend | obligatorisch | ARRAY OF STRINGS | Liste mit URLs der Datenelemente; URLs sind kommagetrennt; Elemente müssen Dienst getdata unterstützen |
| duration | optional | STRING | Gültigkeitsdauer der Benachrichtigunglifetime: Anmeldung bleibt dauerhaft aktiv, auch nach Neustart des Gerätsuptime: Anmeldung ist bis zum nächsten Neustart des Geräts aktivonce: nur eine Benachrichtigung schicken, Benutzer muss Abonnement direkt wieder abmelden |
Antwort (Feld "data"): keine
Benachrichtigungsformat: JSON
{
"code":"event",
"cid":4711,
"adr": "",
"data":{
"eventno":"EventNo",
"srcurl":"SrcURL",
"payload":{
"eventurl":{"code":Event
Status,"data":Event
Data},
"datapointurl_1":{"code":DataStatus_1,"data":DataValue_1},
"datapointurl_2":{"code":DataStatus_2,"data":DataValue_2},...
}
}
}
11.1.3.29 Dienst: unregister
Name: unregister
Beschreibung: Der Dienst meldet ein Gerät von einem Netzwerk ab.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| id | optional1 | STRING | Identifier des Geräts, das vom Netzwerk abgemeldet werden soll |
| adr | optional1 | STRING | Pfad zum Gerät in der Netzwerkstruktur |
1 mindestens einer der beiden Parameter muss übergeben werden
Antwort (Feld "data"): keine
11.1.3.30 Dienst: unsubscribe
Name: unsubscribe
Beschreibung: Der Dienst löscht eine aktive Benachrichtigung. Die übergebenen Werte für cid und callback müssen gleich sein wie bei der Anmeldung der Benachrichtigung (subscribe). Wird im callback der Wert "DELETE" übergeben, werden alle aktiven Abonnements gelöscht.
Anfrage (Feld "data"):
| Parameter | Pflichtfeld | Datentyp | Beschreibung |
| callback | obligatorisch | STRING | Zieladresse für Benachrichtigungen; URL-Formate:JSON: http://ipaddress:port/pathJSON: ws://pathJSON: mqtt://ipadress:port/topicDELETE: alle aktiven Benachrichtigungen werden gelöscht |
Antwort (Feld "data"): keine