Werte der icom Data Suite können auf verschiedene Arten gesetzt werden.

1. Situation

Der Wert eines analogen Merkers der icom Data Suite soll mittels SMS, MQTT und Cloud Control geschrieben werden.

2. Lösung

Es wird ein Ereignis definiert, dass eine Aktion auslöst, sobald eine Nachricht erhalten wird, die einen bestimmten Text enthält. Die Aktion setzt dann einen Analogwert auf einen Wert, der aus dem Nachrichtentext entnommen wird.

Es wird vorausgesetzt, dass Sie Zugriff auf das Web-Interface der icom Data Suite haben. Das Smart Device muss über eine Internet-Verbindung verfügen.

2.1. Schreiben eines Werts mittels SMS

Es wird vorausgesetzt, dass das Smart Device SMS empfangen kann.

  1. Das Web-Interface der icom Data Suite mit einem Browser aufrufen:

  2. Im Menü DatenpunkteMerker einen neuen Merker hinzufügen ():

    • Beschreibung: analogue test flag

    • Typ: Unsigned Integer

  3. Auf Einstellungen speichern klicken.

  1. Im Menü Ereignis ein neues Ereignis hinzufügen () und dieses bearbeiten ():

    • Ereignis: SMS wurde empfangen

    • Beschreibung: set value by SMS message

    • Von Kontakt: - [2]

    • Mit SMS-Text: Set value to: [3]

    • Aktion: Analogen Datenpunkt setzen

    • Datenpunkt: setzen auf Wert aus Nachricht zwischen to: und [4]

  2. Auf Einstellungen speichern klicken.

  3. Das Profil aktivieren ().

  4. Eine SMS, die den Text Set value to: 23 (oder eine andere vorzeichenbehaftete Ganzzahl) enthält, an das INSYS Smart Device senden und im Menü StatusAktuelle Werte der icom Data Suite prüfen, ob sich der Wert entsprechend geändert hat.

2.2. Schreiben eines Werts mittels MQTT

Es wird vorausgesetzt, dass Sie über einen funktionierenden MQTT-Broker und ein weiteres Gerät als MQTT-Client verfügen.

  1. Das Web-Interface der icom Data Suite mit einem Browser aufrufen:

  2. Im Menü DatenpunkteMerker einen neuen Merker hinzufügen ():

    • Beschreibung: analogue test flag

    • Typ: Unsigned Integer

  3. Auf Einstellungen speichern klicken.

  4. Im Menü NachrichtenMQTT einen neuen Broker hinzufügen () und diesen bearbeiten ():

    • Beschreibung: test broker

    • Server: die Server-URL Ihres MQTT-Brokers eingeben [5]

    • Port: den Server-Port Ihres MQTT-Brokers eingeben

  5. Auf Einstellungen speichern klicken.

  6. Im Menü Ereignis ein neues Ereignis hinzufügen () und dieses bearbeiten ():

    • Beschreibung: set value by MQTT message

    • Ereignis: MQTT-Nachricht wurde empfangen

    • Von MQTT-Broker: oben hinzugefügten Broker auswählen

    • Topic: einen Topic eingeben, wie z.B. test/set [6]

    • Text: Set value to: [7]

    • QoS: 0 [8]

    • Aktion: Analogen Datenpunkt setzen

    • Datenpunkt: setzen auf Wert aus Nachricht zwischen to: und [4]

  7. Auf Einstellungen speichern klicken.

  8. Das Profil aktivieren ().

  9. Eine MQTT-Nachricht an den Broker mit demselben Topic und dem Inhalt Set value to: 23 (oder einer anderen vorzeichenbehaftete Ganzzahl) vom anderen MQTT-Client aus senden und im Menü StatusAktuelle Werte der icom Data Suite prüfen, ob sich der Wert entsprechend geändert hat.

2.3. Schreiben eines Werts mittels Cloud Control

Es wird vorausgesetzt, dass Sie über einen Cumulocity Cloud Account von INSYS icom verfügen.

  1. Das Web-Interface der icom Data Suite mit einem Browser aufrufen:

  2. Im Menü DatenpunkteMerker einen neuen Merker hinzufügen ():

    • Beschreibung: analogue test flag

    • Typ: Unsigned Integer

  3. Auf Einstellungen speichern klicken.

  4. Im Menü NachrichtenCumulocity einen neuen Server hinzufügen () und diese bearbeiten ():

    • Beschreibung: cumulocity server

    • Protokoll: HTTPS

    • Server: die Server-URL Ihres Cumulocity-Servers eingeben [9]

    • Gerätename: einen beschreibenden Namen für Ihr Gerät angeben

    • Selbstregistrierung: [10]

  5. Auf Einstellungen speichern klicken.

  6. Im Menü MeldungenCumulocity eine neue Meldungen hinzufügen () und diese bearbeiten (): [11]

    • Beschreibung: cloud control message

    • Klasse: Cloud Control

    • Datenpunkte: den oben hinzugefügten analogue test flag markieren

  7. Auf Einstellungen speichern klicken.

  8. Im Menü DatenpunkteTimer einen neuen Timer hinzufügen () und diesen bearbeiten ():

    • Beschreibung: message send interval

    • Typ: Intervall, jede 1 Stunde ausgelöst

  9. Auf Einstellungen speichern klicken.

  10. Im Menü Ereignisse ein neues Ereignis hinzufügen () und dieses bearbeiten (): [12]

    • Beschreibung: send cloud control message

    • Ereignis: Timer ist abgelaufen

    • Timer: message send interval

    • Aktion: Nachricht versenden

    • Nachricht …​ versenden: cloud control message

  11. Auf Einstellungen speichern klicken.

  12. Das Profil aktivieren ().

  13. Ein weiteres Browser-Fenster oder -Tab öffnen und an Ihrem Cumulocity-Konto anmelden.

  14. Auf Andere Applikationen () rechts oben klicken und NSYS icom auswählen.

  15. Auf Alle Geräte () im Menü links klicken und Ihr INSYS Smart Device aus der Geräteliste auswählen.

  16. Den Bildschirm Cloud Control () auswählen und zu dem zu ändernden Datenpunkt gehen.

  17. Den neuen Wert für diesen Datenpunkt im Feld New Value eingeben und auf Send Value Update klicken.

  18. Die Änderung des Werts im Menü StatusAktuelle Werte der icom Data Suite verifizieren.

  19. Auf Request Value Update und Refresh View () in Cloud Control klicken, um den neuen Wert auch in Cloud Control zu sehen.

3. Fehlersuche

  • Um eine SMS durch die icom Data Suite versenden zu können, muss das Modem im Router die SMS Center Nummer des Providers kennen. Diese wird üblicherweise von der SIM-Karte ausgelesen. Wenn keine Nummer auf der SIM-Karte gespeichert ist, muss diese im Menü InterfacesSlot 2: LTE im Web-Interface des Routers eingetragen werden.

  • Um eine SMS durch die icom Data Suite empfangen zu können, müssen eingehende SMS in den Container weitergeleitet werden. Die Checkbox SMS in die Container weiterleiten muss im Menü AdministrationContainer im Web-Interface des Routers markiert sein.

  • Wenn in dem INSYS Smart Device, auf dem die icom Data Suite läuft, IP-Filter aktiviert sind, prüfen, ob eine Filterregel im Menü NetzfilterIP-Filter im Web-Interface des Routers vorhanden ist, die den Empfang von MQTT-Nachrichten erlaubt.

  • Der Status einer MQTT- oder Cumulocity-Verbindung kann im Menü StatusAktuelle Werte verifiziert werden.

  • Die Cloud Control-Nachricht muss mindestens einmal gesendet werden, bevor der/die mit dieser Nachricht übertragene(n) Datenpunkt(e) in Cloud Control erscheint/erscheinen. [13]

4. Ressourcen

Folgende ASCII-Konfiguration kann per Copy & Paste übernommen werden. Dabei ist zu beachten, dass die einzelnen Parameter entsprechend der eigenen Anwendung anzupassen sind. Bei nummerierten Parameter ist die korrekte Nummerierung zu beachten. Außerdem ist zu beachten, dass keine bestehenden Parameter mit derselben Nummer überschrieben werden. Eine ordentliche Funktionalität kann nur gewährleistet werden, wenn das geöffnete Profil zuvor aus den Werkseinstellungen erzeugt wurde.

ASCII-Konfiguration
datapoints.flags.flag.add
datapoints.flags.flag[1].name=flag1
datapoints.flags.flag[1].active=1
datapoints.flags.flag[1].description=analogue test flag
datapoints.flags.flag[1].type=unsigned_int

datapoints.timer.timer.add
datapoints.timer.timer[1].name=timer1
datapoints.timer.timer[1].active=1
datapoints.timer.timer[1].description=message send interval
datapoints.timer.timer[1].type=interval
datapoints.timer.timer[1].interval_hh=1

messages.mqtt.broker.add
messages.mqtt.broker[1].active=1
messages.mqtt.broker[1].name=mqttBrkr1
messages.mqtt.broker[1].description=test broker
messages.mqtt.broker[1].server=broker-url.com
messages.mqtt.broker[1].port=1883
messages.mqtt.broker[1].username=
messages.mqtt.broker[1].password=
messages.mqtt.broker[1].client_id=
messages.mqtt.broker[1].use_ssl_tls=0
messages.mqtt.broker[1].verify_peer=0
messages.mqtt.broker[1].verify_host=0

