Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Nochmal: Globale Variable

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Nochmal: Globale Variable

Scheduled Pinned Locked Moved Skripten / Logik
13 Posts 3 Posters 2.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #3

    Wenn Du das NPM-Modul "serialport-gsm" in Javascript nutzen möchtest, musst Du es in die Konfigration der Javascript-Instanz unter "Zusätzliche NPM-Module" eintragen. Es wird dann automatisch installiert. Die Nutzung des Modules ist auf https://github.com/zabsalahid/serialport-gsm beschrieben.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Reply Last reply
    0
    • U Offline
      U Offline
      ulistermclane
      wrote on last edited by
      #4

      Ja das ist klar und funktioniert auch. Mein Problem ist, dass ich aus mehreren Skripten auf die Modem-Schnittstelle zugreifen möchte. D.h. ich muss die modem bzw. port Objekte global sichtbar machen.

      Adapter: knx, owfs, mqtt, modbus, kodi, iCal, landroid, TR064, Luftdaten, Unifi, amazon-dash, js2fs

      HW: Fujitsu Futro S900, 4GB RAM, 32GB SSD, Selbstbau KNX Adapter mit Siemens BCU

      OS: Debian Stretch

      1 Reply Last reply
      0
      • paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by paul53
        #5

        @ulistermclane:

        aus mehreren Skripten auf die Modem-Schnittstelle zugreifen möchte.

        Dann schaffe Dir dafür Datenpunkte, die zur Kommunkation zu dem Skript mit dem require("serialport-gsm") dienen.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Reply Last reply
        0
        • U Offline
          U Offline
          ulistermclane
          wrote on last edited by
          #6

          ok, werde ich so machen - finde ich aber ziemlich umständlich. Ich werde also

          • 2 states mit den zu sendenden bzw. empfangenen SMS Daten erzeugen

          • 2 Eventhandler schreiben die das Senden bzw. Empfangen erledigen
            Trotzdem danke für den Hinweis!

          Was mich aber dennoch interessiert: warum funktionieren die Standard Node.js Methoden module.export / require nicht?

          Adapter: knx, owfs, mqtt, modbus, kodi, iCal, landroid, TR064, Luftdaten, Unifi, amazon-dash, js2fs

          HW: Fujitsu Futro S900, 4GB RAM, 32GB SSD, Selbstbau KNX Adapter mit Siemens BCU

          OS: Debian Stretch

          1 Reply Last reply
          0
          • paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by paul53
            #7

            @ulistermclane:

            warum funktionieren die Standard Node.js Methoden module.export / require nicht?

            Funktioniert die wirklich nicht ? Ich habe dies noch nicht getestet. In welches Verzeichnis hast Du Dein Modul gepackt ?

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Reply Last reply
            0
            • U Offline
              U Offline
              ulistermclane
              wrote on last edited by
              #8

              Alle Module stehen in einem Verzeichnis namens 'Testscripts'. Wenn ich dann versuche, das Objekt mit````
              var modem = require('./Hauptsteuerung').modem

              Adapter: knx, owfs, mqtt, modbus, kodi, iCal, landroid, TR064, Luftdaten, Unifi, amazon-dash, js2fs

              HW: Fujitsu Futro S900, 4GB RAM, 32GB SSD, Selbstbau KNX Adapter mit Siemens BCU

              OS: Debian Stretch

              1 Reply Last reply
              0
              • paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by paul53
                #9

                @ulistermclane:

                Deshalb meine Frage, wo die Scripte eigentlich im Dateibaum gespeichert werden.

                Eigene Module solltest Du in einem eigenen Verzeichnis unter /opt/iobroker/node_modules/iobroker.javascript/node_modules/ speichern. Habe es gerade probiert: Funktioniert.

                const test = require('lib/test.js');
                
                log(test().result);
                
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Reply Last reply
                0
                • U Offline
                  U Offline
                  ulistermclane
                  wrote on last edited by
                  #10

                  Danke für den Hinweis. Das heißt dann aber: iobroker Scripts != Javascript Modul - oder?

                  Adapter: knx, owfs, mqtt, modbus, kodi, iCal, landroid, TR064, Luftdaten, Unifi, amazon-dash, js2fs

                  HW: Fujitsu Futro S900, 4GB RAM, 32GB SSD, Selbstbau KNX Adapter mit Siemens BCU

                  OS: Debian Stretch

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    Marty56
                    wrote on last edited by
                    #11

                    Ein bisschen Off- Topic. Ich finde die Steuerung über SMS interessant und auch für mich ist das eine Anwendung.

                    Könntest Du sagen, welches GSM Serial Modul genau Du verwendest und ggf. auch welchen Provider?

                    HW:NUC (16 GB Ram)
                    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      Marty56
                      wrote on last edited by
                      #12

                      Ich habe das mit dem eigenen Module mal ausprobiert und es scheint zu funktionieren.

                      Der Ansatz scheint aber einen großen Nachteil zu haben, nämlich, dass das Module nur einmal geladen wird, wenn es noch nicht vorhanden ist oder auch bei Neustart des Javascript Adapters

                      D.h. falls ich Änderungen in dem Module mache, muss ich immer den Javascript Adapter neu starten, was ziemlich umständlich ist.

                      Ich habe keinen Weg gefunden, ein neues Laden des Modules im Script zu erzwingen, jedesmal, wenn das Script neu gestartet wird.

                      HW:NUC (16 GB Ram)
                      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                      1 Reply Last reply
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by
                        #13

                        Damit die eigenen Module bei einem Update nicht verloren gehen bzw. im Minimal-Backup mit gesichert werden, sollten sie im Verzeichnis iobroker-data gespeichert werden. Ich habe dafür das Verzeichnis modules erstellt. Der Aufruf eigener Module sieht dann so aus:

                        const test = require('../../../iobroker-data/modules/test.js');
                        
                        log(test().result);
                        
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Reply Last reply
                        1
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        789

                        Online

                        32.7k

                        Users

                        82.4k

                        Topics

                        1.3m

                        Posts
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Home
                        • Recent
                        • Tags
                        • Unread 0
                        • Categories
                        • Unreplied
                        • Popular
                        • GitHub
                        • Docu
                        • Hilfe