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. Skripten / Logik
  4. Probleme mit js2fs adapter: Skripte werden doppelt gestartet und ausgeführt

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Probleme mit js2fs adapter: Skripte werden doppelt gestartet und ausgeführt

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
67 Beiträge 8 Kommentatoren 5.9k 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.
  • Christof.KacC Offline
    Christof.KacC Offline
    Christof.Kac
    schrieb am zuletzt editiert von
    #1

    Hallo Zusammen,

    für Backup Zwecke probiere ich gerade den js2fs Adapter aus.

    Funktional perfekt - macht genau das, was ich will.

    Leider gibt es einen Seiteneffekt: Im Debug log habe ich schon gesehen, dass alle Nachrichten zweimal kommen (so, als ob das Skript zweimal durchlaufen würde).

    Ich bin davon ausgegangen, dass alle Schedules und Events durch den zweiten Aufruf des Skripts zurückgesetzt werden. Dem ist aber nicht so.

    Zu Debugzwecken lasse ich mir z.B. per Telegram Adapter eine Botschaft zu einer festen Uhrzeit schicken - diese kommt nun zweimal.

    Ob ein Rollo nun zweimal das Kommando zum Hochfahren bekommt, wäre ja egal. Da ich bald auch einen Wecker damit Triggern möchte, wäre dies aber unglücklich.

    Hier meine Konfiguration vom Adapter:
    3980_screenshot.jpg

    Hat jemand Ähnliches beobachtet und wie kann ich dieses Verhalten abstellen?

    Danke

    Christof

    ioBroker admin 6 mit cloud in einer VM mit CCU2, Rademacher Homepilot, FS20, Homematic, Google Home

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

      Ich habe das Problem auch wenn man Skripte im ioBroker-Admin editiert und speichert. Dann passiert genau das. In wirklichkeit werden die Skripte vom Admin nach dem Speichern neu gestartet, dann mach der js2fs aber noch eine Änderung am Skript-Objekt und damit werden die Skripte beendet und nochmals gestartet. Manchmal geht das schieff und die Skripte laufen doppelt.

      Ich bin schon dran das zu ändern (sobald ich mal die nötige Ruhe finde) da geht es ab js-controller 1.2.4 ohne das doppelte.

      Workarounds:

      1.) Skript stoppen, dann editieren/speichern, dann manuell starten

      2.) Nur die Files editieren und alleine per js2fs (Filesystem) arbeiten

      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
      • Christof.KacC Offline
        Christof.KacC Offline
        Christof.Kac
        schrieb am zuletzt editiert von
        #3

        Hi,

        Workaround 1 verstehe ich.

        Nr. 2 finde ich eleganter, ich verstehe nur eine Sache nicht.

        Bisher dachte ich, der js2fs Adapter arbeitet nur in eine Richtung: Editieren im admin erzeugt synchrone Kopien im filesystem.

        Verstehe ich Dich richtig, dass Änderungen im Filesystem (also Arbeiten auf den exportierten Skripten) auch wieder zurück zum admin hochsynchronisiert werden?

        Danke und bis bald

        Christof

        ioBroker admin 6 mit cloud in einer VM mit CCU2, Rademacher Homepilot, FS20, Homematic, Google Home

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

          Der Adapter arbeitet bidirektional … ich editiere nur noch im filesystem. Ist cool

          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
          • Christof.KacC Offline
            Christof.KacC Offline
            Christof.Kac
            schrieb am zuletzt editiert von
            #5

            Klingt ja super…..dann noch eine letzte Fragen zum Handling:

            -Gibt es hier eine IDE/Editor, welcher sich am besten dafür eignet?

            Danke nochmals

            Christof

            ioBroker admin 6 mit cloud in einer VM mit CCU2, Rademacher Homepilot, FS20, Homematic, Google Home

            1 Antwort Letzte Antwort
            0
            • arteckA Offline
              arteckA Offline
              arteck
              Developer Most Active
              schrieb am zuletzt editiert von
              #6

              @Christof.Kac:

              Klingt ja super…..dann noch eine letzte Fragen zum Handling:

              -Gibt es hier eine IDE/Editor, welcher sich am besten dafür eignet?

              Danke nochmals

              Christof `

              ich nutze PSPad für.. aber du kansnt auch jeden beliebeigen Editor nehmen

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

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

                Ich nehme atom.io. Ein Editor der JavaScript code highlighting kann hilft ;-)

                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
                • AlCalzoneA Offline
                  AlCalzoneA Offline
                  AlCalzone
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  <== großer Fan von VSCode

                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                  1 Antwort Letzte Antwort
                  0
                  • AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    schrieb am zuletzt editiert von
                    #9

                    <== großer Fan von VSCode

                    Vor allem kann es mit https://github.com/ioBroker/ioBroker.javascript/blob/master/lib/javascript.d.ts Autovervollständigung und Typüberprüfung für die Funktionen der ioBroker-Schnittstelle, wenn du am Anfang deines Skripts diesen Kommentar einfügst:

                    /// <reference path="javascript.d.ts">
                    // @ts-check</reference>
                    

                    1097_unbenannt.png
                    1097_unbenannt2.png

                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                    1 Antwort Letzte Antwort
                    0
                    • htreckslerH Offline
                      htreckslerH Offline
                      htrecksler
                      Forum Testing
                      schrieb am zuletzt editiert von
                      #10

                      @AlCalzone:

                      <== großer Fan von VSCode `

                      Muss VSCode dann auf der gleichen Maschine installiert sein auf der auch ioBroker läuft?

                      Bei mir läuft ioBroker auf einem IntelNuc unter Windows 10. Der Rechner ist jedoch nur per RDP erreichbar.

                      Jetzt würde ich VSCode gerne auf meinem normalen PC ausführen. Würde das auch funktionieren?

                      Gruss Hermann

                      ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                      1 Antwort Letzte Antwort
                      0
                      • AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #11

                        @htrecksler:

                        Muss VSCode dann auf der gleichen Maschine installiert sein auf der auch ioBroker läuft? `
                        Wenns nur um die Entwicklung geht und du nachher eh js2fs verwendet, dann nicht. Brauchst aber die verlinkte Datei in deinem Arbeitsverzeichnis.

                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

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

                          Ich hab per Atom.io ein scp Plugin womit ich die files auf den iobroker Host übertrage mach Änderungen.

                          Sowas gibt’s für vscode auch

                          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
                          • M Offline
                            M Offline
                            Marty56
                            schrieb am zuletzt editiert von
                            #13

                            Ich habe auch das Szenario, dass meine iobroker auf einem Raspberry installiert ist und ich auf Macs editieren möchte.

                            Jetzt muss ich wohl, die Datei 'javascript.d.ts' ins Arbeitsverzeichnis des Editors kopieren.

                            Wo finde ich die denn auf dem Raspberry?

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

                            1 Antwort Letzte Antwort
                            0
                            • AlCalzoneA Offline
                              AlCalzoneA Offline
                              AlCalzone
                              Developer
                              schrieb am zuletzt editiert von
                              #14

                              @Marty56:

                              Ich habe auch das Szenario, dass meine iobroker auf einem Raspberry installiert ist und ich auf Macs editieren möchte.

                              Jetzt muss ich wohl, die Datei 'javascript.d.ts' ins Arbeitsverzeichnis des Editors kopieren.

                              Wo finde ich die denn auf dem Raspberry? `
                              Ich hab oben nen Link gepostet. Dort auf Raw-Ansicht wechseln und die im Arbeitsverzeichnis speichern.

                              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

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

                                Danke!

                                Alles klar. Ich hatte den Link übersehen.

                                Funktioniert super!

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

                                1 Antwort Letzte Antwort
                                0
                                • Christof.KacC Offline
                                  Christof.KacC Offline
                                  Christof.Kac
                                  schrieb am zuletzt editiert von
                                  #16

                                  Ich wollte mich auch nur kurz für die Tipps bedanken - VSCode ist echt super - speziell mit der Erweiterung, dass die ioBroker Funktionen bekannt gemacht werden können.

                                  Also danke nochmal

                                  Christof

                                  ioBroker admin 6 mit cloud in einer VM mit CCU2, Rademacher Homepilot, FS20, Homematic, Google Home

                                  1 Antwort Letzte Antwort
                                  0
                                  • ruhr70R Offline
                                    ruhr70R Offline
                                    ruhr70
                                    schrieb am zuletzt editiert von
                                    #17

                                    @AlCalzone:

                                    <== großer Fan von VSCode

                                    Vor allem kann es mit https://github.com/ioBroker/ioBroker.javascript/blob/master/lib/javascript.d.ts Autovervollständigung und Typüberprüfung für die Funktionen der ioBroker-Schnittstelle, wenn du am Anfang deines Skripts diesen Kommentar einfügst:

                                    /// <reference path="javascript.d.ts">
                                    // @ts-check</reference>
                                    ```` `  
                                    

                                    Gerade mal probiert und ich bin ziemlich begeistert.

                                    Einen angezeigten Fehler kann ich nicht nachvollziehen:

                                    327_2018-02-07_javascript.d.ts.png

                                    327_2018-02-07_create_state.png

                                    Die Funktion wird doch üblicherweise so genutzt?

                                    createState() "erkennt doch die Anzahl und Art der Parameter, sprich die Parameter zur Stelle lässt sich doch nicht genau bestimmen oder?

                                    Die Datei meckert das fehlende "forceCreation" an, welches ich laut Dokumentation auch weglassen kann.

                                    Adapter: Fritzbox, Unify Circuit
                                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                    1 Antwort Letzte Antwort
                                    0
                                    • AlCalzoneA Offline
                                      AlCalzoneA Offline
                                      AlCalzone
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #18

                                      Danke für den Hinweis, müsste ich checken. Kann durchaus sein, dass ich eine der Funktionssignaturen nicht korrekt abgebildet habe.

                                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                      1 Antwort Letzte Antwort
                                      0
                                      • ruhr70R Offline
                                        ruhr70R Offline
                                        ruhr70
                                        schrieb am zuletzt editiert von
                                        #19

                                        @AlCalzone:

                                        Danke für den Hinweis, müsste ich checken. Kann durchaus sein, dass ich eine der Funktionssignaturen nicht korrekt abgebildet habe. `

                                        kann man das denn überhaupt abbilden?

                                        Ich habe so verstanden, dass die Funktion schaut, welche Werte übergeben werden, sie interpretiert und erst zuordned. Also Werte weggelassen werden können und die Definition dann "eine Stelle aufrutscht".

                                        Ist so etwas in einer Definitionsdatei machbar?

                                        Da steckt doch Programmlogik hinter.

                                        Adapter: Fritzbox, Unify Circuit
                                        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                        1 Antwort Letzte Antwort
                                        0
                                        • AlCalzoneA Offline
                                          AlCalzoneA Offline
                                          AlCalzone
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #20

                                          @ruhr70:

                                          Ist so etwas in einer Definitionsdatei machbar? `
                                          Ja, indem du alle Möglichkeiten auflistest. Als letztes muss dann die allgemeine Form stehen, die zu allen aufgelisteten Varianten kompatibel ist.

                                          Siehe getForeignObjects hier: https://github.com/AlCalzone/ioBroker.t … d.ts#L1031

                                          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                          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

                                          478

                                          Online

                                          32.6k

                                          Benutzer

                                          82.0k

                                          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