[Modul] ZigBee-DeCONZ

Ciao Jürgen, die FB habe ich extra noch nicht mit einem Controller via Touchlink verbunden.

Was ist deiner Meinung nach er beste Weg für eine Analyse?

Viele Grüsse
Roberto

Moin Roberto,

ich brauche Debug-Mitschnitte bei denen "manufacturername":"iluminize" und "uniqueid":"… vorkommt. Dann kann ich angucken, was reinkommt. Sollten diese Nachrichten noch nicht kommen, dann solltest Du mal bei Dresden-Elektronik im Forum gucken, was Du machen kannst. Bei den „supported Devices“ steht die Fernbedienung noch als fehlerhaft.

Grüße
Jürgen

Sieht so aus, dass Deconz selber die Fernbedinung noch nicht unterstützt. Dann wird auch nichts über die API Schnittstelle versendet.

Du müsstest dort die Einbindung in deconz anstossen:

Aha, jetzt lichtet sich langsam der Nebel um diese FB. Ach für die beiden anderen beiden FB dieser Firma ist keines aufgeführt. Dann starte ich mal einen request bei Dresden auslösen.

Generell ist es bei FB ein leidiges Thema. Da sind nicht wirklich Geräte aufgeführt.

Hallo,

habt Ihr denn eine Überwachung der „Erreichbarkeit“ der Sensoren? - Ich hatte das einfach über Update Variable gemacht - nach den Updates auf den letzten Stand gestern - werden wohl Power Devices nicht mehr aktualisiert bzw. abgefragt. Deswegen wollte ich das nun anders lösen? Wie macht Ihr das?

Danke und Grüße,

Ich lese aus dem Konfigurator alle Instanzen aus die ich angelegt habe und baue mir dann eine HTML Variable zur Anzeige zusammen.

//Zigbee Statusupdate
$zigbeedevices=json_decode(IPS_GetConfigurationForm (22672 /*ID vom ZigbeeKonfigurator*/),true);
$zigbeestatusfehler=false;
$zigbeebatteriewarnung=false;
$zigbeebatteriefehler=false;

$Status_HTML="";
$Status_HTML=$Status_HTML."<table border=\"1\" style=\"width:100%\">";
$Status_HTML = $Status_HTML."<tr>";
$Status_HTML = $Status_HTML."<th><center>Gerät</center></th><th><center>Batterie</center></th>";
$Status_HTML = $Status_HTML."</tr>";
foreach ($zigbeedevices["actions"][0]["values"] as $device)
{
    if ($device["instanceID"]>0)
    {
        $Status_HTML = $Status_HTML."<tr>";
        if (IPS_GetInstance($device["instanceID"])["InstanceStatus"]<200)
        {
            $Farbe="green";
        }
        else
        {
            $Farbe="red";
            $zigbeestatusfehler=true;
        }
        $Status_HTML = $Status_HTML."<td width=\"33%\" style=\"background-color:".$Farbe."\"><center>".$device["name"]."</center></td>";
        $batterievorhanden=false;
        foreach(IPS_GetChildrenIDs($device["instanceID"]) as $variable)
        {
            if (IPS_GetName($variable)=="Batterie")
            {
                $batterie=getvalue($variable);
                switch(true) {
                    case in_array($batterie, range(0,20)):
                        $Farbe="red";
                        $zigbeebatteriefehler=true;
                        break;
                    case in_array($batterie, range(21,60)):
                        $Farbe="orange";
                        $zigbeebatteriewarnung=true;
                        break;
                    case in_array($batterie, range(61,100)):
                        $Farbe="green";
                        break;
                }
                $Status_HTML = $Status_HTML."<td width=\"33%\"style=\"background-color:".$Farbe."\"><center>".$batterie."%</center></td>";
                $batterievorhanden=true;
            }
        }
        if (!$batterievorhanden) $Status_HTML = $Status_HTML."<td width=\"33%\"><center>Dauerstrom</center></td>";
        $Status_HTML = $Status_HTML."</tr>";
    }
}
$Status_HTML=$Status_HTML."</table>";
setvalue(24262/*Statusvariable für die Anzeige*/,$Status_HTML);

Die Erreichbarkeit aller Geräte wird über den Status der Instanz angezeigt. Diesen kannst Du einfach abfragen. Ist das Gerät offline, so ist der Status 215 ansonsten 102.
Grüße
Jürgen

Hallo Jürgen,

Danke für die schnelle Antwort - Instanz Überwachung hab ich nu schon mal gemacht - mit allem = schlecht was - >= 200 ist. Also 215 direkt ist es dann.

Grüße,
MaLu

