Plugin: Multi-IO Plugin - mehr als 512 Ein-/Ausgänge +Sensoren am LoxBerry

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Prof.Mobilux
    Supermoderator
    • 25.08.2015
    • 4764

    #16
    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.

    Download: https://wiki.loxberry.de/plugins/multi_io/start

    Folgende Änderungen in der aktuellen Version:
    • Add more sensors: ads1x15, aht20, bh1750, bme280, bme680, dht22, hcsr04 ina219
    • MQTT topic editable
    • Bugfix service restart after reboot
    • Bugfix installing MultiIO on architectures other than Raspberry
    • Bugfix installing mqtt-io
    • More Bugfixes...
    ​Viel Spaß!
    🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


    LoxBerry - Beyond the Limits

    Kommentar

    • bf3883
      Dumb Home'r
      • 21.12.2022
      • 10

      #17
      Hi.
      Beim Update auf Pre-Release kommt man auf https://github.com/mschlenstedt/LoxB...e-NG-2.0.5.zip

      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Bildschirmfoto 2024-01-02 um 21.26.29.png
Ansichten: 329
Größe: 44,2 KB
ID: 416940

      Kommentar


      • Prof.Mobilux
        Prof.Mobilux kommentierte
        Kommentar bearbeiten
        Ui, Danke. Copy Paste Fehler. Einfach manuell die korrekte URL des Release einfügen, bis ich das behoben habe.

      • bf3883
        bf3883 kommentierte
        Kommentar bearbeiten
        Habs mit der download Zip geupdatet.
        Plugin und Restart des Service funktionieren super.

        Danke
    • Janohmat
      Smart Home'r
      • 07.10.2023
      • 61

      #18
      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...
      Zuletzt geändert von Janohmat; 04.04.2024, 17:08.

      Kommentar

      • Prof.Mobilux
        Supermoderator
        • 25.08.2015
        • 4764

        #19
        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


        🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


        LoxBerry - Beyond the Limits

        Kommentar

        • Janohmat
          Smart Home'r
          • 07.10.2023
          • 61

          #20
          Für mich klingt es nach diesem fix?
          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?

          Kommentar

          • Christian Fenzl
            Lebende Foren Legende
            • 31.08.2015
            • 11238

            #21
            „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).

            lg, Christian
            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

            Kommentar

            • Janohmat
              Smart Home'r
              • 07.10.2023
              • 61

              #22
              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 6,6 KB ID: 428625
              ->
              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 6,9 KB ID: 428626
              solves the issue

              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?

              Kommentar


              • Janohmat
                Janohmat kommentierte
                Kommentar bearbeiten
                Zeit... Was ist das.
                Ich mach dir nachher im Zug mal nen PR auf eine 0.9.3 damit hat man es dann visible für alle als Update.

              • Prof.Mobilux
                Prof.Mobilux kommentierte
                Kommentar bearbeiten
                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 ;-)

              • Janohmat
                Janohmat kommentierte
                Kommentar bearbeiten
                👍🩷
            • Prof.Mobilux
              Supermoderator
              • 25.08.2015
              • 4764

              #23
              Hallo Leute,

              ich habe heute ein neues Release V1.0.0 veröffentlicht und damit das MultiIO auch in den Status "STABLE" gehoben: https://wiki.loxberry.de/plugins/multi_io/start

              Die Neuerungen in V1.0.0 sind (inkl. der Neuerungen des Pre-Release V0.9.2):
              • Add more sensors: adxl345
              • Add possibility to update MQTT-IO via WebUI
              • Bugfix: MQTT settings now savable
              • Add more sensors: ads1x15, aht20, bh1750, bme280, bme680, dht22, hcsr04 ina219 (from 0.9.2 PreRelease)
              • MQTT topic editable (from 0.9.2 PreRelease)
              • Bugfix service restart after reboot (from 0.9.2 PreRelease)
              • Bugfix installing MultiIO on architectures other than Raspberry (from 0.9.2 PreRelease)
              • Bugfix installing mqtt-io (from 0.9.2 PreRelease)
              • More Bugfixes... (from 0.9.2 PreRelease)
              ​Viel Spaß damit!
              🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


              LoxBerry - Beyond the Limits

              Kommentar

              • Janohmat
                Smart Home'r
                • 07.10.2023
                • 61

                #24
                Müsste er diese Version nicht automatisch zum Update vorschlagen? 🤔

                Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 158
Größe: 105,4 KB
ID: 428827

                Kommentar


                • Prof.Mobilux
                  Prof.Mobilux kommentierte
                  Kommentar bearbeiten
                  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.
              • Bronsco
                Azubi
                • 12.04.2024
                • 5

                #25
                Ich möchte auf ein Problem mit paho-mqtt 2.0 aufmerksam machen, was bei mir aktuell eine Verwendung von Multi-IO 1.0.1 verhindert:
                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'​​
                Das Problem tritt in diesem Zusammenhang auch mit dem inoffiziellen GPIO-Plugin 3.0.0 auf. Meinen Workaround habe ich hier beschrieben: https://www.loxforum.com/forum/proje...944#post429944

                Kommentar

                • Prof.Mobilux
                  Supermoderator
                  • 25.08.2015
                  • 4764

                  #26
                  Na toll…. Es müsste doch auch funktionieren, wenn man per pip die letzte Version < 2.0 installiert, oder?
                  🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                  LoxBerry - Beyond the Limits

                  Kommentar

                  • Prof.Mobilux
                    Supermoderator
                    • 25.08.2015
                    • 4764

                    #27
                    Der PAHO-MQTT Fehler ist im neuen Release 1.0.2 behoben! Es wird jetzt eine Version < 2.0 aus dem Debian Repository installiert.
                    🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                    LoxBerry - Beyond the Limits

                    Kommentar

                    • staubi
                      Azubi
                      • 14.01.2024
                      • 5

                      #28
                      Hi,


                      ich versuche gerade einen ina219 einzubinden.
                      Allerdings bekomme die Fehlermeldung, dass

                      max_amps:
                      - must be of float type
                      shunt_ohms:
                      - must be of float type


                      Allerdings sind sind die Zahlen aus meiner Sicht typ Float:
                      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Screenshot 2024-04-22 202402.png
Ansichten: 125
Größe: 38,3 KB
ID: 430310


                      Log Viewer - /plugins/multiio/20240422_202410_546_MQTTIO.log


                      ================================================== ============================== 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





                      Kommentar

                      • Prof.Mobilux
                        Supermoderator
                        • 25.08.2015
                        • 4764

                        #29
                        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.
                        🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                        LoxBerry - Beyond the Limits

                        Kommentar

                        • Hesch@
                          Extension Master
                          • 31.08.2015
                          • 194

                          #30
                          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"

                          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: GPIO-17.jpg
Ansichten: 180
Größe: 33,3 KB
ID: 430745

                          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?

                          VG Hesch@

                          Kommentar

                          Lädt...