I’m new customer about Digi Xbee3 product in the forum. Thank you for that.
I’m curently design a RF network based on Xbee3 ZigBee, ethernet gate way and a dashboard server.
I have read a lot of Digi manual and reference, but i need help to retrieve data from node to a server.
RCI protocol etc …
I’m working with a Digi xbee3 mesh kit (3 modules), one gateway (ref [X2E-Z3C-E1-W]).
I often design on NODE-RED server with another passed project, and a need to make my own tests about communication from/to RF network.
I understant that the best option to manage and store data is Digi Remote manager, but i need to use node-red for now.
My problem is that i don’t know from where to begin ;
From a xbee3 module, i can send the simple broadcast radio message “hello world” and see it in the Gateway python log.
Under Device Cloud Conf, i’ve put “other”, URL : , and Port
I see in node-red one active connection in a TCP node connection is listening to that port.
But i have this error and never payload in Node-Red :
Dec 27 20:38:20 local7.info pylog: 2023-12-27 21:38:20,434 INFO xbgw.reporting.device_cloud: Uploading data to DataPoint/upload.csv
Dec 27 20:38:20 local7.info pylog: 2023-12-27 21:38:20,471 DEBUG xbgw.reporting.device_cloud: stream_id: xbee.serialIn/[00:13:A2:00:42:01:07:B7]!
Dec 27 20:38:20 local7.info pylog: 2023-12-27 21:38:20,481 DEBUG xbgw.reporting.device_cloud: data: ('xbee.serialIn/[00:13:A2:00:42:01:07:B7]!', 'Hello World!', {})
Dec 27 20:38:20 local7.info pylog: 2023-12-27 21:38:20,521 INFO xbgw.reporting.device_cloud: Upload contains 1 datapoints
Dec 27 20:38:23 local7.info pylog: 2023-12-27 21:38:23,536 WARNING xbgw.reporting.device_cloud: Unexpected Device Cloud error, data lost:
Focusing at this last line, i understand the gateway try to send xml datapoint to my server, but i receive nothing.
What is exactly the method employed by gateway to upload automaticaly zigbee data to a server like Remote Manager ?
HTTP request ? websocket ? TLS layer ?
… to a HTTP node in node red with the same port an
That is not functioning because gateway forces TLS encrypted connection. But even if i put my own certificate in this server, there is nothing happens.
Here is, a part of my xbee gateway digi.log :
Dec 31 01:09:44 daemon.warning stunnel: LOG4[0]: CERT: Pre-verification error: self signed certificate
Dec 31 01:09:44 daemon.warning stunnel: LOG4[0]: Rejected by CERT at depth=0: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=test.myvnc.com
Dec 31 01:09:44 daemon.err stunnel: LOG3[0]: SSL_connect: ssl/statem/statem_clnt.c:1921: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Dec 31 01:09:44 daemon.notice stunnel: LOG5[0]: Connection reset: 0 byte(s) sent to TLS, 0 byte(s) sent to socket
Dec 31 01:09:44 local5.notice idigid[726]: Error 104 on TCP socket read.
Dec 31 01:09:44 local5.err idigid[726]: Connection attempt failed -509
Dec 31 01:09:44 local5.info idigid[726]: e_dp_app_notify E_DP_STAT_CONN_FAIL_TCP (7)
Dec 31 01:09:44 local5.info idigid[726]: e_dp_app_notify E_DP_STAT_VERSION_ERROR (30)
Dec 31 01:09:44 local5.info idigid[726]: e_dp_app_notify E_DP_STAT_CONN_FAIL_TCP (7)
I want to try this below, python is not my cup of tea
This Digi doc (Option 1) explain how to add this code with a copy of certificate in gateway.
Or, in option 2, disable SSL…
One thing at a time, first:
What you call “my customer wants to have a ZigBee and server network entirely localy” in my understanding is not entirely localy. I believe that when using the gateway and Digi remote manager, you would be exporting the data to your local server, but it would not be running 100% locally. In other words, you would be using two servers, DIGI’s and your local copy, which would mirror the DRM data collected by the Gateway.
What do you call “i need to talk directly between Xbee gateway and nodeJS server.” I understood from this sentence that you would like not to use the online platform “Digi Remote Manger”. Did I understand correctly?
Ok so, what i must to understand ? This file is useless ?
Originaly, i want to know how can i send/receive direcly data from/to xbgw and server without Digi Remote Manager.
I understand this technic is Digi business, i’m agree with that. But in my case, i have a demand for totaly local network, and one other inside forest for adventure gaming, without any internet connection.
Really that is dependent on what you are working with or what protocol the device use. For example, if you can use the Modbus protocol, you can use the Industrial Automation function in the XBee Gateway’s firmware to create a connection from your internal server and the remote XBee modules. If you are not, then you may want to use Real port to make that connection. If that is not desired, then you would need to create a custom Python script that makes the connection between the XBee/remote device and the desired server.
For now, i succeeded my own python application on my X2E gateway and micropython on xbee3 modules.
I will share code because i think it can help anybody in my case.