Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [gelöst]Can-Bus Adapter: keine Verbindung zur Junkers WP

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

[gelöst]Can-Bus Adapter: keine Verbindung zur Junkers WP

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
40 Beiträge 4 Kommentatoren 5.4k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • E emblitz

    Leider keine Verbesserung mit Port 25.

    unter

    candump can0
    

    tut sich nichts..

    Die config.txt rufe ich mit

    sudo nano /boot/config.txt
    

    auf.
    Sie sieht so aus:

    pi@RaspWP:~ sudo nano /boot/config.txtxt
      GNU nano 5.4                                                                           /boot/config.txt
    # Uncomment some or all of these to enable the optional hardware interfaces
    #dtparam=i2c_arm=on
    #dtparam=i2s=on
    dtparam=spi=on
    dtoverlay=mcp2515-can0,oscillator=12000000,interrupt=25
    dtoverlay=spi-bcm2835-overlay
    
    # Uncomment this to enable infrared communication.
    #dtoverlay=gpio-ir,gpio_pin=17
    #dtoverlay=gpio-ir-tx,gpio_pin=18
    
    # Additional overlays and parameters are documented /boot/overlays/README
    
    # Enable audio (loads snd_bcm2835)
    dtparam=audio=on
    
    # Automatically load overlays for detected cameras
    camera_auto_detect=1
    
    # Automatically load overlays for detected DSI displays
    display_auto_detect=1
    
    # Enable DRM VC4 V3D driver
    dtoverlay=vc4-kms-v3d
    max_framebuffers=2
    
    # Run in 64-bit mode
    arm_64bit=1
    
    # Disable compensation for displays with overscan
    disable_overscan=1
    
    [cm4]
    # Enable host mode on the 2711 built-in XHCI USB controller.
    # This line should be removed if the legacy DWC2 controller is required
    # (e.g. for USB device mode) or if USB support is not required.
    otg_mode=1
    
    [all]
    
    [pi4]
    # Run as fast as firmware / board allows
    arm_boost=1
    
    [all]
    
    
    

    Eventl. kannst du kurz checken ob das so i.O. ist ?.

    LG emblitz

    crycodeC Offline
    crycodeC Offline
    crycode
    Developer
    schrieb am zuletzt editiert von
    #5

    @emblitz Sieht soweit erstmal gut aus.
    Was wie sieht die Ausgabe von ip -details -statistics link show can0 aus?

    Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

    E 1 Antwort Letzte Antwort
    0
    • crycodeC crycode

      @emblitz Sieht soweit erstmal gut aus.
      Was wie sieht die Ausgabe von ip -details -statistics link show can0 aus?

      E Offline
      E Offline
      emblitz
      schrieb am zuletzt editiert von
      #6

      @crycode sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

      ip -details -statistics link show can0

      Hallo crycode,

      die Antwort ist:

      pi@RaspWP:~ $ ip -details -statistics link show can0
      4: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT                                                                                                                                                              group default qlen 10
          link/can  promiscuity 0 minmtu 0 maxmtu 0
          can state ERROR-PASSIVE restart-ms 0
                bitrate 19230 sample-point 0.846
                tq 4000 prop-seg 5 phase-seg1 5 phase-seg2 2 sjw 1
                mcp251x: tseg1 3..16 tseg2 2..8 sjw 1..4 brp 1..64 brp-inc 1
                clock 6000000
                re-started bus-errors arbit-lost error-warn error-pass bus-off
                0          0          0          1          1          0         numtx                                                                                                                                                             queues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
          RX: bytes  packets  errors  dropped missed  mcast
          0          0        0       2       0       0
          TX: bytes  packets  errors  dropped carrier collsns
          0          0        0       0       0       0
      
      

      LG
      emblitz

      crycodeC 1 Antwort Letzte Antwort
      0
      • E emblitz

        @crycode sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

        ip -details -statistics link show can0

        Hallo crycode,

        die Antwort ist:

        pi@RaspWP:~ $ ip -details -statistics link show can0
        4: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT                                                                                                                                                              group default qlen 10
            link/can  promiscuity 0 minmtu 0 maxmtu 0
            can state ERROR-PASSIVE restart-ms 0
                  bitrate 19230 sample-point 0.846
                  tq 4000 prop-seg 5 phase-seg1 5 phase-seg2 2 sjw 1
                  mcp251x: tseg1 3..16 tseg2 2..8 sjw 1..4 brp 1..64 brp-inc 1
                  clock 6000000
                  re-started bus-errors arbit-lost error-warn error-pass bus-off
                  0          0          0          1          1          0         numtx                                                                                                                                                             queues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
            RX: bytes  packets  errors  dropped missed  mcast
            0          0        0       2       0       0
            TX: bytes  packets  errors  dropped carrier collsns
            0          0        0       0       0       0
        
        

        LG
        emblitz

        crycodeC Offline
        crycodeC Offline
        crycode
        Developer
        schrieb am zuletzt editiert von
        #7

        @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

        can state ERROR-PASSIVE restart-ms 0

        Dem ERROR-PASSIVE nach, stimmt irgendwas auf dem Bus nicht. Wenn der CAN-Controller zu vieler Fehler erkennt, dann geht er selbst in den ERROR-PASSIVE Modus, um eine Störung des Bus zu verhindern. Dabei kann er noch empfangen, aber nichts mehr senden.

        Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

        E 1 Antwort Letzte Antwort
        0
        • crycodeC crycode

          @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

          can state ERROR-PASSIVE restart-ms 0

          Dem ERROR-PASSIVE nach, stimmt irgendwas auf dem Bus nicht. Wenn der CAN-Controller zu vieler Fehler erkennt, dann geht er selbst in den ERROR-PASSIVE Modus, um eine Störung des Bus zu verhindern. Dabei kann er noch empfangen, aber nichts mehr senden.

          E Offline
          E Offline
          emblitz
          schrieb am zuletzt editiert von
          #8

          @crycode Danke für die Auswertung und die Fehleranalyse. Ich möchte auch nicht auf dem Bus schreiben sondern nur lesen. Genau das funktioniert ja nicht.
          Leider habe ich keinen Plan wie ich mich einer Lösung nähern kann.
          Hast du noch eine Idee?
          LG emblitz

          crycodeC 1 Antwort Letzte Antwort
          0
          • E emblitz

            @crycode Danke für die Auswertung und die Fehleranalyse. Ich möchte auch nicht auf dem Bus schreiben sondern nur lesen. Genau das funktioniert ja nicht.
            Leider habe ich keinen Plan wie ich mich einer Lösung nähern kann.
            Hast du noch eine Idee?
            LG emblitz

            crycodeC Offline
            crycodeC Offline
            crycode
            Developer
            schrieb am zuletzt editiert von
            #9

            @emblitz Auch wenn du nur lesen möchtest, ist "ERROR-PASSIVE" nicht gut und deutet auf Probleme hin.
            Überprüfe am besten noch mal alle Verkablungen, Bitrate etc.
            Eventuell hilft auch eine Masseverbindung (GND) zwischen der Wärmepumpenelektronik und dem CAN-Hat.

            Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

            E 1 Antwort Letzte Antwort
            0
            • crycodeC crycode

              @emblitz Auch wenn du nur lesen möchtest, ist "ERROR-PASSIVE" nicht gut und deutet auf Probleme hin.
              Überprüfe am besten noch mal alle Verkablungen, Bitrate etc.
              Eventuell hilft auch eine Masseverbindung (GND) zwischen der Wärmepumpenelektronik und dem CAN-Hat.

              E Offline
              E Offline
              emblitz
              schrieb am zuletzt editiert von emblitz
              #10

              @crycode
              Hallo,
              ich bin nun einen Riesenschritt weitergekommen.
              Dein Tipp mit der GND-Leitung zwischen einem GND-Pin des Raspberrys und dem GND des Can-Busses der Heizung habe ich befolgt und mit verschiedenen üblichen Can-Bus Geschwindigkeiten experinentiert.
              Nachdem ich die Junkers Can-Busgeschwindigkeit im Raspberry auf 125000 Bit eingestellt habe, hat es endlich funktioniert :-) !
              Ich hoffe es hilft anderen Lesern.
              Die Datenpunkte werden auch in den IOBroker-Objekten angelegt.
              Bis hierhin ein dickes Dankeschön für die Hilfe!

              Der Busmitschnitt sieht nun so aus:

              pi@RaspWP:~ $ candump can0
                can0  00080060   [1]  00
                can0  08074270   [1]  01
                can0  00028270   [1]  00
                can0  08078270   [1]  00
                can0  00080060   [1]  00
                can0  00090270   [1]  56
                can0  0807C270   [1]  01
                can0  09FFC270   [2]  00 8D
                can0  00054270   [1]  00
                can0  00080060   [1]  00
                can0  08000270   [2]  01 C9
                can0  0004C270   [1]  00
                can0  08004270   [2]  02 71
                can0  00048270   [1]  00
                can0  00080060   [1]  00
                can0  08008270   [2]  01 36
                can0  00044270   [1]  00
                can0  0800C270   [2]  03 FF
                can0  00080060   [1]  00
                can0  08010270   [2]  01 BE
                can0  00040270   [1]  00
                can0  08014270   [2]  01 3B
                can0  0003C270   [1]  00
                can0  00080060   [1]  00
                can0  08018270   [2]  01 76
                can0  00038270   [1]  01
                can0  0801C270   [2]  02 80
                can0  00080060   [1]  00
                can0  00034270   [1]  00
                can0  08020270   [2]  02 6A
                can0  001D8431   [1]  01
                can0  08058270   [1]  01
                can0  09FFFFF0   [4]  03 00 06 00
                can0  00030270   [1]  01
                can0  00080060   [1]  00
                can0  0805C270   [1]  01
                can0  0002C270   [1]  00
                can0  08060270   [1]  00
                can0  00028270   [1]  00
                can0  00080060   [1]  00
                can0  08064270   [1]  00
                can0  08010270   [2]  01 BF
                can0  00090270   [1]  56
                can0  08068270   [1]  00
                can0  00080060   [1]  00
                can0  0806C270   [1]  01
                can0  00054270   [1]  00
                can0  08070270   [1]  00
                can0  0004C270   [1]  00
                can0  00080060   [1]  00
                can0  08074270   [1]  01
                can0  00048270   [1]  00
                can0  08078270   [1]  00
                can0  00080060   [1]  00
                can0  00044270   [1]  00
                can0  0807C270   [1]  01
                can0  09FFC270   [2]  00 8D
                can0  00040270   [1]  00
                can0  08020270   [2]  02 69
                can0  00080060   [1]  00
                can0  08000270   [2]  01 C9
                can0  0003C270   [1]  00
                can0  08004270   [2]  02 71
                can0  00038270   [1]  01
                can0  00080060   [1]  00
                can0  08008270   [2]  01 36
                can0  08018270   [2]  01 77
                can0  00034270   [1]  00
                can0  0800C270   [2]  03 FF
                can0  0801C270   [2]  02 7F
                can0  001D8431   [1]  01
                can0  00080060   [1]  00
                can0  08010270   [2]  01 BF
                can0  09FFFFF0   [4]  03 00 06 00
                can0  00030270   [1]  01
                can0  08014270   [2]  01 3B
                can0  0002C270   [1]  00
                can0  00080060   [1]  00
                can0  08018270   [2]  01 77
                can0  00028270   [1]  00
                can0  0801C270   [2]  02 7F
                can0  00080060   [1]  00
                can0  00090270   [1]  56
                can0  08020270   [2]  02 69
                can0  08058270   [1]  01
                can0  00054270   [1]  00
                can0  00080060   [1]  00
                can0  0805C270   [1]  01
                can0  0004C270   [1]  00
                can0  08060270   [1]  00
                can0  00048270   [1]  00
                can0  00080060   [1]  00
                can0  08064270   [1]  00
                can0  00044270   [1]  00
                can0  08068270   [1]  00
                can0  00080060   [1]  00
                can0  0806C270   [1]  01
                can0  00040270   [1]  00
                can0  08070270   [1]  00
                can0  0003C270   [1]  00
                can0  00080060   [1]  00
                can0  08074270   [1]  01
                can0  00038270   [1]  01
                can0  08078270   [1]  00
                can0  00034270   [1]  00
                can0  00080060   [1]  00
                can0  0807C270   [1]  01
                can0  001D8431   [1]  01
              
              

              Kannst du mir kurz mitteilen, ob der Mitschnitt grundsätzlich so plausibel ist?

              Hast du einen Tipp für die Vorgehensweise zum Zuordnen der Can-Bus Adressen zu den im Junkers-Heizungsdisplay angezeigten Funktionen bzw. Temperaturen?

              LG
              emblitz

              crycodeC 1 Antwort Letzte Antwort
              0
              • E emblitz

                @crycode
                Hallo,
                ich bin nun einen Riesenschritt weitergekommen.
                Dein Tipp mit der GND-Leitung zwischen einem GND-Pin des Raspberrys und dem GND des Can-Busses der Heizung habe ich befolgt und mit verschiedenen üblichen Can-Bus Geschwindigkeiten experinentiert.
                Nachdem ich die Junkers Can-Busgeschwindigkeit im Raspberry auf 125000 Bit eingestellt habe, hat es endlich funktioniert :-) !
                Ich hoffe es hilft anderen Lesern.
                Die Datenpunkte werden auch in den IOBroker-Objekten angelegt.
                Bis hierhin ein dickes Dankeschön für die Hilfe!

                Der Busmitschnitt sieht nun so aus:

                pi@RaspWP:~ $ candump can0
                  can0  00080060   [1]  00
                  can0  08074270   [1]  01
                  can0  00028270   [1]  00
                  can0  08078270   [1]  00
                  can0  00080060   [1]  00
                  can0  00090270   [1]  56
                  can0  0807C270   [1]  01
                  can0  09FFC270   [2]  00 8D
                  can0  00054270   [1]  00
                  can0  00080060   [1]  00
                  can0  08000270   [2]  01 C9
                  can0  0004C270   [1]  00
                  can0  08004270   [2]  02 71
                  can0  00048270   [1]  00
                  can0  00080060   [1]  00
                  can0  08008270   [2]  01 36
                  can0  00044270   [1]  00
                  can0  0800C270   [2]  03 FF
                  can0  00080060   [1]  00
                  can0  08010270   [2]  01 BE
                  can0  00040270   [1]  00
                  can0  08014270   [2]  01 3B
                  can0  0003C270   [1]  00
                  can0  00080060   [1]  00
                  can0  08018270   [2]  01 76
                  can0  00038270   [1]  01
                  can0  0801C270   [2]  02 80
                  can0  00080060   [1]  00
                  can0  00034270   [1]  00
                  can0  08020270   [2]  02 6A
                  can0  001D8431   [1]  01
                  can0  08058270   [1]  01
                  can0  09FFFFF0   [4]  03 00 06 00
                  can0  00030270   [1]  01
                  can0  00080060   [1]  00
                  can0  0805C270   [1]  01
                  can0  0002C270   [1]  00
                  can0  08060270   [1]  00
                  can0  00028270   [1]  00
                  can0  00080060   [1]  00
                  can0  08064270   [1]  00
                  can0  08010270   [2]  01 BF
                  can0  00090270   [1]  56
                  can0  08068270   [1]  00
                  can0  00080060   [1]  00
                  can0  0806C270   [1]  01
                  can0  00054270   [1]  00
                  can0  08070270   [1]  00
                  can0  0004C270   [1]  00
                  can0  00080060   [1]  00
                  can0  08074270   [1]  01
                  can0  00048270   [1]  00
                  can0  08078270   [1]  00
                  can0  00080060   [1]  00
                  can0  00044270   [1]  00
                  can0  0807C270   [1]  01
                  can0  09FFC270   [2]  00 8D
                  can0  00040270   [1]  00
                  can0  08020270   [2]  02 69
                  can0  00080060   [1]  00
                  can0  08000270   [2]  01 C9
                  can0  0003C270   [1]  00
                  can0  08004270   [2]  02 71
                  can0  00038270   [1]  01
                  can0  00080060   [1]  00
                  can0  08008270   [2]  01 36
                  can0  08018270   [2]  01 77
                  can0  00034270   [1]  00
                  can0  0800C270   [2]  03 FF
                  can0  0801C270   [2]  02 7F
                  can0  001D8431   [1]  01
                  can0  00080060   [1]  00
                  can0  08010270   [2]  01 BF
                  can0  09FFFFF0   [4]  03 00 06 00
                  can0  00030270   [1]  01
                  can0  08014270   [2]  01 3B
                  can0  0002C270   [1]  00
                  can0  00080060   [1]  00
                  can0  08018270   [2]  01 77
                  can0  00028270   [1]  00
                  can0  0801C270   [2]  02 7F
                  can0  00080060   [1]  00
                  can0  00090270   [1]  56
                  can0  08020270   [2]  02 69
                  can0  08058270   [1]  01
                  can0  00054270   [1]  00
                  can0  00080060   [1]  00
                  can0  0805C270   [1]  01
                  can0  0004C270   [1]  00
                  can0  08060270   [1]  00
                  can0  00048270   [1]  00
                  can0  00080060   [1]  00
                  can0  08064270   [1]  00
                  can0  00044270   [1]  00
                  can0  08068270   [1]  00
                  can0  00080060   [1]  00
                  can0  0806C270   [1]  01
                  can0  00040270   [1]  00
                  can0  08070270   [1]  00
                  can0  0003C270   [1]  00
                  can0  00080060   [1]  00
                  can0  08074270   [1]  01
                  can0  00038270   [1]  01
                  can0  08078270   [1]  00
                  can0  00034270   [1]  00
                  can0  00080060   [1]  00
                  can0  0807C270   [1]  01
                  can0  001D8431   [1]  01
                
                

                Kannst du mir kurz mitteilen, ob der Mitschnitt grundsätzlich so plausibel ist?

                Hast du einen Tipp für die Vorgehensweise zum Zuordnen der Can-Bus Adressen zu den im Junkers-Heizungsdisplay angezeigten Funktionen bzw. Temperaturen?

                LG
                emblitz

                crycodeC Offline
                crycodeC Offline
                crycode
                Developer
                schrieb am zuletzt editiert von
                #11

                @emblitz Ob das plausibel ist, kann ich dir leider nicht sagen, da ich nicht weiß, was für Nachrichten auf dem Bus unterwegs sein müssten. Aber es wird zumindest etwas empfangen mit unterschiedlichen Nachrichten-IDs und -Inhalten. Das sieht gut aus. ;)

                Am besten suchst du im Netz, ob du eine Auflistung der Nachrichten und deren Bedeutung findest.
                Alternativ bleibt nur einen Dump mitzuloggen und dabei gezielt Aktionen an der Steuerung auszulösen. Über die Zeitpunkte wann man was gemacht hat und dazu die in Frage kommenden Daten aus dem Dump sollte sich schon etwas ableiten lassen.
                Die Daten-Bytes im Dump sind in hex-Schreibweise. Vielleicht bekommt man da schon ein paar Temperaturen durch einfaches Umrechnen und vergleichen raus.

                Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                E 1 Antwort Letzte Antwort
                0
                • crycodeC crycode

                  @emblitz Ob das plausibel ist, kann ich dir leider nicht sagen, da ich nicht weiß, was für Nachrichten auf dem Bus unterwegs sein müssten. Aber es wird zumindest etwas empfangen mit unterschiedlichen Nachrichten-IDs und -Inhalten. Das sieht gut aus. ;)

                  Am besten suchst du im Netz, ob du eine Auflistung der Nachrichten und deren Bedeutung findest.
                  Alternativ bleibt nur einen Dump mitzuloggen und dabei gezielt Aktionen an der Steuerung auszulösen. Über die Zeitpunkte wann man was gemacht hat und dazu die in Frage kommenden Daten aus dem Dump sollte sich schon etwas ableiten lassen.
                  Die Daten-Bytes im Dump sind in hex-Schreibweise. Vielleicht bekommt man da schon ein paar Temperaturen durch einfaches Umrechnen und vergleichen raus.

                  E Offline
                  E Offline
                  emblitz
                  schrieb am zuletzt editiert von emblitz
                  #12

                  @crycode
                  Hallo,

                  vielen Dank für die Rückmeldung.

                  Im Netz habe ich leider keine Zuordnung gefunden und möchte diese daher gern selbst erstellen.
                  Ich logge hierfür alle möglichen Datenpunkte deines Adapters in der History mit und habe alle Datenpunkte in ein Flot-Diagramm geworfen um überhaupt zu sehen, was wann in Anhängingkeit z.B. der Leistungsmessung der WP über Mod-Bus oder dem Verlauf der Aussentemperatur etc. passiert.

                  Leider werden die Grafen in den Flot-Trends gar nicht dargestellt.
                  Ich vermute, dass es mit den eckigen Klammern vor und hinter dem Wert der Objektdatenpunkte deines Adapters zusammenhängt.

                  Wie bekomme ich diese eckigen Klammern weg?

                  Ich habe versucht mit dem Parser zu arbeiten, weil er die Werte ohne eckige Klammern darstellt, allerdings werden dann die Werte auf die Zahl vor dem Komma aufgerundet. Ich kann dann natürlich keine Veränderungen mehr sehen.
                  2022-10-27 16 11 13.jpg

                  Wenn mir gelingt, die Werte im Flot-Trend abzubilden, sollte die Zuordnung der Datenpunkte um einiges einfacher sein.
                  Bestimmt hast du hierfür auch eine Lösung :-) ?

                  Eine weitere Frage habe ich noch:
                  Bei der Kontolle der Werte der Datenpunkte deines Adapters ist mir aufgefallen, dass die Werte scheinbar nicht von hex nach dez umgerechent werden?
                  Z.B. habe ich den Datenpunkt 08004270 mit "candump can0" im Terminal mit 02 4F geloggt. Gem. Windowsrechner müsste das dann 591 ergeben. Im Daptenpunkt wird aber 2,79 eingetragen.
                  Kannst du mir bitte auch hier auf die Sprüge helfen, welchen Gedankenfehler ich mache?

                  2022-10-27 16 29 25.jpg

                  2022-10-27 16 31 33.jpg

                  LG
                  emblitz

                  crycodeC 1 Antwort Letzte Antwort
                  0
                  • E emblitz

                    @crycode
                    Hallo,

                    vielen Dank für die Rückmeldung.

                    Im Netz habe ich leider keine Zuordnung gefunden und möchte diese daher gern selbst erstellen.
                    Ich logge hierfür alle möglichen Datenpunkte deines Adapters in der History mit und habe alle Datenpunkte in ein Flot-Diagramm geworfen um überhaupt zu sehen, was wann in Anhängingkeit z.B. der Leistungsmessung der WP über Mod-Bus oder dem Verlauf der Aussentemperatur etc. passiert.

                    Leider werden die Grafen in den Flot-Trends gar nicht dargestellt.
                    Ich vermute, dass es mit den eckigen Klammern vor und hinter dem Wert der Objektdatenpunkte deines Adapters zusammenhängt.

                    Wie bekomme ich diese eckigen Klammern weg?

                    Ich habe versucht mit dem Parser zu arbeiten, weil er die Werte ohne eckige Klammern darstellt, allerdings werden dann die Werte auf die Zahl vor dem Komma aufgerundet. Ich kann dann natürlich keine Veränderungen mehr sehen.
                    2022-10-27 16 11 13.jpg

                    Wenn mir gelingt, die Werte im Flot-Trend abzubilden, sollte die Zuordnung der Datenpunkte um einiges einfacher sein.
                    Bestimmt hast du hierfür auch eine Lösung :-) ?

                    Eine weitere Frage habe ich noch:
                    Bei der Kontolle der Werte der Datenpunkte deines Adapters ist mir aufgefallen, dass die Werte scheinbar nicht von hex nach dez umgerechent werden?
                    Z.B. habe ich den Datenpunkt 08004270 mit "candump can0" im Terminal mit 02 4F geloggt. Gem. Windowsrechner müsste das dann 591 ergeben. Im Daptenpunkt wird aber 2,79 eingetragen.
                    Kannst du mir bitte auch hier auf die Sprüge helfen, welchen Gedankenfehler ich mache?

                    2022-10-27 16 29 25.jpg

                    2022-10-27 16 31 33.jpg

                    LG
                    emblitz

                    crycodeC Offline
                    crycodeC Offline
                    crycode
                    Developer
                    schrieb am zuletzt editiert von
                    #13

                    @emblitz Die Werte in den Eckigen Klammern sind auch erst mal nur die Rohdaten, sprich die Werte der einzelnen Bytes aus den Daten der CAN-Nachricht.
                    Beispiel: [1,6] heißt in Byte 0 der Nachricht stand eine 1 und in Byte 1 eine 6. Diese musst du in eine Zahl umwandeln.

                    Bei 2 Byte würde ich auf einen 16 Bit Integer Wert tippen (1 Byte = 8 Bit).
                    Also bleibt für den Parser als Datentyp int16 BE, int16 LE, uint16 BE oder uint16 LE.
                    int sind Ganzzahlen mit Vorzeichen (+ oder -), uint sind vorzeichenlose Ganzzahlen (nur +). Die 16 steht in dem Fall für 16 Bit (2 Byte). int16 kann von Werte zwischen -32768 und 32767 annehmen. uint16 von 0 bis 65535.
                    BE und LE geben die Byte-Reihenfolge an. Oftmals wird BE genutzt, kann aber auch LE sein.

                    [1,6] wäre als...

                    • int16BE 262
                    • int16LE 1537
                    • uint16BE 262
                    • uint16LE 1537

                    Zum Testen kannst du für eine Nachricht auch mehrere Parser mit den verschiedenen Datentypen anlegen und damit gleich mehrfach gucken ob irgendwo was sinnvolles raus kommt.

                    Kann natürlich auch sein, dass sich die Werte gar nicht so einfach aus den Rohdaten lesen lassen, sondern man ggf. einzelne Bits beachten muss oder so...

                    @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                    Datenpunkt 08004270 mit "candump can0" im Terminal mit 02 4F geloggt. Gem. Windowsrechner müsste das dann 591 ergeben. Im Daptenpunkt wird aber 2,79 eingetragen.

                    Das hängt damit zusammen, dass die beiden Bytes einzeln betrachtet werden. Das Komma ist in der Darstellung erst mal nur der "Trenner der Bytes".
                    02 (hex) = 2 (dez)
                    4F (hex) = 79 (dez)

                    Die Umrechnung vom Windows-Rechner wäre in dem Fall wie das Lesen als uint16BE. :)

                    Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                    E 2 Antworten Letzte Antwort
                    0
                    • crycodeC crycode

                      @emblitz Die Werte in den Eckigen Klammern sind auch erst mal nur die Rohdaten, sprich die Werte der einzelnen Bytes aus den Daten der CAN-Nachricht.
                      Beispiel: [1,6] heißt in Byte 0 der Nachricht stand eine 1 und in Byte 1 eine 6. Diese musst du in eine Zahl umwandeln.

                      Bei 2 Byte würde ich auf einen 16 Bit Integer Wert tippen (1 Byte = 8 Bit).
                      Also bleibt für den Parser als Datentyp int16 BE, int16 LE, uint16 BE oder uint16 LE.
                      int sind Ganzzahlen mit Vorzeichen (+ oder -), uint sind vorzeichenlose Ganzzahlen (nur +). Die 16 steht in dem Fall für 16 Bit (2 Byte). int16 kann von Werte zwischen -32768 und 32767 annehmen. uint16 von 0 bis 65535.
                      BE und LE geben die Byte-Reihenfolge an. Oftmals wird BE genutzt, kann aber auch LE sein.

                      [1,6] wäre als...

                      • int16BE 262
                      • int16LE 1537
                      • uint16BE 262
                      • uint16LE 1537

                      Zum Testen kannst du für eine Nachricht auch mehrere Parser mit den verschiedenen Datentypen anlegen und damit gleich mehrfach gucken ob irgendwo was sinnvolles raus kommt.

                      Kann natürlich auch sein, dass sich die Werte gar nicht so einfach aus den Rohdaten lesen lassen, sondern man ggf. einzelne Bits beachten muss oder so...

                      @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                      Datenpunkt 08004270 mit "candump can0" im Terminal mit 02 4F geloggt. Gem. Windowsrechner müsste das dann 591 ergeben. Im Daptenpunkt wird aber 2,79 eingetragen.

                      Das hängt damit zusammen, dass die beiden Bytes einzeln betrachtet werden. Das Komma ist in der Darstellung erst mal nur der "Trenner der Bytes".
                      02 (hex) = 2 (dez)
                      4F (hex) = 79 (dez)

                      Die Umrechnung vom Windows-Rechner wäre in dem Fall wie das Lesen als uint16BE. :)

                      E Offline
                      E Offline
                      emblitz
                      schrieb am zuletzt editiert von
                      #14

                      @crycode
                      Wow, vielen Dank für die Aufklärung.
                      Jetzt ist bon ich im einiges schlauer und kenne die Zusammenhänge.
                      Ich hatte immer die Zahlen in den eckigen Klammern vergeblich in meinem Heizungsdisplay gesucht.
                      Nochmals tausend Dank für die kompetente Hilfe.
                      Wenn ich die Codes entschlüsselt habe stelle ich sie gern hier zur Verfügung..

                      LG
                      emblitz

                      1 Antwort Letzte Antwort
                      1
                      • crycodeC crycode

                        @emblitz Die Werte in den Eckigen Klammern sind auch erst mal nur die Rohdaten, sprich die Werte der einzelnen Bytes aus den Daten der CAN-Nachricht.
                        Beispiel: [1,6] heißt in Byte 0 der Nachricht stand eine 1 und in Byte 1 eine 6. Diese musst du in eine Zahl umwandeln.

                        Bei 2 Byte würde ich auf einen 16 Bit Integer Wert tippen (1 Byte = 8 Bit).
                        Also bleibt für den Parser als Datentyp int16 BE, int16 LE, uint16 BE oder uint16 LE.
                        int sind Ganzzahlen mit Vorzeichen (+ oder -), uint sind vorzeichenlose Ganzzahlen (nur +). Die 16 steht in dem Fall für 16 Bit (2 Byte). int16 kann von Werte zwischen -32768 und 32767 annehmen. uint16 von 0 bis 65535.
                        BE und LE geben die Byte-Reihenfolge an. Oftmals wird BE genutzt, kann aber auch LE sein.

                        [1,6] wäre als...

                        • int16BE 262
                        • int16LE 1537
                        • uint16BE 262
                        • uint16LE 1537

                        Zum Testen kannst du für eine Nachricht auch mehrere Parser mit den verschiedenen Datentypen anlegen und damit gleich mehrfach gucken ob irgendwo was sinnvolles raus kommt.

                        Kann natürlich auch sein, dass sich die Werte gar nicht so einfach aus den Rohdaten lesen lassen, sondern man ggf. einzelne Bits beachten muss oder so...

                        @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                        Datenpunkt 08004270 mit "candump can0" im Terminal mit 02 4F geloggt. Gem. Windowsrechner müsste das dann 591 ergeben. Im Daptenpunkt wird aber 2,79 eingetragen.

                        Das hängt damit zusammen, dass die beiden Bytes einzeln betrachtet werden. Das Komma ist in der Darstellung erst mal nur der "Trenner der Bytes".
                        02 (hex) = 2 (dez)
                        4F (hex) = 79 (dez)

                        Die Umrechnung vom Windows-Rechner wäre in dem Fall wie das Lesen als uint16BE. :)

                        E Offline
                        E Offline
                        emblitz
                        schrieb am zuletzt editiert von
                        #15

                        @crycode
                        Hallo crycode,

                        ich habe für jede Can-Nachricht d.h. für jeden Hexwert vier Parser mit int16 BE, int16 LE, uint16 BE und uint16 LE erstellt.
                        Dies sind die einzigen brauchbaren Datentypen aus denen Dezimalzahlen hervorgehen.
                        Funktionierendes Beispiel:
                        2022-10-28 19 17 53.jpg

                        Leider komme ich bei keinem der Parser-Dezimalwerte auf einen Wert, welcher in dem Heizungsdisplay angezeigt wird.
                        Ich habe die Werte halbiert und gezehnelt sowie verdoppelt usw.

                        Frage 1:
                        Du hattest geschrieben, dass es auch möglich sein kann, dass nur einzelne Bytes in der Heizung verwendet werden.
                        Wie kann ich im Parser z.B. nur das zweite Byte berechnen lassen?

                        Frage 2:
                        Bei einigen Hexwerten scheint die Berechnung scheinbar nicht zu funktioniern, obwohl ich alle Can-Nachrichten mit den o.g. Datentypen im Parser ( int16 BE, int16 LE, uint16 BE und uint16 LE) identisch umrechnen lasse.
                        Nicht funktionierendes Beispiel:
                        2022-10-28 19 44 26.jpg
                        Hast du dafür eine Erklärung?

                        Die Sache gestaltet sich schwerer als gedacht, weil ich trotz intensiver Recherche vermutl. noch immer ein Verständnisproblem habe.

                        LG
                        emblitz

                        crycodeC 1 Antwort Letzte Antwort
                        0
                        • E emblitz

                          @crycode
                          Hallo crycode,

                          ich habe für jede Can-Nachricht d.h. für jeden Hexwert vier Parser mit int16 BE, int16 LE, uint16 BE und uint16 LE erstellt.
                          Dies sind die einzigen brauchbaren Datentypen aus denen Dezimalzahlen hervorgehen.
                          Funktionierendes Beispiel:
                          2022-10-28 19 17 53.jpg

                          Leider komme ich bei keinem der Parser-Dezimalwerte auf einen Wert, welcher in dem Heizungsdisplay angezeigt wird.
                          Ich habe die Werte halbiert und gezehnelt sowie verdoppelt usw.

                          Frage 1:
                          Du hattest geschrieben, dass es auch möglich sein kann, dass nur einzelne Bytes in der Heizung verwendet werden.
                          Wie kann ich im Parser z.B. nur das zweite Byte berechnen lassen?

                          Frage 2:
                          Bei einigen Hexwerten scheint die Berechnung scheinbar nicht zu funktioniern, obwohl ich alle Can-Nachrichten mit den o.g. Datentypen im Parser ( int16 BE, int16 LE, uint16 BE und uint16 LE) identisch umrechnen lasse.
                          Nicht funktionierendes Beispiel:
                          2022-10-28 19 44 26.jpg
                          Hast du dafür eine Erklärung?

                          Die Sache gestaltet sich schwerer als gedacht, weil ich trotz intensiver Recherche vermutl. noch immer ein Verständnisproblem habe.

                          LG
                          emblitz

                          crycodeC Offline
                          crycodeC Offline
                          crycode
                          Developer
                          schrieb am zuletzt editiert von
                          #16

                          @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                          Du hattest geschrieben, dass es auch möglich sein kann, dass nur einzelne Bytes in der Heizung verwendet werden.
                          Wie kann ich im Parser z.B. nur das zweite Byte berechnen lassen?

                          Um nur ein Byte auslesen zu lassen, kannst du einen int8 oder uint8 Parser nutzen. Dazu dann den Offset entsprechend setzen (Offset 0 = 1. Byte, 1 = 2. Byte, etc.). Da bekommst du dann Werte von -128 bis 127 bzw. 0 bis 255 raus.

                          Weiterhin kannst du einzelne Bits mit dem boolean Parser auslesen. Dazu musst du dann über die Bitmaske festlegen, welche Bits du auslesen willst. Für alle 8 Bit eines Bytes einzeln bräuchtest du dann also 8 boolean-Parser.

                          @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                          Bei einigen Hexwerten scheint die Berechnung scheinbar nicht zu funktioniern, obwohl ich alle Can-Nachrichten mit den o.g. Datentypen im Parser ( int16 BE, int16 LE, uint16 BE und uint16 LE) identisch umrechnen lasse.

                          Wurden die entsprechenden Nachrichten vielleicht nach dem Anlegen der Parser noch nicht wieder empfangen? Die Parser arbeiten nur beim Empfangen der Nachricht und nicht im Nachhinein.
                          Ansonsten mal ins Log schauen, ob dort irgendwelche Fehler gemeldet werden.


                          Wie bereits geschrieben: Am besten mal versuchen über den Zeitpunkt die Nachrichten zuordnen zu können. Also z.B. beobachten wann sich eine Temperatur in der Anzeige ändert und passend zu dem Zeitpunkt die CAN-Nachricht finden. Dann wüsste man zumindest schon mal, dass in Nachricht xyz in irgendeiner Form diese Temperatur drin stecken muss.


                          Vielleicht kannst du auch einfach mal (anonym) den Support von Junkers anschreiben und fragen, ob sie Infos zu dem Protokoll preisgeben. Mehr als nein sagen können sie ja nicht. ;)

                          Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                          E 2 Antworten Letzte Antwort
                          0
                          • crycodeC crycode

                            @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                            Du hattest geschrieben, dass es auch möglich sein kann, dass nur einzelne Bytes in der Heizung verwendet werden.
                            Wie kann ich im Parser z.B. nur das zweite Byte berechnen lassen?

                            Um nur ein Byte auslesen zu lassen, kannst du einen int8 oder uint8 Parser nutzen. Dazu dann den Offset entsprechend setzen (Offset 0 = 1. Byte, 1 = 2. Byte, etc.). Da bekommst du dann Werte von -128 bis 127 bzw. 0 bis 255 raus.

                            Weiterhin kannst du einzelne Bits mit dem boolean Parser auslesen. Dazu musst du dann über die Bitmaske festlegen, welche Bits du auslesen willst. Für alle 8 Bit eines Bytes einzeln bräuchtest du dann also 8 boolean-Parser.

                            @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                            Bei einigen Hexwerten scheint die Berechnung scheinbar nicht zu funktioniern, obwohl ich alle Can-Nachrichten mit den o.g. Datentypen im Parser ( int16 BE, int16 LE, uint16 BE und uint16 LE) identisch umrechnen lasse.

                            Wurden die entsprechenden Nachrichten vielleicht nach dem Anlegen der Parser noch nicht wieder empfangen? Die Parser arbeiten nur beim Empfangen der Nachricht und nicht im Nachhinein.
                            Ansonsten mal ins Log schauen, ob dort irgendwelche Fehler gemeldet werden.


                            Wie bereits geschrieben: Am besten mal versuchen über den Zeitpunkt die Nachrichten zuordnen zu können. Also z.B. beobachten wann sich eine Temperatur in der Anzeige ändert und passend zu dem Zeitpunkt die CAN-Nachricht finden. Dann wüsste man zumindest schon mal, dass in Nachricht xyz in irgendeiner Form diese Temperatur drin stecken muss.


                            Vielleicht kannst du auch einfach mal (anonym) den Support von Junkers anschreiben und fragen, ob sie Infos zu dem Protokoll preisgeben. Mehr als nein sagen können sie ja nicht. ;)

                            E Offline
                            E Offline
                            emblitz
                            schrieb am zuletzt editiert von
                            #17

                            @crycode
                            Perfekt, wird heute Abend ausprobiert.

                            Das die Datenpunkte von der Heizung nicht aktualisiert werden, hatte ich auch schon vermutet. Ich hatte bislang immer den Raspberry neu gestartet, damit er die bestehenden Werte der Datenpunkte neu berechnet. Das hat aber nicht funktioniert Müsste sich vielleicht ändern, wenn ich die Heizung neu starte,

                            Wir immer ein dickes Dankeschön für deine Mühe!

                            LG emblitz

                            Pedder007P 1 Antwort Letzte Antwort
                            0
                            • E emblitz

                              @crycode
                              Perfekt, wird heute Abend ausprobiert.

                              Das die Datenpunkte von der Heizung nicht aktualisiert werden, hatte ich auch schon vermutet. Ich hatte bislang immer den Raspberry neu gestartet, damit er die bestehenden Werte der Datenpunkte neu berechnet. Das hat aber nicht funktioniert Müsste sich vielleicht ändern, wenn ich die Heizung neu starte,

                              Wir immer ein dickes Dankeschön für deine Mühe!

                              LG emblitz

                              Pedder007P Offline
                              Pedder007P Offline
                              Pedder007
                              schrieb am zuletzt editiert von
                              #18

                              @emblitz @crycode, klasse Fred hier da muss ich mich direkt ranhängen, da bei uns gerade eine Bosch Compress 7800i LW in Betrieb gegangen ist und mir Ähnliches vorschwebt. Ich gehe auch davon aus, dass sich die CAN Protokolle von Bosch u Junkers nicht groß unterscheiden, da das ja eh' mittlerweile ein Laden ist und Junkers das evtl, auch schon früher von Bosch dazu gekauft hat ;-)

                              Bei meinen Recherchen bzgl. der Entschlüsselung der Hex-Codes bin ich hierrüber gestolpert:
                              https://www.mikrocontroller.net/topic/81265?page=single
                              Ist extrem lang der Fred, aber man findet darin (etwas verteilt) ganz viele Zuordnungen der Hex Codes zu Parametern des Heizsystems und viele entsprechend Beispiele.
                              Ich bin von Hause aus E-Techniker, allerdings mein Leben lang in der IT unterwegs, muss aber auch sagen, dass wenn man noch nie etwas mit CAN zu tun hatte, dass doch auf jeden Fall einen deutlichen Einarbeitungsaufwand erfordert ;-)

                              However, der Waveshare RS485 CAN HAT liegt schon hier und ich hoffe in der Weihnachtspause dafür etwas Zeit zu finden.
                              Spannend bleibt dann aber auch zu schauen, ob sich über das noch zu liefernde Internetmodul (Bosch Prognose: Januar) und dem entsprechenden Adapter hier evtl. auch eine einfachere Lösung realisieren lässt.

                              Ich klinke mich wieder ein, wenn ich hier etwas weiter bin :+1:

                              Pedder
                              All @Proxmox/Bookworm auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
                              Unifi, Motioneye/3Reolinks, PiHole, Bosch 7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus

                              E 1 Antwort Letzte Antwort
                              0
                              • Pedder007P Pedder007

                                @emblitz @crycode, klasse Fred hier da muss ich mich direkt ranhängen, da bei uns gerade eine Bosch Compress 7800i LW in Betrieb gegangen ist und mir Ähnliches vorschwebt. Ich gehe auch davon aus, dass sich die CAN Protokolle von Bosch u Junkers nicht groß unterscheiden, da das ja eh' mittlerweile ein Laden ist und Junkers das evtl, auch schon früher von Bosch dazu gekauft hat ;-)

                                Bei meinen Recherchen bzgl. der Entschlüsselung der Hex-Codes bin ich hierrüber gestolpert:
                                https://www.mikrocontroller.net/topic/81265?page=single
                                Ist extrem lang der Fred, aber man findet darin (etwas verteilt) ganz viele Zuordnungen der Hex Codes zu Parametern des Heizsystems und viele entsprechend Beispiele.
                                Ich bin von Hause aus E-Techniker, allerdings mein Leben lang in der IT unterwegs, muss aber auch sagen, dass wenn man noch nie etwas mit CAN zu tun hatte, dass doch auf jeden Fall einen deutlichen Einarbeitungsaufwand erfordert ;-)

                                However, der Waveshare RS485 CAN HAT liegt schon hier und ich hoffe in der Weihnachtspause dafür etwas Zeit zu finden.
                                Spannend bleibt dann aber auch zu schauen, ob sich über das noch zu liefernde Internetmodul (Bosch Prognose: Januar) und dem entsprechenden Adapter hier evtl. auch eine einfachere Lösung realisieren lässt.

                                Ich klinke mich wieder ein, wenn ich hier etwas weiter bin :+1:

                                E Offline
                                E Offline
                                emblitz
                                schrieb am zuletzt editiert von emblitz
                                #19

                                Hallo Pedder007,
                                schön einen Gleichgesinnten zu treffen.
                                Hoffentlich können wir uns gegenseitig weiterhelfen.
                                Ich habe Junkers (Bosch) mit einer Auflistung der Canbus-Adressen angeschrieben. Leider machen die Zuordnung und Umrechnung nicht öffentlich.
                                Eine Zuordnung habe ich bislang zwar für einige wenige Werte in den Trends aus Flot optisch herstellen können, aber keine passende plausible Umrechnung gefunden.
                                Die Can-Adressen im verlinkten Mikrocontrollerforum unterscheiden sich leider komplett von den Adressen meiner Heizung. Ansonsten hatte ich keine weiteren brauchbaren Infos im Internet gefunden.
                                Ich hoffe, dass die Adressen unserer beiden Heizung gleich sind. Einen Mitschnitt meiner Can-Adressen findest du weiter oben. .
                                Melde dich gern, wenn du soweit bist oder Fragen hast.
                                LG emblitz

                                1 Antwort Letzte Antwort
                                1
                                • crycodeC crycode

                                  @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                                  Du hattest geschrieben, dass es auch möglich sein kann, dass nur einzelne Bytes in der Heizung verwendet werden.
                                  Wie kann ich im Parser z.B. nur das zweite Byte berechnen lassen?

                                  Um nur ein Byte auslesen zu lassen, kannst du einen int8 oder uint8 Parser nutzen. Dazu dann den Offset entsprechend setzen (Offset 0 = 1. Byte, 1 = 2. Byte, etc.). Da bekommst du dann Werte von -128 bis 127 bzw. 0 bis 255 raus.

                                  Weiterhin kannst du einzelne Bits mit dem boolean Parser auslesen. Dazu musst du dann über die Bitmaske festlegen, welche Bits du auslesen willst. Für alle 8 Bit eines Bytes einzeln bräuchtest du dann also 8 boolean-Parser.

                                  @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                                  Bei einigen Hexwerten scheint die Berechnung scheinbar nicht zu funktioniern, obwohl ich alle Can-Nachrichten mit den o.g. Datentypen im Parser ( int16 BE, int16 LE, uint16 BE und uint16 LE) identisch umrechnen lasse.

                                  Wurden die entsprechenden Nachrichten vielleicht nach dem Anlegen der Parser noch nicht wieder empfangen? Die Parser arbeiten nur beim Empfangen der Nachricht und nicht im Nachhinein.
                                  Ansonsten mal ins Log schauen, ob dort irgendwelche Fehler gemeldet werden.


                                  Wie bereits geschrieben: Am besten mal versuchen über den Zeitpunkt die Nachrichten zuordnen zu können. Also z.B. beobachten wann sich eine Temperatur in der Anzeige ändert und passend zu dem Zeitpunkt die CAN-Nachricht finden. Dann wüsste man zumindest schon mal, dass in Nachricht xyz in irgendeiner Form diese Temperatur drin stecken muss.


                                  Vielleicht kannst du auch einfach mal (anonym) den Support von Junkers anschreiben und fragen, ob sie Infos zu dem Protokoll preisgeben. Mehr als nein sagen können sie ja nicht. ;)

                                  E Offline
                                  E Offline
                                  emblitz
                                  schrieb am zuletzt editiert von emblitz
                                  #20

                                  @crycode

                                  Hallo crycode,

                                  kann dein Can-Bus Adapter die Hex-Werte direkt mittels einer Formel umrechnen und in das geparste Objekt/Datenpunkt schreiben ?
                                  Ich möchte einen Hex-Wert mittels uint16be nach Dez umrechnen und dann in der folgenden Formel umrechnen. F4 ist dabei das Ergebnis der Wandlung durch den Parser von Hex nach Dez mit uint16be.

                                  =105,81916402087-(0,28577699398241F4)+(0,000356191341049951F4F4)-(0,00000020925659550495F4F4F4)

                                  Eventl. funktioniert die Formel in der Custom-Einstellung des Parsers?
                                  Ich weiß nur nicht was ich hier eintragen soll.

                                  Ich konnte zwischenzeitlich bereits einige Can-Bus Adressen WP-Funktionen zuordnen und bin mit anderen Wärmepumpenspezis in diesem Forum etwas weitergekommen.
                                  https://www.haustechnikdialog.de/Forum/p/3453047
                                  Die Wandlung der Dez-Werte aus dem Parser mit uint16be scheint sich gut mit der o.g. Formel z.B. bei der Vorlauftemperatur umrechnen zu lassen.
                                  Die Formel stammt aus dem Fhem-Forum
                                  https://forum.fhem.de/index.php/topic,47508.150.html

                                  LG emblitz

                                  crycodeC 1 Antwort Letzte Antwort
                                  0
                                  • E emblitz

                                    @crycode

                                    Hallo crycode,

                                    kann dein Can-Bus Adapter die Hex-Werte direkt mittels einer Formel umrechnen und in das geparste Objekt/Datenpunkt schreiben ?
                                    Ich möchte einen Hex-Wert mittels uint16be nach Dez umrechnen und dann in der folgenden Formel umrechnen. F4 ist dabei das Ergebnis der Wandlung durch den Parser von Hex nach Dez mit uint16be.

                                    =105,81916402087-(0,28577699398241F4)+(0,000356191341049951F4F4)-(0,00000020925659550495F4F4F4)

                                    Eventl. funktioniert die Formel in der Custom-Einstellung des Parsers?
                                    Ich weiß nur nicht was ich hier eintragen soll.

                                    Ich konnte zwischenzeitlich bereits einige Can-Bus Adressen WP-Funktionen zuordnen und bin mit anderen Wärmepumpenspezis in diesem Forum etwas weitergekommen.
                                    https://www.haustechnikdialog.de/Forum/p/3453047
                                    Die Wandlung der Dez-Werte aus dem Parser mit uint16be scheint sich gut mit der o.g. Formel z.B. bei der Vorlauftemperatur umrechnen zu lassen.
                                    Die Formel stammt aus dem Fhem-Forum
                                    https://forum.fhem.de/index.php/topic,47508.150.html

                                    LG emblitz

                                    crycodeC Offline
                                    crycodeC Offline
                                    crycode
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #21

                                    @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                                    =105,81916402087-(0,28577699398241F4)+(0,000356191341049951F4F4)-(0,00000020925659550495F4F4F4)

                                    Das sollte mit einem Custom-Parser funktionieren.
                                    Dazu musst du erst mal den Wert aus dem buffer in eine Variable lesen und kannst damit dann rechnen.
                                    Beispiel für das eigene Script zum Lesen:

                                    const f4 = buffer.readUInt16BE(0);
                                    value = 105,81916402087 - (0,28577699398241 * f4) + (0,000356191341049951 * f4 * f4) - (0,00000020925659550495 * f4 * f4 * f4);
                                    

                                    buffer ist dabei ein Buffer Objekt mit den Daten-Bytes aus der CAN-Nachricht und wird vom Adapter gefüllt.
                                    In value musst du den Wert schreiben, den der Parser zurückgeben soll.
                                    Der Rest ist Standard JavaScript. Diese zwei Zeilen sollten da reichen.

                                    Die 0 beim buffer.readUInt16BE ist dabei die Stelle im Buffer, von der du lesen willst. Das musst du ggf. anpassen. Bei den vordefinierten Parsern ist das der Offset.

                                    Beim eigenen Script zum Schreiben kannst du einfach

                                    //
                                    

                                    rein schreiben, wenn du nichts senden möchtest. Dann meckert der Adapter auch nicht, dass das Script fehlen würde. ;)

                                    Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                                    E 1 Antwort Letzte Antwort
                                    0
                                    • crycodeC crycode

                                      @emblitz sagte in Can-Bus Adapter: keine Verbindung zur Junkers Wärmepumpe:

                                      =105,81916402087-(0,28577699398241F4)+(0,000356191341049951F4F4)-(0,00000020925659550495F4F4F4)

                                      Das sollte mit einem Custom-Parser funktionieren.
                                      Dazu musst du erst mal den Wert aus dem buffer in eine Variable lesen und kannst damit dann rechnen.
                                      Beispiel für das eigene Script zum Lesen:

                                      const f4 = buffer.readUInt16BE(0);
                                      value = 105,81916402087 - (0,28577699398241 * f4) + (0,000356191341049951 * f4 * f4) - (0,00000020925659550495 * f4 * f4 * f4);
                                      

                                      buffer ist dabei ein Buffer Objekt mit den Daten-Bytes aus der CAN-Nachricht und wird vom Adapter gefüllt.
                                      In value musst du den Wert schreiben, den der Parser zurückgeben soll.
                                      Der Rest ist Standard JavaScript. Diese zwei Zeilen sollten da reichen.

                                      Die 0 beim buffer.readUInt16BE ist dabei die Stelle im Buffer, von der du lesen willst. Das musst du ggf. anpassen. Bei den vordefinierten Parsern ist das der Offset.

                                      Beim eigenen Script zum Schreiben kannst du einfach

                                      //
                                      

                                      rein schreiben, wenn du nichts senden möchtest. Dann meckert der Adapter auch nicht, dass das Script fehlen würde. ;)

                                      E Offline
                                      E Offline
                                      emblitz
                                      schrieb am zuletzt editiert von emblitz
                                      #22

                                      @crycode
                                      Vielen Dank für die turoboschnelle Antwort!

                                      Ich habe dein Script so übernommen:
                                      9f377dfc-153e-4b3e-a4ab-50be9e442cfd-image.png

                                      Der Datenpunkt wo jetzt die 105 steht sollte mit ca. 24 nach der Umrechnung geschrieben werden.
                                      3e55e525-236f-49d1-a422-7d7ffe149559-image.png

                                      Umrechnung mit Calc:
                                      1a52dbc2-68a5-4627-917c-c730fb069178-image.png

                                      Könntest du bitte nochmal schauen was ich falsch gemacht habe?
                                      Die 105 stehen da noch von vorherigen Versuchen und haben sich nicht verändert.
                                      Wenn ich das Lesescript kompl lösche, ändert sich auch nichts an der 105.

                                      LG emblitz

                                      crycodeC 1 Antwort Letzte Antwort
                                      0
                                      • E emblitz

                                        @crycode
                                        Vielen Dank für die turoboschnelle Antwort!

                                        Ich habe dein Script so übernommen:
                                        9f377dfc-153e-4b3e-a4ab-50be9e442cfd-image.png

                                        Der Datenpunkt wo jetzt die 105 steht sollte mit ca. 24 nach der Umrechnung geschrieben werden.
                                        3e55e525-236f-49d1-a422-7d7ffe149559-image.png

                                        Umrechnung mit Calc:
                                        1a52dbc2-68a5-4627-917c-c730fb069178-image.png

                                        Könntest du bitte nochmal schauen was ich falsch gemacht habe?
                                        Die 105 stehen da noch von vorherigen Versuchen und haben sich nicht verändert.
                                        Wenn ich das Lesescript kompl lösche, ändert sich auch nichts an der 105.

                                        LG emblitz

                                        crycodeC Offline
                                        crycodeC Offline
                                        crycode
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #23

                                        @emblitz Ups... ersetz mal in dem Skript alle Kommas in den Zahlen gegen einen Punkt. Hab ich beim Kopieren deiner Formel übersehen.
                                        Da müsste im Log auch ein Fehler dazu aufgetaucht sein.

                                        Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                                        E 1 Antwort Letzte Antwort
                                        0
                                        • crycodeC crycode

                                          @emblitz Ups... ersetz mal in dem Skript alle Kommas in den Zahlen gegen einen Punkt. Hab ich beim Kopieren deiner Formel übersehen.
                                          Da müsste im Log auch ein Fehler dazu aufgetaucht sein.

                                          E Offline
                                          E Offline
                                          emblitz
                                          schrieb am zuletzt editiert von emblitz
                                          #24

                                          @crycode
                                          So, habe die Kommas gegen Punkte ersetzt. Lief dann noch nicht.
                                          Habe dann den Namen verkürzt
                                          01e0c172-ec5c-4052-8ff1-4b25b2f538a8-image.png

                                          und die Funktion "Verwende Raw States" aktivert.
                                          Ist das so richtig?
                                          3194ff69-dd08-4e9f-b11a-98a2d7123f66-image.png

                                          Jetzt läuft es.
                                          Bis hierhin ein dickes Danke für die kompetente Hilfe!!!

                                          LG
                                          emblitz

                                          crycodeC 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          820

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe