Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. Javascript: USB Geräte mit NPM-Modulen erkennen

    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

    Javascript: USB Geräte mit NPM-Modulen erkennen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Jey Cee
      Jey Cee Developer @ATARI last edited by

      @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 1 Reply Last reply Reply Quote 0
      • A
        ATARI @Jey Cee last edited by 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 Cee 1 Reply Last reply Reply Quote 0
        • Jey Cee
          Jey Cee Developer @ATARI last edited by

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

          A 2 Replies Last reply Reply Quote 0
          • A
            ATARI @Jey Cee last edited by

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

            1 Reply Last reply Reply Quote 0
            • A
              ATARI @Jey Cee last edited by 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 Cee 1 Reply Last reply Reply Quote 0
              • Jey Cee
                Jey Cee Developer @ATARI last edited by

                const usb = require('usb');
                
                const devices = usb.getDeviceList();
                for (const device of devices) {
                
                    console.log(device); // Legacy device
                
                }
                
                A 1 Reply Last reply Reply Quote 0
                • A
                  ATARI @Jey Cee last edited by

                  @jey-cee
                  SUPER !!! funktioniert.

                  Dann kann ich über

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

                  das entsprechende Device auf "vorhanden" abfragen?

                  Jey Cee 1 Reply Last reply Reply Quote 0
                  • Jey Cee
                    Jey Cee Developer @ATARI last edited by

                    @atari keine Ahnung ich kenn die Lib USB nicht.

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      ATARI @Jey Cee last edited by ATARI

                      @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

                      1 Reply Last reply Reply Quote 0
                      • A
                        ATARI last edited by ATARI

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

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        866
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        2
                        11
                        442
                        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