Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Anfrage zur Erweiterung des BTHome-plugins im BT-Adapter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Anfrage zur Erweiterung des BTHome-plugins im BT-Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Heidi02 last edited by

      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

      mcm1957 H 2 Replies Last reply Reply Quote 0
      • mcm1957
        mcm1957 @Heidi02 last edited by 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 1 Reply Last reply Reply Quote 1
        • H
          Heidi02 @mcm1957 last edited by

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

          mcm1957 1 Reply Last reply Reply Quote 0
          • mcm1957
            mcm1957 @Heidi02 last edited by 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 1 Reply Last reply Reply Quote 1
            • H
              Heidi02 @mcm1957 last edited by

              @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 Reply Quote 0
              • H
                Heidi02 @Heidi02 last edited by 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.

                mcm1957 1 Reply Last reply Reply Quote 0
                • mcm1957
                  mcm1957 @Heidi02 last edited by 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 1 Reply Last reply Reply Quote 0
                  • H
                    Heidi02 @mcm1957 last edited by

                    @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. 😀
                    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 Reply Quote 0
                    • First post
                      Last post

                    Support us

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

                    823
                    Online

                    31.9k
                    Users

                    80.1k
                    Topics

                    1.3m
                    Posts

                    bluetooth bthome
                    2
                    8
                    344
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo