[Zigbee] First Steps

linkKeyExchange = “no” should be set, because otherwise a lot of devices won’t join the network, a lot of them are ‘legacy’.

You might need to reset the lamps in order to make them join the network.

As for the ONOFF, it might be the case that you have a device that exposes two end points, one for each switch. If that’s the case, the ZigBee module should create two peers, one for each end point.
As I didn’t have available such a device (with multiple end points like that) to test, I cannot be sure that it works as expected.
Of course, I cannot be sure that is the case with your device, I would need a log with the device pairing to figure it out, with debug level turned to something like 7.

I changed to debug mode 7, and this a extract for my trial to pair with IKEA’s 1537-lamp:

05/02/20 13:12:01.309 Script Engine Server: Info: Client number 1 is calling RPC method: getPairingState
(Integer) 26
05/02/20 13:12:01.310 Script Engine Server: Response:
(Struct length=3)
{
[general] (Array length=1)
[
(Struct length=2)
{
[messageId] (String) l10n.zigbee.pairing.pairOnStart
[variables] (Array length=0)
[
]
}
]
[pairingModeEnabled] (Boolean) 0
[pairingModeEndTime] (Integer64) 1588417921
}
05/02/20 13:12:01.321 Script Engine Server: Info: Client number 1 is calling RPC method: scriptHeaders
(Struct length=5)
{
[Cache-Control] (Array length=1)
[
(String) max-age=0, must-revalidate, private
]
[Content-Type] (Array length=1)
[
(String) application/json
]
[Date] (Array length=1)
[
(String) Sat, 02 May 2020 11:12:01 GMT
]
[RESPONSE_CODE] (Integer) 200
[X-Powered-By] (Array length=1)
[
(String) PHP/7.4.4
]
}
05/02/20 13:12:01.321 Script Engine Server: Response:
(void)
05/02/20 13:12:01.323 Script Engine Server: Info: Client number 1 is calling RPC method: scriptOutput
(String) {“status”:“success”,“message”:“0”}
(Boolean) 0
05/02/20 13:12:01.323 Script Engine Server: Response:
(void)
05/02/20 13:12:01.328 Info: Script with id 54 finished with exit code 0
05/02/20 13:12:01.328 RPC Server (Port 2001): Debug: Connection to client number 104 closed.
05/02/20 13:12:01.328 RPC Server (Port 2001): Debug: Connection to client number 104 closed (1).
05/02/20 13:12:08.012 UPnP Server: Debug: Sending notify packets.
05/02/20 13:12:08.033 RPC Server (Port 2001): Info: Connection from ::ffff:192.168.1.32:64932 accepted. Client number: 105
05/02/20 13:12:08.034 RPC Server (Port 2001): Info: RPC server client id for client number 105 is: 91
05/02/20 13:12:08.035 RPC Server (Port 2001): Listening for incoming packets from client number 105.
05/02/20 13:12:08.035 RPC Server (Port 2001): Debug: Packet received: 474554202F6465736372697074696F6E2E786D6C20485454502F312E310D0A557365722D4167656E743A2050616E61736F6E6963204D494C20444C4E412043502055506E502F312E3020444C4E41444F432F312E35300D0A486F73743A203139322E3136382E312E33343A323030310D0A582D50414E41534F4E49432D526567697374726174696F6E3A204E546845574463344D4639545A584A705A584D410D0A582D50414E41534F4E49432D444D502D50726F66696C653A204D5045475F50535F50414C204A5045475F534D2050565F444956585F444956332050565F444956585F444956342050565F444956585F444956582050565F444956585F445835302050565F44524D5F444956585F444956332050565F44524D5F444956585F444956342050565F44524D5F444956585F444956582050565F44524D5F444956585F445835300D0A0D0A
05/02/20 13:12:08.058 RPC Server (Port 2001): Debug: Connection to client number 105 closed.
05/02/20 13:12:08.058 RPC Server (Port 2001): Debug: Connection to client number 105 closed (1).
05/02/20 13:12:08.254 RPC Server (Port 2001): Info: Connection from ::ffff:192.168.1.31:48038 accepted. Client number: 106
05/02/20 13:12:08.255 RPC Server (Port 2001): Info: RPC server client id for client number 106 is: 92
05/02/20 13:12:08.256 RPC Server (Port 2001): Listening for incoming packets from client number 106.
05/02/20 13:12:08.256 RPC Server (Port 2001): Debug: Packet received: 474554202F6465736372697074696F6E2E786D6C20485454502F312E310D0A4163636570743A202A2F2A0D0A486F73743A203139322E3136382E312E33343A323030310D0A557365722D4167656E743A2054776F6E6B792D4E4D432F382E322E3120284C696E757820332E342E363B2061726D763574656C2920444C4E41444F432F312E35300D0A436F6E6E656374696F6E3A20636C6F73650D0A0D0A
05/02/20 13:12:08.279 RPC Server (Port 2001): Debug: Connection to client number 106 closed.
05/02/20 13:12:08.279 RPC Server (Port 2001): Debug: Connection to client number 106 closed (1).
05/02/20 13:12:08.362 MQTT Client: Debug: MQTT packet received: D000
05/02/20 13:12:08.362 MQTT Client: Debug: Packet received: D000
05/02/20 13:12:08.362 MQTT Client: Debug: Received ping response.
05/02/20 13:12:08.646 IPC Server: Info: Client number 0 is calling RPC method: lifetick Parameters:
05/02/20 13:12:08.647 IPC Server: Response:
(Boolean) 1
05/02/20 13:12:13.952 Module Zigbee: Zigbee serial module “Serial1”: Info: Received packet FE19448100000A00BBB50101005900CCDFC3000005109F000000BBB51DC8
05/02/20 13:12:13.953 Module Zigbee: Zigbee serial module “Serial1”: Info: Received packet FE19448100000A00BBB50101005900CCDFC3000005109F000000BBB51DC8 is MT frame, type: AREQ subsys: AF cmd: 0x81 len: 25
05/02/20 13:12:13.953 Module Zigbee: Zigbee serial module “Serial1”: Info: Received AF incoming MSG notification: 0xFE19448100000A00BBB50101005900CCDFC3000005109F000000BBB51DC8 for src addr: 0xB5BB src endpoint: 0x1 cluster: 0xA
05/02/20 13:12:13.953 Module Zigbee: Zigbee serial module “Serial1”: Info: It’s a ZCL frame: 0x109F000000 for src addr: 0xB5BB src endpoint: 0x1 cluster: 0xA
05/02/20 13:12:13.953 Module Zigbee: Zigbee serial module “Serial1”: Info: ZCL frame type: Global command: read attr
05/02/20 13:12:13.953 05/02/20 13:12:13.953 Zigbee packet received by the central - Sender address: 0x0001B5BB
05/02/20 13:12:13.953 Module Zigbee: Entering packet received
05/02/20 13:12:13.953 Module Zigbee: getValuesFromPacket, packet type: 0xA00
05/02/20 13:12:13.953 Module Zigbee: Entering ParsePacketDynamic
05/02/20 13:12:23.856 RPC Server (Port 2001): Info: Connection from ::ffff:192.168.1.20:62631 accepted. Client number: 107
05/02/20 13:12:23.857 RPC Server (Port 2001): Info: RPC server client id for client number 107 is: 93
05/02/20 13:12:23.858 RPC Server (Port 2001): Listening for incoming packets from client number 107.
05/02/20 13:12:23.858 RPC Server (Port 2001): Debug: Packet received: 474554202F61646D696E2F696E76656E746F72792F6465766963657320485454502F312E310D0A486F73743A203139322E3136382E312E33343A323030310D0A557365722D4167656E743A204D6F7A696C6C612F352E30202857696E646F7773204E542031302E303B20574F5736343B2072763A36382E3029204765636B6F2F32303130303130312046697265666F782F36382E300D0A4163636570743A20746578742F68746D6C2C6170706C69636174696F6E2F7868746D6C2B786D6C2C6170706C69636174696F6E2F786D6C3B713D302E392C2A2F2A3B713D302E380D0A4163636570742D4C616E67756167653A2064652C656E2D55533B713D302E372C656E3B713D302E330D0A4163636570742D456E636F64696E673A20677A69702C206465666C6174650D0A526566657265723A20687474703A2F2F3139322E3136382E312E33343A323030312F61646D696E2F696E76656E746F72792F646576696365732F6164640D0A436F6E6E656374696F6E3A206B6565702D616C6976650D0A436F6F6B69653A2050485053455353494441444D494E3D61663937313866623465393131613663336365343731336539626139366539653B20696F3D323464594F4A4458687246674730302D414141440D0A557067726164652D496E7365637572652D52657175657374733A20310D0A0D0A
05/02/20 13:12:23.859 Web server (Port 2001): Client is requesting: /admin/inventory/devices (translated to /var/lib/homegear/www/rpc/admin/inventory/devices, method: GET)