messages.cumulocity.server.add
messages.cumulocity.server[1].active=1
messages.cumulocity.server[1].name=c8yServ1
messages.cumulocity.server[1].description=cumulocity server
messages.cumulocity.server[1].protocol=https
messages.cumulocity.server[1].server=tenant.cumulocity.com
messages.cumulocity.server[1].verify_peer=0
messages.cumulocity.server[1].verify_host=0
messages.cumulocity.server[1].device_name=INSYS Smart Device
messages.cumulocity.server[1].self_registration=1
messages.cumulocity.server[1].username=serial_number
messages.cumulocity.server[1].password=
messages.cumulocity.server[1].device_id=

messages.cumulocity.server[1].feed.add
messages.cumulocity.server[1].feed[1].message_active=1
messages.cumulocity.server[1].feed[1].message_name=c8yMsg1
messages.cumulocity.server[1].feed[1].message_description=cloud control message
messages.cumulocity.server[1].feed[1].message_class=cloudcontrol
messages.cumulocity.server[1].feed[1].message_datapoints=flag1
messages.cumulocity.server[1].feed[1].message_buffer=0

events.event.add
events.event[1].active=1
events.event[1].description=set value by SMS message
events.event[1].event_type=ev_sms
events.event[1].event_sms_contact=
events.event[1].event_sms_text=-----BEGIN event_sms_text-----Set value to:-----END event_sms_text-----
events.event[1].event_mqtt_broker=---
events.event[1].action_type=act_analog
events.event[1].action_analog_datapoint=flag1
events.event[1].action_analog_set=by_message
events.event[1].action_analog_message_escape_start=to:
events.event[1].action_analog_message_escape_end=

events.event.add
events.event[2].active=1
events.event[2].description=set value by MQTT message
events.event[2].event_type=ev_mqtt
events.event[2].event_mqtt_broker=mqttBrkr1
events.event[2].event_mqtt_topic=test/set
events.event[2].event_mqtt_text=-----BEGIN event_mqtt_text-----Set value to:-----END event_mqtt_text-----
events.event[2].event_mqtt_qos=0
events.event[2].action_type=act_analog
events.event[2].action_analog_datapoint=flag1
events.event[2].action_analog_set=by_message
events.event[2].action_analog_message_escape_start=to:
events.event[2].action_analog_message_escape_end=

events.event.add
events.event[3].active=1
events.event[3].description=send cloud control message
events.event[3].event_type=ev_timer
events.event[3].event_timer_name=timer1
events.event[3].action_type=act_message
events.event[3].action_message=c8yMsg1

Zurück zu den Configuration Guides für die icom Connectivity Suite

Zurück zur Übersicht


1. Diese IP-Adresse und der Hostname gelten nur für eine Standard-Installation mit Werkseinstellungen.
2. Wenn dieses Feld leer ist, wird jede SMS unabhängig vom Kontakt akzeptiert. Einen Kontakt im Menü NachrichtenKontakte konfigurieren, um den Empfang auf einen bestimmten Kontakt zu beschränken.
3. Es werden nur SMS-Nachrichten ausgewertet, die mit exakt dem hier eingegebenen Text beginnen; bei der Auswertung wird Groß- und Kleinschreibung berücksichtigt.
4. Dazu sind die Textstrings vor und hinter dem Wert der Nachricht anzugeben. Befindet sich der Wert am Anfang oder Ende der Nachricht, ist nur der jeweils abgrenzende Textstring anzugeben; Groß- und Kleinschreibung wird berücksichtigt, Leerzeichen werden ignoriert.
5. Diese Daten von Ihrem MQTT-Broker anfordern. Für Testzwecke kann auch ein freier MQTT-Broker verwendet werden.
6. Topics von MQTT-Nachrichten sind hierarchisch aufgebaut und nutzen den Schrägstrich (/) als Trennzeichen der Ebenen.
7. Es werden nur MQTT-Nachrichten ausgewertet, die mit exakt dem hier eingegebenen Text beginnen; bei der Auswertung wird Groß- und Kleinschreibung berücksichtigt.
8. Die QoS-Einstellung hängt von den Anforderungen der Anwendung ab, muss aber in der Nachricht übereinstimmen.
9. Diese Daten von Cumulocity anfordern.
10. Siehe den Cumulocity Device Guide zur Registrierung eines Geräts wenn dies noch nicht registriert ist.
11. Diese Nachricht definiert, welche Datenpunkte in Cloud Control verfügbar sind und überträgt den Wert der ausgewählten Datenpunkte an Cloud Control.
12. Dieses Ereignis löst einen regelmäßigen Versand der Cloud Control-Nachricht aus.
13. Dies dient dazu, sicherzustellen, dass nur diese Datenpunkte modifiziert werden können, die erlaubt sind, indem sie mit der Cloud Control-Nachricht gesendet werden.