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. Steuerung mehrerer Steckdosen in einem einzigen Skript

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Steuerung mehrerer Steckdosen in einem einzigen Skript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
9 Beiträge 3 Kommentatoren 336 Aufrufe 2 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.
  • K Offline
    K Offline
    Ketanest
    schrieb am zuletzt editiert von Ketanest
    #1

    Hallöchen zusammen,

    ich bin grad fleißig am basteln und nachdem man ja für viele Automationen recht schnell viele Skripte zusammenbekommt, war meine Überlegung, ob ich nicht gleiche Funktionen zusammenfassen könnte. Die Grundanforderung ist:
    Leistung einer Steckdose fällt länger als x Minuten unter den Wert y -> Steckdose abschalten.
    Ich hab das schon erfolgreich getestet (Staubsauger, Fernseher, Waschmaschine, etc.) mit folgendem Skript (ein Skript pro Steckdose):
    2024-03-14 13_54_23-javascript - olc-raspi01 – Mozilla Firefox.png

    Jetzt bin ich am überlegen, ob man das nicht mit einer Funktion kombinieren könnte, sprich, dass ich bei dem LoadPower geändert Trigger eine Funktion aufrufe und ihr Parameter übergebe (Schwellwert, Wert, Vorheriger Wert, ObjektID, Timeout Name, Timeout Time) und diese dann weiter verwurschteln kann. Mit den "normalen" Werten (Schwellwert, Wert, vorheriger Wert, ObjektID) geht das ja wunderbar. Wenn aber nun die Funktion zweimal angetriggert wird laufen ja dann 2 Instanzen der Funktion oder? Was nicht Sinn der Sache ist, denn dann wird die Steckdose auf jeden Fall 5 Minuten nach dem ersten Trigger ausgeschaltet, richtig? Man müsste also bereits am Anfang des Skriptes die verschiedenen Timeouts (TimeoutStaubsauger, TimeoutFernseher, etc.) deklarieren und diese dann in der Funktion verwenden oder? Ist das überhaupt machbar? Weil ich ja dann die Funktion mit einem Parameter aufrufen müsste, in etwa so:

    function Steckdosenschaltung (TimeoutName, TimeoutTime, Schwellwert, ...) {
    }
    

    Wenn ich die Funktion dann mit
    Steckdosenschaltung ("TimeoutStaubsauger", 300000, 5, ...)
    aufrufe, ist es überhaupt möglich, sich dann innerhalb der Funktion mit der "TimeoutName" Variable auf den tatsächlichen Timeout "TimeoutStaubsauger" zu beziehen? Oder müsste ich die zu Beginn deklarierte Variable "TimeoutStaubsauger" als Parameter übergeben, also in etwa so:
    Steckdosenschaltung (TimeoutStaubsauger, 300000, 5, ...)
    Ich hoffe, ich versteht ungefähr, was ich meine. Vielleicht ist es ja auch gar nicht sinnvoll, das zu tun und man bastelt lieber für jeden Schaltvorgang ein eigenes Skript. Nachteil: Will ich darin was ändern, muss ich alle Skripte anpassen.

    Danke schonmal für euren Rat!
    Viele Grüße
    Ketanest

    EDIT: Wäre das mit Blockly überhaupt möglich oder muss man da (soferns überhaupt geht bzw. empfehlenswert ist) direkt JS Coden?

    paul53P 1 Antwort Letzte Antwort
    0
    • K Ketanest

      Hallöchen zusammen,

      ich bin grad fleißig am basteln und nachdem man ja für viele Automationen recht schnell viele Skripte zusammenbekommt, war meine Überlegung, ob ich nicht gleiche Funktionen zusammenfassen könnte. Die Grundanforderung ist:
      Leistung einer Steckdose fällt länger als x Minuten unter den Wert y -> Steckdose abschalten.
      Ich hab das schon erfolgreich getestet (Staubsauger, Fernseher, Waschmaschine, etc.) mit folgendem Skript (ein Skript pro Steckdose):
      2024-03-14 13_54_23-javascript - olc-raspi01 – Mozilla Firefox.png

      Jetzt bin ich am überlegen, ob man das nicht mit einer Funktion kombinieren könnte, sprich, dass ich bei dem LoadPower geändert Trigger eine Funktion aufrufe und ihr Parameter übergebe (Schwellwert, Wert, Vorheriger Wert, ObjektID, Timeout Name, Timeout Time) und diese dann weiter verwurschteln kann. Mit den "normalen" Werten (Schwellwert, Wert, vorheriger Wert, ObjektID) geht das ja wunderbar. Wenn aber nun die Funktion zweimal angetriggert wird laufen ja dann 2 Instanzen der Funktion oder? Was nicht Sinn der Sache ist, denn dann wird die Steckdose auf jeden Fall 5 Minuten nach dem ersten Trigger ausgeschaltet, richtig? Man müsste also bereits am Anfang des Skriptes die verschiedenen Timeouts (TimeoutStaubsauger, TimeoutFernseher, etc.) deklarieren und diese dann in der Funktion verwenden oder? Ist das überhaupt machbar? Weil ich ja dann die Funktion mit einem Parameter aufrufen müsste, in etwa so:

      function Steckdosenschaltung (TimeoutName, TimeoutTime, Schwellwert, ...) {
      }
      

      Wenn ich die Funktion dann mit
      Steckdosenschaltung ("TimeoutStaubsauger", 300000, 5, ...)
      aufrufe, ist es überhaupt möglich, sich dann innerhalb der Funktion mit der "TimeoutName" Variable auf den tatsächlichen Timeout "TimeoutStaubsauger" zu beziehen? Oder müsste ich die zu Beginn deklarierte Variable "TimeoutStaubsauger" als Parameter übergeben, also in etwa so:
      Steckdosenschaltung (TimeoutStaubsauger, 300000, 5, ...)
      Ich hoffe, ich versteht ungefähr, was ich meine. Vielleicht ist es ja auch gar nicht sinnvoll, das zu tun und man bastelt lieber für jeden Schaltvorgang ein eigenes Skript. Nachteil: Will ich darin was ändern, muss ich alle Skripte anpassen.

      Danke schonmal für euren Rat!
      Viele Grüße
      Ketanest

      EDIT: Wäre das mit Blockly überhaupt möglich oder muss man da (soferns überhaupt geht bzw. empfehlenswert ist) direkt JS Coden?

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

      @ketanest sagte: Wäre das mit Blockly überhaupt möglich

      Nein, denn man kann in Blockly den Timeouts keine Variable als Bezeichner übergeben.

      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

      K 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @ketanest sagte: Wäre das mit Blockly überhaupt möglich

        Nein, denn man kann in Blockly den Timeouts keine Variable als Bezeichner übergeben.

        K Offline
        K Offline
        Ketanest
        schrieb am zuletzt editiert von
        #3

        @paul53 jo das hab ich mir gedacht. Gehts mit JS direkt? Oder hab ich nen Denkfehler drin?

        paul53P da_WoodyD 2 Antworten Letzte Antwort
        0
        • K Ketanest

          @paul53 jo das hab ich mir gedacht. Gehts mit JS direkt? Oder hab ich nen Denkfehler drin?

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

          @ketanest sagte: Gehts mit JS direkt?

          Ja.

          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
          • K Ketanest

            @paul53 jo das hab ich mir gedacht. Gehts mit JS direkt? Oder hab ich nen Denkfehler drin?

            da_WoodyD Online
            da_WoodyD Online
            da_Woody
            schrieb am zuletzt editiert von
            #5

            @ketanest würde auch mit Smart Control Adapter funktioniern. Hat aber IMHO nicht überall Sinn.
            Wie schaltest du die Dose wieder ein?
            OK, Waschmaschine und Trockner sind ja gleich daneben/nähe. Auch andere, beim Staubsauger?
            Die Dosen verbrauchen im Leerlauf so gut wie nichts.
            Aber wie immer, jedem das seine.

            gruß vom Woody
            HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

            K 1 Antwort Letzte Antwort
            0
            • da_WoodyD da_Woody

              @ketanest würde auch mit Smart Control Adapter funktioniern. Hat aber IMHO nicht überall Sinn.
              Wie schaltest du die Dose wieder ein?
              OK, Waschmaschine und Trockner sind ja gleich daneben/nähe. Auch andere, beim Staubsauger?
              Die Dosen verbrauchen im Leerlauf so gut wie nichts.
              Aber wie immer, jedem das seine.

              K Offline
              K Offline
              Ketanest
              schrieb am zuletzt editiert von Ketanest
              #6

              @da_woody okay, den schaue ich mir mal an, danke!
              Eingeschaltet wird manuell an der Steckdose oder über Telegram. Evtl. bau ich auch noch was mit der Simple-API. Es geht mir hier auch nicht ausschließlich um den Stromverbrauch sondern um den Akku (Staubsauger und Switch, die am TV hängt), der ja bei dauerhaft eingeschalteter Steckdose immer wieder nachgeladen wird, was ihn auf dauer schädigt.
              Habs übrigens mal die Standbyverbräuche überschlagen:
              WaMa: 4 W
              Staubsauger 2 W
              TV (inkl. Verstärker, Boxen, Switch-Ladegerät, etc.): 8 W
              Gaming-PC (inkl. Lautsprecher, Headset-Ladestation etc.): 3 W
              Sind also 0,017 kW * 24 h * 365 (Tage) = 148,92 kWh im Jahr, was bei meinem Strompreis von 0,40 € auch fast 60 € im Jahr sind.

              da_WoodyD 1 Antwort Letzte Antwort
              0
              • K Ketanest

                @da_woody okay, den schaue ich mir mal an, danke!
                Eingeschaltet wird manuell an der Steckdose oder über Telegram. Evtl. bau ich auch noch was mit der Simple-API. Es geht mir hier auch nicht ausschließlich um den Stromverbrauch sondern um den Akku (Staubsauger und Switch, die am TV hängt), der ja bei dauerhaft eingeschalteter Steckdose immer wieder nachgeladen wird, was ihn auf dauer schädigt.
                Habs übrigens mal die Standbyverbräuche überschlagen:
                WaMa: 4 W
                Staubsauger 2 W
                TV (inkl. Verstärker, Boxen, Switch-Ladegerät, etc.): 8 W
                Gaming-PC (inkl. Lautsprecher, Headset-Ladestation etc.): 3 W
                Sind also 0,017 kW * 24 h * 365 (Tage) = 148,92 kWh im Jahr, was bei meinem Strompreis von 0,40 € auch fast 60 € im Jahr sind.

                da_WoodyD Online
                da_WoodyD Online
                da_Woody
                schrieb am zuletzt editiert von
                #7

                @ketanest hmm, moderne Geräte schalten auf erhalten um. Somit kein schädigen. Auch die Akkus sind da nicht mehr so empfindlich.
                60€ im Jahr machen dich nervös?
                Geh mit der Frau essen, da kommst mit der Summe nicht hin. In 1-2 Stunden.

                gruß vom Woody
                HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                K 1 Antwort Letzte Antwort
                0
                • da_WoodyD da_Woody

                  @ketanest hmm, moderne Geräte schalten auf erhalten um. Somit kein schädigen. Auch die Akkus sind da nicht mehr so empfindlich.
                  60€ im Jahr machen dich nervös?
                  Geh mit der Frau essen, da kommst mit der Summe nicht hin. In 1-2 Stunden.

                  K Offline
                  K Offline
                  Ketanest
                  schrieb am zuletzt editiert von
                  #8

                  @da_woody nein, 60 € im Jahr machen mich nicht nervös. Ob das mit der Erhaltung wirklich der Fall ist, kann ich aber leider nicht prüfen.
                  Aber abgesehen von dem allen: Es geht ja hier auch ums basteln, nicht alles muss einen praktischen Nutzen haben in meinen Augen. Reicht ja, wenn ich dadurch eine Wissenserweiterung erlange und Know-How aufbauen kann ;-)

                  da_WoodyD 1 Antwort Letzte Antwort
                  0
                  • K Ketanest

                    @da_woody nein, 60 € im Jahr machen mich nicht nervös. Ob das mit der Erhaltung wirklich der Fall ist, kann ich aber leider nicht prüfen.
                    Aber abgesehen von dem allen: Es geht ja hier auch ums basteln, nicht alles muss einen praktischen Nutzen haben in meinen Augen. Reicht ja, wenn ich dadurch eine Wissenserweiterung erlange und Know-How aufbauen kann ;-)

                    da_WoodyD Online
                    da_WoodyD Online
                    da_Woody
                    schrieb am zuletzt editiert von
                    #9

                    @ketanest da bin ich völlig dabei!
                    Mich stören nur immer die Rechnungen um ein paar W, oder Cent.
                    Smart Home kann sparen, kostet aber auch.
                    Bei meinem Hauskauf hab ich erstmal, so weit wie möglich, auf LED umgerüstet, dann auf die Steuerung geschaut.
                    Ja, der Mini PC verbraucht auch. Relativiert sich aber durch die PV mit Speicher.

                    gruß vom Woody
                    HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                    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

                    854

                    Online

                    32.4k

                    Benutzer

                    81.5k

                    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