[Modul] Zigbee2MQTT

Moin,

war letzte Woche komplett auf Dienstreise. schaue ich mir heute nochmal an.

LG
Burkhard

Hallo,

ich seit gestern einen Giex Gx02 Wasserventil im Einsatz.

Da sich die Herstellerkennung geändert hat musste ich das Gerät über eine externe Datei einbinden.
Das hat auch gut geklappt. Auch das einbinden in Ip Symcon hat gut geklappt.
Ich erhalte lediglich die folgende Fehlermeldung:

22.06.2024, 19:33:22 | FlowHandler          | Kann Daten nicht zur Instanz #29354 weiterleiten: 
Warning: Variablentyp und Profiltyp stimmen nicht überein in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php on line 6546
RESULT:

Kann mir jemand sagen wie es zu diesem Fehler kommt und wie ich Ihn beheben kann?

Danke und Grüße
Stephan

Einer Int-Variablen ist wohl z.B. ein Float-Profil zugewiesen. Schau mal bei der Variablen nach was für ein Profil zugewiesen ist und was für Werte kommen. Irgendwas passt da wohl nicht zusammen. Was kommt sollte man im Debug sehen können.

Ralf

Moin,

wie ist denn die neue Hersteller-Kennung und der Hersteller? ann könnte ich das gleich direkt in Zigbee2MQTT einbinden und gibt es eine Variable, die nicht aktualisiert wird? Wenn ja, welche ist es? Magst Du mal die Geräteeigenschaften abholen und hier den Debug reinstellen?

Dank und LG

Burkhard

Hallo @Hein09 ,

kurzer Zwischenstand: Wird noch einen kurzen Moment dauern. Im Moment sind zeitliche Ressourcen Mangelware. Denke aber, morgen korrigiere ich die Fehler.

LG
Burkhard

1 „Gefällt mir“

Abend,

@Burki24 hättest du evtl. Zeit und Lust ein Gerät einzupflegen? Eilt absolut nicht… Handelt sich um einen Motion-Sensor.

Debug im Anhang.

Lieben dank
dump.txt (24,1 KB)

Edit: Und evtl. folgenden Vibrationssensor.
dump(3).txt (12,6 KB)

Moin @grumpybear ,

hmmm, die sind schon eingepflegt. Allerdings muss ich mal schauen, bei dem Vibrationssensor kann er die Werte nicht den Variablen zuordnen.

Aber bei beiden erkennt er keine fehlenden Exposes mehr. Kannst Du mal beshreiben, was nicht läuft?

LG
Burkhard

Moin @Hein09,

PR liegt bei @KaiS .

LG
Burkhard

Danke für die Rückmeldung,

Der Vibrationssensor zeigt mir zwar an das „Vibration“ vorhanden war, aber nimmt dies nicht zurück, kann aber auch an dem Sensor liegen. (Dachte vllt fehlt eine Expose)

Und der Motionsensor sendet leider nichts nach Symcon, in z2m funktioniert alles.

VG

Hast Du mal ins Debug geschaut, was er da schreibt?

Wenn Du den MQTT-Explorer nutzt, schaue doch mal, wie das Payload von dem gesendet wird.

LG
Burkhard

Hi,
das scheint normal zu sein. Er hat anscheinend keinen Timer drin der nach X Sekunden den Wert wieder auf neutral setzt. Ich reagiere seit Jahren auf Aktualisierung und das klappt beim Briefkasten hervorragend bisher. ToiToiToi.

Ralf

Moin @Burki24,

vielen Dank.

Hein09

Hallo Zusammen,
irgendwann kam ja in alles z2m Geräten in Symcon die Update Variable.
Wofür ist die? Soll die Anzeigen wenn es ein Update gibt oder wenn ein Update durchgeführt wird.
Ich mache gerade paar Updates von HUE´s und anderen Geräten. In Home Assistant zeigt er jeweils an das es ein Update gibt und gesondert wenn eins durchgeführt wird.
In Symcon passiert indes nichts mit der Update Variable.
Feature oder Bug?
Beta Modul ist aktuell
Extension ist auch auf dem Stand von GitHub bzw. immer noch die ohne ein Versions Kommentar wie von Kai angekündigt
z2m ist auf 1.39

VG
BlackOrca

Ah, Danke! Hab eben getestet, dass ich den Wert nach z.B 5 Sekunden wieder auf OK setze und scheint zu funken.

