Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. ioBroker Allgemein
  4. Javascriptadapter mehrere Instanzen?

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    7
    1
    270

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    250

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    903

Javascriptadapter mehrere Instanzen?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
4 Beiträge 3 Kommentatoren 1.3k Aufrufe 1 Beobachtet
  • Ä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.
  • C Offline
    C Offline
    csamaggi
    schrieb am zuletzt editiert von
    #1

    Hallo ihr lieben,

    mal ein Frage bezüglich des Javasriptadapters.

    Macht es sinn die Menge an Scripte auf mehrere Instanzen aufzuteilen?

    Um evtl das System etwas zu entlasten und so die Abarbeitung der Scripte zu beschleunigen?

    MFG

    Maggi

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      Hallo csamaggi,

      es macht Sinn, mehrere Javascript Instanzen zu haben. Aber nicht aus Gründen der Performance. Den die Performance "leidet" eigentlich eher, denn jede Instanz braucht zusätzlich Speicher.

      Ich rate dir allerdings deine Instanzen nach der Wichtigkeit der Skripte aufzuteilen.

      Ich nutze derzeit 3 Instanzen:

      javascript.0 für essentielle Dinge (Licht, Türöffner, Alarme, …)

      javascript.1 für VIS Geschichten und andere Dienste

      javascript.2 zum Testen und für Skripte, die Daten aus dem Netz holen

      Die Trennung ist nicht mehr ganz so strikt, aber ich versuche, mich wieder daran zu halten.

      In Instanz 0 sollten alle Skripte auf Herz und Nieren getestet sein. Änderungen werden nur vorsichtig vorgenommen.

      In Instanz 1 ist es etwas lockerer. Ich nutze viele Skript für die Steuerung von VIS. Das passiert hier.

      Instanz 2 ist derzeit meine Test und Entwickler Instanz. Da passieren natürlich auch mal Fehler.

      Gibt es einen Fehler im Code, wird ggf. die Instanz, in der das fehlerhafte Skript steckt, neu gestartet. Manchmal ist der Fehler unvorhersehbar, wenn zum Beispeiel das Internet nicht erreichbar ist oder ein Datenlieferant (im Netz oder ein Gerät im Netzwerk) die Lieferbedingungen umstellt (neues Format, andere Adresse, etc.). Damit dann nicht gleich alle Skript ausfallen, kategorisiere ich wie oben beschrieben.

      Gruß

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • G Offline
        G Offline
        gst666
        schrieb am zuletzt editiert von
        #3

        pix hat alles Wichtige erklärt, vielleicht mache ich das zugrundelegen Problem noch etwas deutlicher:

        Man stelle sich folgendes vor:

        Die Hausautomatisierung umfasst auch die Steuerung des Lichts per Lichtschalter. Alle Lichtschalter schalten das Licht nicht direkt, sondern lösen lediglich ein Ereignis in ioBroker aus. Anders ausgedrückt: Ohne ioBroker läuft nichts. Wenn ioBroker abstürzt, dann kann das Licht im Haus nicht mehr geschaltet werden. Habe ich ein paar mal früher erlebt. Kann ganz schön frustrierend sein.

        Wenn man selber programmiert, kommt es immer mal wieder dazu, dass wenn man einen Fehler macht oder zumindest etwas nicht bedenkt, dass der Javascript-Adapter abstürzt. Wenn man wie von pix vorgeschlagen die Entwicklung auslagert, so stürzt nur die Instanz des Adapters ab, in der die Entwicklung läuft.

        Es kann aber durchaus passieren, dass ein Absturz sich nicht auf die Instanz beschränkt. Es kann also auch passieren, dass der Adapter insgesamt abstürzt oder noch schlimmer ioBroker insgesamt. Da mir das früher, als ich mehr programmiert habe, öfter passiert ist, habe ich einen zweiten zweiten Server aufgesetzt, in dem ich die lebenswichtige Funktion Licht verschoben habe. Das ist natürlich Luxus. Ansonsten habe ich wie pix mehrere Instanzen für Entwicklung und sekundäre Systeme.

        Der Absturz eines ganzen Systems ist natürlich extrem selten. Bei mir hat dann aber eine simple http-Abfrage ausgereicht um das zu schaffen. Damit es auch nicht zu einfach war, ist der Fehler auch nur nachts um24:00 Uhr aufgetreten. Wer nicht alleine lebt, sollte hier vorsichtig sein. Wenn die Heizungssteuerung nicht funktioniert fällt das vielleicht nicht sofort auf. Aber Licht - nein das geht gar nicht. Ein vernünftiges Konzept kann Ärger mit der Regierung vorbeugen.

        1 Antwort Letzte Antwort
        0
        • C Offline
          C Offline
          csamaggi
          schrieb am zuletzt editiert von
          #4

          Erstmal Danke für die ausführliche Erklärung.

          Mir war es durch aus bewusst wie das so zusammenhängt.

          Meine Lichtschalter sind genauso gesteuert, für mich war die Frage eben ob es nicht besser wäre die Sjripte augszuteilen ob eben die einzelne Java Instanz zu entlasten wenn es aber an der Performance nichts bringt dann kann ich das auch so lassen wie ich es habe.

          Klar habe ich auch eine Instanz als experimentelle.

          Danke nochmal.

          MFG

          Maggi

          1 Antwort Letzte Antwort
          0

          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

          Registrieren Anmelden
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

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

          635

          Online

          32.8k

          Benutzer

          82.8k

          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