Ich möchte nun mit DeCONZ und dem IPS Modul umziehen.
DeCONZ läuft jetzt schon auf dem IPS Server und die alte Verbindung zum IPS Testsystem läuft auch.

Auf dem IPS Server habe ich nun das Modul installiert, bekomme aber in der Instanzkonfiguration beim API-KEY anfordern nur die Meldung DeCONZ antwortet nicht. Das IPS Testsystem habe ich schon gestoppt damit nicht von 2 Stellen auf DeCONZ zugegriffen wird.
Muss man vorher etwas trennen oder läuft IPS und DeCONZ auf dem selben Rechner nicht?

Die Meldung solltest Du unabhängig von API-KEY anfordern bekommen. Vermutlich stimmt Deine URL nicht oder ist von Deinem neuen Server nicht erreichbar. Hast Du ggf. IPS als Docker laufen? Dann musst Du darauf achten, dass Du alle erforderlichen Ports aufmachst. Bei einem unmodifizierten DeCONZ sind das die Ports 80 und 443. Häufig aber auch 8080 und 443. Ggf. hast Du aber auch eine Firewall zwischen DeCONZ und IPS.
Grüße
Jürgen

Läuft jetzt auf dem IPS Server, also gleiche URL, und somit sicher erreichbar.

Ist ein NUC mit Win10

Hab den gleichen Port genommen wie vorher auf dem Testrechner. Da ich auch da Probleme hatte habe ich schon alles mögliche durch probiert.

Da auf gleichem Gerät glaube ich es nicht aber ich werde es mal probieren.

Oh Oh… Böser 50cm Fehler.

Ich hatte kein http:// vor der IP.

Jetzt geht es wieder?

Ja läuft. Danke.

Man kann übrigens alt und neu parallel laufen lassen aber nur einer davon lässt sich autorisieren.

Hallo Heidewinkler,

das hatte ich auch schon mal angefragt. Wenn wir jetzt schon zu zweit sind, könnte sich ja möglicherweise Jürgen dazu erweichen lassen, es frei zu geben :slight_smile: .

Gruß und schönes Wochenende
Attain

Hallo Attain,
den Wunsch würde ich Dir gerne erfüllen. Das Problem dabei ist folgendes:
Bei einem System kann ich checken, ob der in DeCONZ abgespeicherte Key dem aktuell gültigen Key entspricht und dann alle alten Keys für ungültig erklären. Wenn ich mehrere Systeme habe, weiß ich nicht, welcher Key noch von einem anderen System genutzt wird. Die Folge ist dann, dass ich keinen Key mehr für ungültig erklären kann. Mit der Zeit werden es dann immer mehr gültige Keys, was das System nicht unbedingt sicherer Macht.

Grüße
Jürgen

Jürgen,

für die Sicherheit der DeConz Konfiguration zu sorgen, ist sicherlich nicht Deine Aufgabe.
Bei einem Keylänge von 36^10 kommt es auf ein paar mehr abgelegte nicht an. Ich habe seit meiner letzten Aufräumaktion zu Weihnachten, aktuell 37 Key’s in der Datenbank. Jedes Einloggen ins Webinterface erzeugt einen Key, der nie abläuft und immer in der db verbleibt. Diese Keys kann man über die API unverschlüsselt abrufen. Da ist das ablegen eines weiteren das aller kleinste Problem.
Nur so meine Meinung :slight_smile:
Hier wäre ein automatisches Löschen, aller seit x Monaten nicht genutzter Key’s sinnvoller.
grafik

V3.02 Neu: Mehrere Gateway-Instanzen können auf denselben DeCONZ-Server zugreifen

Die Idee finde ich gut. Ist in der aktuellen Beta-Version umgesetzt. Beim Anfordern eines neuen API-Keys werden alle mehr als 90 Tage nicht mehr genutzten Keys gelöscht.

Grüße
Jürgen

1 „Gefällt mir“

Hallo,

erstmal vielen Dankn für das Tolle Modul. Ich habe es heute das erste mal installiert und meine ersten beiden Testsensoren hinhzugefügt.

Ich bin mir nun unsicher, ob ich etwas falsche gemacht habe oder ob das Anlegen der Instanzen in dieser Form Absicht ist.

Pro Sensor habe ich nun 3x den Typ Z2DSensor und z.B. die Batterie Variable ebenfalls drei mal - anstatt eine Gruppe pro Sensor mit allen Variablen.

Ich hätte erwartet, dass es pro Sensor ein Device gibt (es ist ja auch nur eines) und auch den Batterie Status nicht drei mal…

In Deconz selbst habe ich einen Sensor mit 4 Variablen. In IP-Symcon habe ich nun 3 Devices mit 8 Variablen.

Hier sieht man es auch nochmal gut - ist das ein Bug oder Absicht?