Modules présents uniquement dans Zigbee2mqtt mais pas dans JeeZigbee

Bonjour,

Installation
RPI 3B,
Jeedom stable 4.3.20
Plugin Jeezigbee beta 2023-11-29 01:01:56

Jusqu’à présent, lorsque j’effectuait l’inclusion d’un nouveau module, il se retrouvait ajouté à la fois dans Zigbee2Mqqt et le plug in JeeZigbee générait automatiquement un équipement dans Jeedom.

Mais depuis quelques jours, ce n’est plus le cas, les nouveaux modules sont bien inclus dans Zigbee2Mqqt, et apparaissent à la fois dans le Réseau Zigbee et dans le JSON brut, mais aucun équipement n’est créé par JeeZigbee.

Et lorsque je clique sur le bouton Synchronisation, j’ai une erreur 500
image
En en passant le niveau de log par defaut de jeedom a Debug, j’obtiens le message suivant dans le http.error

[Thu Nov 30 18:32:05.464275 2023] [php7:error] [pid 686] [client 192.168.1.67:63861] PHP Fatal error:  Uncaught Error: Call to undefined function setConfiguration() in /var/www/html/plugins/z2m/core/class/z2m.class.php:1014
Stack trace:
#0 /var/www/html/core/class/DB.class.php(161): z2mCmd->preSave()
#1 /var/www/html/core/class/cmd.class.php(1014): DB::save(Object(z2mCmd), false)
#2 /var/www/html/plugins/z2m/core/class/z2m.class.php(546): cmd->save()
#3 /var/www/html/plugins/z2m/core/ajax/z2m.ajax.php(40): z2m::handle_bridge(Array)
#4 {main}
  thrown in /var/www/html/plugins/z2m/core/class/z2m.class.php on line 1014, referer: http://192.168.1.8/index.php?v=d&m=z2m&p=z2m

Reseau Zigbee

