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.9k

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

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

[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.
  • 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
                  • E emblitz

                    @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 Offline
                    crycodeC Offline
                    crycode
                    Developer
                    schrieb am zuletzt editiert von
                    #25

                    @emblitz Die Länge der Namen sollte damit nichts zu tun haben.

                    Auch die Option "Verwende Raw States" wird für die Parser nicht benötigt. Die Raw States sind für externe Verarbeitungen (z.B. in einem eigenen Skript im JavaScript Adapter) gedacht.
                    Wenn man die nicht braucht ist es besser die Raw States zu deaktivieren, da diese (besonders bei sehr aktiven Bus-Systemen) zu vielen State-Änderungen führen können.

                    P.S.: Freut mich zu lesen, dass du Fortschritte beim Auswerten der Daten machst. :)

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

                    E 1 Antwort Letzte Antwort
                    0
                    • crycodeC crycode

                      @emblitz Die Länge der Namen sollte damit nichts zu tun haben.

                      Auch die Option "Verwende Raw States" wird für die Parser nicht benötigt. Die Raw States sind für externe Verarbeitungen (z.B. in einem eigenen Skript im JavaScript Adapter) gedacht.
                      Wenn man die nicht braucht ist es besser die Raw States zu deaktivieren, da diese (besonders bei sehr aktiven Bus-Systemen) zu vielen State-Änderungen führen können.

                      P.S.: Freut mich zu lesen, dass du Fortschritte beim Auswerten der Daten machst. :)

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

                      @crycode
                      Ja, dein Adapter ist flexibel anpassbar und einfach großartig. Respekt vor dieser tollen Arbeit!
                      Die Raw States werden wieder deaktiviert. Ich hatte das Gefühl, dass erst nach der Aktivierung die Werte umgerechnet wurden. Ich werde es im Auge behalten.

                      Eine Frage hat sich noch ergeben.
                      Kann ich in den verschiedenen Parsern innerhalb einer Can-Bus Adresse oder auch in verschiedenen Parsern anderer Can-Bus Adressen immer die das identische Script verwenden, d.h. darf in allen Scipts immer F4 stehen oder darf F4 nur einmalig in einem Script verwendet werden?

                      LG emblitz

                      crycodeC 1 Antwort Letzte Antwort
                      0
                      • E emblitz

                        @crycode
                        Ja, dein Adapter ist flexibel anpassbar und einfach großartig. Respekt vor dieser tollen Arbeit!
                        Die Raw States werden wieder deaktiviert. Ich hatte das Gefühl, dass erst nach der Aktivierung die Werte umgerechnet wurden. Ich werde es im Auge behalten.

                        Eine Frage hat sich noch ergeben.
                        Kann ich in den verschiedenen Parsern innerhalb einer Can-Bus Adresse oder auch in verschiedenen Parsern anderer Can-Bus Adressen immer die das identische Script verwenden, d.h. darf in allen Scipts immer F4 stehen oder darf F4 nur einmalig in einem Script verwendet werden?

                        LG emblitz

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

                        @emblitz Danke für das gute Feedback :)

                        In den Skripten kannst du verwenden was du willst und auch z.B. den gleichen Namen für Variablen mehrfach in mehreren Parser-Skripten nutzen. Wichtig ist nur, dass bei einem lesen-Skript der Wert oder undefined in die Variable value geschrieben wird und bei einem schreiben-Skript die Variable buffer entsprechend gesetzt wird.
                        Jedes Skript läuft in einem eigenen abgesicherten Kontext und es kann keine Überschneidungen zwischen verschiedenen Parsern geben. (Mit Ausnahme vom sharedData Objekt, welches speziell für den Austausch zwischen mehreren Skripten gedacht ist.)

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

                        E 1 Antwort Letzte Antwort
                        0
                        • crycodeC crycode

                          @emblitz Danke für das gute Feedback :)

                          In den Skripten kannst du verwenden was du willst und auch z.B. den gleichen Namen für Variablen mehrfach in mehreren Parser-Skripten nutzen. Wichtig ist nur, dass bei einem lesen-Skript der Wert oder undefined in die Variable value geschrieben wird und bei einem schreiben-Skript die Variable buffer entsprechend gesetzt wird.
                          Jedes Skript läuft in einem eigenen abgesicherten Kontext und es kann keine Überschneidungen zwischen verschiedenen Parsern geben. (Mit Ausnahme vom sharedData Objekt, welches speziell für den Austausch zwischen mehreren Skripten gedacht ist.)

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

                          Hallo,

                          ich wollte meine Erkenntnisse in diesem Forum gerne rückmelden.
                          Hier nun meine erkannten und zugeordneten Canbus-Adressen für die Junkers Wärmepumpe STM 60-1.
                          Die Adressen ohne Funktionsbeschreibung konnte ich noch nicht zuordnen.
                          Viele Adressen werden gar nicht oder nur sehr selten aktuallisiert.

                          Die Umrechnung mittels der u.g. Formel passt bis auf z.T. 0,2-0,3°C Differenz zu den im Display angezeigten Werten.
                          Energiezählwerte scheinen nicht übertragen zu werden.

                          Wenn jemand einen Tipp hat, wie ich an die Zählerwerte für die erzeugten Heizenergien der Wp komme, wäre ich sehr dankbar.

                          LG emblitz

                          msgId msgName parserDataType parserCustomScriptRead

                          28270 Heizkreispumpe_G1 ein/aus int8
                          30270
                          34270
                          38270 3-Wege_Ventil_Q21_Heizung=0_WW=1 int8
                          40270
                          44270 Zirkulationspumpe_WW ein/aus int8
                          48060
                          48270 Kompressor ein/aus int8
                          54270 Solepumpe_G3 ein/aus int8
                          80060
                          90270 Wärrmeträgerpumpe_G2_Drehzahl 0-100% int8
                          388400
                          388402
                          388403
                          388404
                          388405
                          388406
                          388407

                          8000270 Vorlauftemp custom const f4 = buffer.readUInt16BE(0); value = 105.81916402087 - (0.28577699398241 * f4) + (0.000356191341049951 * f4 * f4) - (0.00000020925659550495 * f4 * f4 * f4);

                          8004270 Aussentemp custom const f4 = buffer.readUInt16BE(0); value = 105.81916402087 - (0.28577699398241 * f4) + (0.000356191341049951 * f4 * f4) - (0.00000020925659550495 * f4 * f4 * f4);

                          8008270 Warmwassertemp custom const f4 = buffer.readUInt16BE(0); value = 105.81916402087 - (0.28577699398241 * f4) + (0.000356191341049951 * f4 * f4) - (0.00000020925659550495 * f4 * f4 * f4);

                          8010270 Heizgas custom const f4 = buffer.readUInt16BE(0); value = 105.81916402087 - (0.28577699398241 * f4) + (0.000356191341049951 * f4 * f4) - (0.00000020925659550495 * f4 * f4 * f4);

                          8014270 Wärmeträgertemp Austritt custom const f4 = buffer.readUInt16BE(0); value = 105.81916402087 - (0.28577699398241 * f4) + (0.000356191341049951 * f4 * f4) - (0.00000020925659550495 * f4 * f4 * f4);

                          8018270 Wärmeträgertemp Eintritt custom const f4 = buffer.readUInt16BE(0); value = 105.81916402087 - (0.28577699398241 * f4) + (0.000356191341049951 * f4 * f4) - (0.00000020925659550495 * f4 * f4 * f4);

                          8020270 Solekreistemp Austritt custom const f4 = buffer.readUInt16BE(0); value = 105.81916402087 - (0.28577699398241 * f4) + (0.000356191341049951 * f4 * f4) - (0.00000020925659550495 * f4 * f4 * f4);

                          8058270
                          8060270
                          8064270
                          8068270
                          8070270
                          8074270
                          8078270
                          0002C270 Wärmeträgerpumpe_G2 ein/aus int8
                          0003C270 Elektr_Zuheizer_1 ein/aus int8
                          0004C270 Elektr_Zuheizer_2 ein/aus int8
                          000A8402
                          000A8403
                          000A8404
                          000A8405
                          000A8406
                          000A8407
                          000A8408
                          000A8409
                          001D8431
                          0042C402
                          0042C403
                          0042C404
                          0042C405
                          0042C406
                          0042C407
                          0800C270

                          0801C270 Solekreistemp Eintritt custom const f4 = buffer.readUInt16BE(0); value = 105.81916402087 - (0.28577699398241 * f4) + (0.000356191341049951 * f4 * f4) - (0.00000020925659550495 * f4 * f4 * f4);

                          0805C270
                          0806C270
                          0807C270
                          09FFC270

                          1 Antwort Letzte Antwort
                          1
                          • crycodeC Offline
                            crycodeC Offline
                            crycode
                            Developer
                            schrieb am zuletzt editiert von
                            #29

                            @emblitz Super!
                            Magst du deine aktuelle Konfiguration ein mal aus den Adaptereinstellungen als json exportieren und dann hier posten?
                            Dann könnte ich das vordefinierte Konfiguration für einen Import von GitHub mit aufnehmen und jeder könnte das mit wenigen Klicks laden. :)

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

                            E H 2 Antworten Letzte Antwort
                            1
                            • crycodeC crycode

                              @emblitz Super!
                              Magst du deine aktuelle Konfiguration ein mal aus den Adaptereinstellungen als json exportieren und dann hier posten?
                              Dann könnte ich das vordefinierte Konfiguration für einen Import von GitHub mit aufnehmen und jeder könnte das mit wenigen Klicks laden. :)

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

                              @crycode Ja, gern.
                              Die wichtigsten Datenpunkte um einen Überblick des Betriebs der WP zu bekommen, sind enthalten. Leider fehlen die Zählwerte der erzeugten Energien. z.B. für die automatische Berechnung des COP/JAZ.
                              Das ist die Datei des Exports aus der Canbus-Instanz:

                              canbus-messages.json

                              LG emblitz

                              1 Antwort Letzte Antwort
                              1
                              • crycodeC crycode

                                @emblitz Super!
                                Magst du deine aktuelle Konfiguration ein mal aus den Adaptereinstellungen als json exportieren und dann hier posten?
                                Dann könnte ich das vordefinierte Konfiguration für einen Import von GitHub mit aufnehmen und jeder könnte das mit wenigen Klicks laden. :)

                                H Offline
                                H Offline
                                hbrockmann
                                schrieb am zuletzt editiert von hbrockmann
                                #31

                                @crycode
                                von mir auch noch mal ein danke, ich hab mich da mal über emblitz mit dran gehängt..

                                anbei die konfiguration für eine junkers ste60 (ohne -1)

                                die letzten drei bits (6,7,8) der id scheinen modelspezifisch zu sein, aber die bits 2,3,4,5 (ich nenne sie mal register), scheinen zumindest bei junkers in vielen bereichen übereinzustimmen.

                                junkers_ste60_canbus-messages.json

                                ich bekomme zwar einige register mehr ausgelesen als emblitz, aber bis auf das datum+uhrzeit habe ich da noch nicht viel brauchbares zusätzlich identifizieren können.

                                gruß hb

                                edit:
                                eine neue formel aus dem fhem forum, aber an der umsetzung in den iobroker code hapert es momentan noch..

                                Gegebenenfalls noch interessant:
                                eine genauere Linearisierung als das Polynom 3. Ordnung (+-0.3°C) ergibt sich mit dem Polynom 5.Ordnung (+-0.1°C)
                                Die Funktion läst sich mittels 'Trendlinie' oder RGP Funktion in Excel bzw. OpenOffice Calc ermitteln.
                                
                                f(x) = − 5,63141E-13 x⁵ + 1,53737E-09 x⁴ − 1,7745E-06 x³ + 0,00108586 x² − 0,4378966 x + 116,88035
                                

                                mein versuch war:

                                const f4 = buffer.readUInt16BE(0);
                                value = - (5.63141E-13 * f4 * f4 * f4 * f4 * f4) + (1.53737E-09 * f4 * f4 * f4 * f4) − (1.7745E-06 * f4 * f4 * f4) + (0.00108586 * f4 * f4) − (0.4378966 * f4) + 116.88035;
                                value = Math.round(value * 10 ) / 10;
                                
                                crycodeC 1 Antwort Letzte Antwort
                                0
                                • H hbrockmann

                                  @crycode
                                  von mir auch noch mal ein danke, ich hab mich da mal über emblitz mit dran gehängt..

                                  anbei die konfiguration für eine junkers ste60 (ohne -1)

                                  die letzten drei bits (6,7,8) der id scheinen modelspezifisch zu sein, aber die bits 2,3,4,5 (ich nenne sie mal register), scheinen zumindest bei junkers in vielen bereichen übereinzustimmen.

                                  junkers_ste60_canbus-messages.json

                                  ich bekomme zwar einige register mehr ausgelesen als emblitz, aber bis auf das datum+uhrzeit habe ich da noch nicht viel brauchbares zusätzlich identifizieren können.

                                  gruß hb

                                  edit:
                                  eine neue formel aus dem fhem forum, aber an der umsetzung in den iobroker code hapert es momentan noch..

                                  Gegebenenfalls noch interessant:
                                  eine genauere Linearisierung als das Polynom 3. Ordnung (+-0.3°C) ergibt sich mit dem Polynom 5.Ordnung (+-0.1°C)
                                  Die Funktion läst sich mittels 'Trendlinie' oder RGP Funktion in Excel bzw. OpenOffice Calc ermitteln.
                                  
                                  f(x) = − 5,63141E-13 x⁵ + 1,53737E-09 x⁴ − 1,7745E-06 x³ + 0,00108586 x² − 0,4378966 x + 116,88035
                                  

                                  mein versuch war:

                                  const f4 = buffer.readUInt16BE(0);
                                  value = - (5.63141E-13 * f4 * f4 * f4 * f4 * f4) + (1.53737E-09 * f4 * f4 * f4 * f4) − (1.7745E-06 * f4 * f4 * f4) + (0.00108586 * f4 * f4) − (0.4378966 * f4) + 116.88035;
                                  value = Math.round(value * 10 ) / 10;
                                  
                                  crycodeC Offline
                                  crycodeC Offline
                                  crycode
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #32

                                  @hbrockmann sagte in [gelöst]Can-Bus Adapter: keine Verbindung zur Junkers WP:

                                  f(x) = − 5,63141E-13 x⁵ + 1,53737E-09 x⁴ − 1,7745E-06 x³ + 0,00108586 x² − 0,4378966 x + 116,88035

                                  Ich denke das sollte passen:

                                  value = (-5.63141E-13 * f4 * f4 * f4 * f4 * f4) + (1.53737E-09 * f4 * f4 * f4 * f4) − (1.7745E-06 * f4 * f4 * f4) + (0.00108586 * f4 * f4) − (0.4378966 * f4) + 116.88035;
                                  

                                  Die Konfigs in GitHub mit aufnehmen mache ich in den nächsten Tagen. Danke euch schon mal dafür!

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

                                  H 1 Antwort Letzte Antwort
                                  0
                                  • crycodeC crycode

                                    @hbrockmann sagte in [gelöst]Can-Bus Adapter: keine Verbindung zur Junkers WP:

                                    f(x) = − 5,63141E-13 x⁵ + 1,53737E-09 x⁴ − 1,7745E-06 x³ + 0,00108586 x² − 0,4378966 x + 116,88035

                                    Ich denke das sollte passen:

                                    value = (-5.63141E-13 * f4 * f4 * f4 * f4 * f4) + (1.53737E-09 * f4 * f4 * f4 * f4) − (1.7745E-06 * f4 * f4 * f4) + (0.00108586 * f4 * f4) − (0.4378966 * f4) + 116.88035;
                                    

                                    Die Konfigs in GitHub mit aufnehmen mache ich in den nächsten Tagen. Danke euch schon mal dafür!

                                    H Offline
                                    H Offline
                                    hbrockmann
                                    schrieb am zuletzt editiert von hbrockmann
                                    #33

                                    @crycode
                                    leider noch nicht..
                                    ich hab da schon einige versuche durch, auch den mit dem minus innerhalb der klammer..

                                    value = (-5.63141E-13 * f4 * f4 * f4 * f4 * f4) + (1.53737E-09 * f4 * f4 * f4 * f4) − (1.7745E-06 * f4 * f4 * f4) + (0.00108586 * f4 * f4) − (0.4378966 * f4) + 116.88035;
                                     ^ SyntaxError: Unexpected character '−' at makeNiceSyntaxError (/opt/iobroker/node_modules/vm2/lib/transformer.js:41:16) at transformer (/opt/iobroker/node_modules/vm2/lib/transformer.js:84:8) at NodeVM.run
                                    ....diverse andere weitere fehler....
                                    
                                    crycodeC 1 Antwort Letzte Antwort
                                    0
                                    • H hbrockmann

                                      @crycode
                                      leider noch nicht..
                                      ich hab da schon einige versuche durch, auch den mit dem minus innerhalb der klammer..

                                      value = (-5.63141E-13 * f4 * f4 * f4 * f4 * f4) + (1.53737E-09 * f4 * f4 * f4 * f4) − (1.7745E-06 * f4 * f4 * f4) + (0.00108586 * f4 * f4) − (0.4378966 * f4) + 116.88035;
                                       ^ SyntaxError: Unexpected character '−' at makeNiceSyntaxError (/opt/iobroker/node_modules/vm2/lib/transformer.js:41:16) at transformer (/opt/iobroker/node_modules/vm2/lib/transformer.js:84:8) at NodeVM.run
                                      ....diverse andere weitere fehler....
                                      
                                      crycodeC Offline
                                      crycodeC Offline
                                      crycode
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #34

                                      @hbrockmann Ah... du hast da wohl anstatt einem Minus-Zeichens ein anderes Zeichen drin, was nahezu identisch aussieht.

                                      Versuch mal das:

                                      value = (-5.63141E-13 * f4 * f4 * f4 * f4 * f4) + (1.53737E-09 * f4 * f4 * f4 * f4) - (1.7745E-06 * f4 * f4 * f4) + (0.00108586 * f4 * f4) - (0.4378966 * f4) + 116.88035;
                                      

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

                                      H 1 Antwort Letzte Antwort
                                      0
                                      • crycodeC crycode

                                        @hbrockmann Ah... du hast da wohl anstatt einem Minus-Zeichens ein anderes Zeichen drin, was nahezu identisch aussieht.

                                        Versuch mal das:

                                        value = (-5.63141E-13 * f4 * f4 * f4 * f4 * f4) + (1.53737E-09 * f4 * f4 * f4 * f4) - (1.7745E-06 * f4 * f4 * f4) + (0.00108586 * f4 * f4) - (0.4378966 * f4) + 116.88035;
                                        
                                        H Offline
                                        H Offline
                                        hbrockmann
                                        schrieb am zuletzt editiert von hbrockmann
                                        #35

                                        @crycode said in [gelöst]Can-Bus Adapter: keine Verbindung zur Junkers WP:

                                        value = (-5.63141E-13 * f4 * f4 * f4 * f4 * f4) + (1.53737E-09 * f4 * f4 * f4 * f4) - (1.7745E-06 * f4 * f4 * f4) + (0.00108586 * f4 * f4) - (0.4378966 * f4) + 116.88035;

                                        ..§$%&/~@€#.. ich glaubs nicht..
                                        das war es.. was auch immer das für ein zeichen war..

                                        danke..!!!!

                                        anbei der überarbeitete export..
                                        junkers_ste60_canbus-messages.json

                                        edit:
                                        das hat mir ja nun keine ruhe gelassen.. aber ja, im hex editor ist es deutlich zu erkennen das "pseudo-minus"..

                                        E 1 Antwort Letzte Antwort
                                        1
                                        • H hbrockmann

                                          @crycode said in [gelöst]Can-Bus Adapter: keine Verbindung zur Junkers WP:

                                          value = (-5.63141E-13 * f4 * f4 * f4 * f4 * f4) + (1.53737E-09 * f4 * f4 * f4 * f4) - (1.7745E-06 * f4 * f4 * f4) + (0.00108586 * f4 * f4) - (0.4378966 * f4) + 116.88035;

                                          ..§$%&/~@€#.. ich glaubs nicht..
                                          das war es.. was auch immer das für ein zeichen war..

                                          danke..!!!!

                                          anbei der überarbeitete export..
                                          junkers_ste60_canbus-messages.json

                                          edit:
                                          das hat mir ja nun keine ruhe gelassen.. aber ja, im hex editor ist es deutlich zu erkennen das "pseudo-minus"..

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

                                          @hbrockmann
                                          Hallo,
                                          ich habe die neue Formel in einem separaten Parser für den VL auch ausprobiert. Das Ergebnis liegt nun nur noch -0,1°C satt vorher -0,2°C vom Displaywert "daneben". Die Formel scheint wie im Fhem-Forum berichtet , in der Tat etwas genauer zu rechnen. Sehr gut!
                                          Eventl. schaffen wir es nocht auf den Punkt :-)
                                          Ich beobachte den weiteren Verlauf morgen und werde die anderen Werte vermutl. ebenfalls mit der neuen Formel berechnen lassen.
                                          Nach der kompletten Anpassung lade ich dann wieder hier die Config-Datei hoch.

                                          @crycode: Warte mal noch mit dem Hochladen nach Github!

                                          @ hbrockmann:
                                          Bekommts du nun auch plausible Werte mit deiner WP?

                                          LG
                                          emblitz

                                          H 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

                                          852

                                          Online

                                          32.4k

                                          Benutzer

                                          81.6k

                                          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