Excuse me that i am a Python beginner. I would like to develop a C# lib for this sensor using XMPP protocol. I am looking for any documentation about the Bosch XMPP protocol and how to setup the communication. This is how I found your github page.
I have installed latest Python for Windows, and downloaded your source.
I try to scan for my CT200 sensor from your Python command line tool, but no success so far.
The sensor is reachable via internet, via the installed Android app EasyControl (v4.4.1). The sensor's firmware: 04.02.01
This is what i tried, and failed, see below.
(sensitive info replaced by ??? marks)
May I have some help how to fix this, maybe i did not setup the Python environment properly? Besides, are you aware of any documentation for help so i can proceed with C# implementation? But I guess your lib will be a good starting point, i just need to get more familiar with Python, which is also useful anyway :)
Thanks very much! :)
\\bosch_thermostat_client>python bosch_cli.py scan --host ??????? --token ??????? --password "???????????" --protocol XMPP --device EASYCONTROL -d -i
2023-08-09 09:52:37 INFO (MainThread) [__main__] Debug mode active
2023-08-09 09:52:37 INFO (MainThread) [__main__] Running scan
2023-08-09 09:52:37 INFO (MainThread) [__main__] Successfully connected to gateway. Found UUID: None
2023-08-09 09:52:37 ERROR (MainThread) [aioxmpp.node.PresenceManagedClient] main failed
Traceback (most recent call last):
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 837, in _on_main_done
task.result()
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 1005, in _main
await self._main_impl()
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 951, in _main_impl
tls_transport, xmlstream, features = await connect_xmlstream(
^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 390, in connect_xmlstream
result = await _try_options(
^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 241, in _try_options
transport, xmlstream, features = await conn.connect(
^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioxmpp\connector.py", line 195, in connect
transport, _ = await ssl_transport.create_starttls_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioopenssl\__init__.py", line 894, in create_starttls_connection
transport = STARTTLSTransport(loop, sock, protocol,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioopenssl\__init__.py", line 214, in __init__
self._initiate_raw()
\\Python\Python311\Lib\site-packages\aioopenssl\__init__.py", line 316, in _initiate_raw
self._loop.add_reader(self._raw_fd, self._read_ready)
\\Python\Python311\Lib\asyncio\events.py", line 530, in add_reader
raise NotImplementedError
NotImplementedError
Traceback (most recent call last):
File "C:\Users\Bükki András\Downloads\bosch-thermostat-client-0.23.2.tar\bosch-thermostat-client-0.23.2\bosch_thermostat_client\bosch_cli.py", line 425, in <module>
asyncio.get_event_loop().run_until_complete(cli())
^^^^^
\\Python\Python311\Lib\site-packages\click\core.py", line 1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\click\core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\click\decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bükki András\Downloads\bosch-thermostat-client-0.23.2.tar\bosch-thermostat-client-0.23.2\bosch_thermostat_client\bosch_cli.py", line 103, in wrapper
return asyncio.run(f(*args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\asyncio\base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:\Users\Bükki András\Downloads\bosch-thermostat-client-0.23.2.tar\bosch-thermostat-client-0.23.2\bosch_thermostat_client\bosch_cli.py", line 271, in scan
await _scan(gateway, smallscan, output, stdout)
File "C:\Users\Bükki András\Downloads\bosch-thermostat-client-0.23.2.tar\bosch-thermostat-client-0.23.2\bosch_thermostat_client\bosch_cli.py", line 66, in _scan
result = await gateway.rawscan()
^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\bosch_thermostat_client\gateway\base.py", line 296, in rawscan
single_scan = await deep_into(root, [], self._connector.get)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\bosch_thermostat_client\helper.py", line 98, in deep_into
resp = await get(url)
^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\bosch_thermostat_client\connectors\xmpp.py", line 94, in get
data = await self._request(method=GET, path=path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\bosch_thermostat_client\connectors\xmpp.py", line 124, in _request
await self.start()
\\Python\Python311\Lib\site-packages\bosch_thermostat_client\connectors\xmpp.py", line 113, in start
self._xmppstream = await self._st.enter_async_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\contextlib.py", line 638, in enter_async_context
result = await _enter(cm)
^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 1660, in __aenter__
await conn_future
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 837, in _on_main_done
task.result()
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 1005, in _main
await self._main_impl()
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 951, in _main_impl
tls_transport, xmlstream, features = await connect_xmlstream(
^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 390, in connect_xmlstream
result = await _try_options(
^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioxmpp\node.py", line 241, in _try_options
transport, xmlstream, features = await conn.connect(
^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioxmpp\connector.py", line 195, in connect
transport, _ = await ssl_transport.create_starttls_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioopenssl\__init__.py", line 894, in create_starttls_connection
transport = STARTTLSTransport(loop, sock, protocol,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\\Python\Python311\Lib\site-packages\aioopenssl\__init__.py", line 214, in __init__
self._initiate_raw()
\\Python\Python311\Lib\site-packages\aioopenssl\__init__.py", line 316, in _initiate_raw
self._loop.add_reader(self._raw_fd, self._read_ready)
\\Python\Python311\Lib\asyncio\events.py", line 530, in add_reader
raise NotImplementedError
NotImplementedError
2023-08-09 09:52:37 ERROR (MainThread) [asyncio] Future exception was never retrieved
future: <Future finished exception=ConnectionError('stream shut down')>
ConnectionError: stream shut down
C:\Users\Bükki András\Downloads\bosch-thermostat-client-0.23.2.tar\bosch-thermostat-client-0.23.2\bosch_thermostat_client>
hi, sorry. I missed this issue somehow...
Try to install everything in WSL, then inside WSL install this lib.
You're missing the newest OpenSSL library.
Hi!
Excuse me that i am a Python beginner. I would like to develop a C# lib for this sensor using XMPP protocol. I am looking for any documentation about the Bosch XMPP protocol and how to setup the communication. This is how I found your github page. I have installed latest Python for Windows, and downloaded your source. I try to scan for my CT200 sensor from your Python command line tool, but no success so far. The sensor is reachable via internet, via the installed Android app EasyControl (v4.4.1). The sensor's firmware: 04.02.01
This is what i tried, and failed, see below. (sensitive info replaced by ??? marks)
May I have some help how to fix this, maybe i did not setup the Python environment properly? Besides, are you aware of any documentation for help so i can proceed with C# implementation? But I guess your lib will be a good starting point, i just need to get more familiar with Python, which is also useful anyway :)
Thanks very much! :)