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. Einsteigerfragen
  4. Einbindung von Geräten
  5. Javascript: USB Geräte mit NPM-Modulen erkennen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Javascript: USB Geräte mit NPM-Modulen erkennen

Geplant Angeheftet Gesperrt Verschoben Einbindung von Geräten
11 Beiträge 2 Kommentatoren 820 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.
  • A Offline
    A Offline
    ATARI
    schrieb am zuletzt editiert von ATARI
    #1

    @Alle
    Moin, moin

    Ich möchte,
    das ein Javascript nur läuft, wenn ein bestimmtes USB-Gerät (Vid und Pid) angeschlossen ist.

    In der Instanz "javascript.0" habe jeweils die "zusätzlichen NPM-Module"

    • usb
    • node-usb
    • usb-detection

    sowie bei "Syntaxhilfe für npm-Module" eingetragen.

    Ich habe dann anhand der Beispiel-Scripte aus den jeweiligen Readme's zu den
    NPM-Modulen ein Test-Script erstellt.

    Bei den Modulen "usb" und "node-usb" bekomme ich in den Test-Scipten nur Fehlermeldungen
    bzgl. der Zeile mit dem Befehl: "import..."

    Beim Modul "usb-detection" erhalte ich keine Fehlermeldung in den Test-Scripten.
    Allerdings fehlt bei der Rückmeldung "add", "remove", "change" die Infos zum Device.
    Also nur die Rückmeldung mit den Infos "add", "remove", "change" ohne Device-Infos.
    Somit kann ich erkennen das sich was ändert, aber ich sehe nicht bei welchem Device.
    Außerdem wird im ReadMe des Moduls der Umstieg auf "usb" empfohlen.

    Was mache ich hier falsch?

    EDIT:
    Wegen der Fehlermeldungen in "usb" und "node-usb" habe ich über die Konsole
    von NPM die Module "usb", "node-usb" und "libudev-dev" nach installiert, leider
    ohne Erfolg.

    Gruß
    ATARI

    Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
    Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
    Aeotec Z-Wave | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

    Jey CeeJ 1 Antwort Letzte Antwort
    0
    • A ATARI

      @Alle
      Moin, moin

      Ich möchte,
      das ein Javascript nur läuft, wenn ein bestimmtes USB-Gerät (Vid und Pid) angeschlossen ist.

      In der Instanz "javascript.0" habe jeweils die "zusätzlichen NPM-Module"

      • usb
      • node-usb
      • usb-detection

      sowie bei "Syntaxhilfe für npm-Module" eingetragen.

      Ich habe dann anhand der Beispiel-Scripte aus den jeweiligen Readme's zu den
      NPM-Modulen ein Test-Script erstellt.

      Bei den Modulen "usb" und "node-usb" bekomme ich in den Test-Scipten nur Fehlermeldungen
      bzgl. der Zeile mit dem Befehl: "import..."

      Beim Modul "usb-detection" erhalte ich keine Fehlermeldung in den Test-Scripten.
      Allerdings fehlt bei der Rückmeldung "add", "remove", "change" die Infos zum Device.
      Also nur die Rückmeldung mit den Infos "add", "remove", "change" ohne Device-Infos.
      Somit kann ich erkennen das sich was ändert, aber ich sehe nicht bei welchem Device.
      Außerdem wird im ReadMe des Moduls der Umstieg auf "usb" empfohlen.

      Was mache ich hier falsch?

      EDIT:
      Wegen der Fehlermeldungen in "usb" und "node-usb" habe ich über die Konsole
      von NPM die Module "usb", "node-usb" und "libudev-dev" nach installiert, leider
      ohne Erfolg.

      Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      schrieb am zuletzt editiert von
      #2

      @atari sagte in Javascript: USB Geräte mit NPM-Modulen erkennen:

      Bei den Modulen "usb" und "node-usb" bekomme ich in den Test-Scipten nur Fehlermeldungen
      bzgl. der Zeile mit dem Befehl: "import..."

      import funktioniert in ioBroker nicht. Du musst stattdessen require verwenden.

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      A 1 Antwort Letzte Antwort
      0
      • Jey CeeJ Jey Cee

        @atari sagte in Javascript: USB Geräte mit NPM-Modulen erkennen:

        Bei den Modulen "usb" und "node-usb" bekomme ich in den Test-Scipten nur Fehlermeldungen
        bzgl. der Zeile mit dem Befehl: "import..."

        import funktioniert in ioBroker nicht. Du musst stattdessen require verwenden.

        A Offline
        A Offline
        ATARI
        schrieb am zuletzt editiert von ATARI
        #3

        @jey-cee
        danke für Deine rasche Antwort.

        Mit "require" hab ich es auch versucht, hat auch nicht funktioniert.
        Aber vllt. habe ich die entsprechende Befehlszeile nicht korrekt eingegeben.

        Hast Du evtl. eine kurzes Bespiel hierzu?

        Gruß
        ATARI

        Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
        Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
        Aeotec Z-Wave | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

        Jey CeeJ 1 Antwort Letzte Antwort
        0
        • A ATARI

          @jey-cee
          danke für Deine rasche Antwort.

          Mit "require" hab ich es auch versucht, hat auch nicht funktioniert.
          Aber vllt. habe ich die entsprechende Befehlszeile nicht korrekt eingegeben.

          Hast Du evtl. eine kurzes Bespiel hierzu?

          Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          schrieb am zuletzt editiert von
          #4

          @atari schau im Github repository von usb bei den issues, da findest du einige Beispiele

          Persönlicher Support
          Spenden -> paypal.me/J3YC33

          A 2 Antworten Letzte Antwort
          0
          • Jey CeeJ Jey Cee

            @atari schau im Github repository von usb bei den issues, da findest du einige Beispiele

            A Offline
            A Offline
            ATARI
            schrieb am zuletzt editiert von
            #5

            @jey-cee
            ok, schau ich mir mal an.

            Gruß
            ATARI

            Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
            Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
            Aeotec Z-Wave | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

            1 Antwort Letzte Antwort
            0
            • Jey CeeJ Jey Cee

              @atari schau im Github repository von usb bei den issues, da findest du einige Beispiele

              A Offline
              A Offline
              ATARI
              schrieb am zuletzt editiert von ATARI
              #6

              @jey-cee sagte in Javascript: USB Geräte mit NPM-Modulen erkennen:

              schau im Github repository von usb bei den issues, da findest du einige Beispiele

              Nimm's mir nicht übel, aber unter den Repositorys und Issues zu USB wird man ja
              erschlagen von der Masse der Einträge. Hab mir davon einige angesehen, aber kein
              brauchbares Beispiel-Script endeckt. Im Grunde habe ich immer nur Teile aus den
              Beispiel-Scripten zu den Modulen gefunden. Vllt. bin ich aber auch einfach nur zu 'blöd' für eine richtige Suche.

              Nach

              var usb = require('usb')
              

              bekomme ich in meinem Script keine Fehlermeldung.

              Aber wie geht's dann weiter...,
              Wie müssen Javascripte wie...

              import { getDeviceList } from 'usb';
              const devices = getDeviceList();
              for (const device of devices) {
                  console.log(device); // Legacy device
              }
              

              oder

              import { findByIds } from 'usb';
              const device = findByIds(0x59e3, 0x0a23);
              if (device) {
                  console.log(device); // Legacy device
              }
              

              für ioBroker Javascript umgewandelt werden?

              Alle Beispiel-Scripte von NPM / GitHub "usb" oder "node-usb" beginnen immer mit

              import....
              const...
              

              und funktionieren nicht im ioBroker Javascript.

              EDIT:
              Wie schon erwähnt

              var usbDetect = require('usb-detection');
              usbDetect.startMonitoring();
              usbDetect.on('change', function(device) { console.log('change', device); });
              

              funktioniert, allerdings ohne Infos zum USB-Device.

              Gruß
              ATARI

              Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
              Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
              Aeotec Z-Wave | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

              Jey CeeJ 1 Antwort Letzte Antwort
              0
              • A ATARI

                @jey-cee sagte in Javascript: USB Geräte mit NPM-Modulen erkennen:

                schau im Github repository von usb bei den issues, da findest du einige Beispiele

                Nimm's mir nicht übel, aber unter den Repositorys und Issues zu USB wird man ja
                erschlagen von der Masse der Einträge. Hab mir davon einige angesehen, aber kein
                brauchbares Beispiel-Script endeckt. Im Grunde habe ich immer nur Teile aus den
                Beispiel-Scripten zu den Modulen gefunden. Vllt. bin ich aber auch einfach nur zu 'blöd' für eine richtige Suche.

                Nach

                var usb = require('usb')
                

                bekomme ich in meinem Script keine Fehlermeldung.

                Aber wie geht's dann weiter...,
                Wie müssen Javascripte wie...

                import { getDeviceList } from 'usb';
                const devices = getDeviceList();
                for (const device of devices) {
                    console.log(device); // Legacy device
                }
                

                oder

                import { findByIds } from 'usb';
                const device = findByIds(0x59e3, 0x0a23);
                if (device) {
                    console.log(device); // Legacy device
                }
                

                für ioBroker Javascript umgewandelt werden?

                Alle Beispiel-Scripte von NPM / GitHub "usb" oder "node-usb" beginnen immer mit

                import....
                const...
                

                und funktionieren nicht im ioBroker Javascript.

                EDIT:
                Wie schon erwähnt

                var usbDetect = require('usb-detection');
                usbDetect.startMonitoring();
                usbDetect.on('change', function(device) { console.log('change', device); });
                

                funktioniert, allerdings ohne Infos zum USB-Device.

                Jey CeeJ Online
                Jey CeeJ Online
                Jey Cee
                Developer
                schrieb am zuletzt editiert von
                #7
                const usb = require('usb');
                
                const devices = usb.getDeviceList();
                for (const device of devices) {
                
                    console.log(device); // Legacy device
                
                }
                

                Persönlicher Support
                Spenden -> paypal.me/J3YC33

                A 1 Antwort Letzte Antwort
                0
                • Jey CeeJ Jey Cee
                  const usb = require('usb');
                  
                  const devices = usb.getDeviceList();
                  for (const device of devices) {
                  
                      console.log(device); // Legacy device
                  
                  }
                  
                  A Offline
                  A Offline
                  ATARI
                  schrieb am zuletzt editiert von
                  #8

                  @jey-cee
                  SUPER !!! funktioniert.

                  Dann kann ich über

                  const device = usb.findByIds(xxxx, xxxx);
                  

                  das entsprechende Device auf "vorhanden" abfragen?

                  Gruß
                  ATARI

                  Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
                  Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
                  Aeotec Z-Wave | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                  Jey CeeJ 1 Antwort Letzte Antwort
                  0
                  • A ATARI

                    @jey-cee
                    SUPER !!! funktioniert.

                    Dann kann ich über

                    const device = usb.findByIds(xxxx, xxxx);
                    

                    das entsprechende Device auf "vorhanden" abfragen?

                    Jey CeeJ Online
                    Jey CeeJ Online
                    Jey Cee
                    Developer
                    schrieb am zuletzt editiert von
                    #9

                    @atari keine Ahnung ich kenn die Lib USB nicht.

                    Persönlicher Support
                    Spenden -> paypal.me/J3YC33

                    A 1 Antwort Letzte Antwort
                    0
                    • Jey CeeJ Jey Cee

                      @atari keine Ahnung ich kenn die Lib USB nicht.

                      A Offline
                      A Offline
                      ATARI
                      schrieb am zuletzt editiert von ATARI
                      #10

                      @jey-cee

                      kein Problem.
                      Wenn ich die Befehle (aus dem Beispiel-Script zum Modul "usb")

                      • getDeviceList()
                      • findByIds(xxxx, xxxx)
                      • etc...

                      um ein vorangestelltes "usb." erweitere erhalte ich eine positive Rückmeldung über log.
                      (Das "usb." vor den Befehlen war der 'Key')

                      Merci jey-cee

                      Gruß
                      ATARI

                      Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
                      Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
                      Aeotec Z-Wave | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                      1 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        ATARI
                        schrieb am zuletzt editiert von ATARI
                        #11

                        @Jey-Cee
                        Sorry, ich bin's nochmal (hoffentlich zum letzten Mal in diesem Fall)

                        Das Starten und Stoppen von bestimmten Javascripten in Abhängigkeit vom Vorhandensein bestimmer USB-Geräte funktioniert nun, Dank Deiner Hilfe.

                        Nun habe ich vergessen, das ich ebenfalls eine "Adapter Instanz" per Javascript
                        stoppen bzw. starten müsste. (zB. zwave2.0)

                        Notwendigerweise setze ich den entsprechenden Datenpunkt zum Script
                        "scriptEnabled" auf "false" oder "true".

                        Geht das so o.ä. auch für eine Adapter Instanz?

                        EDIT:
                        Gefunden, Datenpunkt 'alive' der Adapter Instanz auf 'false' danach auf 'true'
                        setzen.

                        Gruß
                        ATARI

                        Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
                        Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
                        Aeotec Z-Wave | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                        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

                        507

                        Online

                        32.6k

                        Benutzer

                        82.0k

                        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