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. ioBroker Allgemein
  4. Absturz des Javascript Adapters und Auswirkungen auf States und Timer

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    2
    1
    20

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

Absturz des Javascript Adapters und Auswirkungen auf States und Timer

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
5 Beiträge 3 Kommentatoren 607 Aufrufe
  • Ä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.
  • M Offline
    M Offline
    Marty56
    schrieb am zuletzt editiert von
    #1

    Es kommt ja vor, dass der Javascript Adaptor ungeplant einen Neustart macht.

    Dabei ist mir nicht klar, ob die aktuellen Zustände erhalten bleiben oder von der Harddisk wiederherstellt werden.

    Außerdem was passiert mit verzögerten Zuweisungen an Objekten? Bleiben diese Timer erhalten oder ist alles gelöscht?

    Hintergrund der letzten Frage ist auch, dass mir nicht klar ist, wie häufig der "Systemzustand" auf die Harddisk ausgelagert wird.

    Gibt es darüber irgendwo eine erhellende Doku?

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

    1 Antwort Letzte Antwort
    0
    • apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von
      #2

      Zuerst einmal wäre der Grund für "ungeplante Neustarts des ja Adapters" interessant, weil der das nur macht wenn in den javascripts grobe Fehler drin sind oder keine fehlerbehandlubg eingebaut ist wenn man zB einen externen http request macht oder so.

      Ansonsten:

      Der Adapter selbst ließt und schreibt die Daten alle. Ichs direkt sondern nur Überbein ja-Controller. Also alle getState/setState Daten sind sicher. Der js-Controller schreibt glaube ich im Standard alle 30-60sek oder so auf Platte (States/objects.json in iobroker-data)

      Oder wenn du Redis für die States nimmst ist nochmal anders.

      Also States sollten immer problemlos sein und wenn verlierst du ein paar sekunden -falls js-Controller mit abschmiert.

      Wenn JavaScript weg ist dann auch alle Verzögerungen weil ja alle scripte neu gestartet werden

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      1 Antwort Letzte Antwort
      0
      • arteckA Offline
        arteckA Offline
        arteck
        Developer Most Active
        schrieb am zuletzt editiert von
        #3

        der javascript adapter startet einfach so neu bei dir … aha... dann würde ich schauen warum ..

        fangen wir mal klein an

        System ??

        wie viele instanzen des Adapters??

        wie viele Scripte ??

        alle ohne Fehler ??

        zigbee hab ich, zwave auch, nuc's genauso und HA auch

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Marty56
          schrieb am zuletzt editiert von
          #4

          Danke für die Antwort.

          Die Ursache warum der JavaScript Adapter startet ist mir klar. Es war ein fehlendes Errorhandling.

          Ich verstehe apollon77 Antwort jetzt so:

          1. "Backup" auf Harddisk ca. alle 60 Sekunden.

          2. Nach dem Neustart werden von der Harddisk die States wiederhergestellt.

          3. Alle Timer z.B. mit SetStateDelayed oder setTimeout usw. sind nicht mehr aktiv

          Danke für die Rückmeldung.

          Hintergrund war eine Steuerung meiner Gartenbewässerung.

          Das Ausschalten sollte ich dann lieber mit einem Cron Statement machen als mit einem Timer für den Fall, dass der J-Adapter doch mal abstürzt.

          Außerdem könnte man noch mehrere J-Adapter installiert und besonders Safety relevante Funktion mit möglichst minimalem Codeumfang (die dann 100% getestet ist) in einem separaten J-Adapter installieren.

          Damit könnte man eine Trennung von etwas schlechter getesten Code erzielen. Das steht ja auch so als best practice in der Javascript Doc.

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

          1 Antwort Letzte Antwort
          0
          • apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #5

            @Marty56:

            Ich verstehe apollon77 Antwort jetzt so:

            1. "Backup" auf Harddisk ca. alle 60 Sekunden.

            2. Nach dem Neustart werden von der Harddisk die States wiederhergestellt. `

            Jain. States werden NICHT vom js Adapter gesichert sonder das macht der Hauptprozess von iobroker, der js-Controller. Wenn ein Adapter abstürzt läuft der weiter!! Also bei einem Neustart eines Adapters gelten immer noch alle States bis zuletzt und es wird auch kein Backup geladen oder so.

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            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
            FAQ Cloud / IOT
            HowTo: Node.js-Update
            HowTo: Backup/Restore
            Downloads
            BLOG

            691

            Online

            32.5k

            Benutzer

            81.7k

            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