This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Zigbee gateway integration
Hello 

Anyone have an idea?

thx

(18.06.2025, 12:44)hocine Wrote: Hello,
On one installation I had 16 Zigbee products and they were all working well. After adding 6 more products I no longer have automatic status updates for all the products.
I have to read the status manually.
Do you know what could be causing this problem?
Thx
Reply
Are the new devices the same as the other or different? Which interface do you use?
------------------------------
Ctrl+F5
Reply
(24.06.2025, 09:24)Daniel Wrote: Are the new devices the same as the other or different? Which interface do you use?

there is a product that is not in the same version. is it possible to add a script so that the zigbee module continues to retrieve states despite certain products returning an error?

I made a scipt to read the states. it works well but as soon as it encounters a problem with products it doesn't move on to the next product.
Reply
Share device information from both versions.
------------------------------
Ctrl+F5
Reply
(Yesterday, 08:51)Daniel Wrote: Share device information from both versions.
Here are the product profiles with the 2 different versions and here is also a copy of my script

local zb = require('applibs.zigbee')

-- Liste des thermostats Zigbee
local thermostats = {
  { name = "TH Atelier – TEST", addr = "7cc6b6fffe0ad6c5" },
    { name = "TH Atelier N°1", addr = "70ac08fffe06bdfb" },
    { name = "TH Atelier N°2", addr = "dc8e95fffe0f8e74" },
    { name = "TH Atelier N°3", addr = "70ac08fffe06aaa5" },
    { name = "TH Accueil Volvo", addr = "7cc6b6fffe0ad8ce" },
    { name = "TH Bureau chef d'atelier", addr = "7cc6b6fffe0acac" },
    { name = "TH Stock pneus", addr = "70ac08fffe06ad6c" },
    { name = "TH5 Thermostat Réfectoire atelier", addr = "048727fffe35b3df" }
}

-- Cluster Thermostat
local cluster = 0x0201
local attrs = { 0x0000, 0x0011, 0x0012, 0x001C }

-- Lecture des attributs pour un thermostat
local function read_thermostat(th)
    print("\n--- Lecture pour : " .. th.name .. " ---")

    local success, res_or_err = pcall(function()
        return zb.cmdsync('getattributes', th.addr, cluster, attrs)
    end)

    if success then
        local res, err = res_or_err, nil
        if res then
            print("Attributs récupérés :")
            for attr_id, value in pairs(res) do
                if attr_id == 0x0000 or attr_id == 0x0011 or attr_id == 0x0012 then
                    print(string.format("  Attribut ID 0x%04X : %.2f °C", attr_id, value / 100))
                elseif attr_id == 0x001C then
                    print(string.format("  Attribut ID 0x%04X : Mode système = %d", attr_id, value))
                else
                    print(string.format("  Attribut ID 0x%04X : %s", attr_id, tostring(value)))
                end
            end
        else
            print("  [!] Aucun attribut reçu – passage au thermostat suivant.")
        end
    else
        print("  [!] Erreur lors de la requête : " .. tostring(res_or_err))
    end
end

-- Boucle principale
for _, th in ipairs(thermostats) do
    read_thermostat(th)
end


Manufacturer: Schneider Electric
Model: S520619
Firmware version: 001.000.053
Device type: Router
Power source: Mains
Receive when idle: Yes
Endpoint 1
Profile: 260
Input clusters
- Basic (0)
- Identify (3)
- Groups (4)
- HvacThermostat (513)
- HvacUserInterfaceCfg (516)
- HaDiagnostic (2821)
- ManuSpecificWiserEvent (65027)
- ManuSpecificCycleTime (65302)
- ManuSpecificHeatingCooling (65315)
Output clusters
- Identify (3)
- Time (10)
- Ota (25)
- MsTemperatureMeasurement (1026)
- MsOccupancySensing (1030)
Endpoint 2
Profile: 260
Input clusters
- Basic (0)
- Identify (3)
- MsTemperatureMeasurement (1026)
Output clusters
- Identify (3)
Endpoint 4
Profile: 260
Input clusters
- Basic (0)
- Identify (3)
- MsOccupancySensing (1030)
Output clusters
- Identify (3)
Endpoint 5
Profile: 260
Input clusters
- Basic (0)
- Identify (3)
- Groups (4)
- SeMetering (1794)
Endpoint 242
Profile: 41440
Output clusters
- GreenPower (33)
Reported attributes
- currentsummdelivered: 0
- heatingstatus: true
- localtemperature: 25.64
- occupiedcoolingsetpoint: 20.00
- occupiedheatingsetpoint: 18.00
- picoolingdemand: 0
- piheatingdemand: 0
- seopenwindowstatus: false
- sepowerdivisor: 1000
- sepowermultiplier: 1
- systemmode: 4


Manufacturer: Schneider Electric
Model: S520619
Firmware version: 001.000.071
Device type: Router
Power source: Mains
Receive when idle: Yes
Endpoint 1
Profile: 260
Input clusters
- Basic (0)
- Identify (3)
- Groups (4)
- HvacThermostat (513)
- HvacUserInterfaceCfg (516)
- HaDiagnostic (2821)
- ManuSpecificWiserEvent (65027)
- ManuSpecificCycleTime (65302)
- ManuSpecificHeatingCooling (65315)
Output clusters
- Identify (3)
- Time (10)
- Ota (25)
- MsTemperatureMeasurement (1026)
- MsOccupancySensing (1030)
Endpoint 2
Profile: 260
Input clusters
- Basic (0)
- Identify (3)
- MsTemperatureMeasurement (1026)
Output clusters
- Identify (3)
Endpoint 4
Profile: 260
Input clusters
- Basic (0)
- Identify (3)
- MsOccupancySensing (1030)
Output clusters
- Identify (3)
Endpoint 5
Profile: 260
Input clusters
- Basic (0)
- Identify (3)
- Groups (4)
- SeMetering (1794)
Endpoint 242
Profile: 41440
Output clusters
- GreenPower (33)
Reported attributes
- currentsummdelivered: 0
- heatingstatus: false
- localtemperature: 27.96
- occupiedheatingsetpoint: 19.00
- picoolingdemand: 0
- piheatingdemand: 0
- seopenwindowstatus: false
- sepowerdivisor: 1000
- sepowermultiplier: 1
- systemmode: 0
Reply
Hi, hocine

Please give the output of your script.
I think that it is possible that you receive some nil value and try to
prepare some actions with nil, which causes the error
Reply
(Yesterday, 10:58)RomansP Wrote: Hi, hocine

Please give the output of your script.
I think that it is possible that you receive some nil value and try to
prepare some actions with nil, which causes the error
I have to go back to the site because in the backup I made I no longer have the zigbee logs.

But is it possible to modify the zigbee software so that it doesn't get stuck when it receives nil information?
Reply
I think that the easiest is to just slightly modify your script, to check every value is not a nil
And to check that you are doing everything correctly
Reply


Forum Jump: