Was können wir verbessern?

Dokumentation

(Bearbeiten)

ReceiveData

Benötigt: IP-Symcon >= 4.0

string ReceiveData (string $JSONString)

Parameterliste

JSONString Datenpaket im JSON Format

Rückgabewerte

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.

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

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;
}
Zum Warenkorb
Haben Sie noch Fragen?