Zum Inhalt

On Device Message

Plugin: Devices | Mode: Listen

Reagiere auf eingehende Nachrichten eines deiner OSC, UDP, TCP, HTTP oder Serial Devices.

Settings

device

Das Device, auf das reagiert werden soll.

Wähle das Device aus der Liste aus (select) oder gib den Device Namen, die Device id oder eine Variable an, die auf ein Device Item einen Device Namen oder eine Device ID verweist (custom).

Du kannst Devices in den Device Einstellungen hinzufügen.

if

Überprüfe eingehende Nachrichten des Device und löse ggf. den next state aus.

Im Kapitel Bedingungen abfragen mit conditions findest du genauer heraus, wie du die eingehende Nachricht abfragen kannst.

Der value der Bedingung ist dabei jeweils die eingehende Nachricht.

field

Nutze field um einen bestimmten Wert innerhalb einer JSON Message abzufragen. Du kannst Punkt Notation verwenden um tieferliegende Werte in der JSON Message anzugeben.

Um in der folgenden JSON Message den "numpad" Wert abzufragen

{
    "lab":{
        "numpad":169,
        "button":"off"
    }
}

Kannst du unter field

lab.numpad

angeben.

Screenshot On Device Message action mit field option

else

Lege den next state fest, der ausgelöst wird, wenn keine der if Bedingungen auf die eingegangene Nachricht zugetroffen hat oder wenn du keine if Bedingung angegeben hast.

Wenn du keine if Bedingung definiert hast, wird bei jeder Nachricht, die von dem Device empfangen wird, in den next state gewechselt.

keep listening and queue

optional

Schalte den listener Stumm anstatt ihn ganz zu schließen, wenn der State, der On Device Message enthält, verlassen wird.

Es wird dann zwar nicht weiter auf eingehende Nachrichten reagiert, die eingehenden Nachrichten werden aber gespeichert.

Wird der State, der diese On Device Message Action enthält erneut aufgerufen, werden zunächst die gespeicherten Nachrichten überprüft, bevor der listener beginnt auf weitere Nachrichten zu hören.

Info

Im Kapitel über Schleifen findest du zusätzliche Infos zu keep listening and queue

Action Daten

Du kannst auf die zuletzt Eingegangene Device Message, auf die du hörst, in der Action Data variable zugreifen. Nutze etwa:

[[state.AwaitOSCTrigger.onDeviceMessage_1.match]]

um auf den Teil der eingegangenen Nachricht der obersten On Device Message action im State AwaitOSCTrigger zuzugreifen, der die Bedingung erfüllt hat.

match

Der Teil der eingegangenen Nachricht, der eine if Bedingung in der On Device Message action erfüllt hat.

z.B.: 15

message

Inhalt der Nachricht, auf das die On Device Message action reagiert hat.

z.B.: Countdown has 15 seconds left

OSC Adressen

Eingehende OSC Adressen werden in JSON umgewandelt. Der Adresspfad der Nachricht wird zu JSON-Feldern, die jeweils die Message enthalten, die adressiert wird.

Die Nachricht /some/osc/message 123 wird als

{
  "some":{
    "osc":{
      "message":123
    }
  }
}

interpretiert und kann über field in der if condition überprüft werden.

Verwende some.osc.message als field um für das obige Beispiel eine Bedingung für den Wert der Message zu setzen.

HTTP Requests

On Device Message wird je nach Request Methode die Request Query oder den Request Body als JSON interpretieren.