diff --git a/Int_VGT/module.json b/Int_VGT/module.json index 9bea023..c030c1a 100644 --- a/Int_VGT/module.json +++ b/Int_VGT/module.json @@ -3,11 +3,10 @@ "name": "Int_VGT", "type": 3, "vendor": "Belevo", - "aliases": [], + "prefix": "VGT", "parentRequirements": [ - "{C6D2AEB3-6E1F-4B2E-8E69-3A1A00246850}" + "{A5D7A5C5-F2BD-4DA3-9C28-DB6C24A34F3C}" ], "childRequirements": [], - "implemented": [], - "prefix": "VGT" + "implemented": [] } diff --git a/Int_VGT/module.php b/Int_VGT/module.php index 0dd7f97..6484f0b 100644 --- a/Int_VGT/module.php +++ b/Int_VGT/module.php @@ -13,8 +13,8 @@ class Int_VGT extends IPSModule // Variable für empfangene Remote-Control-Daten $this->RegisterVariableString('RemoteControlPayload', 'Remote Control Payload', '', 1); - // Splitter (MQTT Server) - $this->ConnectParent("{C6D2AEB3-6E1F-4B2E-8E69-3A1A00246850}"); + // MQTT Splitter (richtiger Parent) + $this->ConnectParent("{A5D7A5C5-F2BD-4DA3-9C28-DB6C24A34F3C}"); } public function ApplyChanges() @@ -27,26 +27,26 @@ class Int_VGT extends IPSModule return; } - // Routen abonnieren + // DEBUG: Was wird abonniert? $this->SendDebug("Subscribe", "Subscribing to feedback-request/$device", 0); - $this->SendDebug("Subscribe", "Subscribing to /remote-control-response/$device", 0); + $this->SendDebug("Subscribe", "Subscribing to remote-control-response/$device", 0); - // Subscription 1 + // Subscription: Feedback-Request $this->SendDataToParent(json_encode([ "DataID" => "{A339BCF8-68B7-4A41-A4EF-6A9C55A2B4E3}", "Topic" => "feedback-request/$device", "Retain" => false ])); - // Subscription 2 + // Subscription: Remote-Control-Response $this->SendDataToParent(json_encode([ "DataID" => "{A339BCF8-68B7-4A41-A4EF-6A9C55A2B4E3}", - "Topic" => "/remote-control-response/$device", + "Topic" => "remote-control-response/$device", "Retain" => false ])); } - // Wird aufgerufen wenn MQTT-Daten reinkommen + // Wird aufgerufen wenn MQTT-Daten hereinkommen public function ReceiveData($JSONString) { $data = json_decode($JSONString, true); @@ -55,8 +55,9 @@ class Int_VGT extends IPSModule $device = $this->ReadPropertyString('DeviceID'); - // 1️⃣ REQUEST von Client → fixe Antwort senden + // 1️⃣ Client fragt Feedback an → Modul sendet feste Antwort zurück if ($topic === "feedback-request/$device") { + $this->SendDebug("Receive", "Feedback request received", 0); $response = [ @@ -72,11 +73,15 @@ class Int_VGT extends IPSModule return; } - // 2️⃣ REMOTE CONTROL PAYLOAD speichern & weiterreichen - if ($topic === "/remote-control-response/$device") { + // 2️⃣ Remote-Control-Response empfangen + if ($topic === "remote-control-response/$device") { + $this->SendDebug("Receive", "Remote control payload received", 0); + + // In Variable speichern $this->SetValue('RemoteControlPayload', $payload); + // Optional weiterverarbeiten $this->HandleRemoteControl($payload); } } @@ -85,19 +90,20 @@ class Int_VGT extends IPSModule { $this->SendDebug("Publish", "Topic: $topic Payload: $payload", 0); + // MQTT Publish an Splitter senden $this->SendDataToParent(json_encode([ - "DataID" => "{7F7632D9-A122-4C43-8C21-A4943C1BFB79}", // Publish MQTT + "DataID" => "{7F7632D9-A122-4C43-8C21-A4943C1BFB79}", "Topic" => $topic, "Payload" => $payload, "Retain" => false ])); } - // Leere Methode — kannst du später programmieren + // Methode für spätere Aktion protected function HandleRemoteControl(string $payload) { - $this->SendDebug("RemoteControl", "Received RC payload: $payload", 0); + $this->SendDebug("RemoteControl", "Processing payload: $payload", 0); - // → HIER deinen Code später einfügen + // → Hier kann später custom Code rein } }