JSON

    {
        "date_code": "20211118",
        "definition": {
            "description": "TRADFRI control outlet",
            "exposes": [
                {
                    "features": [
                        {
                            "access": 7,
                            "description": "On\/off state of the switch",
                            "label": "State",
                            "name": "state",
                            "property": "state",
                            "type": "binary",
                            "value_off": "OFF",
                            "value_on": "ON",
                            "value_toggle": "TOGGLE"
                        }
                    ],
                    "type": "switch"
                },
                {
                    "access": 7,
                    "description": "Controls the behavior when the device is powered on after power loss",
                    "label": "Power-on behavior",
                    "name": "power_on_behavior",
                    "property": "power_on_behavior",
                    "type": "enum",
                    "values": [
                        "off",
                        "on",
                        "toggle",
                        "previous"
                    ]
                },
                {
                    "access": 1,
                    "description": "Link quality (signal strength)",
                    "label": "Linkquality",
                    "name": "linkquality",
                    "property": "linkquality",
                    "type": "numeric",
                    "unit": "lqi",
                    "value_max": 255,
                    "value_min": 0
                }
            ],
            "model": "E1603\/E1702\/E1708",
            "options": [
                {
                    "access": 2,
                    "description": "State actions will also be published as 'action' when true (default false).",
                    "label": "State action",
                    "name": "state_action",
                    "property": "state_action",
                    "type": "binary",
                    "value_off": false,
                    "value_on": true
                }
            ],
            "supports_ota": true,
            "vendor": "IKEA"
        },
        "disabled": false,
        "endpoints": {
            "1": {
                "bindings": [
                    {
                        "cluster": "genOnOff",
                        "target": {
                            "endpoint": 1,
                            "ieee_address": "0xb4e3f9fffe99697d",
                            "type": "endpoint"
                        }
                    }
                ],
                "clusters": {
                    "input": [
                        "genBasic",
                        "genIdentify",
                        "genGroups",
                        "genScenes",
                        "genOnOff",
                        "genLevelCtrl",
                        "touchlink",
                        "64636"
                    ],
                    "output": [
                        "genOta",
                        "genPollCtrl",
                        "touchlink"
                    ]
                },
                "configured_reportings": [
                    {
                        "attribute": "onOff",
                        "cluster": "genOnOff",
                        "maximum_report_interval": 3600,
                        "minimum_report_interval": 0,
                        "reportable_change": 0
                    }
                ],
                "scenes": []
            },
            "242": {
                "bindings": [],
                "clusters": {
                    "input": [],
                    "output": [
                        "greenPower"
                    ]
                },
                "configured_reportings": [],
                "scenes": []
            }
        },
        "friendly_name": "No\u00ebl - Prise jardin bassin",
        "ieee_address": "0x000d6ffffe9bef5c",
        "interview_completed": true,
        "interviewing": false,
        "manufacturer": "IKEA of Sweden",
        "model_id": "TRADFRI control outlet",
        "network_address": 3567,
        "power_source": "Mains (single phase)",
        "software_build_id": "2.3.089",
        "supported": true,
        "type": "Router"
    },
    {
        "date_code": "20211118",
        "definition": {
            "description": "TRADFRI control outlet",
            "exposes": [
                {
                    "features": [
                        {
                            "access": 7,
                            "description": "On\/off state of the switch",
                            "label": "State",
                            "name": "state",
                            "property": "state",
                            "type": "binary",
                            "value_off": "OFF",
                            "value_on": "ON",
                            "value_toggle": "TOGGLE"
                        }
                    ],
                    "type": "switch"
                },
                {
                    "access": 7,
                    "description": "Controls the behavior when the device is powered on after power loss",
                    "label": "Power-on behavior",
                    "name": "power_on_behavior",
                    "property": "power_on_behavior",
                    "type": "enum",
                    "values": [
                        "off",
                        "on",
                        "toggle",
                        "previous"
                    ]
                },
                {
                    "access": 1,
                    "description": "Link quality (signal strength)",
                    "label": "Linkquality",
                    "name": "linkquality",
                    "property": "linkquality",
                    "type": "numeric",
                    "unit": "lqi",
                    "value_max": 255,
                    "value_min": 0
                }
            ],
            "model": "E1603\/E1702\/E1708",
            "options": [
                {
                    "access": 2,
                    "description": "State actions will also be published as 'action' when true (default false).",
                    "label": "State action",
                    "name": "state_action",
                    "property": "state_action",
                    "type": "binary",
                    "value_off": false,
                    "value_on": true
                }
            ],
            "supports_ota": true,
            "vendor": "IKEA"
        },
        "disabled": false,
        "endpoints": {
            "1": {
                "bindings": [
                    {
                        "cluster": "genOnOff",
                        "target": {
                            "endpoint": 1,
                            "ieee_address": "0xb4e3f9fffe99697d",
                            "type": "endpoint"
                        }
                    }
                ],
                "clusters": {
                    "input": [
                        "genBasic",
                        "genIdentify",
                        "genGroups",
                        "genScenes",
                        "genOnOff",
                        "genLevelCtrl",
                        "touchlink",
                        "64636"
                    ],
                    "output": [
                        "genOta",
                        "genPollCtrl",
                        "touchlink"
                    ]
                },
                "configured_reportings": [
                    {
                        "attribute": "onOff",
                        "cluster": "genOnOff",
                        "maximum_report_interval": 3600,
                        "minimum_report_interval": 0,
                        "reportable_change": 0
                    }
                ],
                "scenes": []
            },
            "242": {
                "bindings": [],
                "clusters": {
                    "input": [],
                    "output": [
                        "greenPower"
                    ]
                },
                "configured_reportings": [],
                "scenes": []
            }
        },
        "friendly_name": "No\u00ebl - Prise jardin cabane",
        "ieee_address": "0x000d6ffffe2eeb01",
        "interview_completed": true,
        "interviewing": false,
        "manufacturer": "IKEA of Sweden",
        "model_id": "TRADFRI control outlet",
        "network_address": 62911,
        "power_source": "Mains (single phase)",
        "software_build_id": "2.3.089",
        "supported": true,
        "type": "Router"
    }

Log Z2M
z2m.log (232,9 Ko)

Log Z2MD
z2md.log (210,3 Ko)

Hello,

En poursuivant mon analyse, je me suis rendu compte que le problème n’est pas spécifiquement lié aux nouveaux modules, mais en fait à l’incapacité de sauvegarder toute modification sur un équipement, car cette action déclenche systématiquement une erreur 500
image

J’ai donc creusé ce message d’erreur et j’ai trouvé une erreur dans la class Z2M, dans la fonction preSave:
image
Enrajoutant juste un -, ca fonctionne et je récupère les nouveaux équipements en effectuant une Synchronisation

public function preSave(){
    $this->setConfiguration('logicalId',$this->getLogicalId());
  }

Bonjour,
Oui c’est un bug de la beta d’hier, corrigé hier matin donc sortie ce matin pour tous.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.