Der Motionsensor scheint doch zu funktionieren, braucht wohl nur bisschen länger… Sorry

Der Vibrationssensor scheint auch zu funktionieren. Danke!

Moin SchwarzerWal,
das liegt am Modul. Folgendes steht (nicht) in der Zigbee2MQTTHelper.php vom Modul:

if (array_key_exists('update', $Payload)) {
    //$this->LogMessage(json_encode($Payload), KL_WARNING);
		//Bleibt hier. gibt es nicht als Expose
	$this->RegisterVariableInteger('Z2M_FWinstalled', $this->Translate('installierte Firmware'), '');
	$this->RegisterVariableInteger('Z2M_FWlatest', $this->Translate('aktuelle Firmware'), '');
	$this->RegisterVariableString('Z2M_UpdateStatus', $this->Translate('Update Status'), '');
    if (isset($Payload['update']["installed_version"])) $this->SetValue('Z2M_FWinstalled', $Payload['update']["installed_version"]);
    if (isset($Payload['update']["latest_version"])) $this->SetValue('Z2M_FWlatest', $Payload['update']["latest_version"]);
    if (isset($Payload['update']["progress"])){
    	$this->SetValue('Z2M_UpdateStatus', $Payload['update']["state"] . " " . $Payload['update']["progress"] . "%");
    }
    else $this->SetValue('Z2M_UpdateStatus', $Payload['update']["state"]);
}
if (array_key_exists('update_available', $Payload)) {
    //Bleibt hier. gibt es nicht als Expose
    $this->RegisterVariableBoolean('Z2M_Update', $this->Translate('Update'), '');
    $this->SetValue('Z2M_Update', $Payload['update_available']);
}

‚update_available‘ steht im Modul und liefert nur einen Status wenn Du Z2M aktiv fragst ob ein Update da ist.

‚update‘ habe ich bei mir hinzugefügt und das macht Folgendes:
Trägt installierte und neuest Firmwareversion in eine Variable ein
Wenn Z2M liefert das ein Update vorhanden ist wird es eingetragen
Wenn ein Update läuft wird der Fortschritt angezeigt

Letztes Jahr hatte ich das schon gepostet zusammen mit einem Script mit dem IPS automatisch updated wenn ein Update vorhanden ist. Vorsicht nicht alle Geräte spielen da mit. Meine Tadfri Schalter habe ich schon ein paar Mal updaten lassen aber obwohl OK geliefert wurde hatten sie nach einiger Zeit wieder die alte Firmware. Es könnte daran liegen das ich bei Ikea eine Zeit lang den alternativen Updateserver aktiv hatte.

Siehe: AutoUpdate für Zigbee2MQTT

Ralf

Genau aus diesem Grund haben wir das erstmal nicht eingepflegt.

LG
Burkhard

Moin Burkhard,
die Änderungen an der Lib selbst machen ja nix weiter als ein Update bzw. den Fortschritt anzuzeigen. Wird Update angezeigt musst man ja anderweitig reagieren z.B. in der GUI von Z2M. Im Moment bekommt man ja nicht wirklich mit wenn es ein Update gibt.

Mein Script ist ein anderer Fall. Was übrigens am Wochenende bei einer Ledvance wieder prächtig funktioniert hat :grinning: Bisher machen wirklich nur die Tadfri Schalter nicht das was sie sollen die habe ich jetzt in einer Ignorierliste.

Ralf

Danke für die Antworten @HarmonyFan und @Burki24
Ich sehe es wie HarmonyFan, wenn die Info zur Verfügung steht wäre es gut diese in Symcon zu haben. Ich benötige nicht mal den Fortschritt. Nur ein Hinweis das es eine Update gibt. Wenn die Info nicht kommt also im Payload gar nicht existiert dann die Variable auch nicht anlegen.

Gruß
Dennis

Moin Stephan,

habe gestern das Gerät bekommen und gleich angefangen. Die ersten Ergebnisse sehen gut aus:

Denke mal, ich schicke den PR morgen zu @KaiS . Die Implementierung war ein wenig aufwendiger, da die numeric-Variablen, die Z2M an das Modul sendet eigentlich String-Werte enthalten.

Muss nur noch die Bewässerungsdauer richtig umrechnen.

Nachtrag 11.07.:

Werde es heute als PR an @KaiS senden:
image

LG
Burkhard