eclipse-paho / eclipse-paho/paho.mqtt.python

Since version 2.0 calling client.reinitialise() raise RuntimeError: Unsupported callback API version

Open
#824 1 comment 0 reactions 0 assignees View on GitHub
Status: Available Type: Bug
Dominant language
Python
Stars
2.4k
Forks
742
Avg merge
12d 48m
Merged PRs (30d)
1

Description

# Bug Description

Since version 2.0, as argument "callback_api_version" is require, calling client.reinitialise() raise RuntimeError: Unsupported callback API version because this method do not provide it

current code:
```python
def reinitialise(
self,
client_id: str = "",
clean_session: bool = True,
userdata: Any = None,
) -> None:
self._reset_sockets()

self.__init__(client_id, clean_session, userdata) # type: ignore[misc]
```
I suppose this could be changed to
```python
self.__init__(self._callback_api_version, client_id, clean_session, userdata) # type: ignore[misc]
```

# Reproduction

Simply init a client then call `reinitialise()`

```python
mqtt_client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
mqtt_client.username_pw_set(username="user", password="pass")
mqtt_client.connect(...)
mqtt_client.loop_start()

...

mqtt_client.reinitialise()
```

# Environment

* Python version:
* Library version:
* Operating system (including version):
* MQTT server (name, version, configuration, hosting details):

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.