Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. serialport lässt sich nicht installieren

    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

    serialport lässt sich nicht installieren

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

      hallo zusammen,
      ich habe ioBroker.admin 4.1.11 auf einem Pi4 neu installiert, dann die JS script engine 4.8.4 installiert.
      Dann wie hier (https://forum.iobroker.net/topic/12340/serialport-adapter/2) beschrieben serialport integriert.

      Leider hat das wohl nicht funktioniert, es passiert auch nichts wenn ich auf speichern gehen.
      Die Zeile "var SerialPort = require("serialport");" führt bereits zu einem Fehler "serialport" ist rot unterstrichen.
      Die Fehlermeldung ist auch nicht hilfreich:
      11:58:38.131 error javascript.0 (2731) script.js.common.t2 compile failed: at script.js.common.t2:3

      Kann mir bitte jemand einen Tipp geben?

      Danke Gruß Stefan

      UncleSam stefan999 2 Replies Last reply Reply Quote 0
      • UncleSam
        UncleSam Developer @stefan999 last edited by

        @stefan999 Ich nehme an, du hast schon etwas gewartet, bis das Modul installiert ist? Geht bei serialport je nach System recht lange.

        Kannst du dein ganzes Skript mal hier posten (in Code Tags </>).

        Zum herauszufinden, ob serialport bei dir sauber installiert wird, kannst du mal versuchen, den Adapter smartmeter zu installieren. Wenn dann ein Fehler kommt, kannst du den hier posten.

        stefan999 1 Reply Last reply Reply Quote 0
        • stefan999
          stefan999 @UncleSam last edited by

          @unclesam
          danke, ich denke dass es doch läuft.
          Ich sende Daten mit einem Arduino an ttyUSB0, die kommen auch tatsächlich dort an!

          Hier meine Versuche:
          // mit putty
          pi@raspberrypi:/ $ ls -la /dev/serial/by-id
          insgesamt 0
          drwxr-xr-x 2 root root 80 Jan 17 11:15 .
          drwxr-xr-x 4 root root 80 Jan 17 11:15 ..
          lrwxrwxrwx 1 root root 13 Jan 17 11:15 usb-FTDI_FT232R_USB_UART_AI02OF95-if00-port0 -> ../../ttyUSB0
          lrwxrwxrwx 1 root root 13 Jan 17 11:15 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0014D94714-if00 -> ../../ttyACM0
          pi@raspberrypi:/ $

          // Programmcode
          const SerialPort = require('serialport')
          const port = new SerialPort('/dev/ttyUSB0',
          {baudRate: 115200, autoOpen: true, xon: true,xoff: true,platformOptions: {vmin: 0, vtime: 10, hupcl: false}}
          )

          port.open (function (err) {
          if (err) {return console.log('Error opening port: ', err.message)}
          })

          port.on('data', function (data) {
          console.log('Data:', data)
          })

          // Ausgabe
          18:01:57.157 info javascript.0 (9595) Stop script script.js.common.t1
          18:01:57.177 info javascript.0 (9595) Start javascript script.js.common.t1
          18:01:57.186 info javascript.0 (9595) script.js.common.t1: registered 0 subscriptions and 0 schedules
          18:01:57.187 info javascript.0 (9595) script.js.common.t1: Error opening port:

          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @stefan999 last edited by Thomas Braun

            @stefan999 Bitte Text in CodeTags setzen.
            Und bitte vollständig posten.

            1 Reply Last reply Reply Quote 0
            • stefan999
              stefan999 last edited by

              const SerialPort = require('serialport')
              const port = new SerialPort('/dev/ttyUSB0',
                  {baudRate: 115200, autoOpen: true, xon: true,xoff: true,platformOptions: {vmin: 0, vtime: 10, hupcl: false}}
              )
              
              port.open (function (err) {
                  if (err) {return console.log('Error opening port: ', err.message)}
              })
              
              
              port.on('data', function (data) {
                console.log('Data:', data)
              })
              

              Sorry! Das ist der ganze Code. Beim Öffnen des Ports kommt ein Fehler!

              Thomas Braun 1 Reply Last reply Reply Quote 0
              • Thomas Braun
                Thomas Braun Most Active @stefan999 last edited by

                @stefan999 said in serialport lässt sich nicht installieren:

                Beim Öffnen des Ports kommt ein Fehler!

                Ein geheimer Fehler? Oh, oh, oh, das sind die gefährlichsten!

                1 Reply Last reply Reply Quote 0
                • stefan999
                  stefan999 last edited by

                  @thomas-braun

                  da steht weiter nichts nur "Error open port", überhaupt werden mir keine Fehler angezeigt - ist Javascript falsch konfiguriert?
                  Bei Mouseover serialport kommt das hier
                  ![0_1610910576421_seri2.jpg](Uploading 100%)

                  stefan999 1 Reply Last reply Reply Quote 0
                  • stefan999
                    stefan999 @stefan999 last edited by

                    @stefan999
                    Bild sieht man wohl nicht! Da steht "cannot find module 'serialport' "

                    1 Reply Last reply Reply Quote 0
                    • stefan999
                      stefan999 @stefan999 last edited by

                      Es läuft jetzt, nur startet serialport nicht immer, ich muss mal genau beobachten waran das liegt.
                      Vielleicht lässt mein Code ja etwas abstürzen.

                      Hier nun ein Code der funktioniert, zumindest mal die Grundfunktion. Ich kann im Arduino Terminal Zeichen eingeben, und der AsCii code wird mir angezeigt.

                      var Serialport = require('serialport');
                      var portName = '/dev/ttyUSB0';
                      
                      const port = new Serialport(portName, {
                          autoOpen: true,
                          baudRate: 115200,
                      	dataBits: 8,
                          parity: 'none',
                          stopBits: 1,
                          flowControl: false
                      });
                      
                      // Read the port data
                      port.on("open", function () {
                          console.log('open');
                          port.on('data', function(data) {
                              console.log(data);
                          });
                      });
                      
                      

                      Ich denke es lag nie daran, dass serialport nicht installiert war!

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      955
                      Online

                      31.9k
                      Users

                      80.1k
                      Topics

                      1.3m
                      Posts

                      javascript
                      3
                      9
                      388
                      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