Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Anfrage zur Erweiterung des BTHome-plugins im BT-Adapter

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Anfrage zur Erweiterung des BTHome-plugins im BT-Adapter

Scheduled Pinned Locked Moved ioBroker Allgemein
bluetooth bthome
8 Posts 2 Posters 733 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    Heidi02
    wrote on last edited by
    #1

    Hallo,
    ich verwende ein Bluetooth-Device um einen 32bit Zählwert zu übertragen und nutze darin das BTHome Protokoll (Obj.-Id. 0x3E). Um zusätzlich einen zweiten, separaten Wert zu übertragen wollte ich die BTHome Obj.-Id. 0x5B verwenden. Nach einigen Versuchen fiel mir auf, daß diese gar nicht im BTHome-Plugin des Bluetooth-Adapters hinterlegt ist.

    Meine Frage/Bitte, könnte das in einem kommenden Update mit integriert werden?
    Auch die 8bit und 16bit signed int , Id 0x59 und 0x5A sind nicht hinterlegt.

    Kann ich diese Object-Id's vorläufig händisch im BTHome-Plugin ( … /plugins/lib/bthome_protocol.ts) eintragen?
    Überlebt so ein händischer Eintrag die nächste Aktualisierung des Bluetooth-Adapters?

    Der händische Eintrag müsste wohl

    { id: 0x5b, label: "count", signed: true, size: 4 },
    

    lauten.

    Links:
    https://bthome.io/format/ Supported data types
    https://github.com/AlCalzone/ioBroker.ble/blob/master/src/plugins/lib/bthome_protocol.ts

    mcm1957M H 2 Replies Last reply
    0
    • H Heidi02

      Hallo,
      ich verwende ein Bluetooth-Device um einen 32bit Zählwert zu übertragen und nutze darin das BTHome Protokoll (Obj.-Id. 0x3E). Um zusätzlich einen zweiten, separaten Wert zu übertragen wollte ich die BTHome Obj.-Id. 0x5B verwenden. Nach einigen Versuchen fiel mir auf, daß diese gar nicht im BTHome-Plugin des Bluetooth-Adapters hinterlegt ist.

      Meine Frage/Bitte, könnte das in einem kommenden Update mit integriert werden?
      Auch die 8bit und 16bit signed int , Id 0x59 und 0x5A sind nicht hinterlegt.

      Kann ich diese Object-Id's vorläufig händisch im BTHome-Plugin ( … /plugins/lib/bthome_protocol.ts) eintragen?
      Überlebt so ein händischer Eintrag die nächste Aktualisierung des Bluetooth-Adapters?

      Der händische Eintrag müsste wohl

      { id: 0x5b, label: "count", signed: true, size: 4 },
      

      lauten.

      Links:
      https://bthome.io/format/ Supported data types
      https://github.com/AlCalzone/ioBroker.ble/blob/master/src/plugins/lib/bthome_protocol.ts

      mcm1957M Online
      mcm1957M Online
      mcm1957
      wrote on last edited by mcm1957
      #2

      @heidi02
      Für Fehlermeldungen (Bugs) oder Erweiterunsgwünsche (Features) leg bitte ein Issue im Adapter--Repository (https://github.com/AlCalzone/ioBroker.ble) auf Github an.

      Hier geht das zu 99% unter.

      Und nein, ein Eintrag in *.ts wird zu 99,9% nichts bewirken, da .tx taypescript files sind die noch compiliert werden bevor sie verwendet werden.

      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
      Support Repositoryverwaltung.

      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

      LESEN - gute Forenbeitrage

      H 1 Reply Last reply
      1
      • mcm1957M mcm1957

        @heidi02
        Für Fehlermeldungen (Bugs) oder Erweiterunsgwünsche (Features) leg bitte ein Issue im Adapter--Repository (https://github.com/AlCalzone/ioBroker.ble) auf Github an.

        Hier geht das zu 99% unter.

        Und nein, ein Eintrag in *.ts wird zu 99,9% nichts bewirken, da .tx taypescript files sind die noch compiliert werden bevor sie verwendet werden.

        H Offline
        H Offline
        Heidi02
        wrote on last edited by
        #3

        @mcm1957
        Danke, für Deine Antwort und den Hinweis auf github!
        Das war die Gelegenheit mich dort endlich mal anzumelden.

        Schade, daß man lokal keine Erweiterung "hinein basteln" kann.

        mcm1957M 1 Reply Last reply
        0
        • H Heidi02

          @mcm1957
          Danke, für Deine Antwort und den Hinweis auf github!
          Das war die Gelegenheit mich dort endlich mal anzumelden.

          Schade, daß man lokal keine Erweiterung "hinein basteln" kann.

          mcm1957M Online
          mcm1957M Online
          mcm1957
          wrote on last edited by mcm1957
          #4

          @heidi02

          Du kannst - wenn ein wenig javascript kannst - jederzeit den Adapter für dich modifizieren.

          Grobe Anleitung:

          • Repository auf Github forken

          • Repository auf eine lokale Arbeitsumgebung (typisch am PC) clonen. Pers. nehme ich die (Windows) Software Github Desktop dazu

          • in der lokalen Arbeitsumgebung alle npm Pakete installieren (npm i)

          • deine Änderungen am Source durchführen

          • typescript kompileren - typisch mit dem Befehl npm run build

          • alles was geändert wurde committen und auf Github puschen

          • deinen Fork via "Katze" im Expertenmodus installieren

          • wenn diese Änderung funktioniert kannst du diese dann per PR an den orginalen Dev zurückgeben damit er das übernehmen kann.

          Das ganze ist nur eine sehr kurze Kurzanleitung. Aber wenn dich die Entwicklung von Adaptern interessiert kannst dich gener auf unseren Developer Channels (Telegramm, Discord - Invite links auf www.iobroker.dev) melden.

          Aber bitte unbedingt eines beachten:
          Optimalerweise solltes du deinen geänderten Adaptercode auf einen TESTSYSTEM ausprobieren. Testversionen auf produktiven Systemen zu installieren ist meist keine gute Idee da ein fehlerhafter Code auch ernsthaften Schaden am Gesammtsystem anrichten kann. Ein funktionierendes Backup ist jedenfalls Pflicht (oder gute Beherrschung um nachher nicht zu heulen)

          Und noch was:
          Im Kern sollten die kopilierten Datein im Verzeichnis "build" liegen. Wenn du dort die Stelle findest wo du was einfügen willst kannst du das natürlich tun. Aber ich hab das nie geschrieben weil von derdirekten Modifikation von Code am Usersystem ist absolut abzuraten. Ersten verschwindet das beim nächsten Update (hoffentlich) wieder und andrerseits erschwert es Hilfe / Fehlersuche ungemein wenn der Code der läuft nicht der ist den man annimmt dass er läuft ...

          Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
          Support Repositoryverwaltung.

          Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

          LESEN - gute Forenbeitrage

          H 1 Reply Last reply
          1
          • mcm1957M mcm1957

            @heidi02

            Du kannst - wenn ein wenig javascript kannst - jederzeit den Adapter für dich modifizieren.

            Grobe Anleitung:

            • Repository auf Github forken

            • Repository auf eine lokale Arbeitsumgebung (typisch am PC) clonen. Pers. nehme ich die (Windows) Software Github Desktop dazu

            • in der lokalen Arbeitsumgebung alle npm Pakete installieren (npm i)

            • deine Änderungen am Source durchführen

            • typescript kompileren - typisch mit dem Befehl npm run build

            • alles was geändert wurde committen und auf Github puschen

            • deinen Fork via "Katze" im Expertenmodus installieren

            • wenn diese Änderung funktioniert kannst du diese dann per PR an den orginalen Dev zurückgeben damit er das übernehmen kann.

            Das ganze ist nur eine sehr kurze Kurzanleitung. Aber wenn dich die Entwicklung von Adaptern interessiert kannst dich gener auf unseren Developer Channels (Telegramm, Discord - Invite links auf www.iobroker.dev) melden.

            Aber bitte unbedingt eines beachten:
            Optimalerweise solltes du deinen geänderten Adaptercode auf einen TESTSYSTEM ausprobieren. Testversionen auf produktiven Systemen zu installieren ist meist keine gute Idee da ein fehlerhafter Code auch ernsthaften Schaden am Gesammtsystem anrichten kann. Ein funktionierendes Backup ist jedenfalls Pflicht (oder gute Beherrschung um nachher nicht zu heulen)

            Und noch was:
            Im Kern sollten die kopilierten Datein im Verzeichnis "build" liegen. Wenn du dort die Stelle findest wo du was einfügen willst kannst du das natürlich tun. Aber ich hab das nie geschrieben weil von derdirekten Modifikation von Code am Usersystem ist absolut abzuraten. Ersten verschwindet das beim nächsten Update (hoffentlich) wieder und andrerseits erschwert es Hilfe / Fehlersuche ungemein wenn der Code der läuft nicht der ist den man annimmt dass er läuft ...

            H Offline
            H Offline
            Heidi02
            wrote on last edited by
            #5

            @mcm1957
            Vielen Dank, für Deine umfangreiche Antwort!
            Wenn ich mir Deine "kurze Kurzanleitung" so ansehe, würde ich mir das durchaus zutrauen. Ich werde mir dazu mal einen freien Tag aussuchen, von dem ich weiß, daß ich Zeit habe und dranbleiben kann.
            Zu sagen, daß ich Javascript kann, würde ich mir niemals wagen. Daher wäre ich auf einem Developer Channel sicher fehl am Platz.

            Ich bin ursprünglich eher der Elektronik-Hardware-Bastler incl. Platinenlayout usw. Im Zuge der Zeit habe ich dann irgenwann mit den AtMegas angefangen mich in C einzuarbeiten. In der Zeit bevor die Arduinos aufkamen. Das klappt auch für den Hausgebrauch. Javascript und anderes hat sich dann hier und da einmal so nebenbei eingeschlichen. Hier im ioBroker schreibe ich meine Scripte in Typescript.
            BTW: Durch Deine erste Antwort ist mir erstmals bewußt geworden, das Typescript eine Compiler/Transpiler-Sprache ist. Daran hatte ich noch nie gedacht.

            1 Reply Last reply
            0
            • H Heidi02

              Hallo,
              ich verwende ein Bluetooth-Device um einen 32bit Zählwert zu übertragen und nutze darin das BTHome Protokoll (Obj.-Id. 0x3E). Um zusätzlich einen zweiten, separaten Wert zu übertragen wollte ich die BTHome Obj.-Id. 0x5B verwenden. Nach einigen Versuchen fiel mir auf, daß diese gar nicht im BTHome-Plugin des Bluetooth-Adapters hinterlegt ist.

              Meine Frage/Bitte, könnte das in einem kommenden Update mit integriert werden?
              Auch die 8bit und 16bit signed int , Id 0x59 und 0x5A sind nicht hinterlegt.

              Kann ich diese Object-Id's vorläufig händisch im BTHome-Plugin ( … /plugins/lib/bthome_protocol.ts) eintragen?
              Überlebt so ein händischer Eintrag die nächste Aktualisierung des Bluetooth-Adapters?

              Der händische Eintrag müsste wohl

              { id: 0x5b, label: "count", signed: true, size: 4 },
              

              lauten.

              Links:
              https://bthome.io/format/ Supported data types
              https://github.com/AlCalzone/ioBroker.ble/blob/master/src/plugins/lib/bthome_protocol.ts

              H Offline
              H Offline
              Heidi02
              wrote on last edited by Heidi02
              #6

              Als Zwischenlösung zum Problem im Startbeitrag werde ich wohl meine beiden Zählwerte in "einem Rutsch" übertragen.
              BTHome bietet ja die Möglichkeit mehrere Werte, auch gleichen Typs, gemeinsam zu übertragen. Im Plugin werden sie dann separat ausgegeben. In den "Objekten" des Bluetoothmoduls erscheint dann halt "count" und "count (2)".
              Wenn also der zweite Wert übertragen werden soll, muss auch der erste mit gesendet werden, damit die Zuordnung erhalten bleibt.

              mcm1957M 1 Reply Last reply
              0
              • H Heidi02

                Als Zwischenlösung zum Problem im Startbeitrag werde ich wohl meine beiden Zählwerte in "einem Rutsch" übertragen.
                BTHome bietet ja die Möglichkeit mehrere Werte, auch gleichen Typs, gemeinsam zu übertragen. Im Plugin werden sie dann separat ausgegeben. In den "Objekten" des Bluetoothmoduls erscheint dann halt "count" und "count (2)".
                Wenn also der zweite Wert übertragen werden soll, muss auch der erste mit gesendet werden, damit die Zuordnung erhalten bleibt.

                mcm1957M Online
                mcm1957M Online
                mcm1957
                wrote on last edited by mcm1957
                #7

                @heidi02
                also wenn du eh schon scripts in typescript schreibst kannst du zu 100% genug typescropt um in fie Adapterentwicklung eknzusteigen.

                javescript ist ja typescript ohne typing ...

                gibt auch nen eigenen starters channel.

                ist aber natürlich deine Entscheidung. Es word dort aber nienand gebissen.😀

                Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                Support Repositoryverwaltung.

                Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                LESEN - gute Forenbeitrage

                H 1 Reply Last reply
                0
                • mcm1957M mcm1957

                  @heidi02
                  also wenn du eh schon scripts in typescript schreibst kannst du zu 100% genug typescropt um in fie Adapterentwicklung eknzusteigen.

                  javescript ist ja typescript ohne typing ...

                  gibt auch nen eigenen starters channel.

                  ist aber natürlich deine Entscheidung. Es word dort aber nienand gebissen.😀

                  H Offline
                  H Offline
                  Heidi02
                  wrote on last edited by
                  #8

                  @mcm1957 said in Anfrage zur Erweiterung des BTHome-plugins im BT-Adapter:

                  Es wird dort aber niemand gebissen.

                  Na, das ist ja schon mal viel wert. :grinning:
                  Du hast meine Scripte noch nicht gesehen…

                  Danke! Vorläufig wird das wohl nichts.
                  Ich habe schon die Zeit vor Augen, wo ich deutlich mehr Freizeit haben werde. Dann komme ich bestimmt auch öfter mal dazu ein paar Kleinigkeiten zu programmieren.
                  Dann kann ich ja diesbezüglich noch mal in mich gehen.

                  Grüße
                  Jürgen

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

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

                  569

                  Online

                  32.7k

                  Users

                  82.4k

                  Topics

                  1.3m

                  Posts
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Home
                  • Recent
                  • Tags
                  • Unread 0
                  • Categories
                  • Unreplied
                  • Popular
                  • GitHub
                  • Docu
                  • Hilfe