relayr: Senden von Werten / Empfangen von Befehlen
  • 12 Sep 2024
  • pdf

relayr: Senden von Werten / Empfangen von Befehlen

  • pdf

Artikel-Zusammenfassung

Die icom Data Suite ermöglicht das Senden von Daten an den relayr Cloud-Dienst von einem INSYS-Router und das Empfangen von Befehlen, die vom relayr Cloud-Dienst an das INSYS-Router gesendet wurden.

Situation

Der Wert eines Datenpunkts eines INSYS-Router soll von der icom Data Suite an den relayr Cloud-Dienst gesendet werden und relayr sendet eine Nachricht an den Router, um einen Datenpunkt der icom Data Suite zu ändern.

Lösung

Folgende einfache Beispielanwendung überträgt den Zählerstand eines Timers der icom Data Suite in regelmäßigen Abständen an relayr. relayr wiederum sendet eine Nachricht an die icom Data Suite jedes Mal, wenn der Zählerstand einen bestimmten Wert überschreitet. Diese Nachricht erhöht den Zähler in der icom Data Suite, der zählt, wie oft der Zählerstand den Grenzwert überschritten hat. Diese Anwendung dient nur dazu, zu zeigen, wie ein Wert an relayr gesendet wird und wie Befehle von relayr empfangen werden und hat keine weitere technische Bedeutung.

Konfiguration von relayr

Es wird vorausgesetzt, dass Sie über einen relayr Account verfügen.

  1. Rufen Sie die relayr-Webseite auf:

  2. Melden Sie sich an Ihrem relayr Account an.

  3. Wechseln Sie zum Abschnitt Models im Menü links ().

  4. Klicken Sie auf ADD NEW MODEL unten rechts.

  5. Klicken Sie auf Add reading () und bearbeiten Sie diese:

    • Meaning : Timer

    • Path : leer lassen

      Bitte beachten Sie!

      Ein Pfad kann verwendet werden, um mehrere Readings mit der selben Bedeutung zu trennen. Wenn Ihr Gerät beispielsweise Sensoren beinhaltet, welche die Temperatur in verschiedenen Räumen messen, kann der Pfad verwendet werden, um den Raum anzugeben, aus dem jede Temperaturmessung kommt. Property muss bereitgestellt werden, kann jedoch leer bleiben.

    • Value type : Number

    • unit : s

    • maximum : 20

    • minimum : 0

  6. Klicken Sie auf Add command () klicken und bearbeiten Sie dies:

    • Meaning : Counter

    • Value type: Integer

  7. Geben sie unter Device model details INSYS router als DEVICE MODEL NAME ein.

  8. Geben Sie www.insys-tec.com oder Ihre Webseite als WEBSITE ein.

  9. Geben Sie weitere Angaben wie gewünscht ein.

  10. Klicken Sie auf SAVE MODEL unten rechts.

  11. Wechseln Sie zum Abschnitt Devices im Menü links ().

  12. Klicken Sie auf ADD…​ .

  13. Wechseln Sie zur Registerkarte By me und wählen Sie das oben erzeugte Modell aus.

  14. Klicken Sie auf FINISH.

  15. Geben Sie einen Namen für das Gerät ein und klicken Sie auf GO TO DEVICE.

  16. Klicken Sie auf Settings oben rechts, um das Fenster Device Settings zu öffnen ().

  17. Kopieren Sie den JSON-Code unter Credentials in einen Texteditor für die folgende Konfiguration der icom Data Suite (dieser enthält die Zugangsdaten für den relayr MQTT-Broker und den Topic, der von diesem Gerät ausgewertet wird).

  18. Schließen Sie das Fenster Device Settings wieder ().

  19. Wechseln Sie zum Abschnitt Projects im Menü links ().

  20. Klicken Sie auf CREATE A NEW PROJECT.

  21. Geben Sie den PROJECT NAME ein und klicken Sie auf NEXT.

  22. Geben Sie eine optionale AUTHORIZATION URL ein und klicken Sie auf NEXT.

  23. Klicken Sie auf FINISH.

  24. Klicken Sie auf OPEN PROJECT, um das oben erzeugte Projekt zu öffnen.

  25. Klicken Sie auf CREATE NEW RULE.

    Bitte beachten Sie!

    Diese Regel wertet die Timer-Ablesung aus, die vom INSYS-Router übermittelt wird und gibt jedes Mal eine MQTT-Befehlsnachricht aus, wenn ein Zählerwert, der höher ist als 13 übermittelt wird.

  26. Geben Sie einen Rule name ein und die If…​​-Bedingung der Regel an:

    • Select device : wählen Sie das oben erzeugte Gerät aus

    • Select : wählen Sie die Ablesung Timer aus

    • Select comparison :  > (gößer als)

    • Geben Sie einen Vergleichswert von 13 ein

  27. Fahren Sie mit der Angabe der Then…​​-Bedingung der Regel fort:

    • Select device : wählen Sie das oben erzeugte Gerät aus

    • Select : wählen Sie den Befehl Counter aus

    • Geben Sie einen Vergleichswert von 1 ein

  28. Klicken Sie auf SAVE & CLOSE.

Konfiguration der icom Data Suite