Can you please have a look why I fail pairing it? I remember I read that IKEA uses a different/older ZIGBEE-version than XIAOMI.

Is it actually going into pairing mode?

I don’t see any packets that switch into network admin mode.

All I see here that might be relevant is an incoming packet that appears to be an ‘attr read’ request (which is quite odd). Looks as being for ‘time’ cluster. homegear won’t reply for such request (yet, now that I’m seeing that I might consider implementing it).

Anyway, that packet, if it’s incoming from the device you are trying to add, shows that’s already in the ZigBee network, just it’s not paired into homegear. The way of solving this is to reset the device and pair it again.

Hey,

mal ne generelle Frage.

hab aktuell noch Zigbee2mqtt am laufen aber da es bei mir nicht sauber funktioniert würde ich gern auf den internen Zigbee von homegear switchen.

Frage Zigbee2mqtt erstmal deinstallieren und wenn ja wie?

Doku ist ja schon online. Muss man was anderes beachten?

Falls es sinnvoller wäre einen eigenen Thread zu machen sagt Bescheid! Dachte nur mit das es nicht hunderte threads mit „Ersten Erfahrungen“ gibt.

Gruß
Der Doc

Brauchst nur den Dienst auszumachen, damit dein „Device“ frei wird.
Steht glaube in der Installationsdoku, da wo auch das Einrichten als Dienst beschrieben ist. :+1:t2:

