Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter canbus v1.1.x Latest

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Test Adapter canbus v1.1.x Latest

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mic208 @cb187 last edited by

      @cb187
      Hallo,

      ich habe einen CAN HAT von an einem RasPi, beispielsweise:
      https://www.ebay.de/itm/Waveshare-RS485-CAN-HAT-for-Raspberry-Pi-Zero-Zero-W-Zero-WH-2B-3B-3B-Allows-/183752124300?hash=item2ac87ae78c

      LG

      Michael

      1 Reply Last reply Reply Quote 0
      • M
        Mic208 @crycode last edited by

        @crycode
        Hallo,

        da wäre ich ja nie drauf gekommen, vielen Dank.

        Das Lesen funktioniert schon mal.
        Beim Schreiben mit beispielsweise

        // Buffer zum Schreiben vorbereiten
        buffer = Buffer.from([0x30, 0x00, 0x13, 0x00, 0x00]);
        // Wert * 10 auf Ganzzahl gerundet in den Buffer schreiben
        buffer.writeUInt16BE(Math.round(value * 10), 3);
        

        Kommt leider nur folgende Fehlermeldung:
        (2973) Failed parsing JSON from canbus.0.680.json: No state found

        Ich bin allerdingsa auch kein Blockly Experte, mein Script sieht so aus:

        var timeout;
        
        
        on({id: "hm-rpc.0.MEQ1849422.1.PRESS_SHORT"/*WW-OG-OS-OBEN.PRESS_SHORT*/, change: "any"}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          setStateDelayed("canbus.0.680.300013"/*T-WW-Soll1-Set*/, 46, 1000, false);
          sendTo("email", "send", {
             html: 'Die Warmwasser-Solltemperatur ist für die nächsten 30 Minuten auf 47°C erhöht worden.',
             to: 'Michael.Wind@GMX.de',
             subject: 'WW-Solltemperatur für die nächsten 30 Minuten erhöht'
          });
          timeout = setTimeout(async function () {
            setStateDelayed("canbus.0.680.300013"/*T-WW-Soll1-Set*/, 44, 1000, false);
            sendTo("email", "send", {
               html: 'WW-Solltemperatur zurückgestellt',
               to: 'Michael.Wind@GMX.de',
               subject: 'Die Warmwasser-Solltemperatur ist auf 44 °C zurückgestellt worden.'
            });
          }, 60000);
        });
        
        
        crycode C 2 Replies Last reply Reply Quote 0
        • crycode
          crycode Developer @Mic208 last edited by

          @michael-wind Huch, das ist tatsächlich noch ein Bug im Adapter. Schau ich mir die nächsten Tage genauer an.
          Als Workaround kannst du einmalig per Hand in den State canbus.0.680.json [] schreiben, damit der State angelegt wird. Dann sollte es funktionieren. 🙂

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

            @michael-wind lässt du bei dir keine Datenpunkte erzeugen die du dann einfach verändern kannst?

            1 Reply Last reply Reply Quote 0
            • M
              Mic208 @crycode last edited by

              @crycode
              Hallo crycode,

              ok, jetzt lautet die Fehlermeldung:
              (4742) Failed parsing JSON from canbus.0.680.json: SyntaxError: Unexpected end of JSON input

              Der Code ist aber doch korrekt, sogar https://jsonformatter.curiousconcept.com/# meckert ihn nicht an.

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

                @michael-wind Wann genau kommt die Meldung und was steht dabei im json State?
                Beim Schreiben von z.B. 46 in den Temperatur-State sollte der json-State mit dem oben genannten Schreiben-Skript diesen Inhalt bekommen: [48,0,19,1,204]

                M 1 Reply Last reply Reply Quote 0
                • M
                  Mic208 @crycode last edited by

                  @crycode
                  Hi,

                  das war jetzt wunderbare Selbstheilung, ich hatte wirklich nichts geändert über Nacht 😇 :

                  canbus.0 (8632) sending can message: {"id":1664,"ext":false,"rtr":false,"data":{"type":"Buffer","data":[48,0,19,1,204]}}
                  canbus.0 (8632) sending can message: {"id":1664,"ext":false,"rtr":false,"data":{"type":"Buffer","data":[48,0,19,1,184]}}
                  

                  Und die Rotex HPSU reagiert auch korrekt. Alles perfekt. Dann kann ich mein 6 Jahre altes Script jetzt in Rente schicken.

                  Vielen Dank für die schnellen Hilfen, der Rest ist ja dann nur noch ein Kinderspiel.

                  Michael

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

                    @michael-wind Super, das freut mich 🙂

                    Wenn du noch ein paar Beispiele für andere Daten der Wärmepumpe hast, dann kannst du mir die gerne PN zukommen lassen. Dann kann ich ein paar Beispiele dafür in die Doku mit aufnehmen.

                    Ich werde heute die v1.0.2 auf NPM veröffentlichen und ab morgen sollte sie dann auch im Latest-Repo auftauchen. Darin ist dann der Bug mit dem fehlenden State behoben (es kommt weiterhin einmalig die Warnung, aber der State wird dann erzeugt) und ein paar Übersetzungen sind aktualisiert.

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

                      Jetzt wäre es noch schön wenn elm funktionieren würde🤣

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

                        Hallo ich habe jetzt nen richtiges CAN Modul in Iobroker wie frage ich jetzt die Rotex ab?
                        Ich versteh nur Bahnhof.
                        Kann ich vielleicht auch erstmal testen ob was ankommt?
                        Auf was für ne baudrate muss ich das can einstellen?

                        crycode M 2 Replies Last reply Reply Quote 0
                        • crycode
                          crycode Developer @cb187 last edited by

                          @cb187 Was heißt bei dir "richtiges CAN Modul"? 🙂
                          Wenn dein Modul einen MCP2515 CAN-Controller hat, dann hilft dir vielleicht meine Anleitung dazu weiter: https://crycode.de/can-bus-am-raspberry-pi

                          Wenn das soweit eingerichtet ist, dann kannst du über candump can0 in einem Terminal dir den kompletten Datenverkehr auf dem Bus anzeigen lassen.
                          In einem zweiten Terminal kannst du mittels cansend can0 xxx#yyyyyy Nachrichten senden, wobei xxx die Nachrichten-ID und yyyyyy die Daten in hex sind.
                          Den Infos von @Michael-Wind nach solltest du mittels cansend can0 10A#61000400000000 die Soll-Heizkreistemperatur abfragen können und im candump dann eine Antwort ähnlich 300 22 0A 04 01 66 00 00 erhalten.

                          Zur Bitrate der Wärmepumpe kann ich dir leider nichts sagen, da ich keine Wärmepumpe habe. Da kann dir aber bestimmt @Michael-Wind weiter helfen.

                          Was die Konfiguration angeht hast du ein paar Beiträge weiter oben schon ein Beispiel für die Soll-Heizkreistemperatur. Andere Daten müssten entsprechend dem Muster ähnlich zu implementieren sein.

                          Ich bin aktuell dabei eine Export/Import Funktion im json- und csv-Format einzubauen, wodurch man dann relativ einfach seine Konfiguration teilen kann und andere Konfigurationen dazu laden kann.

                          Weiterhin stelle ich mir vor, dass ich bekannte Configs für z.B. diese Wärmepumpe mit im GitHub Repo ablege und man diese dann einfach über die Adminseite laden kann. Somit wären dann die Einstellungen für einige Geräte für alle Nutzer zentral verfügbar und es muss nicht jeder selbst alles neu zusammenbauen.

                          1 Reply Last reply Reply Quote 1
                          • M
                            Mic208 @cb187 last edited by Mic208

                            @cb187
                            Hallo,

                            anbei mal ein Export zum Ausprobieren, ohne Gewähr.

                            Warnung: Wenn an das System die falschen Befehle gesendet werden, kann sich das gesamte System "Aufhängen". Das kann im best case mit einem Neustart behoben werden, im worst case fragt das System nach und es müssen alle Grundparameter neu eingegeben werden. Das Fachmann-Passwort sollte also bekannt sein und man muss wissen, was man wo eingeben muss!

                            Es handelt sich bei mir um eine Rotex HPSU compact 516, model 141537, mit 11 kW Aussengerät, Baujahr 2013.

                            2021-03-30_system.adapter.canbus.0.json

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

                              @michael-wind kann die Datei nicht laden.Und das rauskopieren und in eine exportierte Datei einfügen und wieder hochladen funzt auch nicht.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                Mic208 @cb187 last edited by

                                Hallo @cb187,

                                stimmt. Ich habe auch versucht in eine zweite Instanz zu importieren. Man kann in einem Dialogfeld die zu importierende Datei auswählen, aber es passiert nichts: Keine Fehlermeldung, kein Eintrag ins Log.
                                Ist wohl eine Sache für @crycode denke ich.

                                Mic

                                C crycode 2 Replies Last reply Reply Quote 0
                                • C
                                  cb187 @Mic208 last edited by cb187

                                  @michael-wind joa.miss der can socket im root laufen oder ist das egal?
                                  In einer anderen vm funktioniert der usb2can jetzt nur in der vm von iobroker nicht.🙈

                                  Aso kannste mal nen screenshot von einem parameter hier posten dann kann ich den mal eingeben.

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    Mic208 @cb187 last edited by

                                    Hallo @cb187,

                                    mit -Ask fragen, dann sollte der richtige Wert in -Read stehen (die auskommentierten Zeilen kannst Du weglassen).
                                    T-WW-Soll-Ask.JPG
                                    T-WW-Soll-Read.JPG
                                    Mic

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

                                      @michael-wind Ja, das ist noch ein Bug in der v1.0.2 und in der nächsten Version behoben.
                                      Mit der neuen Version kommen auch neue Import/Export Funktionen für einzelne Nachrichten, sowie die Möglichkeit vorgefertigte Konfigurationen für bestimmte Geräte zu laden.

                                      @cb187 Bevor du anfängst das alles abzutippen, würde ich dir empfehlen auf die neue Version zu warten.
                                      Ich denke die wird in den nächsten Tagen fertig sein. 😉

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

                                        @crycode ok.Muss noch erstgucken das ich die abfragen im vm von iobroker bekomme.In fhem vm gehts so.🙈

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

                                          @cb187 Deine Hardware muss ein CAN-Interface im System bzw. deiner VM erzeugen und den Namen vom Interface musst du dann im Adapter eintragen. Normalerweise sollte das can0 sein, kann aber je nach System auch abweichen.

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

                                            @crycode can0 wird erzeugt adapter wird auch grün.Aber mit candump can0 bekomme ich unter iobroker nichts im Terminal.Im anderen vm funktionierts.can-utils habe ich auch gleich installiert.ist bestimmt wieder nen kleiner fehler🙈

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            986
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            12
                                            278
                                            28051
                                            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