Es wird vorausgesetzt, dass Sie Zugriff auf das Web-Interface der icom Data Suite haben. Der router muss über eine Internet-Verbindung verfügen. Folgende Anweisungen setzen voraus, dass sich die icom Data Suite in den Grundeinstellungen befindet und über die erforderliche Lizenz verfügt.

  1. Öffnen Sie ein neues Browser-Tab oder -Fenster und rufen Sie das Web-Interface der icom Data Suite auf.

  2. Fügen Sie im Menü DatenpunktMerker einen neuen Merker hin () und bearbeiten Sie diesen ():

    • Beschreibung: Counter

    • Typ: Unsigned Integer

  3. Klicken Sie auf Einstellungen speichern.

  4. Fügen Sie im Menü DatenpunktTimer einen neuen Timer hinzu () und bearbeiten Sie diesen ():

    • Beschreibung: Message timer

    • Typ: Intervall, alle 23 Sekunden ausgelöst

  5. Klicken Sie auf Einstellungen speichern.

  6. Fügen Sie im Menü DatenpunktTimer einen neuen Timer hinzu () und bearbeiten Sie diesen ():

    • Beschreibung: Count sample timer

    • Typ: Intervall, alle 20 Sekunden ausgelöst

  7. Klicken Sie auf Einstellungen speichern.

  8. Fügen Sie im Menü NachrichtenMQTT einen neuen Broker hinzu () und bearbeiten Sie diesen ():

    • Beschreibung: relayr

    • Server: mqtt.relayr.io

    • Port : 1883

    • Version : v3.1

    • Benutzername : fügen Sie den String user aus den oben kopierten Credentials ein (ohne Anführungszeichen)

    • Password : fügen Sie den String password aus den oben kopierten Credentials ein (ohne Anführungszeichen)

    • Client-ID : fügen Sie den String clientid aus den oben kopierten Credentials ein (ohne Anführungszeichen)

  9. Klicken Sie auf Einstellungen speichern.

  10. Fügen Sie im Menü NachrichtenMQTT einen neuen Meldung hinzu () und bearbeiten Sie diese ():

    • Beschreibung: Timer message

    • Topic: fügen Sie den String topic aus den oben kopierten Credentials ein (ohne Anführungszeichen) und fügen Sie data hinzu (das Hinzufügen von data bedeutet, dass der Topic ein Format haben muss wie /v1/d677…​cedb/data).

    • Nachricht: fügen Sie die Nachricht im folgenden JSON-Format ein:

      {
       "path": "",
       "meaning": "Timer",
       "value": "$timer2 ",
       "received": "$TIME ",
       }

      Bitte beachten Sie!

      "Timer" entspricht der Reading, die für das Modell in relayr oben erzeugt wurde.

      Das Leerzeichen hinter der Variablen "$timer2 " und "$TIME " ist notwendig.

    • Retain:

    • QoS: 0

  11. Klicken Sie auf Einstellungen speichern.

  12. Fügen Sie im Menü Ereignis ein neues Ereignis hinzu () und bearbeiten Sie dieses ():

    • Beschreibung: Send timer message to relayr

    • Ereignis: Timer ist abgelaufen

    • Timer: wählen Sie den oben hinzugefügten timer1 - Message timer aus

    • Topic: fügen Sie den String topic aus den oben kopierten Credentials ein (ohne Anführungszeichen) und fügen Sie cmd/ hinzu (das Hinzufügen von cmd/, dass der Topic ein Format haben muss wie /v1/d677…​cedb/cmd/#)

    • Aktion: Nachricht versenden

    • Nachricht versenden: wählen Sie dem oben hinzugefügte Timer-Nachricht aus

  13. Klicken Sie auf Einstellungen speichern.

  14. Fügen Sie im Menü Ereignis ein neues Ereignis hinzu () und bearbeiten Sie dieses ():

    • Beschreibung: Increase counter upon relayr command

    • Ereignis: MQTT-Nachricht wurde empfangen

    • Von MQTT-Broker: wählen Sie den oben hinzugefügten mqttBrkr1 - relayr aus

    • Text : lassen Sie diesen leer, damit die icom Data Suite auf jede MQTT-Nachricht von relayr mit diesem Topic auslöst

    • Aktion: Analogen Datenpunkt ändern

    • Datenpunkt: wählen Sie den oben hinzugefügten flag1 - Counter und inkrementieren um benutzerdefinierten Wert 1 aus

  15. Klicken Sie auf Einstellungen speichern.

  16. Aktivieren Sie das Profil ().

  17. Klicken Sie auf StatusAktuelle Werte, um den ablaufenden Timer und die Erhöhung des Zählers beobachten.

  18. Klicken Sie auf StatusLog-Ansicht und markieren Sie Timer und MQTT, um zu sehen, wie der Timer abläuft und MQTT-Nachrichten versendet und erhalten werden.

  19. Wechseln Sie zurück zum Browser-Tab oder -Fenster von relayr.

  20. Wechseln Sie zum Abschnitt Devices im Menü links ().

  21. Wählen Sie Ihr Gerät aus, um zu sehen, dass der sich ändernde Wert des Timers regelmäßig übermittelt wird.

Fehlersuche

  • Wenn sich die icom Data Suite nicht mit dem relayr MQTT-Broker verbinden kann, überprüfen Sie die Konfiguration des MQTT-Brokers.

  • Wenn sich die icom Data Suite mit dem relayr MQTT-Broker verbinden  kann, aber relayr keine Signaldaten empfängt, prüfen Sie Folgendes:

    • Der Topic der Nachricht muss derselbe sein wir in den Credentials plus dem hinzugefügten String.

    • Das Leerzeichen hinter den Variablen (wie hinter $TIME) und vor dem Anführungszeichen ist wichtig. Ein fehlendes Leerzeichen lässt die Nachricht ungültig werden.


War dieser Artikel hilfreich?