Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HELP]Configure Virtual Bacnet device with Thingsboard BACnet Connector #1596

Closed
sanjayN4497 opened this issue Nov 13, 2024 · 3 comments
Closed
Assignees
Milestone

Comments

@sanjayN4497
Copy link

sanjayN4497 commented Nov 13, 2024

Issue-1:

I'm using python BAC0 based code to setup create virtual BACnet device, this code hosted on EC2 instance ubuntu instance. Also i tried with my windows machine.

Now in thingsboard i can see below logs only unable to see device and it's objects mentioned in json and error coming in tb_gateway.py file is as below:

site-packages\thingsboard_gateway\connectors\bacnet\bacnet_uplink_converter.py", line 53, in convert
count=len(dict_result["attributes"]))
~~~~~~~~~~~^^^^^^^^^^^^^^
TypeError: string indices must be integers, not 'str'

as well as logs in thingsboard connector are as below:

2024-11-13 13:20:21 DEBUG [tb_gateway_bacnet_application.py] - tb_gateway_bacnet_application __iam_cb - 164 - Received IAm Response: <bacpypes.apdu.ReadPropertyACK(12,1) instance at 0x29963b34050>
2024-11-13 13:20:21 DEBUG [tb_gateway_bacnet_application.py] - tb_gateway_bacnet_application indication - 73 - 65.0.198.181
2024-11-13 13:20:21 DEBUG [tb_gateway_bacnet_application.py] - tb_gateway_bacnet_application indication - 68 - Received IAmRequest from device with ID: 11111 and address xx.xx.xx.xx:47808
2024-11-13 13:20:21 DEBUG [tb_gateway_bacnet_application.py] - tb_gateway_bacnet_application indication - 73 - 65.0.198.181
2024-11-13 13:20:21 DEBUG [tb_gateway_bacnet_application.py] - tb_gateway_bacnet_application indication - 68 - Received IAmRequest from device with ID: 11111 and address xx.xx.xx.xx:47808
2024-11-13 13:20:21 DEBUG [bacnet_connector.py] - bacnet_connector scan_network - 227 - WhoIsRequest has been sent.
2024-11-13 13:20:21 DEBUG [bacnet_connector.py] - bacnet_connector run - 81 - WhoIsRequest has been sent.
2024-11-13 13:20:21 DEBUG [bacnet_connector.py] - bacnet_connector scan_network - 227 - WhoIsRequest has been sent.

also i tried with latest gatway version & 3.5.1 version but issue is remain same.

Issue-2
on amazon ec2 ubuntu unable to add private IP here

device1 = lite(ip='xx.xx.xx.xx/24', port = '47808', deviceId = '11111') # tried with connect also but same issue

BAC0.core.io.IOExceptions.InitializationError: Gros probleme : Error starting app: [Errno 99] Cannot assign requested address. Address requested :

Configuration (Attach your configuration file)
bacnet.txt
sample_device.txt

Connector name (If you need help with some connector/converter):
BACnet connector

Versions (please complete the following information):

  • OS: Ubuntu 20.04
  • Thingsboard IoT Gateway version latest , 3.5.1
  • Python version 3.12
@samson0v
Copy link
Contributor

samson0v commented Dec 3, 2024

Hi @sanjayN4497!
We are pleased to inform you that we added a new Async BACnet connector that used bacpypes3 (via PR #1607).
The old BACnet connector is now deprecated and can only be enabled manually.
Please, run the latest version of the gateway via the master branch and let us know about the results.

@sanjayN4497
Copy link
Author

Hi @samson0v ,

Thanks for update !!

Now I'm facing below error:

2024-12-04 19:50:49 - |ERROR| - [tb_logger.py] - tb_logger - exception - 161 - an error has occurred: 'str' object has no attribute 'get'
Traceback (most recent call last):
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\core.py", line 165, in run
fn(*args, **kwargs)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\udp.py", line 301, in _response
peer.response(pdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\udp.py", line 79, in response
self.director.response(pdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\comm.py", line 320, in response
self.serverPeer.confirmation(*args, **kwargs)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\bvllservice.py", line 41, in confirmation
self.multiplexer.confirmation(self, pdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\bvllservice.py", line 179, in confirmation
self.annexJ.response(PDU(pdu, source=src, destination=dest))
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\comm.py", line 320, in response
self.serverPeer.confirmation(*args, **kwargs)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\bvllservice.py", line 312, in confirmation
self.response(rpdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\comm.py", line 320, in response
self.serverPeer.confirmation(*args, **kwargs)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\bvllservice.py", line 402, in confirmation
self.response(xpdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\comm.py", line 320, in response
self.serverPeer.confirmation(*args, **kwargs)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\netservice.py", line 213, in confirmation
self.adapterSAP.process_npdu(self, npdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\netservice.py", line 573, in process_npdu
self.response(apdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\comm.py", line 320, in response
self.serverPeer.confirmation(*args, **kwargs)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\appservice.py", line 1258, in confirmation
tr.confirmation(apdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\appservice.py", line 410, in confirmation
self.await_confirmation(apdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\appservice.py", line 567, in await_confirmation
self.response(apdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\appservice.py", line 400, in response
self.ssmSAP.sap_response(apdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\comm.py", line 537, in sap_response
self.serviceElement.confirmation(*args,**kwargs)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\appservice.py", line 1561, in confirmation
self.sap_response(xpdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\comm.py", line 537, in sap_response
self.serviceElement.confirmation(*args,**kwargs)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\app.py", line 491, in confirmation
self._app_complete(apdu.pduSource, apdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\app.py", line 454, in _app_complete
queue.complete_io(queue.active_iocb, apdu)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\iocb.py", line 753, in complete_io
IOController.complete_io(self, iocb, msg)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\iocb.py", line 623, in complete_io
iocb.trigger()
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\bacpypes\iocb.py", line 172, in trigger
fn(self, *args, **kwargs)
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\thingsboard_gateway\connectors\bacnet\bacnet_utilities\tb_gateway_bacnet_application.py", line 167, in __iam_cb
value = self.__connector.default_converters["uplink_converter"]("{}", self._log).convert(None, apdu)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\sanjaynandaniya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\thingsboard_gateway\connectors\bacnet\bacnet_uplink_converter.py", line 39, in init
self.__device_report_strategy = ReportStrategyConfig(self.__config.get(REPORT_STRATEGY_PARAMETER))
^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'get'

@imbeacon
Copy link
Member

This issue closed, because relates to outdated implementation of connector, please try the latest version (3.6.2), and feel free to open a new issue if you discover some misbehaviour.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants