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. Einsteigerfragen
  4. Automatisierung
  5. Grundlegendes zu Skripten

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Grundlegendes zu Skripten

Geplant Angeheftet Gesperrt Verschoben Automatisierung
16 Beiträge 4 Kommentatoren 1.2k Aufrufe 1 Watching
  • Ä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.
  • JackJ Offline
    JackJ Offline
    Jack
    schrieb am zuletzt editiert von
    #1

    Hallo,
    ich möchte meine Skripte von fhem übernehmen, und jetzt stellen sich mir ein paar Fragen:

    Bei verlassen der Wohnung sämtliche Lichter ausschalten:
    Ein Skript das alle Lichter ausschaltet, oder ist es besser in jedem "Licht-Skript" das Licht auszuschalten?

    Drei Dimmer für 2 Lampen:
    (Schlafzimmer; ein Dimmer bei der Tür für beide Nachttischlampen, jeweils ein Dimmer bei den Lampen)
    Ein Skript für alles (damit die Lampen gleichzeitig an/aus gehen), oder besser für jede Lampe ein Skript?

    If-Verknüpfungen: Was ist Resourcenschonender - oder egal?

    if Bedingung1 && Bedingung2
    // oder
    if Bedingung1
        if Bedingung2
    

    Skripte richtig triggern:

    on( "fhem.0.GB_Home.state", "zwave2.0.Node_059.status", function (obj) {
    // oder
    on( "fhem.0.GB_Home.state", "zwave2.0.Node_059.status", (obj) => {
    // oder wie bei Blokly
    on({id: [].concat(['fhem.0.GB_Home.state']).concat(['zwave2.0.Node_059.status']), change: "ne"}, async function (obj) {
    // oder ganz anders?
    

    Wohin mit den Skripten - root, common, global?
    f19990b3-89f5-43d3-82a4-d42139ffc468-image.png

    Danke,
    Jack

    Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

    paul53P 1 Antwort Letzte Antwort
    0
    • JackJ Jack

      Hallo,
      ich möchte meine Skripte von fhem übernehmen, und jetzt stellen sich mir ein paar Fragen:

      Bei verlassen der Wohnung sämtliche Lichter ausschalten:
      Ein Skript das alle Lichter ausschaltet, oder ist es besser in jedem "Licht-Skript" das Licht auszuschalten?

      Drei Dimmer für 2 Lampen:
      (Schlafzimmer; ein Dimmer bei der Tür für beide Nachttischlampen, jeweils ein Dimmer bei den Lampen)
      Ein Skript für alles (damit die Lampen gleichzeitig an/aus gehen), oder besser für jede Lampe ein Skript?

      If-Verknüpfungen: Was ist Resourcenschonender - oder egal?

      if Bedingung1 && Bedingung2
      // oder
      if Bedingung1
          if Bedingung2
      

      Skripte richtig triggern:

      on( "fhem.0.GB_Home.state", "zwave2.0.Node_059.status", function (obj) {
      // oder
      on( "fhem.0.GB_Home.state", "zwave2.0.Node_059.status", (obj) => {
      // oder wie bei Blokly
      on({id: [].concat(['fhem.0.GB_Home.state']).concat(['zwave2.0.Node_059.status']), change: "ne"}, async function (obj) {
      // oder ganz anders?
      

      Wohin mit den Skripten - root, common, global?
      f19990b3-89f5-43d3-82a4-d42139ffc468-image.png

      Danke,
      Jack

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @jack sagte: If-Verknüpfungen: Was ist Resourcenschonender - oder egal?

      Das macht kaum Unterschied. Die Version, die man selbst besser lesen kann, verwenden.

      @jack sagte in Grundlegendes zu Skripten:

      Skripte richtig triggern:

      Die ersten beiden Versionen funktionieren nicht. Richtig:

      on(["fhem.0.GB_Home.state", "zwave2.0.Node_059.status"], function (obj) { // triggert bei Wertänderung eines DP
      

      @jack sagte in Grundlegendes zu Skripten:

      Wohin mit den Skripten - root, common, global?

      Unter "common" oder eigene Ordner; keinesfalls unter "global". Unter "global" erstellt man nur Skripte mit häufig verwendeten eigenen Funktionen, die sich aus jedem anderen (nicht globalen) Skript aufrufen lassen, da sie dort bei Skriptstart hinein kopiert werden.

      @jack sagte: Drei Dimmer für 2 Lampen:
      (Schlafzimmer; ein Dimmer bei der Tür für beide Nachttischlampen, jeweils ein Dimmer bei den Lampen)
      Ein Skript für alles (damit die Lampen gleichzeitig an/aus gehen), oder besser für jede Lampe ein Skript?

      Besser ein Skript, da man sonst leicht den Überblick darüber verliert, wo überall die Dimmer gesteuert werden.

      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 Antwort Letzte Antwort
      0
      • JackJ Offline
        JackJ Offline
        Jack
        schrieb am zuletzt editiert von
        #3

        Die nächsten Fragen. - Ich konnte das leider nicht an meinen alten Beitrag anhängen...
        Javascript:
        Sollte man Objekte direkt abfragen, oder einmal in Variablen packen, und dann damit arbeiten?

        //entweder direkt
            if (getState(x.y.z).var == true {mach was};
            if (getState(x.y.z).var == false {mach was};
        //oder mit variablen
            var VarStatus = getState(x.y.z).var;
            if (VarStatus == true) {mach was};
            if (VarStatus == false) {mach was};
        

        Wenn man ein Licht schaltet; wird es dann immer wieder eingeschaltet?:

            if ("ist dunkel genug" && "ist das Licht NICHT an" ) {Licht an};
        //oder reicht einfach nur (und ioBroker managed den Rest?
            if ("ist dunkel genug") {Licht an};
        

        Und ein Frage am Rande:
        Ich hab "Fibaro Bewegungsmelder, die eine Warnung im Log auslösen:
        'State value to set for "zwave2.0.Node_090.Basic.currentValue" has value "255" greater than max "99"'
        wem soll ich das mitteilen? Fibaro, oder dem ZWave-Adapter Autor?

        Danke für eure Hilfe,
        Jack

        Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

        paul53P bahnuhrB 2 Antworten Letzte Antwort
        0
        • JackJ Jack

          Die nächsten Fragen. - Ich konnte das leider nicht an meinen alten Beitrag anhängen...
          Javascript:
          Sollte man Objekte direkt abfragen, oder einmal in Variablen packen, und dann damit arbeiten?

          //entweder direkt
              if (getState(x.y.z).var == true {mach was};
              if (getState(x.y.z).var == false {mach was};
          //oder mit variablen
              var VarStatus = getState(x.y.z).var;
              if (VarStatus == true) {mach was};
              if (VarStatus == false) {mach was};
          

          Wenn man ein Licht schaltet; wird es dann immer wieder eingeschaltet?:

              if ("ist dunkel genug" && "ist das Licht NICHT an" ) {Licht an};
          //oder reicht einfach nur (und ioBroker managed den Rest?
              if ("ist dunkel genug") {Licht an};
          

          Und ein Frage am Rande:
          Ich hab "Fibaro Bewegungsmelder, die eine Warnung im Log auslösen:
          'State value to set for "zwave2.0.Node_090.Basic.currentValue" has value "255" greater than max "99"'
          wem soll ich das mitteilen? Fibaro, oder dem ZWave-Adapter Autor?

          Danke für eure Hilfe,
          Jack

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @jack sagte: Sollte man Objekte direkt abfragen, oder einmal in Variablen packen, und dann damit arbeiten?

          Wenn ein Datenpunktwert mehr als einmal verwendet wird, sollte man eine Variable verwenden. Bei einmaliger Verwendung macht eine zusätzliche Variable keinen Sinn:

              if (getState(x.y.z).val) {mach was};
              else {mach was anderes};
          

          @jack sagte in Weitere grundsätzliche Fragen:

          Wenn man ein Licht schaltet; wird es dann immer wieder eingeschaltet?:

          Das hängt davon ab, wie "ist dunkel genug" ermittelt wird.

          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

          JackJ 1 Antwort Letzte Antwort
          0
          • JackJ Jack

            Die nächsten Fragen. - Ich konnte das leider nicht an meinen alten Beitrag anhängen...
            Javascript:
            Sollte man Objekte direkt abfragen, oder einmal in Variablen packen, und dann damit arbeiten?

            //entweder direkt
                if (getState(x.y.z).var == true {mach was};
                if (getState(x.y.z).var == false {mach was};
            //oder mit variablen
                var VarStatus = getState(x.y.z).var;
                if (VarStatus == true) {mach was};
                if (VarStatus == false) {mach was};
            

            Wenn man ein Licht schaltet; wird es dann immer wieder eingeschaltet?:

                if ("ist dunkel genug" && "ist das Licht NICHT an" ) {Licht an};
            //oder reicht einfach nur (und ioBroker managed den Rest?
                if ("ist dunkel genug") {Licht an};
            

            Und ein Frage am Rande:
            Ich hab "Fibaro Bewegungsmelder, die eine Warnung im Log auslösen:
            'State value to set for "zwave2.0.Node_090.Basic.currentValue" has value "255" greater than max "99"'
            wem soll ich das mitteilen? Fibaro, oder dem ZWave-Adapter Autor?

            Danke für eure Hilfe,
            Jack

            bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von bahnuhr
            #5

            @jack

            Und vielleicht mal den Titel ändern !

            "Weitere grundsätzliche Fragen" sagt ja gar nichts.


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            JackJ 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @jack sagte: Sollte man Objekte direkt abfragen, oder einmal in Variablen packen, und dann damit arbeiten?

              Wenn ein Datenpunktwert mehr als einmal verwendet wird, sollte man eine Variable verwenden. Bei einmaliger Verwendung macht eine zusätzliche Variable keinen Sinn:

                  if (getState(x.y.z).val) {mach was};
                  else {mach was anderes};
              

              @jack sagte in Weitere grundsätzliche Fragen:

              Wenn man ein Licht schaltet; wird es dann immer wieder eingeschaltet?:

              Das hängt davon ab, wie "ist dunkel genug" ermittelt wird.

              JackJ Offline
              JackJ Offline
              Jack
              schrieb am zuletzt editiert von
              #6

              @paul53 Hallo paul53, es geht nicht um "dunkel genug", sondern um den Zustand der Lampe, bzw. dem Telegramm Verkehr dazwischen.

              if (dunkel) {licht an} //< Setzt mir bei jedem Script Aufruf ERNEUT das "licht an"
              //damit es nur ein mal passiert:
              if (dunkel && licht aus) {licht an} //< Setzt nur EINMAL "licht an"
              

              Muss ICH das berücksichtigen, oder macht das IObROKER?

              Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

              bahnuhrB paul53P 2 Antworten Letzte Antwort
              0
              • bahnuhrB bahnuhr

                @jack

                Und vielleicht mal den Titel ändern !

                "Weitere grundsätzliche Fragen" sagt ja gar nichts.

                JackJ Offline
                JackJ Offline
                Jack
                schrieb am zuletzt editiert von
                #7

                @bahnuhr Leider hab ich, als ich das an meinen ursprünglichen Beitrag anhängen wollte einen Fehler erhalten -(Forbiden) und hab (sorry) den Text nicht geändert...

                Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

                bahnuhrB HomoranH 3 Antworten Letzte Antwort
                0
                • JackJ Jack

                  @bahnuhr Leider hab ich, als ich das an meinen ursprünglichen Beitrag anhängen wollte einen Fehler erhalten -(Forbiden) und hab (sorry) den Text nicht geändert...

                  bahnuhrB Online
                  bahnuhrB Online
                  bahnuhr
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @jack sagte in Weitere grundsätzliche Fragen:

                  Fehler erhalten -(Forbiden)

                  Mit F5 die Seite neu laden; dann kommt forbidden nicht mehr.


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  1 Antwort Letzte Antwort
                  0
                  • JackJ Jack

                    @bahnuhr Leider hab ich, als ich das an meinen ursprünglichen Beitrag anhängen wollte einen Fehler erhalten -(Forbiden) und hab (sorry) den Text nicht geändert...

                    bahnuhrB Online
                    bahnuhrB Online
                    bahnuhr
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @jack sagte in Weitere grundsätzliche Fragen:

                    (sorry) den Text nicht geändert...

                    kannst du aber jetzt immer noch tun.
                    Einfach in #1 ändern


                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                    Danke.
                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                    ScreenToGif :https://www.screentogif.com/downloads.html

                    1 Antwort Letzte Antwort
                    0
                    • JackJ Jack

                      @paul53 Hallo paul53, es geht nicht um "dunkel genug", sondern um den Zustand der Lampe, bzw. dem Telegramm Verkehr dazwischen.

                      if (dunkel) {licht an} //< Setzt mir bei jedem Script Aufruf ERNEUT das "licht an"
                      //damit es nur ein mal passiert:
                      if (dunkel && licht aus) {licht an} //< Setzt nur EINMAL "licht an"
                      

                      Muss ICH das berücksichtigen, oder macht das IObROKER?

                      bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @jack sagte in Weitere grundsätzliche Fragen:

                      Muss ICH das berücksichtigen, oder macht das IObROKER?

                      iob macht genau das was du ihm sagst.

                      @jack sagte in Weitere grundsätzliche Fragen:

                      && "ist das Licht NICHT an"

                      Diese Prüfung würde ich einziehen. Denn ansonsten wird das Licht eingeschaltet obwohl es schon an ist.
                      Und sorgt für unnötigen duty cycle


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      JackJ 1 Antwort Letzte Antwort
                      0
                      • JackJ Jack

                        @paul53 Hallo paul53, es geht nicht um "dunkel genug", sondern um den Zustand der Lampe, bzw. dem Telegramm Verkehr dazwischen.

                        if (dunkel) {licht an} //< Setzt mir bei jedem Script Aufruf ERNEUT das "licht an"
                        //damit es nur ein mal passiert:
                        if (dunkel && licht aus) {licht an} //< Setzt nur EINMAL "licht an"
                        

                        Muss ICH das berücksichtigen, oder macht das IObROKER?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #11

                        @jack sagte: Muss ICH das berücksichtigen, oder macht das IObROKER?

                        Das musst Du berücksichtigen, wenn "dunkel" nicht nur einmal triggert oder innerhalb eines anderen Triggers abgefragt wird.

                        on(idLux, function(dp) {
                            let dunkel = dp.state.val < 10;
                            if(dunkel && !getState(idLicht).val) setState(idLicht, true);
                        });
                        
                        // Wenn "dunkel" ein boolescher Datenpunkt ist
                        on(idDunkel, funktion(dp) {
                            if(dp.state.val) setState(idLicht, true);
                        });
                        

                        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 Antwort Letzte Antwort
                        0
                        • bahnuhrB bahnuhr

                          @jack sagte in Weitere grundsätzliche Fragen:

                          Muss ICH das berücksichtigen, oder macht das IObROKER?

                          iob macht genau das was du ihm sagst.

                          @jack sagte in Weitere grundsätzliche Fragen:

                          && "ist das Licht NICHT an"

                          Diese Prüfung würde ich einziehen. Denn ansonsten wird das Licht eingeschaltet obwohl es schon an ist.
                          Und sorgt für unnötigen duty cycle

                          JackJ Offline
                          JackJ Offline
                          Jack
                          schrieb am zuletzt editiert von
                          #12

                          @bahnuhr && @paul53
                          Danke für Eure Hilfe!
                          @bahnuhr #1 ? Wie was wo? (Das ist das 1. Forum, von allen anderen, das sehr toll, aber auch ganz anders, als alle anderen Foren ist.)

                          Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

                          1 Antwort Letzte Antwort
                          0
                          • JackJ Jack

                            @bahnuhr Leider hab ich, als ich das an meinen ursprünglichen Beitrag anhängen wollte einen Fehler erhalten -(Forbiden) und hab (sorry) den Text nicht geändert...

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #13

                            @jack sagte in Weitere grundsätzliche Fragen:

                            einen Fehler erhalten -(Forbiden)

                            meistens in Verbindung mit Firefox.
                            Seite neu laden und wiedrr abdrücken!

                            wo soll ich es hinschieben?
                            bitte Link!

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            JackJ 1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @jack sagte in Weitere grundsätzliche Fragen:

                              einen Fehler erhalten -(Forbiden)

                              meistens in Verbindung mit Firefox.
                              Seite neu laden und wiedrr abdrücken!

                              wo soll ich es hinschieben?
                              bitte Link!

                              JackJ Offline
                              JackJ Offline
                              Jack
                              schrieb am zuletzt editiert von
                              #14

                              @homoran Grüß Dich!
                              meinst Du:
                              'State value to set for "zwave2.0.Node_090.Basic.currentValue" has value "255" greater than max "99"'
                              wem soll ich das mitteilen? Fibaro, oder dem ZWave-Adapter Autor?

                              Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

                              1 Antwort Letzte Antwort
                              0
                              • JackJ Offline
                                JackJ Offline
                                Jack
                                schrieb am zuletzt editiert von
                                #15

                                @Homoran ja bitte (hab da was falsch verstanden). wenn, dann zu meinem vorherigen Beitrag: https://forum.iobroker.net/topic/61388/grundlegendes-zu-skripten
                                Da wollte ich es ja prinzipiell anhängen.

                                Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

                                HomoranH 1 Antwort Letzte Antwort
                                0
                                • JackJ Jack

                                  @Homoran ja bitte (hab da was falsch verstanden). wenn, dann zu meinem vorherigen Beitrag: https://forum.iobroker.net/topic/61388/grundlegendes-zu-skripten
                                  Da wollte ich es ja prinzipiell anhängen.

                                  HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #16

                                  @jack erledigt!

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  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

                                  511

                                  Online

                                  32.6k

                                  Benutzer

                                  82.2k

                                  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