[Modul] ZigBee-DeCONZ

Ich habe es nochmals versucht. In der Phoscon-App den Button gedrückt (Zähler zählt herunnter), dann in IPS „API-KEY anfordern“ gedrückt. Keine Reaktion. Gibt es eine Möglichkeit die Verbindung zu testen ausser ping oder den Api-Key auf einem anderen Weg anzufordern?

Als erstes solltest du testen, ob dein DeCONZ-Server überhaupt über die Api-Schnittstelle antwortet. Dafür gibst du einfach in einem Browser „http://DEIN-DECONZ-SERVER/api/“ ein. Statt DEIN-DECONZ-SERVER musst du die Adresse deines Servers eintragen. Das Ergebnis sollte dann wie folgt aussehen

[{"error":{"address":"/","description":"unauthorized user","type":1}}]

Wenn nicht, dann hast du einen Fehler in deiner Serverkonfiguration.

Wenn bis hier alles in Ordnung ist, dann kannst du testen, was passiert, wenn du folgendes Skript ausführst

    $url	= "http://DEIN-DECONZ-SERVER/api/";
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS => '{"devicetype":"ips"}',
    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);
    curl_close($curl);
    echo $response;

Statt DEIN-DECONZ-SERVER musst du die Adresse deines Servers eintragen.

Als Ergebnis sollte dann

[{"success":{"username":"6X19Y32Z0A"}}]

oder

[{"error":{"address":"/","description":"link button not pressed","type":101}}]

kommen.

Viel Erfolg
Jürgen

Danke für deine Hilfe
Den ersten Schritt hat funktioniert. Es kam folgende Antwort:

[{"error":{"address":"/","description":"unauthorized user","type":1}}]

Beim zweiten Schritt ist mir nicht klar in welcher Umgebung ich es ausführen soll. Ich habe es in einem Linux-Terminal versucht,
 da hat es nicht funktioniert.

Gruss Christoph

nein, den 2. Schritt führst Du in IP-Symcon in der Console aus. Du erzeugst im Objektbaum über Objekt hinzufügen - Automation - PHP-Skript ein Skript, kopierst den Text von oben da rein, änderst die URL wie oben beschrieben und drückst die ausführen-Taste

Grüße
Jürgen

Hallo Jürgen

Danke für deine Hilfe.
Ich habe den Script eingefügt und getestet.
Wenn ich den Script laufen lasse kriege ich folgende Antwort:

[{"error":{"address":"/","description":"link button not pressed","type":101}}]

Wenn ich im Phoscon-GW die Schaltfläche "App verbinden" drücke kommteine andeere Antwort:
[{"success":{"username":"15ED9241E8"}}]

Was ja glaub ich richtig ist. Trotzdem wird der Key nicht ausgetauscht.

prima, dass es soweit funktioniert. Damit muss auch das Modul funktionieren. Das Skript, das du ausgeführt hast, ist original aus dem Modul. Ich habe es einfach nur dort herauskopiert…
Probiere es einfach nochmal aus.
Ggf. hast Du einen Schreibfehler in der URL oder beim Port.
Grüße
Jürgen

1 „Gefällt mir“

Hallo Jürgen
Danke für deine Hilfe. Kleine Ursache- grosse Wirkung oder eben keine Wirkung. Ich habe den Fehler gefunden. Es darf nicht nur die IP-Adresse angegeben werden, sondern es muss lauten , sonst funktioniert es nicht trotz Port angabe. Herzlichen Dank für deine Geduld. Grüsse Christoph

1 „Gefällt mir“

Hallo
Ich habe ebenfalls Probleme mit der Einrichtung des ConBee II und dem Modul.
Im vorherigen Beitrag wurde geschrieben

„Es darf nicht nur die IP-Adresse angegeben werden, sondern es muss lauten , sonst funktioniert es nicht trotz Port angabe.“

Wie muss es denn lauten?

Das Script von #Silberstreifen gibt bei mir
„[{„error“:{„address“:“/",„description“:„link button not pressed“,„type“:101}}]"
aus.

Bin für jede Hilfe dankbar!

MfG
computerpap

Hallo computerpap,

die IP-Adresse muss mit http:// beginnen, dann funktioniert es auch. Ich werde das in der Anleitung nochmal deutlicher hervorheben.
Grüße
Jürgen

Hallo Silberstreifen
Das „http://“ hatte ich schon der IP vorangesetzt, ich bekomme aber immer noch den Fehler
„Schnittstelle ist als fehlerhaft markiert!“ Keine Ahnung was ich da noch falsch mache.

Deine Fehlermeldung sagt, dass du beim Holen des API-Keys den Verbinden-Button nicht gedrückt hast…

Grüße
Jürgen

Wenn ich den Verbinden-Button drücke und dein Script ausführe kommt folgendes zurück

„[{„success“:{„username“:„560789B2DC“}}]“

Trotzdem bekomme ich den WS Client, DeConzGateway und den ZigBee Configurator mit einem roten Ausrufezeichen im Objektbaum angezeigt.

was meinst du genau mit Script? Den API-Key musst du im Gateway mit der entsprechenden Taste anfordern.

ich meine das Testscript von dir

$url	= "http://DEIN-DECONZ-SERVER/api/";
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS => '{"devicetype":"ips"}',
    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);
    curl_close($curl);
    echo $response;

Das Script habe ich nur zum Test ausgeführt und die Ausgabe zeigt doch an, dass alles soweit in Ordnung ist.
Aber wenn ich in der Phoscon App auf „App verbinden“ klicke und anschließend in IPS auf „API-Key anfordern“, bekomme ich die folgende Meldung

Wenn ich das Meldefenster öffne, so wie es in der Instanzkonfiguration geschrieben steht, ist diese leer und bezüglich ZigBee (Phoscon) kommen keine Meldungen.

hast du eventuell auf dem Port 443 noch einen Webserver oder anderen Dienst laufen? Dann musst Du in der Konfiguration von Phoscon den Port z.B. auf 444 ändern.

Wie ändert man den Port unter Windows 10, ich finde zu dem Thema nur Beschreibungen mit Linux!

Edit: Hab’s hinbekommen, scheint jetzt zu laufen! Danke für die Hilfe!

1 „Gefällt mir“