[Modul] Zigbee2MQTT

Hallo Kai,

ich habe am Wochenende meine produktive Zigbee-Umgebung von CC2531 auf CC2652RP umgestellt. Da es anfänglich mit einigen Geräten Schwierigkeit gab, habe ich alle aus der Datenbank gelöscht und über den CC2652RP neu angelernt (quasi eine Neuinstallation).

Jetzt bekomme ich bei Schaltbefehlen an Zigbee-Aktoren über das Webfront (auch bei RequestAction via Script) folgende Fehlermeldung:

npm[762]: Zigbee2MQTT:error 2021-09-20 20:45:54: Failed to call ‚EntityPublish‘ ‚onMQTTMessage‘ (TypeError: definition.endpoint is not a function
npm[762]: at EntityPublish.onMQTTMessage (/opt/zigbee2mqtt/lib/extension/publish.js:181:66)
npm[762]: at Controller.callExtensionMethod (/opt/zigbee2mqtt/lib/controller.js:412:81)
npm[762]: at process._tickCallback (internal/process/next_tick.js:68:7))

Ob es mit dem Wechsel des Coordinators zu tun hat, kann ich nicht sagen.

Das Schalten über den Zigbee2Mqtt eigenen Webserver funktioniert problemlos und ohne Fehlermeldung.

Ist dir/euch dieses Verhalten bekannt, oder ist State die falsche Variable im Webfront, wie in diesem Beispiel zum Schalten der Steckdose ?

Gruss
Bernd