8 posts were split to a new topic: CC2531 USB-Stick mit Homegear

Hallo Zusammen,
ich habe jetzt einen Zigbee Gateway mit einem CC2531 am Laufen und testweise eine Osram Schaltsteckdose (Typ “bbaaPlug 013”) und eine HUE Color Bulb (Typ: “100bLCT001b”) damit verknüpft. Die Steckdose lässt sich wunderbar schalten. Die Lampe kann ich jedoch nicht ansteuern - sicher da auch die entsprechende XML fehlt (es gibt nur …7b.xml und …15b.xml).
Außerdem steht in der Admin-UI seit einer Woche für beide Geräte: “Konfigurationsdaten stehen zur Übertragung an”.
Könnte mir jemand einen Tipp geben, wie ich die HUE ansteuern kann und wie die Konfigurationsdaten zu den Geräten kommen?
Gibt es eine Quelle für neue XML-Definitionen von Zigbee-Geräten, die ich dann einfach in den Ordner kopieren kann?
Vielen Dank! :+1:
VG Carsten

Hi,

This is not a very big problem, it is expected especially for battery devices.
If you don’t like this, you could try unpairing the device and pairing it again. The flag remains set if the device does not reply to some query. Not all of them behave well, whence the ‘config pending’. Especially the battery devices can go to sleep before having a chance to query/config them entirely.

There should be some channels exposed that allow changing values, but it’s probably not straightforward. It probably exposes the same functionality as other Philips Hue light bulbs so I’ll simply make a file for ‘1b’ as well. In a couple of days it should be available in nightly. Please let me know if it works.

Sincerely,
Adrian Roman

1 Like

Hi @Adrian,
Thanks for your quick response! As for the Hue bulb I already tried to create a new file 100bLCT001b.xml (based on …7b.xml) but I miss attributes for color, color temperature or brightness. If I have a look at Homegear CLI and perform a “print config” for my HUE, I only get some uninteresting attributes:

MASTER
{
Channel: 0
{
[ROUTER]: 01
[MAINS_POWERED]: 01
[END_POINT]: 0b 00
[SHORT_ADDR]: 06 f8
[LISTENING]: 01
}
}

VALUES
{
Channel: 0
{
[UNREACH]: 00
[STICKY_UNREACH]: 00
[CONFIG_PENDING]: 01
[LAST_PACKET_RECEIVED]: 00
}
}

Nothing usable to control my bulb like I it was possible with zigbee2mqtt.

Thanks for your help and support!
Kind regards,
Carsten

Ok, in that case it looks like the querying stopped for some reason way too early. Please try to unpair and pair again the light bulb.
I already committed an xml file for 1b, so it should be available soon.

Hey cnowden,

Ich hab auch den CC2531 am laufen. Das pairing mit dem osram Smart Plug going auch problemlos, nur hab ich seit dem keine Kommunikation mehr. Weder kann ich was steuern noch bekomme ich Signale wenn ich den Schalter Manuel schalte.

Ein paar Fragen zum Aufbau bei dir:

  1. CC2531 über usb angeschlossen und wenn ja auch noch andere Schnittstellen sticks?
  2. kannst du mir dein zigbee. Conf Datei vielleicht schicken?
  3. ist die Grüne LED auf dem Stick bei dir dauerhaft an?
  4. die Firmware des sticks

Das wäre sehr interessant zu wissen.

Danke
Der Doc

Hi Doc,
zu 1.)
Ich habe einen Homegear Gateway auf einem RPI Zero eingerichtet und daran den CC2531 über USB angeschlossen. Im Admin UI habe ich dann den Gateway eingebunden und danach die Geräte eingerichtet.

