[Modul] ZigBee-DeCONZ

Sorry bin zu doof.

^= wie bekomme ich denn daraus EINEN Sensor mit nicht dreifach Batterie usw.

OK hat geklappt - ganz Stumpf löschen und von einer beliebigen Instanz die letzten 3 Zahlen an der Geräte ID wegschneiden.

Aber mir fehlen nun einige Werte, wie Feuchtigkeit und co. die in einem der gelöschten Instanzen waren. Wann / wie werden diese denn dann wieder angelegt.

Es gibt dann „nur“ noch den Typen Temperature aber nicht mehr Feuchtigkeit und co.

Also mit der 3.03 wird mein Device nur noch als ein ZHATemperature Device erkannt und auch nur noch mit Temperatur angelegt. Die Werte Humidity usw. fehlen nun.

Die Punkte 1 und 2 sollten mit der aktuellen Beta behoben sein. Für den Punkt 3 brauche ich noch eine gute Idee und für Punkt 4 nochmal mehr Details (z.B. Debug).
Grüße
Jürgen

V3.05 Neu: Die Kombination der Geräte kann im Konfigurator eingestellt werden

Ich habe gerade eine neue Beta-Version hochgeladen. Diese setzt den Wunsch einiger Nutzer um, zusammengesetzte Geräte auch weiterhin nicht zu kombinieren. Ob kombiniert werden soll oder nicht, kann ab sofort im Konfigurator eingestellt werden.

Der Fehler sollte damit auch behoben sein.

Einschränkung
Wer bei einem Kombigerät Z2D_SetConfig verwendet, darf für dieses Gerät keine kombinierte Instanz anlegen. Z2D_SetConfig könnte dann ggf. nicht mehr funktionieren.

Viele Grüße
Jürgen

Hallo Jürgen,

prima Arbeit. Soweit ich sehe passt alles nun.
Das einzige Problem ist noch, beim Erstellen von allen Aquara Sensoren, immer:
power
voltage
current
erstellt werden. Obwohl dies der Sensor gar nicht hat.

Die Frage ist nun, wie debuggen? Wenn ich auf den Configurator debugge, sehe ich nichts brauchbares.

na, das ist ja merkwürdig… Ist das beim getrennten Anlegen der Geräte auch so?
gehe mal bitte in eine der fehlerhaften Aquara-Instanzen und

  • öffne das Debug-Fenster,
  • dann eine beliebige Änderung an der DeviceID vornehmen und sofort wieder rückgängig machen.
  • Danach auf Speichern drücken.
  • Jetzt hast Du im Debug alles, was Du brauchst/ich brauche.

Viele Grüße
Jürgen

Im Debug finde ich nichts von Voltage, Current oder Power. Kannst Du die Variablen löschen und bleiben diese dann weg? Was passiert, wenn Du die Sensoren im getrennten Modus anlegst?

Die Variablen kann ich löschen und kommen auch nicht wieder.
Bei getrenntem Anlegen, kommen die Variablen auf beiden Instanzen.
grafik

das ist wirklich sehr merkwürdig. Ich sehe überhaupt keinen Grund, warum das so sein kann.
Vielleicht guckst Du nochmal in meinen Quellcode und findest den Fehler. Ich sehe da wahrscheinlich den Wald vor lauter Bäumen nicht mehr. :dizzy_face:

So, jetzt hatte ich mal etwas Zeit es zu beobachten.
Wenn ich eine Instanz über den Konfigurator erstelle, passiert es, dass in dem Moment Werte über die Websocket Schnittstelle reinkommen.
Die gehören aber zu einem anderen Gerät. Dann werden die dazugehörigen Variablen ebenso unter der Instanz erstellt und eingetragen.
Ich bin nicht so 100% im Thema. Aber könnte es das Problem sein, weil Du den Receive Filter erst im ApplyChanges setzt und nicht im Create?

Attain

Danke für die Analyse. Der Filter ist in ApplyChanges schon richtig aufgehoben. Dein Tipp hat mich aber trotzdem auf den hoffentlich richtigen Pfad geführt.

parent::ApplyChanges();

Stand vor dem Filter. Das habe ich jetzt umgedreht. Damit sollte es funktionieren.

V3.06 Neu: Gateway-Konfiguration (DeCONZ-App), Fix: Geistvariablen

zusätzlich zum Fix von Attains Geistervariablen gibt es ein neues Feature:
Per PHP-Befehl lassen sich Parameter der DeCONZ-App verändern, wie von @mactoolz gewünscht.
Die Dokumentation findet Ihr wie gehabt im README

Sollten keine Fehler in dieser Version an diesem Wochenende hochkommen, dann stelle ich die V3.06 wieder als stable ein.

Viele Grüße
Jürgen

Hallo,

@Silberstreifen
Ich habe mir die aktuelle Version geholt, hab auch einen Parameter geändert
und mit Get auch zurück gelesen. Von der Sacher hat das so funktioniert.
Im JSON Result stand der geänderte Parameter drin.

Auch am Ansteuern der Nodes hat sich nichts ausfälliges gezeigt.
Es tauchen keine Meldungen etc. auf.

Vielen Dank für die Anpassung.

Gruß

Hallo Jürgen,

leider macht das keinen Unterschied.

Bedeutet, ich kann z.b. von IPS das Netz öffnen und neue Teilnehmer hinzufügen?
Cool Danke

Kannst Du mal bitte im Create-Bereich die Zeile

$this->SetReceiveDataFilter(" ");

einfügen und dann nochmal probieren?

Grüße
Jürgen

Nein auch das geht nicht. Es werden immer noch alle Variablen erstellt, die reinkommen während der Erstellung der Instanz.
Ich habe es auch mal mit den bsp aus der Doku versucht.

$this->SetReceiveDataFilter(".*Hallo.*");

Selbes Ergebnis. Eigenartigerweise passiert es auch, wenn das ConnectParent() im ApplyChanges ist.

ja, das ConnectParent() wird anscheinend auch vom Configurator selbst ausgelöst.

Ich denke aber, dass ich jetzt die Lösung habe. Ersetze mal bitte

$Filter = '.*'.preg_quote('\"uniqueid\":\"').$this->ReadPropertyString("DeviceID").'.*'.preg_quote('\"').'.*';

durch

$Filter = " ";
if($this->ReadPropertyString("DeviceID") != "")$Filter = '.*'.preg_quote('\"uniqueid\":\"').$this->ReadPropertyString("DeviceID").'.*'.preg_quote('\"').'.*';

Dann sollte es einwandfrei funktionieren.
Grüße
Jürgen

Perfekt :+1:
Funktioniert

Super, dann baue ich jetzt mal eine Stable-Version.