Ich habe jetzt mal einen Blick in die Einrichtung in der bionyx App geworfen.
Damit der Zugang wirklich TLS verschlüsselt und die Kommunikation sicher ist, muss eine Domain benutzt werden, die von einer certification authority (CA) autorisiert wurde.
Die CA wird von der bionyx App abgefragt.
Dazu wird in den Einstellungen TlsWithCACheck ausgewählt Jetzt trägt man dann die Domain ein, über die der sichere Zugang zum Haus bzw. CCU3 herstellt wird. Name und Ort sind frei wählbar und dienen nur der Identifikation später in der bionyx App.
Unter Methode, wählt man die Methode, die für die Kommunikation mit der Domain verwendet wird.
Dies ist meist POST.
Unter URL wird die Domain eintragen, über die das Haus bzw. die CCU3 gesichert erreicht werden kann. In meinem Fall steht dort einfach ein Webhook mit der IP-Symcon Connect HTTPS Adresse von IP-Symcon drinnen, da bei mir nicht nur ausschließlich die CCU3 geschaltet wird.
Sollte direkt nur die CCU3 sicher angesprochen werden, ist das zunächst etwas komplizierter zu konfigurieren.
Wenn man einen Dienst der CCU3 zur Cloudanbindung benutzt, müsste man erst mal das Gerät, das geschaltet werden soll, in die Cloud exportieren. Dazu wird im Gerätemanager ein Haken bei Kann exportiert werden gesetzt.
Anschließend wird durch In Cloud exportieren ... das Gerät der CCU3 sicher per HTTPS erreichbar gemacht.
Die Parameter, die in der bionyx App einzutragen sind, sind dann nach Anmeldung im Cloud Portal zu sehen.
Dort wird das Gerät ausgewählt Mit View Command Info, werden die Parameter angezeigt, die in der bionyx App zu hinterlegen sind. Zurück in der bionyx App wird nur die gewünschte URL eingetragen. Als Methode wird POST gewählt.
Request Header und Request Body sind individuell abhängig vom System, das die CCU3 schaltet.
Bei IP-Symcon ist Request Body z.B. JSON Wenn man direkt auf die CCU3 mit mediola schaltet, wäre Request Header Text Request Body wäre z.B. bei IP-Symcxon frei wählbar, da dies individuell im Webhook ausgelesen wird Wenn direkt auf die CCU3 über mediola geschaltet wird, wäre der Request Body fest vorgegeben (siehe View Command Info) Falls auf einen individuellen Webhook geschaltet wird, wird dann eben im System der Webhook ausgewertet.
Im Beispiel von IP-Symcon würde das im einfachsten Fall so aussehen
Code: Alles auswählen
// JSON per POST
IPS_LogMessage("WebHook RAW", file_get_contents("php://input"));
$payload = file_get_contents("php://input");
SetValue(57146, $payload);
$user_id = json_decode($payload)->userid;
SetValue(55867, $user_id);
if($user_id == "fonzo")
{
SetValue(12098, true);
}