zu 2.)
In der zigbee.conf auf meinem RPI 3b - die Homegear Zentrale - ist alles bis auf linkKeyExchange = “no” auskommentiert, da die Config über die Admin UI stattgefunden hat. Es hätte aber auch funktioniert, wenn ich dort den homegear-gateway entsprechend konfiguriert hätte. In einer früheren Testphase war das auch schon mal so.

zu 3.)
Die grüne LED ist nicht ständig an wie bei meiner zigbee2mqtt Instanz (an der Zentrale steckt ebenfalls ein CC2531, der allerdings nur für Z2M da ist), sondern leuchtet nur beim Start des Dienstes - glaube ich.

Der Gateway ist im Grunde genommen eine Spielwiese für mich, da ich meine bestehende Z2M Infrastruktur mit zahlreichen Lampen, Steckdosen und Rollos nicht gefährden wollte. Im Endausbau sollte natürlich der CC2531 in der Zentrale genutzt und damit Z2M abgelöst werden.

VG von,
Carsten

Hey,

hatte auch Z2M im Einsatz und war aber irgendwie nicht richtig zufrieden. War auch mehr erstes Projekt am pi und eventuell ist dabei einiges nicht ganz gut gelaufen. Nun hab ich viel auf Enocean umgebaut.

Nachdem homegear nun zigbee selbst Unterstützt wollte ich mal sehen Ob ich wieder warm werde mit zigbee. Ist ja preislich eigentlich unschlagbar.

Aber bei mir will es nicht. Die led geht nach 30s etwa aus. Danach kann ich zwar munter pairen aber es besteht keine Kommunikation zu den gepairten Modulen. Homegear selbst behauptet aber immer noch in der Admin Ui das die Verbindung besteht.

Wenn du noch ne Idee hast was man machen/ testen kann immer her damit

Kannst du mir noch deine Firmware auf dem Stick nennen? Vielleicht hängt es ja damit zusammen.

Hi @Adrian,
even with updating to the latest nightly and re-pairing the Hue bulb I get the same results when I print the config in Homegear CLI.

Another problem is, that the new XML was not avaible after installation of the latest nightly. This has maybe something to do with my homegear installation on my RPI 3b and has happened also before. After some install/uninstall orgy of the zigbee module via homegear nigthly installation tool, the folder /etc/homegear/devices/26 was empty and I didn’t get it filled regardless how many times I tried to re-install zigbee module… :confused:
I had to install homegear with the zigbee module on my RPI Zero and to copy all XML files to the corresponding folder of my RPI 3b.
If you have a clue what caused this I would be very happy! Else: :wink: Can you send me the XML or just give me a GIT link where I can download it? Thank you!
Regards,
Carsten

Hi @dr_snuggles,
ich habe aus dem ZIP CC2531_DEFAULT_20190608.zip das File CC2531ZNP-Prod.hex auf den CC2531 geflasht.
Was passiert denn, wenn Du die Steckdose per MQTT ansprichst? Ich nutze dafür MQTT.fx.
Hier ein Beispiel aus meiner Konfiguration:
stateTopic=“homegear/1/plain/40/1/ONOFF”
commandTopic=“homegear/1/set/40/1/ONOFF” mit Payload true oder false (alles andere geht nicht)

PS: Noch was: Wird Dir in der Homegear CLI die komplette Config angezeigt? Die sieht bei mir so aus:

MASTER
{
        Channel: 0
        {
                [ROUTER]: 01
                [MAINS_POWERED]: 01
                [END_POINT]: 03 00
                [SHORT_ADDR]: 60 f4
                [LISTENING]: 01
        }
}

VALUES
{
        Channel: 1
        {
                [ONOFF]: 01
                [ACTIVEPOWER]: 00
        }
        Channel: 0
        {
                [UNREACH]: 00
                [STICKY_UNREACH]: 00
                [CONFIG_PENDING]: 01
                [LAST_PACKET_RECEIVED]: 00
        }
}

VG von,
Carsten

Let’s stick to english guys, so that Adrian could easier follow allong.

From which directory did you took CC2531_DEFAULT_20190608.zip, @cnowden. It looks like coordinator 1.2.

@Adrian: Did you do some tests with 1.2 or mainly with 3.0.x?

Hi @pmayer,
yes you’re right! Coordinator stack 3.0 seemed too unstable for me when I followed the corresponding discussion thread there. So I decided to use stack 1.2 from 8.6.2019.
But if necessary I can easily switch to stack 3.0 as I have a separated “test environment” with my homegear gateway. :grin:
Regards,
Carsten

AFAIK @Adrian developed against 3.x - but not sure about this.

I only did a small test with 3.x together with homegear and did not have any problems. But only one xiaomi aquara sensor connected…

Only 3.x. 1.2 is rather old and it does not support a lot of things. Maybe that’s why querying the device didn’t work.