CONFIG:
Zigbee2MQTT version 1.21.1 (commit #eb5750d9)
Zigbee-herdsman (0.13.138)
Adapter hardware: CC2652RP
Adapter firmware version: zStack3x0
{„maintrel“:1,„majorrel“:2,„minorrel“:7,„product“:1,„revision“:20210708,„transportrev“:2}

WebfrontSteckdose

Kannst du mal ein Debug erstellen und posten, wenn du die Steckdose über das Webfront schaltest?

Grüße,
Kai

Hallo Kai,

habe wie gewünscht einen Dump vom Zigbee2MQTT-Log und vom IPS MQTT Server erstellt. Beide als TXT Anlage weiter unten.

Ich habe die IKEA Steckdose einmal über das Webfront eingeschaltet und anschließend wieder ausgeschaltet. Bei den Osram Steckdosen schaut es auch so aus.

Gruss
Bernd

Zigbee2Mqtt_Dump.txt (2,4 KB)

IPS_MQTT_Server_Dump.txt (27,1 KB)

Ich kann es nicht nachvollziehen.
Kannst du mal die eine Steckdose neu anlernen?

Grüße,
Kai

Hallo Kai,

danke für deine Unterstützung. Ich hatte alle Devices bereits beim Austausch vom CC2530 auf den CC2652R ab- und wieder neu angelernt. Ich habe jetzt auch nochmal die IKEA-Steckdose zurückgesetzt, aus der Datenbank entfernt und wieder neu angelernt. Der Bug ist leider immer noch da.

Als nächstes werde ich wohl alle Devices ablernen und Zigbee2MQTT komplett neu aufsetzen. Passt aktuell ganz gut, da Koenkk vor zwei Tagen die neue Version 1.21.2 released hat [Link]. Wird zwar alles etwas aufwendig werden, da ich einige Zigbee-Devices habe, bei den das Anlernen immer ein Kraftakt erfordern (z.B. zwei IKEA FLOALT-Panele an der gleichen Stromversorgung).

Gruss
Bernd

Moin, so langsam ersetzen die Zigbee Devices meine Homatic Welt - allerdings habe ich noch keinen Ersatz für das kleine Empfangsmodul: 8 open Kollektor Ausgänge auf einer kleinen Platine - gibt es etwas vergleichbares für ZigBee, das ich dann auch noch mit diesem Modul steuern kann ?

Danke,
Tom

Hallo Tom,

schau mal hier nach: https://www.zigbee2mqtt.io/information/supported_devices.html

Wobei dort meistens „fertige“ Devices wie Lampen, Schalter und Fernbedienungen gelistet sind. Bei Bastelboards ist aus meiner Sicht Homematic besser.

Gruss
Bernd

Hallo Kai,

hat sich erledigt. Ich habe vor dem geplanten Vollreset und neuem Aufsetzten von Zigbee2Mqtt vorher doch noch mal mein Glück mit dem Update auf 1.21.2 versucht. Die Fehlermeldungen beim Schalten über Webfront oder ActionRequest sind jetzt weg.

Gruss
Bernd

Dann schien es tatsächlich an Zigbee2MQTT gelegen zu haben.

Grüße,
Kai

@TomW, da kannst du nur auf der Webseite schauen, die @icey gepostet hat.

Grüße,
Kai

Es gibt eine neue Stable Version. Weitere Infos dazu im Changelog.

Grüße,
Kai

Hallo,
seit der neuen Version bekomme ich folgenden Logeintrag sehr oft zu sehen:

10.11.2021, 05:55:01 | FlowHandler          | Kann Daten nicht zur Instanz #44695 weiterleiten: 
Warning: Division by zero in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php on line 565
RESULT:

immer bei den 2 gleichen Instanzen. Die Steuerung funktioniert aber einwandfrei.

lg Bernhard

Beta oder Stable Version?
Das sollte in der aktuellen Beta Version schon gefixt sein.

Grüße,
Kai

Ich hab jetzt auf den Beta Kanal gewechselt und werde es weiter beobachten.

Danke.
lg, Bernhard

Ich brauche noch einige Beta Tester für die neue Zigbee2MQTT Version.

Die Version muss erstmal auf einem extra IP-Symcon installiert werden, ansonsten funktionieren viele Geräte nicht mehr.

Hat jemand Lust mir ein paar Debugs zu liefern?

Grüße,
Kai

1 „Gefällt mir“

Es gibt eine neue Stable Version.
Weitere Infos dazu im Changelog.

Grüße,
Kai

Ich brächte Infos von Usern mit folgenden Idents:

Erklärung:
Vor dem Semikolon ist der Ident, hinter dem Semikolon ist das Property von Z2M.

Z2M_LocalTemperature;local_temperature
Z2M_Preset;preset
Z2M_AwayMode;away_mode
Z2M_CurrentHeatingSetpoint;current_heating_setpoint
Z2M_OccupiedHeatingSetpoint;occupied_heating_setpoint
Z2M_Pi_Heating_Demand;pi_heating_demand
Z2M_SystemMode;system_mode
Z2M_RunningState;running_state
Z2M_StateLeft;state_left
Z2M_StateRight;state_right
Z2M_Click;click
Z2M_BrightnessRGB;brightness_rgb
Z2M_BrightnessWhite;brightness_white
Z2M_MotorSpeed;motor_speed
Z2M_Presence,presence
Z2M_Motion;motion
Z2M_Motion_Direction;;motion_direction
Z2M_Scene;scene
Z2M_Motion_Speed;motion_speed
Z2M_Radar_Sensitivity;radar_sensitivity
Z2M_Radar_Scene;radar_scene
Z2M_SmokeDensity;smoke_density
Z2M_Enrolled;enrolled
Z2M_RestoreReports;restore_reports
Z2M_SupervisionReports;supervision_reports
Z2M_Trouble;trouble
Z2M_Angle_X_Absolute;angle_x_absolute
Z2M_Angle_Y_Absolute;angle_y_absolute
Z2M_Consumption;consumption
Z2M_Duration;duration
Z2M_Counter;counter
Z2M_ColorRGB;color_rgb
Z2M_ColorTempRGB;color_temp_rgb
Z2M_StateRGB;state_rgb
Z2M_StateWhite;state_white
Z2M_Update;update_available

Grüße,
Kai

@KaiS Wo sehe ich denn den Ident?
Welche Infos brächstest du?

BTW Weil grad aktuell:
Seit einiger Zeit beobachte ich zyklisch >100% CPU auf meiner Symcon instanz.
habe das nun auf deinen Z2M Configurator einkreisen können.
Wenn ich manuell eine Suche anstoße geht die CPU hoch.
Wenn ich den Configurator lösche ist ruhe.
Discovery Instanz habe ich gelöscht. Macht dein Configurator trotzdem zyklisch eine Suche?

Es gibt keine Disocvery Instanz.
Und ja der Konfigurator macht eine Suche, das Problem mit der Last könnte mit der neuen Version gefixt sein. (Dazu wird ein Fix von Symcon benötigt, der kommen wird9

Ich habe gerade mal ein Script geschrieben, das Script gibt die Variablen IDs zu den Idents aus, zu welchen ich Infos brauche.

Wenn das Scipt bei dir also Variablen IDs ausgibt, dann melde dich doch bitte nochmal. :slight_smile:

<?php

$CSVIdents = 'Z2M_LocalTemperature;local_temperature
Z2M_Preset;preset
Z2M_AwayMode;away_mode
Z2M_CurrentHeatingSetpoint;current_heating_setpoint
Z2M_OccupiedHeatingSetpoint;occupied_heating_setpoint
Z2M_Pi_Heating_Demand;pi_heating_demand
Z2M_SystemMode;system_mode
Z2M_RunningState;running_state
Z2M_StateLeft;state_left
Z2M_StateRight;state_right
Z2M_Click;click
Z2M_BrightnessRGB;brightness_rgb
Z2M_BrightnessWhite;brightness_white
Z2M_MotorSpeed;motor_speed
Z2M_Presence,presence
Z2M_Motion;motion
Z2M_Motion_Direction;;motion_direction
Z2M_Scene;scene
Z2M_Motion_Speed;motion_speed
Z2M_Radar_Sensitivity;radar_sensitivity
Z2M_Radar_Scene;radar_scene
Z2M_SmokeDensity;smoke_density
Z2M_Enrolled;enrolled
Z2M_RestoreReports;restore_reports
Z2M_SupervisionReports;supervision_reports
Z2M_Trouble;trouble
Z2M_Angle_X_Absolute;angle_x_absolute
Z2M_Angle_Y_Absolute;angle_y_absolute
Z2M_Consumption;consumption
Z2M_Duration;duration
Z2M_Counter;counter
Z2M_ColorRGB;color_rgb
Z2M_ColorTempRGB;color_temp_rgb
Z2M_StateRGB;state_rgb
Z2M_StateWhite;state_white
Z2M_Update;update_available';

$Idents = str_getcsv($CSVIdents, "\n");
foreach($Idents as &$Row) $Row = str_getcsv($Row, ";");

$Z2MInstances = IPS_GetInstanceListByModuleID('{E5BB36C6-A70B-EB23-3716-9151A09AC8A2}');

foreach ($Z2MInstances as $ID) {
    foreach ($Idents as $Ident) {
        $VariableID = @IPS_GetObjectIDByIdent($Ident[0], $ID);
        if ($VariableID <> FALSE) {
            echo 'Ident: '. $Ident[0]. ' Variable ID: '. @IPS_GetObjectIDByIdent($Ident[0], $ID). "\n";
        }        
    }  

}

Grüße,
Kai

top :slight_smile:
hier mal meine Ausgabe:

Ident: Z2M_Click Variable ID: 55377
Ident: Z2M_LocalTemperature Variable ID: 27630
Ident: Z2M_AwayMode Variable ID: 24439
Ident: Z2M_CurrentHeatingSetpoint Variable ID: 36600
Ident: Z2M_SystemMode Variable ID: 11070