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. TA Daten über CAN-Bus lesen/schreiben

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    168

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    12
    1
    570

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.8k

TA Daten über CAN-Bus lesen/schreiben

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
canbuscmit.atechnische alternativeuvr16x2
23 Beiträge 7 Kommentatoren 2.7k Aufrufe 7 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.
  • R Rudi86

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

    D Offline
    D Offline
    drrrz
    schrieb am zuletzt editiert von
    #13

    @rudi86

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

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

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

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

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

    1 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      hamnx
      schrieb am zuletzt editiert von
      #14

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

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

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

      mfg
      hamnx

      1 Antwort Letzte Antwort
      0
      • R Rudi86

        Ich wollte mal meine Erkenntnisse der letzten Tage mit euch teilen.

        Die Verbindung vom C.M.I. per Modbus mit ioBroker wurde hier ja schon behandelt. Da gibt es aber durchaus Einschränkungen und ich finde es auch teilweise etwas umständlich.

        Ich habe es jetzt nach längerem probieren geschafft den CAN-Bus auszulesen (also theoretisch auch kein CMI notwendig!). Was man dazu braucht ist der canbus Adapter von crycode und die entsprechende Hardware.

        Problem dabei ist, dass der Adapter das genutzte CANopen-Protokoll nicht kennt, das wäre auch zu kompliziert zu programmieren glaube ich. Aber das macht nichts, das Protokoll verschlüsselt nichts.

        Um jetzt einen Wert zu lesen müssen wir die Adresse vom Sender kennen und wir brauchen etwas wissen darüber wie der Bus arbeitet.

        In TA wird ein Wert zum senden angelegt, z.B. am Knoten 6 Ausgang 1.
        Das entspricht dann der Nachricht 206 im ioBroker. In dieser Nachricht sind die Werte 1-4 vom Knoten enthalten. Woher man das weiß erkläre ich weiter unten.
        Es sind immer vier unsigned integer 16 bit little endian (uint16LE) in einer Nachricht. Ihr legt euch jetzt also im Adapter die Nachricht an und vier Parser dazu:Screenshot 2024-01-07 165834.png
        Einzustellen ist hier die Nachrichten-ID (206), optional die Datenlänge (8), Häkchen nur bei Empfangen, die Namen, Parser-IDs, Einheit etc. könnt ihr frei wählen.
        Im Parser noch wichtig der Datentyp ist uint16 LE, das Offset ist 0, 2, 4 und 6 (1.-4. Wert vom Knoten), die Länge immer 2. Wenn der Wert eine Kommastelle hat könnt ihr auch den Datentyp auf "custom" stellen und im Skript zum lesen "value = buffer.readInt16LE(4) / 10;" (geteilt durch 10 für eine Nachkommastelle). Die Zahl in Klammern ist das Offset (hier also 3. Wert)
        Screenshot 2024-01-07 170519.png

        Im Objektbaum seht ihr dann folgendes:
        Screenshot 2024-01-07 170645.png

        Die TA-Geräte (zumindest die x2-Regler) können 32 analoge und 32 digitale Werte senden. Wir brauchen also insgesamt 8 Nachrichten um alle analogen Werte zu nutzen und müssen die entsprechenden Adressen (Hexadezimal!) dazu kennen.
        Die erste Nachricht berechnet sich wie folgt:
        Hex-Wert von Knoten + 512. Bzw. Direkt in Hex Knoten + 0x200. Also hier 6 + 512 = 518. Hex davon ist 0x206.
        Jede weitere Nachricht ist um 0x80 verschoben (also in meinem Beispiel am Knoten 6 dann 0x286, 0x306, 0x386). Danach geht es weiter mit Knoten + 576 (0x240) = 0x246 (=> 0x246, 0x2C6, 0x346, 0x3C6).

        Ihr müsst nicht alle Nachrichten und Parser im ioBroker anlegen, nur die die ihr auch braucht.

        Für digitale Werte läuft das etwas anders. Wir brauchen hier nur noch eine Nachricht pro Knoten. Die Adresse ist KnotenNr + 0x180, in diesem Fall also 0x186. Die Parser sehen wie folgt aus:
        Screenshot 2024-01-07 173123.png
        Die ersten 8 Werte haben das Offset 0 und das Häkchen bei Bitmaske rutscht immer eins weiter (immer nur 1 Häkchen pro Wert). Der Wert 9 hat dann das Offset 1 und wir fangen wieder beim linken Häkchen an. Der Wert 32 hat dann also Offset 3 und das letzte Häkchen ist gesetzt.

        Auch hier reicht es nur die Parser anzulegen die man braucht. Ich habe mir 1x alle Parser nur mit Nummern angelegt und kann die so mit der Copy&Paste funktion vom Adapter auf alle Knoten kopieren.

        Senden geht auch!
        Wir suchen uns einen Knoten aus der im Bus nicht belegt ist, sonst würden unsere Daten eventuell überschrieben. Ich habe mich für Knoten 15 entschieden.
        Beim Empfänger legen wir einen neuen Eingang an:
        Screenshot 2024-01-07 180157.png
        Also Knoten 15 / Wert 1. Die Adressen sind zum senden die gleichen (in der Doku zu CANopen ist das anders beschrieben). Also 15 in Hex ist 0xF + 0x200 = 20F. Dann legen wir mal im ioBroker eine Nachricht an:
        Screenshot 2024-01-07 180505.png
        Diesmal nicht "Empfangen", sondern "Senden" und "Automatisch senden" anklicken. Einen Parser anlegen wie gehabt. Achtung wir können keine Kommas senden. Also eventuell wieder mit Custom und diesmal dann eben mit 10 multiplizieren (zum senden im Feld rechts!). Das Script ist dann value = value * 10; buffer.writeInt16LE(value, 0);
        Screenshot 2024-01-07 182236.png
        Beim Empfänger dann entsprechend die Messgröße einstellen ("dimensionslos ,1" oder "Temperatur" sind mit einer Nachkommastelle.
        Screenshot 2024-01-07 181112.png

        Jetzt kann man das entsprechende Objekt in ioBroker schreiben und der Wert kommt beim TA-Gerät an. Eine eventuelle Warnmeldung, dass ein Knoten nicht bekannt ist verschwindet mit dem ersten Wert.

        Screenshot 2024-01-07 182512.png
        Screenshot 2024-01-07 182533.png

        [Edit]
        Schreiben digital habe ich vergessen. Das geht ganz einfach. Für unseren Knoten 15 ist das die Nachricht 18F (0x180 + 0xF). Ansonsten wie oben (Bit für Bit einen Parser anlegen) und Senden statt Empfangen.
        Screenshot 2024-01-07 190555.png
        [/Edit]

        Ich hoffe mal das hilft nicht nur mir sondern auch noch anderen.

        Bei Fragen zu diesem Thema könnt ihr euch gerne melden.

        MfG
        Rudi

        [Edit 2]
        OK, ich habe mal hohe Ausgänge getestet. Es scheint als wären die Werte für 17-32 nicht dort wo ich angenommen hatte sondern bei Knoten + 0x240 und folgende (richtig wäre also 0x246, 0x2C6, 0x346, 0x3C6)
        [/Edit]

        Jakob StefanJ Offline
        Jakob StefanJ Offline
        Jakob Stefan
        schrieb am zuletzt editiert von
        #15

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

        P 1 Antwort Letzte Antwort
        0
        • Marcel KlugM Offline
          Marcel KlugM Offline
          Marcel Klug
          schrieb am zuletzt editiert von Marcel Klug
          #16

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

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

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

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

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

          1 Antwort Letzte Antwort
          0
          • Jakob StefanJ Jakob Stefan

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

            P Offline
            P Offline
            philipphamid
            schrieb am zuletzt editiert von
            #17

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

            Jakob StefanJ 1 Antwort Letzte Antwort
            0
            • P philipphamid

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

              Jakob StefanJ Offline
              Jakob StefanJ Offline
              Jakob Stefan
              schrieb am zuletzt editiert von
              #18

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

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

              UVR67.zip

              04_nodered_hass.png

              LG Jakob

              N 1 Antwort Letzte Antwort
              0
              • Jakob StefanJ Jakob Stefan

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

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

                UVR67.zip

                04_nodered_hass.png

                LG Jakob

                N Offline
                N Offline
                noio
                schrieb am zuletzt editiert von
                #19

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

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

                LG noio

                N 1 Antwort Letzte Antwort
                0
                • N noio

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

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

                  LG noio

                  N Offline
                  N Offline
                  noio
                  schrieb am zuletzt editiert von noio
                  #20

                  Mit den Digitalen Ausgöngen bin jetzt weiter gekommen.

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

                  LG noio

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

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

                  N 1 Antwort Letzte Antwort
                  0
                  • N noio

                    Mit den Digitalen Ausgöngen bin jetzt weiter gekommen.

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

                    LG noio

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

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

                    N Offline
                    N Offline
                    noio
                    schrieb am zuletzt editiert von noio
                    #21

                    Hallo ,

                    Danke Jungs......jetzt hab ichs gerafft
                    Wenn manns richtig macht dann funzt es auch.......

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

                    can.log

                    canbus-messages.json

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

                    MFG noio

                    N 1 Antwort Letzte Antwort
                    0
                    • N noio

                      Hallo ,

                      Danke Jungs......jetzt hab ichs gerafft
                      Wenn manns richtig macht dann funzt es auch.......

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

                      can.log

                      canbus-messages.json

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

                      MFG noio

                      N Offline
                      N Offline
                      noio
                      schrieb am zuletzt editiert von noio
                      #22

                      Hallo ,

                      Als Ergänzung zum Eröffnungspost

                      Will man mehr als vier Datenpunkte , an die gleiche CAN Knotennummer ,übermitteln so steigt der HEX Wert der Sendeadresse um 80 ......

                      z.B.: Sendet man Daten an Konten 4 :

                      Datenwerte 1-4 an 204
                      Datenwerte 5-8 an 284
                      Datrnwerte 9-12 an 304
                      Datenwerte 13-16 an 384

                      und geht dann mit 17-20 mit 244 weiter....

                      Viel Spass
                      MFG

                      noio

                      1 Antwort Letzte Antwort
                      0
                      • R Rudi86

                        Ich wollte mal meine Erkenntnisse der letzten Tage mit euch teilen.

                        Die Verbindung vom C.M.I. per Modbus mit ioBroker wurde hier ja schon behandelt. Da gibt es aber durchaus Einschränkungen und ich finde es auch teilweise etwas umständlich.

                        Ich habe es jetzt nach längerem probieren geschafft den CAN-Bus auszulesen (also theoretisch auch kein CMI notwendig!). Was man dazu braucht ist der canbus Adapter von crycode und die entsprechende Hardware.

                        Problem dabei ist, dass der Adapter das genutzte CANopen-Protokoll nicht kennt, das wäre auch zu kompliziert zu programmieren glaube ich. Aber das macht nichts, das Protokoll verschlüsselt nichts.

                        Um jetzt einen Wert zu lesen müssen wir die Adresse vom Sender kennen und wir brauchen etwas wissen darüber wie der Bus arbeitet.

                        In TA wird ein Wert zum senden angelegt, z.B. am Knoten 6 Ausgang 1.
                        Das entspricht dann der Nachricht 206 im ioBroker. In dieser Nachricht sind die Werte 1-4 vom Knoten enthalten. Woher man das weiß erkläre ich weiter unten.
                        Es sind immer vier unsigned integer 16 bit little endian (uint16LE) in einer Nachricht. Ihr legt euch jetzt also im Adapter die Nachricht an und vier Parser dazu:Screenshot 2024-01-07 165834.png
                        Einzustellen ist hier die Nachrichten-ID (206), optional die Datenlänge (8), Häkchen nur bei Empfangen, die Namen, Parser-IDs, Einheit etc. könnt ihr frei wählen.
                        Im Parser noch wichtig der Datentyp ist uint16 LE, das Offset ist 0, 2, 4 und 6 (1.-4. Wert vom Knoten), die Länge immer 2. Wenn der Wert eine Kommastelle hat könnt ihr auch den Datentyp auf "custom" stellen und im Skript zum lesen "value = buffer.readInt16LE(4) / 10;" (geteilt durch 10 für eine Nachkommastelle). Die Zahl in Klammern ist das Offset (hier also 3. Wert)
                        Screenshot 2024-01-07 170519.png

                        Im Objektbaum seht ihr dann folgendes:
                        Screenshot 2024-01-07 170645.png

                        Die TA-Geräte (zumindest die x2-Regler) können 32 analoge und 32 digitale Werte senden. Wir brauchen also insgesamt 8 Nachrichten um alle analogen Werte zu nutzen und müssen die entsprechenden Adressen (Hexadezimal!) dazu kennen.
                        Die erste Nachricht berechnet sich wie folgt:
                        Hex-Wert von Knoten + 512. Bzw. Direkt in Hex Knoten + 0x200. Also hier 6 + 512 = 518. Hex davon ist 0x206.
                        Jede weitere Nachricht ist um 0x80 verschoben (also in meinem Beispiel am Knoten 6 dann 0x286, 0x306, 0x386). Danach geht es weiter mit Knoten + 576 (0x240) = 0x246 (=> 0x246, 0x2C6, 0x346, 0x3C6).

                        Ihr müsst nicht alle Nachrichten und Parser im ioBroker anlegen, nur die die ihr auch braucht.

                        Für digitale Werte läuft das etwas anders. Wir brauchen hier nur noch eine Nachricht pro Knoten. Die Adresse ist KnotenNr + 0x180, in diesem Fall also 0x186. Die Parser sehen wie folgt aus:
                        Screenshot 2024-01-07 173123.png
                        Die ersten 8 Werte haben das Offset 0 und das Häkchen bei Bitmaske rutscht immer eins weiter (immer nur 1 Häkchen pro Wert). Der Wert 9 hat dann das Offset 1 und wir fangen wieder beim linken Häkchen an. Der Wert 32 hat dann also Offset 3 und das letzte Häkchen ist gesetzt.

                        Auch hier reicht es nur die Parser anzulegen die man braucht. Ich habe mir 1x alle Parser nur mit Nummern angelegt und kann die so mit der Copy&Paste funktion vom Adapter auf alle Knoten kopieren.

                        Senden geht auch!
                        Wir suchen uns einen Knoten aus der im Bus nicht belegt ist, sonst würden unsere Daten eventuell überschrieben. Ich habe mich für Knoten 15 entschieden.
                        Beim Empfänger legen wir einen neuen Eingang an:
                        Screenshot 2024-01-07 180157.png
                        Also Knoten 15 / Wert 1. Die Adressen sind zum senden die gleichen (in der Doku zu CANopen ist das anders beschrieben). Also 15 in Hex ist 0xF + 0x200 = 20F. Dann legen wir mal im ioBroker eine Nachricht an:
                        Screenshot 2024-01-07 180505.png
                        Diesmal nicht "Empfangen", sondern "Senden" und "Automatisch senden" anklicken. Einen Parser anlegen wie gehabt. Achtung wir können keine Kommas senden. Also eventuell wieder mit Custom und diesmal dann eben mit 10 multiplizieren (zum senden im Feld rechts!). Das Script ist dann value = value * 10; buffer.writeInt16LE(value, 0);
                        Screenshot 2024-01-07 182236.png
                        Beim Empfänger dann entsprechend die Messgröße einstellen ("dimensionslos ,1" oder "Temperatur" sind mit einer Nachkommastelle.
                        Screenshot 2024-01-07 181112.png

                        Jetzt kann man das entsprechende Objekt in ioBroker schreiben und der Wert kommt beim TA-Gerät an. Eine eventuelle Warnmeldung, dass ein Knoten nicht bekannt ist verschwindet mit dem ersten Wert.

                        Screenshot 2024-01-07 182512.png
                        Screenshot 2024-01-07 182533.png

                        [Edit]
                        Schreiben digital habe ich vergessen. Das geht ganz einfach. Für unseren Knoten 15 ist das die Nachricht 18F (0x180 + 0xF). Ansonsten wie oben (Bit für Bit einen Parser anlegen) und Senden statt Empfangen.
                        Screenshot 2024-01-07 190555.png
                        [/Edit]

                        Ich hoffe mal das hilft nicht nur mir sondern auch noch anderen.

                        Bei Fragen zu diesem Thema könnt ihr euch gerne melden.

                        MfG
                        Rudi

                        [Edit 2]
                        OK, ich habe mal hohe Ausgänge getestet. Es scheint als wären die Werte für 17-32 nicht dort wo ich angenommen hatte sondern bei Knoten + 0x240 und folgende (richtig wäre also 0x246, 0x2C6, 0x346, 0x3C6)
                        [/Edit]

                        N Offline
                        N Offline
                        noio
                        schrieb am zuletzt editiert von noio
                        #23

                        @Rudi86 sagte in TA Daten über CAN-Bus lesen/schreiben:

                        könnt ihr auch den Datentyp auf "custom" stellen und im Skript zum lesen "value = buffer.readInt16LE

                        "value = buffer.readUInt16LE()" wäre richtig , sonst kommt nichts vernünftiges raus, bei höheren Werten.....wie zB.: Betriebsstunden welche in Sekunden gesendet werden......

                        MFG
                        noio

                        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

                        798

                        Online

                        32.5k

                        Benutzer

                        81.8k

                        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