Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus

    This topic has been deleted. Only users with topic management privileges can see it.
    • RaspiUser
      RaspiUser @crycode last edited by

      @crycode sagte in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

      Kann es sein, dass du vergessen hast ....

      Mitterweile glaube ich, dass ich zu jedem Fehler fähig bin ... 🤒 🤕 😵 😰

      Ich habe diese Befehle (nochmal?) eingegeben ...

      sudo apt install can-utils
      sudo apt install build-essential cmake git   
      git clone https://github.com/mguentner/cannelloni.git
      cd cannelloni
      cmake -DCMAKE_BUILD_TYPE=Release
      make      
      sudo make install
      

      Das kam raus ... (als LINUX-Laie sehe ich, dass da etwas nicht simmt ... aber wie beheben ...)

      login as: iobroker
      iobroker@192.168.178.120's password:
      Linux VM-ioBroker 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09                                     -29) x86_64
      
      The programs included with the Debian GNU/Linux system are free software;
      the exact distribution terms for each program are described in the
      individual files in /usr/share/doc/*/copyright.
      
      Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
      permitted by applicable law.
      Last login: Sun Jan 21 11:19:53 2024 from 192.168.178.67
      iobroker@VM-ioBroker:~$ iob stop
      iobroker@VM-ioBroker:~$ sudo apt install can-utils
      Paketlisten werden gelesen… Fertig
      Abhängigkeitsbaum wird aufgebaut… Fertig
      Statusinformationen werden eingelesen… Fertig
      can-utils ist schon die neueste Version (2020.11.0-1).
      0 aktualisiert, 0 neu installiert, 0 zu entfernen und 2 nicht aktualisiert.
      iobroker@VM-ioBroker:~$ sudo apt install build-essential cmake git
      Paketlisten werden gelesen… Fertig
      Abhängigkeitsbaum wird aufgebaut… Fertig
      Statusinformationen werden eingelesen… Fertig
      build-essential ist schon die neueste Version (12.9).
      cmake ist schon die neueste Version (3.25.1-1).
      git ist schon die neueste Version (1:2.39.2-1.1).
      0 aktualisiert, 0 neu installiert, 0 zu entfernen und 2 nicht aktualisiert.
      iobroker@VM-ioBroker:~$ git clone https://github.com/mguentner/cannelloni.git
      Schwerwiegend: Zielpfad 'cannelloni' existiert bereits und ist kein leeres Verzeichnis.
      iobroker@VM-ioBroker:~$ cd cannelloni
      iobroker@VM-ioBroker:~/cannelloni$ cmake -DCMAKE_BUILD_TYPE=Release
      CMake Warning:
        No source or binary directory provided.  Both will be assumed to be the
        same as the current working directory, but note that this warning will
        become a fatal error in future CMake releases.
      
      
      -- Could NOT find SCTP (missing: SCTP_LIBRARY SCTP_INCLUDE_DIR)
      -- SCTP not found. cannelloni will be build without SCTP support.
      -- Install lksctp-tools for SCTP.
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /home/iobroker/cannelloni
      iobroker@VM-ioBroker:~/cannelloni$ make
      [  5%] Building CXX object CMakeFiles/addsources.dir/inet_address.cpp.o
      In file included from /usr/include/c++/12/string:40,
                       from /home/iobroker/cannelloni/inet_address.h:4,
                       from /home/iobroker/cannelloni/inet_address.cpp:1:
      In static member function ‘static constexpr std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)’,
          inlined from ‘static constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:423:21,
          inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.tcc:532:22,
          inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:2171:19,
          inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:1928:22,
          inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const _CharT*, __cxx11::basic_string<_CharT, _Traits, _Allocator>&&) [with _CharT = char; _Traits = char_traits<char>; _Alloc = allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:3541:36,
          inlined from ‘std::string formatSocketAddress(const SocketStringAddress&)’ at /home/iobroker/cannelloni/inet_address.cpp:92:29:
      /usr/include/c++/12/bits/char_traits.h:431:56: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ accessing 9223372036854775810 or more bytes at offsets [2, 9223372036854775807] and 1 may overlap up to 9223372036854775813 bytes at offset -3 [-Werror=restrict]
        431 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
            |                                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
      cc1plus: all warnings being treated as errors
      make[2]: *** [CMakeFiles/addsources.dir/build.make:104: CMakeFiles/addsources.dir/inet_address.cpp.o] Fehler 1
      make[1]: *** [CMakeFiles/Makefile2:116: CMakeFiles/addsources.dir/all] Fehler 2
      make: *** [Makefile:136: all] Fehler 2
      iobroker@VM-ioBroker:~/cannelloni$ sudo make install
      [  5%] Building CXX object CMakeFiles/addsources.dir/inet_address.cpp.o
      In file included from /usr/include/c++/12/string:40,
                       from /home/iobroker/cannelloni/inet_address.h:4,
                       from /home/iobroker/cannelloni/inet_address.cpp:1:
      In static member function ‘static constexpr std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)’,
          inlined from ‘static constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:423:21,
          inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.tcc:532:22,
          inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:2171:19,
          inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:1928:22,
          inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const _CharT*, __cxx11::basic_string<_CharT, _Traits, _Allocator>&&) [with _CharT = char; _Traits = char_traits<char>; _Alloc = allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:3541:36,
          inlined from ‘std::string formatSocketAddress(const SocketStringAddress&)’ at /home/iobroker/cannelloni/inet_address.cpp:92:29:
      /usr/include/c++/12/bits/char_traits.h:431:56: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ accessing 9223372036854775810 or more bytes at offsets [2, 9223372036854775807] and 1 may overlap up to 9223372036854775813 bytes at offset -3 [-Werror=restrict]
        431 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
            |                                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
      cc1plus: all warnings being treated as errors
      make[2]: *** [CMakeFiles/addsources.dir/build.make:104: CMakeFiles/addsources.dir/inet_address.cpp.o] Fehler 1
      make[1]: *** [CMakeFiles/Makefile2:116: CMakeFiles/addsources.dir/all] Fehler 2
      make: *** [Makefile:136: all] Fehler 2
      iobroker@VM-ioBroker:~/cannelloni$
      
      

      Es gibt einen canneloni-Ordner ...

      b7f88e8d-4eb3-4987-88ee-77afc952a0e2-grafik.png

      ... aber an der richtigen Stelle ?

      crycode 1 Reply Last reply Reply Quote 0
      • crycode
        crycode Developer @RaspiUser last edited by

        @raspiuser Da hat der Build nicht geklappt.
        Den Infos nach ist das wohl ein Bug in gcc-12/g++-12 (dem Compiler).

        Mit gcc-11/g++-11 sollte es funktionieren (im cannelloni-Verzeichnis):

        sudo apt install gcc-11 g++-11
        export CC=gcc-11
        export CXX=g++-11
        rm -f CMakeCache.txt
        cmake -DCMAKE_BUILD_TYPE=Release
        make
        sudo make install
        

        Bei der Ausgabe vom cmake [...] Befehl, sollte u.a. folgendes enthalten sein, was dir zeigt, dass gcc-11/g++-11 verwendet werden:

        -- The C compiler identification is GNU 11.3.0
        -- The CXX compiler identification is GNU 11.3.0
        
        RaspiUser 1 Reply Last reply Reply Quote 1
        • RaspiUser
          RaspiUser @crycode last edited by RaspiUser

          @crycode sagte in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

          Da hat der Build nicht geklappt.

          ... aber jetzt ... die Werte kommen (wieder) an ... Vielen Dank für deine Hilfe !!!

          Und ich bin ein wenig beruhigt, dass nicht ich unmittelbar das Problem war (oder ?!)

          Muss / sollte ich die Anleitung (s. erster Beitrag) anpassen ?

          EDIT:
          ... und sollte man (ich) etwas im Dateisystem o.ä. aufräumen ?

          crycode 1 Reply Last reply Reply Quote 0
          • crycode
            crycode Developer @RaspiUser last edited by

            @raspiuser Immer gerne 🙂 Nein, du warst (diesmal) nicht das Problem 😄
            Im Dateisystem brauchst du da eigentlich nichts aufräumen.
            Die Anleitung könnte man um einen entsprechenden Hinweis ergänzen.

            1 Reply Last reply Reply Quote 0
            • V
              ViennaTom last edited by ViennaTom

              @crycode Erstmal alle Daumen hoch !!!

              Ich habe jetzt auch versucht meine Altherma Echo-2 (Baujahr 2022/23) über CAN-Bus zu steuern (Die UART-Schnittstelle an X-10A erlaubt leider/vermutlich nur das Auslesen von Betriebsdaten).
              An meiner Altherma ist am X3 des MMI eine Mischstation (EKMIKPOAF) für einen 2.ten Heizkreis angeschlossen.
              Ich verwende einen ESP32 und bin zunächst an der 20kBit Baudrate gescheitert.
              Wie sich herausgestellt hat, arbeitet dieser CAN-Bus aber mit 50kBit und auch die Frames sehen ganz anders aus als die von euch dokumentierten.

              Es werden hier die folgenden Can-IDs verwendet:
              Can-ID,Daten, Frequenz

              • 0000 , 0101, 1x

              • 0081, 810001FFFFFFFFFF, 1x

              • 058A, 4F17250064000000, ~2/Sekunde
                4B2225002A010000
                606D250000000000

              • 060A, 4017250000000000, ~2/Sekunde
                4022250000000000
                2B6D2500C2010000

              • 06CA, 8000200000000405, alle 5 Sekunden
                4000200000000000

              • 070A, 7F, alle 3 Sekunden

              • 0701, 05, alle 3 Sekunden

              058A 4F17 könnte die Stellung des 3-Wege Ventils sein (100%)
              058A 4B22 dürfte der little endian Temperaturwert des Sensors sein (28-32°C)
              060A 2B6D sieht auch noch einem Temperaturwert aus 45.0°C
              Nur scheinen leider alle Register im Zusammenhang mit der Mischergruppe zu stehen 😞
              *

              Laut Installationshandbuch EHS157034 (RO-CON) verwendet diese auch den CAN-Bus gemeinsam mit der Mischergruppe ....

              Die Mischstation steuert ein Dreiwegeventil, bis zu zwei PWM-Pumpen und kann einen Temperaturfühler auslesen.
              Bis jetzt werden aber immer nur die gezeigten Werte gesendet. Ich werde noch einen Aktuatortest machen um zu sehen ob sich die Werte wenigstens dann ändern.

              Kannst du mit den gezeigten Frames was anfangen ? Gibt es vielleicht eine zweite CAN-Schnittstelle für die von euch gezeigte Implementierung ? Muß ich die Altherma vielleicht umkonfigurieren, daß sie eine Steuerung erlaubt ? Auf Abfrageframes 0680 31 00 XX reagiert die Schnittstelle mit Ignoranz 😉

              Danke für deine bisherige Arbeit und vielleicht kannst du mir ja weiterhelfen, denn die ONECTA App ist wohl nur ein schlechter Scherz ...

              LG, Tom

              C 1 Reply Last reply Reply Quote 0
              • C
                cb187 @ViennaTom last edited by

                @viennatom

                Hi ich glaube das ist keine CAN Verbindung.Du misst mal gucken da gibts nen extra Projekt für den Anschluss x10.

                V 1 Reply Last reply Reply Quote 0
                • V
                  ViennaTom @cb187 last edited by ViennaTom

                  @cb187 Ja am X10-A habe ich einen zweiten ESP32 der die UART Schnittstelle ausliest und die Daten per MQTT verschickt. Da sehe ich ziemlich alle Betriebsdaten, kann aber keine Werte schreiben.

                  Ich würde aber gerne Sollwerte witterungsbedingt bzw. zur Optimierung bei PV-Ertrag verändern.
                  Also habe ich mich voller Euphorie auf dieses Projekt gefreut nur "tut" meine CAN-Schnittstelle anders und reagiert nicht oder mit Störung auf Abfragen.

                  Meine CAN-Schnittstelle arbeitet auch mit 50kBit/s und nicht mit 20kBit/s und dürfte nur für Mischstation und Raumbedienmodul verwendet werden ?!
                  0701 05 zeigt Mischstation online 0701 7F Mischstation offline
                  070A dürfte der entsprechende Status für das Raumbedienmodul sein (das ich nicht habe).

                  Schicke ich "abstruse" Abfragen geht die WP auf Störung "Kommunikationsfehler Mischstation".

                  Auf der Suche nach einem zweiten CAN-Bus habe ich leider auf keiner der Platinen in der WP einen CAN-Transceiver Chip gefunden.

                  Anschluß-CAN.jpg

                  Ich denke ich leiste mir so ein Raumbedienmodul und sehe mir die Kommunikation dann nochmals an. Ohne Untersuchung am lebenden Patienten dürfte das sonst schwer werden 😉
                  Gesagt - getan, wenn ich das Bedienmodul angeschlossen habe werde ich weiter berichten ....

                  crycode 1 Reply Last reply Reply Quote 0
                  • crycode
                    crycode Developer @ViennaTom last edited by

                    @viennatom Das scheint wieder ein ganz anderes Protokoll zu sein.
                    Mir ist zumindest bislang keine Gemeinsamkeit mit den bisher bekannten Daten aufgefallen.
                    Zudem scheinen es bei dir meistens 8 Datenbytes zu sein, wobei es bei den aktuell funktionierenden Modellen immer 7 Bytes sind.

                    V 1 Reply Last reply Reply Quote 0
                    • V
                      ViennaTom @crycode last edited by ViennaTom

                      @crycode Danke für deine Antwort. Ja die Datenpakete sehen ganz anders aus. Die Werte scheinbar in little endian und ich habe auch keine "polling frames" sehen können. Wird scheinbar unaufgefordert gesendet ....
                      Mitte Feb. bekomme ich die Bedienstation über die man fast alle Einstellungen ändern kann (Sollwerte, Heizkurve, etc.) - ich werde dann berichten.

                      Bei dem 20kBit Protokoll und deinen Abfragen hat mich gewundert, warum manchmal 20 0A XX, 30 00 XX oder 60 00 XX verwendet wird ? Ist hier das Modul und nicht die Can-ID ausschlaggebend ?
                      Funktionieren mehrere Varianten oder ist das vom Register abhängig (oder hab ich mich vertan) ?
                      e.g:
                      300 / 20 0A 04 T-HK Soll setzen, lesen aber mit 61 00 04
                      300 / 30 00 05 T-Raum Soll setzen, lesen aber mit 61 00 05
                      300 / 60 00 28 T-Vorlauf Max setzen, lesen mit 61 00 28

                      180 / 20 0A 0E
                      180 / 30 00 13

                      Ich wollte das Protokoll auf ESP32 implementieren und mir was ersparen 😉

                      crycode 1 Reply Last reply Reply Quote 0
                      • crycode
                        crycode Developer @ViennaTom last edited by

                        @viennatom Das hängt damit zusammen, dass die Entwickler hier die Funktionsweise des CAN Bus etwas anders interpretiert haben... 🙈
                        Die eigentliche Nachrichten-ID ist hier die ID von der Absender-Baugruppe. In den ersten beiden Nachrichten-Bytes steckt dann die ID von der Empfänger-Baugruppe und was es für eine Nachrichtenart sein soll. Dann folgt die ID des Wertes und dann die Daten...
                        Ich habe das versucht hier einigermaßen zu dokumentieren.

                        V 1 Reply Last reply Reply Quote 0
                        • V
                          ViennaTom @crycode last edited by

                          @crycode said in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

                          die Entwickler

                          Jaja und bei mir waren wieder andere am Werk 🙂
                          Die haben wohl auch vergessen, daß es eine 32 Bit CAN-ID gibt um Nachrichten vernünftig Baugruppen oder Funktionen zuordnen und entsprechend filtern zu können. Naja die ganze WP scheint ein wenig zusammengestoppelt zu sein ...

                          1 Reply Last reply Reply Quote 0
                          • H
                            Hurricane55557 @cb187 last edited by

                            @cb187 Wo finde ich denn die json config zum runter laden?

                            C 1 Reply Last reply Reply Quote 0
                            • C
                              cb187 @Hurricane55557 last edited by

                              @hurricane55557

                              Du kannst übe Import/Export die Keon von Github abrufen.

                              H 1 Reply Last reply Reply Quote 1
                              • H
                                Hurricane55557 @cb187 last edited by Hurricane55557

                                @cb187 Sorry, ich stehe heute auf dem Schlauch. Import/Export aber wo? Hier im Forum? Gibt es ein link?

                                C 1 Reply Last reply Reply Quote 0
                                • C
                                  cb187 @Hurricane55557 last edited by

                                  @hurricane55557

                                  Im Adapter🤣

                                  H 1 Reply Last reply Reply Quote 0
                                  • H
                                    Hurricane55557 @cb187 last edited by

                                    Hallo,

                                    sorry für meine vielleichten komischen Fragen.

                                    JASON config wo finde ich diese genau?
                                    Ich meine ich suche im Prinzip den Nachrichtenkatalog um die Signale richtig deuten zu können.
                                    Oder verstehe ich das was falsch?

                                    RaspiUser crycode 2 Replies Last reply Reply Quote 0
                                    • RaspiUser
                                      RaspiUser @Hurricane55557 last edited by

                                      @hurricane55557

                                      e98c0888-fec3-49cb-92a5-d47f664d5966-grafik.png

                                      1 Reply Last reply Reply Quote 0
                                      • crycode
                                        crycode Developer @Hurricane55557 last edited by

                                        @hurricane55557 Alternativ direkt die json auf GitHub: https://github.com/crycode-de/ioBroker.canbus/blob/master/well-known-messages/configs/rotex-hpsu-1.7.0.json

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

                                          Vielen Dank an euch beide.

                                          Werde gleich mal schauen ob ich damit weiter komme. Bin meinem Ziel schon wieder ein Schritt näher gekommen!!!
                                          Danke euch

                                          1 Reply Last reply Reply Quote 0
                                          • F
                                            F.Miller last edited by F.Miller

                                            Hallo zusammen,

                                            ich habe folgenden Fehler im ioBroker:
                                            canbus.0 *timestamp* debug read parser 61 for 680 returned undefined

                                            wo fang ich an zu suchen...

                                            EDIT:
                                            Sorr habs gefunden... meine can0 läuft nicht korrekt.

                                            ich versuche nämlich mit einem USB-CAN-A (Waveshare) und SLCAND die Schnittstelle zum laufen zu bekommen..
                                            jemand schon mal damit erfolgreich gewesen???
                                            Geht um die ROTEX HPSU Wärmepumpe.

                                            Grüße

                                            crycode 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

                                            583
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            canbus canbus adapter rotex hpsu
                                            25
                                            498
                                            67006
                                            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