« Zurück zu Produkt

Dokumentation

ReceiveData

Benötigt: IP-Symcon >= 4.0

 string ReceiveData (string $JSONString) 

Parameterliste

JSONString

Datenpaket im JSON Format

Rückgabewert

optionale Antwort an die übergordnete Instanz

Beschreibung

Diese Funktion wird von IP-Symcon aufgerufen und verarbeitet zugesendete Daten und schickt diese gegenenfalls an alle untergeordneten Instanzen weiter.
Daten können über die Funktion SendDataToChildren versendet werden.
Weitere Informationen zur Datenweiterleitung können unter Datenfluss gefunden werden.

Warning

Die ReceiveData Funktion wird von IP-Symcon aufgerufen. Sie muss somit von der Basisklasse überschrieben werden, um eigene Erweiterungen hinzuzufügen

Warning

Bis IP-Symcon 5.3 hatte diese Funktion keinen Rückgabewert.

Beispiel

// Beispiel innerhalb einer Gateway/Splitter Instanz
public function ReceiveData($JSONString) {

    // Empfangene Daten vom I/O
    $data = json_decode($JSONString);
    IPS_LogMessage("ReceiveData", utf8_decode($data->Buffer));

    // Hier werden die Daten verarbeitet
    
    // Weiterleitung zu allen Gerät-/Device-Instanzen
    $resultate = $this->SendDataToChildren(json_encode(Array("DataID" => "{66164EB8-3439-4599-B937-A365D7A68567}", "Buffer" => $data->Buffer)));
    
    //Wenn eine untergeordnete Instanz ein Resultat liefert, kann dieses genutzt werden.
    foreach($resultate as $resultat) {
        IPS_LogMessage("IOSplitter RECV-RES", $resultat);
    }
}

// Beispiel innerhalb einer Geräte/Device Instanz
public function ReceiveData($JSONString) {

    // Empfangene Daten vom Gateway/Splitter
    $data = json_decode($JSONString);
    IPS_LogMessage("ReceiveData", utf8_decode($data->Buffer));

    // Datenverarbeitung und schreiben der Werte in die Statusvariablen
    SetValue($this->GetIDForIdent("Value"), $data->Buffer);

    // Sende Resultat zurück an das/den Gateway/Splitter
    return "OK von " . $this->InstanceID;
}
Haben Sie noch Fragen?