Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. openDTU per MQTT auslesen und steuern

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    openDTU per MQTT auslesen und steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Laser @mickym last edited by Laser

      @mickym Danke, da ich den Inverter über Nacht brauche, werde ich erst mal mit dem openDTU-Adapter weitersteuern. Der funktioniert aber nicht zuverlässig. Deshalb will ich versuchen, den Sollwert über mqtt zu senden.

      Der cmd Ast ist an der falschen Position? Muß ich korrigieren.

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Laser last edited by mickym

        @laser sagte in openDTU per MQTT auslesen und steuern:

        Der cmd Ast ist an der falschen Position? Muß ich korrigieren.

        Ja

        c6c96e09-5052-400e-87e3-6a338be437d8-image.png

        schau mal Du musst irgendwo den ganzen cmd Ast da anlegen, wo parallel auch status etc. steht. Also wahrscheinlich unter
        solar/..../

        Die gesamte Dokumentation ist ja inzwischen wohl hier hin gewandert: https://www.opendtu.solar/firmware/mqtt_topics/#dc-input-channel-topics

        35c6cdad-70a5-4c53-8ef5-1b745efab752-image.png

        Wie Du daraus ersehen kannst, muss das cmd topic auf der gleichen Ebene wie das status topic liegen.

        L 1 Reply Last reply Reply Quote 0
        • L
          Laser @mickym last edited by Laser

          @mickym ich versuche es mal dort:
          84dc35fb-1c88-4c8b-94ef-16b210fef3d4-image.png

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Laser last edited by mickym

            @laser Ne mach mal den Ordner mit der Zahl auf, ob da status topic sind.

            0c51b95b-8df3-44e3-939e-5df600ff7a7b-image.png

            L 1 Reply Last reply Reply Quote 0
            • L
              Laser @mickym last edited by Laser

              @mickym ja, dort ist "status":
              bf074522-8a01-4cd4-ad33-bc8276174d2c-image.png
              so? Dort wird auch richtig gelesen.

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Laser last edited by mickym

                @laser Nein auf der Ebene vom status - also den cmd Ordner direkt unter der Nummer - das ist die serial Nummer

                8a6626e3-85d4-49c4-8d2a-e7ef4d0a9025-image.png

                7b165c69-2611-4b0d-a6c9-4e2d7275f513-image.png

                Siehst Du ja - grün lesen (R), orange (W) schreiben.

                Also cmd Ordner direkt unter dem 1121... Ordner.

                Wie gesagt die topics auf die ein Gerät hört, sind in der Firmware fest definiert.

                Gilt auch für den absoluten Wert:
                d9bccd06-bd17-4973-8d99-d79ef37db591-image.png

                L 1 Reply Last reply Reply Quote 0
                • L
                  Laser @mickym last edited by Laser

                  @mickym cmd rutscht immer wieder nach unten. "Ordner" heißt bei mir aber "Kanal"?
                  9296709c-cebe-4a4b-85ea-80fd68078734-image.png
                  Der Text "limit_..." muß natürlich absolut richtig geschrieben sein.

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Laser last edited by mickym

                    @laser Ja das passt aber so. Das mit dem Kanal - das hat mit admin5 eingeführt, ist aber für mqtt Schall und Rauch und ohne Bedeutung. Müsste so funktionieren.

                    Ich weiss zwar nicht, ob der Name angepasst werden muss - aber im Prinzip muss dann das mqtt topic wohl

                    solar/112183818346/cmd/limit_nonpersistent_absolute
                    

                    heißen.

                    Wenn du den mqtt Adapter als Broker verwendest, gibts da auch manchmal Probleme. Ich nutze immer mosquitto und den mqtt Adapter immer als Client.

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      Laser @mickym last edited by

                      @mickym
                      d7e504e4-ce8b-4491-8b34-3c08779ad833-image.png

                      Es tut sich einfach nichts im Umrichter- Limit. Ich benutze den mqtt Adapter.

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Laser last edited by mickym

                        @laser
                        7fa10612-fbff-44c6-9e7f-e89a048a538c-image.png

                        Der 2. Datenpunkt ist definitiv verkehrt nur der Name des 1. Datenpunktes mal anpassen.

                        Normalerweise steht im Namen - das originäre Mqtt topic

                        e76deabe-80f5-499e-8621-c0f6ed988f35-image.png

                        Ich glaube auch in den Objektdaten unter native

                        {
                          "_id": "mqtt.1.shellies.licht.wohnzimmer.decke.light.0.command",
                          "common": {
                            "name": "shellies/licht/wohnzimmer/decke/light/0/command",
                            "write": true,
                            "read": true,
                            "role": "variable",
                            "desc": "mqtt client variable",
                            "type": "string"
                          },
                          "native": {
                            "topic": "shellies/licht/wohnzimmer/decke/light/0/command"
                          },
                          "type": "state",
                          "from": "system.adapter.mqtt.1",
                          "user": "system.user.admin",
                          "ts": 1670870062801,
                          "acl": {
                            "object": 1636,
                            "state": 1636,
                            "owner": "system.user.admin",
                            "ownerGroup": "system.group.administrator"
                          }
                        }
                        

                        Wie gesagt, wenn Du mehr mit mqtt machen willst, empfehle ich Dir wirklich mosquitto als mqtt Broker zu nutzen, da der Adapter in meinen Augen als Broker manche Merkwürdigkeiten aufweist.

                        L 1 Reply Last reply Reply Quote 0
                        • L
                          Laser @mickym last edited by Laser

                          @mickym eigentlich wollte ich ja den openDTU- Adapter verwenden. Aber dort gibt es auch Probleme. Unter Anderem wird die openDTU vom Router nicht gefunden. Aber dann geht mqtt auch bloß nicht.
                          Heute packe ich das nicht mehr. Danke für die Hilfe. Evtl. löst sich über Nacht ein Knoten in mir. Ich schalte meine Akku-Entladeregelung erst mal auf den openDTU- Adapter um.

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Laser last edited by mickym

                            @laser Wie gesagt, ich benutze mosquitto als Broker für die gesamte mqtt Kommunikation ist easy und den Client/Broker mqtt Adapter als Client. Das funktioniert prima und einfach.

                            685e08a7-cbd5-436f-8159-22690d89cd45-image.png

                            Ich habe kein openDTU, aber Du siehst, bei mir läuft alles mqtt von tasmota, shelly, zigbee2mqtt und owntracks alles über natives mqtt.

                            L 1 Reply Last reply Reply Quote 0
                            • L
                              Laser @mickym last edited by

                              @mickym "mosquitto" ist wieder ein absolutes Neuland für mich. Da muß ich mich mit beschäftigen.

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Laser last edited by

                                @laser Das ist easy.
                                Mit

                                sudo apt install mosquitto
                                

                                installieren (wenn es ein LINUX System) ist. Und dann in der Konfigurationsdatei nur Port und ggf. ein Passwort mit User erstellen.

                                Ich verlinke Dir gleich noch eine Anleitung. Aber im Prinzip ist das easy und läuft immer unauffällig parallel.

                                L 1 Reply Last reply Reply Quote 1
                                • L
                                  Laser @mickym last edited by Laser

                                  @mickym Das läuft bei mir auf einem Raspi4. Ich werde das morgen in Angriff nehmen.
                                  Wenn die Kiste natürlich mal abschmiert (hatte immer mal Defekte in der SSD), habe ich ein Installationsproblem von Null an anzufangen.

                                  mickym 2 Replies Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @Laser last edited by

                                    @laser sagte in openDTU per MQTT auslesen und steuern:

                                    @mickym Das läuft bei mir auf einem Raspi4. Ich werde das morgen in Angriff nehmen.

                                    Ok - ich such Dir noch eine Anleitung raus, ist aber easy. Ist englisch auch OK?

                                    L mickym 2 Replies Last reply Reply Quote 0
                                    • L
                                      Laser @mickym last edited by

                                      @mickym englisch ist zwar holprig, aber muß gehen.

                                      1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @Laser last edited by mickym

                                        @laser sagte in openDTU per MQTT auslesen und steuern:

                                        @mickym Das läuft bei mir auf einem Raspi4. Ich werde das morgen in Angriff nehmen.
                                        Wenn die Kiste natürlich mal abschmiert (hatte immer mal Defekte in der SSD), habe ich ein Installationsproblem von Null an anzufangen.

                                        Ja ich bin bei den Micro-SDs geblieben und ziehe mir regelmäßig Images und wenn dann so eine Micro SD kaputt geht, dann halt eine neue. Wenn die nicht so groß sind (bei mir auch ein PI4 - dann kommst mit 16 GB ohne Backups wunderbar aus).

                                        Bei den SSDs ist es halt schwierig bei großen Kapazitäten Imagesicherungen zu machen.

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          Laser @mickym last edited by Laser

                                          @mickym ich mache immer mal ein Image mit einer Kopierstation. Dauert zwar, ist aber sicher.
                                          Mein IO Broker System war eine Zeit lang sehr zuverlässig. Aber zur Zeit stolpere ich von einer Katastrophe in die Andere.

                                          1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @mickym last edited by mickym

                                            Also hier nochmal eine kleine Anleitung von mir.

                                            Installieren mosquitto:

                                            sudo apt install mosquitto
                                            

                                            dann Konfiguration erstellen. Eine eigene Datei im Verzeichnis /etc/mosquitto/conf.d erstellen. Ich mach mal eine mit Benutzer und Passwort, um es nicht ganz offen zu machen.

                                            cd /etc/mosquitto/conf.d
                                            

                                            Dann eine eigene Konfigurationsdatei mit conf als Dateityp. Ich nenne sie mal laser.conf.

                                            Also nachdem Du in das Verzeichnis gewechselt bist:

                                            sudo nano laser.conf
                                            

                                            In die Datei kopierst Du folgende Zeilen.

                                            allow_anonymous false
                                            password_file /etc/mosquitto/pwfile
                                            
                                            listener 1883
                                            

                                            In der 1. Zeile legen wir fest, dass kein anonymer Zugang (also ohne Benutzername und Passwort) möglich ist.
                                            In der 2. Zeile wo die Passwortdatei liegt, die wir aber noch erstellen müssen.
                                            in der 3. Zeile auf den Port, auf den der Broker hören soll. 1883 ist Standard, aber Du musst halt einen Port wählen, der noch nicht von Deinen anderen Instanzen belegt ist und den Du dann auf openDTU und shellies und was weiß ich einstellen willst. Der darf auch nicht mit Adaptern kollidieren, die mqtt Broker emulieren (wie Shellie Adapter etc.).

                                            Nun legst Du noch Benutzer und Passwort an. Da wir die Passwortdatei pwfile in der Konfiguration genannt haben und in das Verzeichnis /etc/mosquitto legen, erstellen wir folgenden <benutzer> (wie auch immer Du ihn nennen willst) .

                                            sudo mosquitto_passwd -c /etc/mosquitto/pwfile <benutzer>
                                            

                                            Also nehmen wir mal an Dein Benutzer heißt laser.

                                            Dann gibtst Du ein

                                            sudo mosquitto_passwd -c /etc/mosquitto/pwfile laser
                                            

                                            und wirst 2 mal nach Deinem Passwort gefragt.

                                            Password:
                                            Reenter password:
                                            

                                            Überprüfen kannst Du die Passwortdatei einfach mit

                                            cd /etc/mosquitto
                                            cat pwfile
                                            laser:$7$101$9+FBgF4Rgcv8wANN$zzcWWzIBRYx6BaJ9yo5tGhPV5iMIgjKrxkxpRB+iuPiKy4cvzdjUCaGCNxN6AMOk5s3mcFoqJQsiPoqIvpbaAA==
                                            

                                            Da steht dann Dein mqtt Benutzername mit Doppelpunkt mit einem verschlüsselten Passwort.

                                            Dann startest Du mosquitto nochmal hoffentlich erfolgreich mit:

                                            sudo systemctl restart mosquitto
                                            

                                            mit

                                            sudo systemctl status mosquitto
                                            

                                            schaust Du ob der mosquitto sauber läuft. Die Ausgabe sollte dann so ähnlich wie folgt aussehen:

                                            ● mosquitto.service - Mosquitto MQTT Broker
                                                 Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; preset: enabled)
                                                 Active: active (running) since Wed 2024-08-21 21:48:12 CEST; 4 days ago
                                                   Docs: man:mosquitto.conf(5)
                                                         man:mosquitto(8)
                                                Process: 119 ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto (code=exited, status=0/SUCCESS)
                                                Process: 122 ExecStartPre=/bin/chown mosquitto:mosquitto /var/log/mosquitto (code=exited, status=0/SUCCESS)
                                                Process: 123 ExecStartPre=/bin/mkdir -m 740 -p /run/mosquitto (code=exited, status=0/SUCCESS)
                                                Process: 124 ExecStartPre=/bin/chown mosquitto:mosquitto /run/mosquitto (code=exited, status=0/SUCCESS)
                                               Main PID: 125 (mosquitto)
                                                  Tasks: 1 (limit: 9190)
                                                 Memory: 5.0M
                                                    CPU: 12min 42.300s
                                                 CGroup: /system.slice/mosquitto.service
                                                         └─125 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
                                            
                                            Aug 21 21:48:12 mwmqtt systemd[1]: Starting mosquitto.service - Mosquitto MQTT Broker...
                                            Aug 21 21:48:12 mwmqtt mosquitto[125]: 1724269692: Loading config file /etc/mosquitto/conf.d/default.conf
                                            Aug 21 21:48:12 mwmqtt mosquitto[125]: 1724269692: Loading config file /etc/mosquitto/conf.d/mwhome.conf
                                            Aug 21 21:48:12 mwmqtt systemd[1]: Started mosquitto.service - Mosquitto MQTT Broker.
                                            

                                            Nun konfigurierst Du nur noch den mqtt Adapter als Client:

                                            b8f77dc4-d84a-4a34-8d5b-3c21532469cd-image.png

                                            in die URL gibst localhost oder die IP Deines Raspies ein. Benutzername ist der den Du in mosquitto angelegt hast und Passwort entsprechend. Über die Schaltfläche die Verbindung testen.

                                            in den Client-Settings gibst Du mit dem # an, dass Du alle topics abonnieren (subscriben) willst.

                                            4622453b-c104-4c9e-9115-2861c184b9bb-image.png

                                            die Client - ID musst Du nicht angeben.

                                            Bei den mqtt- Einstellungen ist weniger mehr.

                                            13d9bb80-3c8e-4a28-b8f2-03902002842c-image.png

                                            Also alle Haken wegmachen.

                                            Das wars schon.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            812
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            64
                                            16167
                                            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