Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Teltonika RUTX50 per MQTT in den ioBroker

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Teltonika RUTX50 per MQTT in den ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      DasMoritz last edited by

      Moin,

      ich wäre für Support sehr dankbar.

      Ich habe in einem Ferienhaus einen Teltonika RUTX50 Router stehen. Dieser soll per MQTT seine Daten an meinen ioBroker (MQTT Broker) senden. Leider funktioniert dies nicht und ich erkenne in den Logs nicht woran es liegen kann.

      IP Adresse des ioBrokers und Port für MQTT: 192.168.178.164:1883
      IP Adresse des RUTX50: 192.168.198.1

      Die Geräte sind aus den jeweils anderen Netzen so erreichbar, stabil, alles fein. Die VPN Lösung ist per Wireguard erfolgt und läuft stabil. Ich kann auch per PING Adapter den RUTX50 aus dem ioBroker heraus anpingen, gleiches über die CLI vom RUTX50 zurück in Richtung ioBroker. Die Firewallregel lässt auf der VPN / Wireguard Strecke alles zu (Accept / Accept).

      Hier mal ein paar Screenshots:

      1.) Konfiguration auf dem RUTX50:
      e23941e9-7950-4074-b21c-ee7cc0cfc928-image.png

      2.) Angepasste mqtt config Datei unter /etc/config/mqtt:

      config broker 'mqtt_broker'
          option enabled '1'
          option hostname '192.168.178.164'
          option port '1883'
          option client_id 'rutx50_telemetry'
          option username ''
          option password ''
          option keepalive '60'
      
      config topic 'system_status'
          option enabled '1'
          option topic 'rutx50/system_status'
          option qos '0'
          option retain '0'
          option message '{ "uptime": "$uptime", "load": "$load", "memory": "$memory", "temp": "$temperature" }'
          option interval '30'
      
      config topic 'network_status'
          option enabled '1'
          option topic 'rutx50/network_status'
          option qos '0'
          option retain '0'
          option message '{ "wan_ip": "$wan_ip", "lan_ip": "$lan_ip", "signal_strength": "$signal_strength", "data_usage": "$data_usage" }'
          option interval '30'
      
      config topic 'device_info'
          option enabled '1'
          option topic 'rutx50/device_info'
          option qos '0'
          option retain '0'
          option message '{ "device_model": "$model", "firmware_version": "$firmware", "serial_number": "$serial" }'
          option interval '300'
      
      

      3.) Screenshot aus dem MQTT Adapter vom ioBroker:
      745d18c4-ef81-4bc6-8860-042f533aa15f-image.png

      Das Verzeichnis und den DP habe ich nicht selbst angelegt, also irgendwas kam wohl mal wann, aber nicht vollständig.

      4.) Der MQTT Service auf dem RUTX50 scheint auch sauber zu laufen:
      2d0626ec-1095-4234-bb33-81cd7f8bee63-image.png

      Diverse Neustarts des Routers sind erfolgt, des Adapters im ioBroker ebenso.

      Hat jemand eine Idee?

      Danke,
      Moritz

      1 Reply Last reply Reply Quote 0
      • Marc Berg
        Marc Berg Most Active last edited by Marc Berg

        @dasmoritz sagte in Teltonika RUTX50 per MQTT in den ioBroker:

        Hat jemand eine Idee?

        Wenn ich die Doku korrekt interpretiere, muss zunächst ein Topic "router/get" angelegt und mit dem Inhalt "id" gefüllt werden. Daraufhin published der Router Informationen unter "router/<seriennummer>". Dann müssten neue Übertragungen über "router/<seriennummer>/command" getriggert werden.

        Über direkte Anpassungen an den Router-Konfig-Dateien kann ich in der Doku nichts finden. Wo hast du das her?

        "When a third-party client connects to the Broker, it sends the message id to the the topic <TYPE>/get. The publisher then sends a response containing its serial number to the topic <TYPE>/id. Now that the Client knows the router's or device's serial number it can ask for values of various parameters by sending requests to the topic <TYPE>/<SERIAL>/parameter_name."


        f10df145-7257-4486-ab82-c9b5d48c557d-image.png

        D 1 Reply Last reply Reply Quote 0
        • D
          DasMoritz @Marc Berg last edited by DasMoritz

          @marc-berg

          Danke dir!
          Ich denke ich bin deutlich weiter gekommen, ich weiß nur noch nicht wie ich das periodisch abfragen kann bzw. wie gepublished wird. Aber erstmal zu den Schritten.

          1.) Im RUTX50 Router habe ich gerade eben unter Topic "Publish Prefix Topic" den Wert RUTX50 eingetragen. Kurz darauf war im ioBroker sofort folgender Eintrag. Ähnliches war ja schon in meinem Initialpost. --> Check!

          c5490ced-adaf-45f1-a9cc-6dac35ee98e2-image.png

          2.) Den Wert des Topics RUTX50/get habe ich dann auf "id" gestellt (vorher "null"). --> Check!
          a411e67e-65f1-47f5-bc73-384db1e8e16b-image.png

          3.) Dann wird im gleichen Baum ein Ordner "router" angelegt, darin befindet sich dann der Datenpunkt id mit der Seriennummer. --> Check!

          6baae1a7-e6bb-4479-80fa-bcc5f81ba567-image.png

          4.) Nun muss man "nur noch" im Datenpunkt aus 1.) die jeweiligen Parameter eintragen, die man gerne erhalten möchte. Beispiel also "temperature", "uptime", "wan" im Anschluss wird dann in dem unter 3.) angelegten Order "router" ein neuer Ordner mit der Seriennummer des Routers aufgebaut und inkl. dem Datenpunkt "temperature" darin steht dann die Temperatur.

          8d7eb99a-139b-47a6-919c-cdcd506a9cff-image.png

          d78a82a5-44fd-40a0-83b9-7fb1392d29d3-image.png

          5.) Nun zum noch bestehenden Problem:
          Der soll ja eigentlich regelmäßig "publishen". Beispiel: Die Uptime müsste sich ja sekündlich verändern. Ich möchte natürlich nicht sekündlich einen neuen Wert der Uptime haben, aber alle 300 Sekunden oder so würde ich die Daten gerne abfragen. Wie geht das?

          Wenn ich in das Topic "RUTX50" wie in Schritt 4 nun einfach nochmal "uptime" eingebe und bestätige, dann holt er sich die neue Uptime (vgl. Screenshot in 4. zu diesem hier):

          afb70dd4-2974-4d7b-92a2-a4f1ec3b7642-image.png

          Genau das hätte ich aber gerne automatisiert 🙂

          Okay, es gibt die Funktion "Data to Server", die macht mich aber gerade völlig verrückt.... Sofern möglich würde ich das gerne über den ioBroker periodisch abfragen und auf dem RUTX50 möglichst wenig machen. Das wirkt zum Teil alles etwas "unausgereift".

          Danke,
          Moritz

          Marc Berg 1 Reply Last reply Reply Quote 0
          • Marc Berg
            Marc Berg Most Active @DasMoritz last edited by

            @dasmoritz sagte in Teltonika RUTX50 per MQTT in den ioBroker:

            Genau das hätte ich aber gerne automatisiert

            Wenn du in das Topic

            router/<seriennummer>/command
            

            jeweils den zu ermittelnden Wert (z.B uptime) eingibst, wird der Wert published. Das Gleiche erhältst du (wie du schon getestet hast) auch über das Topic

            RUTX50/get
            

            nur dass dann an ALLE Router dieses Typs published wird. Spielt bei dir natürlich keine große Rolle, wenn du nur einen hast.

            Automatisieren kannst du das mit Blockly, Node Red oder JavaScript.


            edf5dd49-fbb7-4ee4-91ee-52eb2c312b89-grafik.png

            Hilfe dazu bekommst du in den jeweiligen Unterforen.

            https://forum.iobroker.net/category/94/blockly
            https://forum.iobroker.net/category/96/node-red
            https://forum.iobroker.net/category/93/javascript

            D 1 Reply Last reply Reply Quote 0
            • D
              DasMoritz @Marc Berg last edited by

              @marc-berg

              Vielen Dank! Auf Blockly bin ich gar nicht gekommen. Ich schreibe nun einfach alle 60m in den Get-Datenpunkt erst "signal" und kurz danach "temperature", fertig. Es kann so einfach sein.

              Danke dir für deine Unterstützung!

              Moritz

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              892
              Online

              31.6k
              Users

              79.6k
              Topics

              1.3m
              Posts

              2
              5
              228
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo