Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. TA Daten über CAN-Bus lesen/schreiben

    NEWS

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    TA Daten über CAN-Bus lesen/schreiben

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

      @rudi86

      Ich habe erst vor ein paar Wochen auf Hobby-Ebene damit angefangen. Ich muss Daten von einem Wechselrichter abholen und zur Steuerung eines Heizstabs verwenden. Die CMI ist einfach zu unflexibel, da man dort nur einzelne ModBus-Register auslesen kann
      Ich habe eine alte Wago SPS im Einsatz. Die 750-8204 kann CAN-Bus und Modbus RTU. Modbus TCP kann man einfach über einen der Ethernet-Porta nutzen, grandios. Bleiben halt die nicht unerheblichen Kosten für die Codesys-Runtime aber ich habe am Ende alles in einem Gerät.

      Außerdem bringt mich ST zurück in die alten Pascal-Zeiten. Das Abrufen von Daten vom Modbus und weiterleiten auf den CAN-Bus ging fast ohne Code - mit dem neuen Format ist es etwa Arbeit.

      An 200 SPSen würde mich allerdings nicht ran wagen 🙂 - ST-Programmierung lasse ich mir derzeit von ChatGPT beibringen - ich denke, um
      mehrere Steuerungen zu kontrollieren, reicht das Halbwissen nicht aus.

      Zum Thema: den entscheidenden Hinweis, um Daten senden zu können, hat TA in seiner Antwort geliefert. Meine Ergebnisse:

      Schreiben an die alten COB-IDs funktioniert weiterhin. Das halt den Nachteil, dass man nicht 4 Byte nutzen kann.

      Das aktivieren des alten Sendeformats via eines Fake-Heartbeats habe ich nicht ausprobiert, da ich gleich einen Schritt weitergegangen bin.

      Das Problem war, dass das Senden im neuen Format mit einer COB-ID, die physisch nicht existiert, nicht funktioniert. Also Absende-Node 15 - COB-ID 0x1cf - wird von den existierenden Nodes einfach ignoriert.

      Lösung: ich kopiere die Heartbeat-Nachricht des EZ3 einfach mit neuer COB-ID auf den Bus und die CMI zeigt daraufhin einen weiteren EZ3 im CAN-Netz an und nimmt von diesem Fake-Node auch endlich wieder Nachrichten an.

      Jetzt muss ich nur noch die Serialisierung des Arrays mit den 64 Daten-Punkten einigermaßen sinnvoll implementieren. Ich denke, ich werde einfach alle 500 ms das ganze Array auf den Bus schreiben, bevor ich jetzt anfange kompliziert auszulesen, welcher Wert, den ich übertragen will, geändert wurde.

      Sollte mir dabei noch was irreguläres über den Weg laufen, würde ich es hier dokumentieren. Auf jeden Fall herzlichen Dank für die Zusammenarbeit, das war wirklich hilfreich!

      R 1 Reply Last reply Reply Quote 0
      • R
        Rudi86 @drrrz last edited by

        Wäre FUP nicht einfacher? Das ist ja quasi fast genauso wie mit TAPPS.
        Wir machen das Meiste in FUP, nur Dinge die sich mit minimalen Änderungen hundertfach wiederholen (z.B. Mapping von Ein/Ausgängen) sind in ST geschrieben.

        D 1 Reply Last reply Reply Quote 0
        • D
          drrrz @Rudi86 last edited by

          @rudi86

          Ja, FUP habe ich mir angeschaut, aber das hat mich für den Anfang etwas erschrocken. Mit ST habe ich das Gefühl, mehr Kontrolle über den Code zu haben.

          Aber ich habe ja noch einige Programmteile zu bauen, vielleicht schaue ich mir das noch mal an.

          Habe mittlerweile auch das zyklische Senden nach Timeout oder bei Werte-Aktualisierung hinbekommen. Die Basisadresse für das eine verbleibende RPDO ist auch 0x1C0. Wenn man vom
          „Fake“-Knoten 15 senden möchte also 0x1CF.

          Mehr Schwierigkeiten sind mit derzeit nicht über den Weg gelaufen, bin hauptsächlich damit beschäftigt, den Code einigermaßen schön zu machen und meine ganzen Debug-Nachrichten und Haltepunkte zu entfernen 😆

          @Rudi86: nochmals herzlichen Dank, ohne deine Hilfe wäre ich nicht so weit gekommen!

          1 Reply Last reply Reply Quote 0
          • H
            hamnx last edited by

            Hallo,
            ich bin auf diesen Thread gestoßen, weil ich ähnliche Absichten habe - nämlich den TA-CAN mittels Wago Controller auszulesen, und die Werte an andere Schnittstellen weiterzugeben...
            Ich stehe aber noch ganz am Anfang - ehrlich gesagt, habe ich noch nicht mal angefangen 😉

            Und ich möchte mich bei euch beiden für die Weitergabe euerer Erfahrungen bedanken - jetzt weiß ich zumindest dass es grundsätzlich Möglich ist, und ich diese Idee wahrscheinlich weiter verfolgen werde!

            @drrrz Ich frag mal ganz direkt und unverschämt- wärst du eventuell bereit deinen Code hier zu teilen?

            mfg
            hamnx

            1 Reply Last reply Reply Quote 0
            • Jakob Stefan
              Jakob Stefan @Rudi86 last edited by

              @rudi86 riesen großes DANKESCHÖN, habe schon eine schöne Weile herumgebastelt und versucht meine Heizungssteuerung (UVR67) etwas zu digitalisieren. Leider ist die Doku dazu etwas spärlich und auch von TA gabs keinen Support. Mithilfe deiner detaillierten Anleitung konnte ich nun ohne den Zusatzkosten einer CMI die Daten auf meinen Raspberry PI bekommen und in Node-RED weiterverwenden. Danke

              P 1 Reply Last reply Reply Quote 0
              • Marcel Klug
                Marcel Klug last edited by Marcel Klug

                Hallo, ich habe mich mal fix angemeldet.
                Ich bin 36 Jahre alt und komme aus der IT.
                Ja ist blöd aber ich bräuchte mal eure hilfe. Ich habe eine UVR610K hier möchte ich über canbus messwerte bekommen und meine Pumpen verriegeln/entriegeln. Firmware ist die neuste drauf.
                Das kommt über den canbus

                {"id":"0x00000720","data":[5]}
                {"id":"0x00000720","data":[5,145,1,1,244,236,77,53]}
                {"id":"0x000001E0","data":[1,6,43,43,43,43,43,43]}
                {"id":"0x000001A0","data":[0,0,0,0,0,0,0,0]}
                

                Anbei habe ich mal noch meine Projektdatei mit angehangen
                Doppelpumpe.tdw

                Vielleicht kann mir mal jemand helfen. Das verstehe ich leider nicht richtig.

                Mit Freundlichen Grüßen
                PS: Vergessen. Sonst hängt nichts weiter auf dem canbus, außer mein ESP32 der als can <-> mqtt Brücke dient.

                1 Reply Last reply Reply Quote 0
                • P
                  philipphamid @Jakob Stefan last edited by

                  @jakob-stefan Hi Jakob, ich bastle auch schon eine Weile mit meiner UVR67 herum und scheitere daran die richtigen IDs bzw. Zuordnungen zu finden … kannst du vielleicht deinen Code zu Verfügung stellen?

                  Jakob Stefan 1 Reply Last reply Reply Quote 0
                  • Jakob Stefan
                    Jakob Stefan @philipphamid last edited by

                    @philipphamid gerne, so gut ich kann:
                    also ich habe am Raspberry ein can0 interface aktiviert und dort alles eingestellt, damit die Kommunikation mit der UVR67 funktioniert. Danach mit der Anleitung über den ioBroker und der CAN Variablenliste auf der Steuerung verifiziert, welcher Datenpunkt mir was beschreibt. Anschließend habe ich in nodered auf meinem Raspberry die Daten vom CAN Bus abgehorcht und gleich die nicht benötigten Felder entfernt. Jetzt müssen diese aber noch auf meinen HomeAssistant, das mache ich via MQTT und dort werden die empfangenen Datenpakete wieder in nodered in Empfang genommen, gefiltert und den richtigen Datenpunkten zugeordnet, sodass diese dann auch angezeigt werden können. Parallel dazu habe ich das Heartbeat Signal noch als Watchdog in Verwendung

                    Ich habe mal die beiden nodered Flows exportiert und ein paar Screenshots mit dabei, hoffe das hilft, ansonsten gerne nochmal fragen.

                    UVR67.zip

                    04_nodered_hass.png

                    LG Jakob

                    N 1 Reply Last reply Reply Quote 0
                    • N
                      noio @Jakob Stefan last edited by

                      Hallo , ich schliesse mich hier an......

                      Ich hab die CAN Kommunikation mit Raspberry PI und MPC2515 can Modul ins laufen gebracht.
                      Es läuft bei mir ohne CMI.
                      Leider ebenso das Problem mit der neuesten Firmware.....Bekomme keine sinnvollen Werte von den Analog und Digital Ein/Ausgängen....

                      LG noio

                      N 1 Reply Last reply Reply Quote 0
                      • N
                        noio @noio last edited by noio

                        Mit den Digitalen Ausgöngen bin jetzt weiter gekommen.

                        Sie werden mit der ID 181 übernommen.
                        Die Ausgänge 1-8 sind mit offset 0 verfügbar
                        Die Ausgänge 9-16 kommen mit offset 1 herein....

                        LG noio

                        Bildschirmfoto_2025-10-03_12-37-01.png

                        Bildschirmfoto_2025-10-03_12-36-05.png

                        N 1 Reply Last reply Reply Quote 0
                        • N
                          noio @noio last edited by noio

                          Hallo ,

                          Ich hab nun rausgefunden dass per cob-id 1c5 die Daten von der node id 65 gesendet werden.

                          Kann mir da jemand weiterhelfen ?

                          Screenshot_20251005-153252.Galerie.png

                          striketh Aussedem gibts die cob id 24D und 26B die jeweils ein rtr besitzen....... rough text

                          Die Digitale Ausgägnge Funktionieren noch (bzw. das Senden an den Regler)....

                          ich verwende ozon canopen zur analyse....

                          16x2cancapture.log

                          MFG noio

                          Selber heard beaten dann gehts ab......🥰

                          Danke Jungs......
                          Wenn manns richtig macht dann funzt es auch.......

                          Learning by doing.........goes on

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          519
                          Online

                          32.2k
                          Users

                          80.9k
                          Topics

                          1.3m
                          Posts

                          canbus cmi t.a technische alternative uvr16x2
                          7
                          21
                          1940
                          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