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

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
bluetooth bthome
8 Beiträge 2 Kommentatoren 733 Aufrufe 2 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.
  • H Offline
    H Offline
    Heidi02
    schrieb am zuletzt editiert von
    #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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 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

                  355

                  Online

                  32.7k

                  Benutzer

                  82.4k

                  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