Willkommen im Loxone Community Forum. Um alle Funktionen nutzen und sehen zu können, registriere dich bitte zuerst. Dies gilt auch für das herunterladen von Dateien.
Bitte im Titel immer zuerst den Namen des Plugins hinschreiben
Plugin: Multi-IO Plugin - mehr als 512 Ein-/Ausgänge +Sensoren am LoxBerry
Ich habe eine neue Version des Plugins veröffentlicht: Version 0.9.2. Das wird (vermutlich) das letzte Alpha/Pre-Release werden. Das nächste Release sollte dann ein "Stable" werden.
Bin gerade über eine "echte" unschönheit gestolpert.
Löscht man im MQTT Gateway die gecachten Werte scheint sich das Plugin zu verschlucken.
Befehle zum Ändern eines Outputs werden dann nicht mehr abgearbeitet.
Man muss das Plugin danach neu starten.
Im mqttio.log sehe ich folgendes:
Code:
2024-04-04 18:03:18,578 mqtt_io.server (ERROR): Exception in critical task:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 32, in inner
await func(*args, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 94, in publish
await self._client.publish(
File "/usr/local/lib/python3.9/dist-packages/asyncio_mqtt/client.py", line 128, in publish
raise MqttCodeError(info.rc, 'Could not publish message')
asyncio_mqtt.error.MqttCodeError: [code:4] Could not publish message
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/mqtt_io/server.py", line 1218, in _main_loop
await asyncio.gather(*self.critical_tasks)
File "/usr/local/lib/python3.9/dist-packages/mqtt_io/server.py", line 1071, in _mqtt_keep_alive_loop
await self.mqtt.publish(MQTTMessageSend(
File "/usr/local/lib/python3.9/dist-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 34, in inner
raise MQTTException from exc
mqtt_io.mqtt.MQTTException
2024-04-04 18:03:18,586 mqtt_io.server (DEBUG): Clearing events and cancelling 'critical_tasks'
2024-04-04 18:03:18,588 mqtt_io.server (DEBUG): 'critical_tasks' cancelled and gathered
2024-04-04 18:03:18,588 mqtt_io.server (DEBUG): Waiting for MQTT reconnect delay (2 second(s))
2024-04-04 18:03:20,592 mqtt_io.server (INFO): Reconnecting to MQTT broker (infinite retries remaining)
2024-04-04 18:03:20,595 mqtt_io.server (INFO): Connecting to MQTT...
2024-04-04 18:03:20,603 mqtt_io.server (INFO): Connected to MQTT
2024-04-04 18:03:20,604 mqtt_io.server (DEBUG): Running MQTT task with priority 3:
2024-04-04 18:03:20,605 mqtt_io.server (DEBUG): Publishing MQTT message on topic 'multiio/status': 'running'
Die Werte der Inputs sind dann im MQTT Server auch nicht mehr zu finden.
Steuerbefehle werden nicht mehr angenommen.
Ist bei mir immer reproduzierbar.
Hab 3 Raspi Inputs und 4 Outputs konfiguriert. Also main stream System...
Mmhh, müsste Christian Fenzl mal etwas dazu sagen, was beim Cache löschen wirklich passiert. Eventuell Neustart des Mosquitto? Wenn wir das wissen, können wir im Projekt MQTTIO ein Issue aufmachen - wobei das Projekt leider ziemlich eingeschlafen ist... ABer der User BenjiU fixt manchmal noch vereinzelt Bugs oder winkt PullRequests durch.
Expose GPIO modules (Raspberry Pi, Beaglebone, PCF8754, PiFace2 etc.) and digital sensors (LM75 etc.) to an MQTT server for remote control and monitoring. - flyte/mqtt-io
Describe the bug When connection to the MQTT broker is lost for a short time, mqtt-io reconnects to the broker and is able to publish again. But the subscriptions to topics which were made when mqt...
Und das musste in der am 1.3. Releasten 230 behoben sein?
„Clear broker database“ beendet Mosquitto und löscht dessen Datenbank. Da müssen sich natürlich die Clients selbst kümmern, dass die Subscriptions wieder gesendet werden.
“Clear Cache (for testing)“ leert lediglich den LoxBerry-internen Cache der HTTP/UDP-Übertragungen zum Miniserver, da passiert sonst nichts (garnichts mit Mosquitto).
Prof.Mobilux das install script definiert leider keine Version, nur das mqtt-io installiert sein muss, und er upgraded es.
Also mal alibimäßig eine 0.9.3 bereitstellen damit er den neusten mqtt-io zieht?
Brauchst Du nicht machen - ich bau die Update-Möglichkeit da ein. Nur ein reines Versionsupgrade macht keinen wirklichen Sinn - da kann jemand mit dem Problem auch einfach "drüber" installieren mit dem gleichen Effekt. Wenn, dann gleich richtig ;-)
Du musst oben auf "Auf neue Updates prüfen" anklicken oder warten, bis die Routine per Cron anläuft. In der 0.9.2 gab's aber noch einen Bug - dort wird Dir das Release vom 1-Wire-NG-Plugin angezeigt. Ist erst ab 0.9.3 gefixt.
Describe the bug I couldn't start mqttio and I was getting the errors below. After finding that paho-mqtt 2.0 was installed and it was released only two days ago, I tried the previous paho-mqtt==1....
Ich erhalte folgende Fehlermeldung:
Code:
Exception ignored in:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/paho/mqtt/client.py", line 874, in __del__
self._reset_sockets()
File "/usr/local/lib/python3.11/dist-packages/paho/mqtt/client.py", line 1133, in _reset_sockets
self._sock_close()
File "/usr/local/lib/python3.11/dist-packages/paho/mqtt/client.py", line 1119, in _sock_close
if not self._sock:
^^^^^^^^^^
AttributeError: 'Client' object has no attribute '_sock'
2024-04-19 19:43:31,796 mqtt_io.server (ERROR): Exception in critical task:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/server.py", line 1380, in _main_loop
await self._connect_mqtt()
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/server.py", line 702, in _connect_mqtt
self.mqtt = AbstractMQTTClient.get_implementation(config["client_module"])(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 91, in __init__
self._client = Client(
^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/asyncio_mqtt/client.py", line 34, in __init__
self._client = mqtt.Client(client_id=client_id, protocol=protocol, clean_session=clean_session, transport=transport)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Client.__init__() missing 1 required positional argument: 'callback_api_version'
================================================== ==============================22.04.2024 20:24:10 TASK STARTED Starting MQTT IO... 20:24:10.925 INFO: LoxBerry Version 3.0.1.2 ( is_raspberry.cfg is_arch_aarch64.cfg is_hwmodel_raspberry_pi_3_3+_zero_2.cfg ) 20:24:10.925 INFO: MultiIO Version 1.0.2 20:24:10.925 INFO: Loglevel: 7 20:24:10.936 INFO: Starting MQTT IO... 2024-04-22 20:24:15,939 mqtt_io.__main__ (ERROR): MqttIo crashed!
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/__main__.py", line 107, in main
mqtt_gpio.run()
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/server.py", line 1450, in run
self._init_sensor_modules()
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/server.py", line 284, in _init_sensor_modules
self.sensor_modules[sens_config["name"]] = _init_module(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/server.py", line 125, in _init_module
module_config = validate_and_normalise_config(module_config, module_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/config/__init__.py", line 105, in validate_and_normalise_config
raise ConfigValidationFailed(
mqtt_io.exceptions.ConfigValidationFailed: Config did not validate:
max_amps:
- must be of float type
shunt_ohms:
- must be of float type
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/__main__.py", line 115, in
main()
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/__main__.py", line 107, in main
mqtt_gpio.run()
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/server.py", line 1450, in run
self._init_sensor_modules()
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/server.py", line 284, in _init_sensor_modules
self.sensor_modules[sens_config["name"]] = _init_module(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/server.py", line 125, in _init_module
module_config = validate_and_normalise_config(module_config, module_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/mqtt_io/config/__init__.py", line 105, in validate_and_normalise_config
raise ConfigValidationFailed(
mqtt_io.exceptions.ConfigValidationFailed: Config did not validate:
max_amps:
- must be of float type
shunt_ohms:
- must be of float type
Da passt vermutlich etwas mit der Konvertierung nicht. Kannst Du bitte eine Remote Support Verbindung mit Deinem LoxBerry herstellen und mit dann eine PN mit der URL und Deinen Zugangsdaten (brauche das LoxBerry Passwrot und das Root-Passwort) zusenden? Dann schaue ich mir das morgen Abend mal an.
Hallo Prof.Mobilux,
bin gerade am umstellen vom GPIO-Plugin auf Dein tolles MultiIO-Plugin und stelle mich dementsprechend auch wohl an. 🤨
Ich versuche gerade einen Befehl von Loxone zu senden, mit dem ich testweise ein GPIO 17 an und aus schalten kann. Funzt mit meinem Befehl leider nicht und ich habe noch kein Beispiel im Forum gefunden.
Der Name vom MQTT Topic ist noch immer "multiio".
Der GPIO-Name (Output) ist "GPIO-17"
Hostname ist "loxberry-4"
Virtueller "Befehl bei ein" in Loxone ist momentan: "publish loxberry-4/multiio/output/GPIO-17/set ON"
Schalten tut sich nur leider nichts. 🤔
In den MQTT-Gateway Subscriptions habe ich folgendes eingetragen: "multiio/#"
In der MQTT-Incoming Übersicht wird der Status des multiio als "running" angezeigt.
Loxberry hat die v3.0.1.1 multiio hat die v1.0.2
Hast Du einen Tipp für den Loxone Befehl?
Wir verarbeiten personenbezogene Daten über Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen, Werbung zu personalisieren und Websiteaktivitäten zu analysieren. Wir können bestimmte Informationen über unsere Nutzer mit unseren Werbe- und Analysepartnern teilen. Weitere Einzelheiten finden Sie in unserer Datenschutzrichtlinie.
Wenn Sie unten auf "Einverstanden" klicken, stimmen Sie unserer Datenschutzrichtlinie und unseren Datenverarbeitungs- und Cookie-Praktiken wie dort beschrieben zu. Sie erkennen außerdem an, dass dieses Forum möglicherweise außerhalb Ihres Landes gehostet wird und Sie der Erhebung, Speicherung und Verarbeitung Ihrer Daten in dem Land, in dem dieses Forum gehostet wird, zustimmen.
Kommentar