Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Frage, was ist besser viele Kleine ein Großes Script?

    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

    Frage, was ist besser viele Kleine ein Großes Script?

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

      Hallo Zusammen,

      da ich grad einiges umstelle im ioBroker musste ich auch etliche Scripte anpassen.

      Dabei ist mir erst so richtig aufgefallen, wie viele Scripte ich eigentlich am laufen habe.

      Daher mal die allgemeien Frage, was ist besser viele Kleine Scripte oder besser vieles in einem
      großen Script vereinen?

      Als Beispiel für die Rollladensteuerung habe ich für das senden der Befehle für jeden Rollladen
      einen Script erstellt....
      Oder wäre es besser alle Rollläden in einen Script unter zu bringen?

      Danke
      Gruß Jens

      htrecksler 1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active last edited by

        Ich denke das ist geschmackssache.

        Ich persönlich mag lieber kleine Scripte.

        Große, verschachtelte werde schnell unübersichtlich.

        Mache es so, wie du am besten zurecht kommst.

        mfg

        1 Reply Last reply Reply Quote 0
        • htrecksler
          htrecksler Forum Testing @AingTii last edited by

          @AingTii Bei einem großen Script ist die Gefahr groß, das auf einen Schlag vieles nicht mehr funktioniert wenn sich ein kleiner Fehler einschleicht.
          Ich persönlich, aber wie Bahnuhr schon schreibt ist es sicherlich Geschmackssache, halte meine Scripte Themenbezoben zusammen.
          So gibt es ein Script für die Rolladensteuerung. Ein Script pro Raum für die Heizung.
          2 Scripte (gerade in Arbeit) für die Bewässerung (eines für die eigentliche Ausführung und eines für das Regelwerk).
          Und im Javascript Adapter habe ich mit für Themenbereiche eigene Ordner gemacht. (Rolladen, Heizung, System, periodische Aktivitäten, VIS, etc.)
          So hat man zumindest etwas Übersicht

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

            Zu Themen zusammengefasste mehrere kleine Scripte sind sinnvoll, da man diese separat starten/stoppen kann. Die Rollladensteuerung würde ich in einem Script unterbringen, nicht je Fenster - macht eine Konfiguration/Anpassung leichter.
            Zusätzlich solltest du auch nicht alle Scripte in einer Javascript Instanz laufen lassen, da ein Script eine Instanz blockieren kann, sondern du solltest mit (mindestens) drei Instanzen arbeiten:

            • Instanz.0 : Lebensnotwendige Scripte, die 100% funktionieren (müssen). Bsp: Wasserwarnungen
            • Instanz.1 : Komfort-Scripte, wie Rollläden öffnen/schließen
            • Instanz.2 : Test-Scripte

            Nachteil der mehreren Instanzen ist lediglich der RAM Verbrauch, was auf einem Raspi zu bedenken ist, auf einem NUC eher nicht.

            1 Reply Last reply Reply Quote 0
            • Scrounger
              Scrounger Developer last edited by

              ich favorisiere auch kleine Themen bezogene Skripte. Ich hab meine Struktur der Skripte so aufgebaut, dass Sie zu den Datenpunkten passen. Z.b. habe ich einen Channel Licht, wo alle Datenpunkte für meine Lichter drin sind. Unter Skripte hab ich dann einen Ordner Licht angelegt, wo alle Skripte drin sind, die irgendwas mit den Lichtern machen. So findet man recht schnell die entsprechenden Skripte wieder bzw. hat eine saubere Struktur. Zusätzlich nutze ich noch den linkeddevices adapter mit dem man per IDE wunderbar auf die Datenpunkte (Struktur) zugreifen kann.

              @Uhula sagte in Frage, was ist besser viele Kleine ein Großes Script?:

              • Instanz.0 : Lebensnotwendige Scripte, die 100% funktionieren (müssen). Bsp: Wasserwarnungen
              • Instanz.1 : Komfort-Scripte, wie Rollläden öffnen/schließen
              • Instanz.2 : Test-Scripte

              Nachteil der mehreren Instanzen ist lediglich der RAM Verbrauch, was auf einem Raspi zu bedenken ist, auf einem NUC eher nicht.

              Ich verwende nur eine Instanz, hab aber bei all meinen Skripte immer ein Error Handling eingebaut, so dass im Fehlerfall mir nicht gleich die Instanz abschmiert. Das kann man damit erreichen in dem man immer alles in try{} catch(error){} blöcke packt.

              BBTown Uhula 2 Replies Last reply Reply Quote 0
              • BBTown
                BBTown @Scrounger last edited by

                @Scrounger sagte in Frage, was ist besser viele Kleine ein Großes Script?:

                Das kann man damit erreichen in dem man immer alles in try{} catch(error){} blöcke packt

                kann man so etwas auch in Blockly verwenden?

                Scrounger 1 Reply Last reply Reply Quote 0
                • Scrounger
                  Scrounger Developer @BBTown last edited by

                  @BBTown sagte in Frage, was ist besser viele Kleine ein Großes Script?:

                  kann man so etwas auch in Blockly verwenden?

                  Kann ich dir nicht beantworten, weil ich mich mit Blockly nicht auskenne - diese grafischen Programmiersprachen sind mir einfach zu hoch 😁

                  1 Reply Last reply Reply Quote 0
                  • Uhula
                    Uhula @Scrounger last edited by

                    @Scrounger sagte in Frage, was ist besser viele Kleine ein Großes Script?:

                    Ich verwende nur eine Instanz, hab aber bei all meinen Skripte immer ein Error Handling eingebaut, so dass im Fehlerfall mir nicht gleich die Instanz abschmiert. Das kann man damit erreichen in dem man immer alles in try{} catch(error){} blöcke packt.

                    Absolut richtig - für eigene Scripte. Allerdings musst du dann auch alle fremden Scripte anpassen, die du nutzt und die nicht so aufgebaut sind.

                    Btw: Super Arbeit mit deinen MD Widgets!

                    1 Reply Last reply Reply Quote 0
                    • A
                      AingTii last edited by

                      Danke für die Zahlreichen Antworten,

                      Ich denke von jedem kann ich etwas mitnehmen.

                      Bin auch angefangen ein bisschen in Ordner zu sortieren.
                      OK, dann scheint es zumindest seitens ioBroker egal zu sein ob ein großes oder viele kleine, halt mit den Vor und Nachteilen...

                      Ich glaube dann bin ich auf einen guten Weg, einige habe ich zusammengefasst in etwas größeren,
                      und habe aber auch einiges einzeln gehalten.
                      Das mit den mehreren Instanzen muss ich mal schauen ob es bei mir sinn macht.

                      Danke Euch

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      530
                      Online

                      31.8k
                      Users

                      80.0k
                      Topics

                      1.3m
                      Posts

                      6
                      9
                      481
                      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