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. [gelöst] Farbwechsel bei verschiedenen Verbräuchen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    164

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

[gelöst] Farbwechsel bei verschiedenen Verbräuchen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
44 Beiträge 6 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.
  • Y Offline
    Y Offline
    ykuendig
    schrieb am zuletzt editiert von
    #35

    Die 'Schwierigkeit' ist nun, durch beobachten herauszufinden, welche Schwellenwerte für Deine Maschine richtig sind und diese im Script anzupassen.

    Es gilt herauszufinden ab welcher Leistung die Maschine sicher läuft: zB 200W und jeweils, wie wenig wenn Sie aus ist zB <2W sowie der Standby zB <4W

    Dazu muss im Script die Schwellen angepasst werden

    UND ev. musst Du auch (wie ich) in der CCU die Schwelle ändern, wann ein Leistungswechsel signalisiert wird. Dazu auf der CCU 'Einstellunge' dann 'Geräte' dann 'Das Gerät' und nun rechts aussen Button 'Einstellen' Beim CH:2 "Ein Wert wird gesendet, wenn sich…" Leistung Werteingabe musste ich auf 3 reduzieren, damit ich genug Werte bekam um eine vernünftige Auswertung zu machen. Das sowohl beim Trockner als auch be der Maschine.
    452_javascript04.png

    Gruss Yves

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      SigiMOE
      schrieb am zuletzt editiert von
      #36

      zumindest klappt es bisher schon einmal. Freu mich auf mehr Details… :-)
      1121_2017-03-19_12-10-57.jpg

      1 Antwort Letzte Antwort
      0
      • Y Offline
        Y Offline
        ykuendig
        schrieb am zuletzt editiert von
        #37

        Und wie schwer wars ;-)

        Gruss Yves

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          SigiMOE
          schrieb am zuletzt editiert von
          #38

          also, eigentlich war es ganz einfach, aber nur weil Du so viel Geduld mit mir hattest und es für meinen Geschmack mir

          sehr gut erklärt hast. Vielen Dank dafür.

          Wenn ich jetzt noch meine 2. Waschmaschine einbinden möchte, wie müsste dann das Script lauten ?

          So in etwa : ?

          ! ````
          // Im Keller nach 2 Waschmaschinen und einem Trockner sehen
          //
          // Status der Waschmaschine und des Trockners führen
          // Stati: 0 = aus/Standby, 1 = Maschine aus/fertig / 2 = Maschine läuft
          ! // Erstellen der Datenpunkte
          createState("javascript.0.Keller.Waschmaschine1.State", 0, {"type": "number", "role": "state"});
          createState("javascript.0.Keller.Waschmaschine1.Farbe", "white", {type: "string"});
          createState("javascript.0.Keller.Waschmaschine1.OptinSayit", false, { name: 'Optin Waschmaschine Sayit',
          desc: 'Soll der Waschmaschinenstatus gesprochen werden??', type: 'boolean', role: "state.enabled" });
          ! createState("javascript.0.Keller.Waschmaschine2.State", 0, {"type": "number", "role": "state"});
          createState("javascript.0.Keller.Waschmaschine2.Farbe", "white", {type: "string"});
          createState("javascript.0.Keller.Waschmaschine2.OptinSayit", false, { name: 'Optin Waschmaschine Sayit',
          desc: 'Soll der Waschmaschinenstatus gesprochen werden??', type: 'boolean', role: "state.enabled" });

          createState("javascript.0.Keller.Trockner.State", 0, {"type": "number", "role": "state"});
          createState("javascript.0.Keller.Trockner.Farbe", "white", {type: "string"});
          createState("javascript.0.Keller.Trockner.OptinSayit", false, { name: 'Optin Trockner Sayit',
          desc: 'Soll der Trocknerstatus gesprochen werden??', type: 'boolean', role: "state.enabled" });

          ! var WattWaschmaschine = "hm-rpc.0.XYZ7654321.2.POWER"/Waschmaschine Energy.POWER/;
          var StateWaschmaschine = "javascript.0.Keller.Waschmaschine1.State";
          var FarbeWaschmaschine = "javascript.0.Keller.Waschmaschine1.Farbe";
          var OptinSayitW = "javascript.0.Keller.Waschmaschine1.OptinSayit";
          ! var WattWaschmaschine = "hm-rpc.0.XYZ7654321.2.POWER"/Waschmaschine Energy.POWER/;
          var StateWaschmaschine = "javascript.0.Keller.Waschmaschine2.State";
          var FarbeWaschmaschine = "javascript.0.Keller.Waschmaschine2.Farbe";
          var OptinSayitW = "javascript.0.Keller.Waschmaschine2.OptinSayit";
          ! var WattTrockner = "hm-rpc.0.XYZ1234567.2.POWER"/Trockner Energy.POWER/;
          var StateTrockner = "javascript.0.Keller.Trockner.State";
          var FarbeTrockner = "javascript.0.Keller.Trockner.Farbe";
          var OptinSayitT = "javascript.0.Keller.Trockner.OptinSayit";
          ! var SayitID = "sayit.1.tts.text";
          ! subscribe ({id: WattWaschmaschine1, change: "ne"}, checkState);
          subscribe ({id: WattWaschmaschine2, change: "ne"}, checkState);
          subscribe ({id: WattTrockner, change: "ne"}, checkState);
          ! function checkState() { // Abfrage ob Waschmaschine oder Tumbler laufen
          // Waschmaschine1
          var StatusWaschmaschine1 = getState(StateWaschmaschine1).val;
          var LeistungWaschmaschine1 = getState(WattWaschmaschine1).val;
          if (StatusWaschmaschine1 < 2) { // Maschine aus
          if (LeistungWaschmaschine1 > 200) {
          setState(StateWaschmaschine1, 2, true);
          setState(FarbeWaschmaschine1, "red", true);
          log('Script Keller-Geräte; Status: Waschmaschine läuft. (' + LeistungWaschmaschine1 + "W)", "info");
          } else if (LeistungWaschmaschine1 < 4) {
          if (LeistungWaschmaschine1 < 2) {
          setState(StateWaschmaschine1, 0, true);
          setState(FarbeWaschmaschine1, "blue", true);
          log("Script Keller-Geräte; Status: Waschmaschine ist ausgeschaltet. (" + LeistungWaschmaschine1 + "W)", "info");
          } else {
          setState(StateWaschmaschine1, 1, true);
          setState(FarbeWaschmaschine1, "green", true);
          log("Script Keller-Geräte; Status: Waschmaschine ist im Standby. (" + LeistungWaschmaschine1 + "W)", "info");
          }
          }
          } else if (StatusWaschmaschine1 === 2 || StatusWaschmaschine1 === null) {
          if (LeistungWaschmaschine1 < 4) {
          setState(StateWaschmaschine1, 1, true);
          setState(FarbeWaschmaschine1, "green", true);
          if (getState(OptinSayitW).val) {
          setState(SayitID, "Die Waschmaschine ist fertig.");
          }
          log("Script Keller-Geräte; Status: Waschmaschine ist fertig. (" + LeistungWaschmaschine1 + "W)", "info");
          }
          }
          ! // Waschmaschine2
          var StatusWaschmaschine2 = getState(StateWaschmaschine2).val;
          var LeistungWaschmaschine2 = getState(WattWaschmaschine2).val;
          if (StatusWaschmaschine2 < 2) { // Maschine aus
          if (LeistungWaschmaschine2 > 200) {
          setState(StateWaschmaschine2, 2, true);
          setState(FarbeWaschmaschine2, "red", true);
          log('Script Keller-Geräte; Status: Waschmaschine läuft. (' + LeistungWaschmaschine2 + "W)", "info");
          } else if (LeistungWaschmaschine2 < 4) {
          if (LeistungWaschmaschine2 < 2) {
          setState(StateWaschmaschine2, 0, true);
          setState(FarbeWaschmaschine2, "blue", true);
          log("Script Keller-Geräte; Status: Waschmaschine ist ausgeschaltet. (" + LeistungWaschmaschine2 + "W)", "info");
          } else {
          setState(StateWaschmaschine2, 1, true);
          setState(FarbeWaschmaschine2, "green", true);
          log("Script Keller-Geräte; Status: Waschmaschine ist im Standby. (" + LeistungWaschmaschine2 + "W)", "info");
          }
          }
          } else if (StatusWaschmaschine2 === 2 || StatusWaschmaschine2 === null) {
          if (LeistungWaschmaschine2 < 4) {
          setState(StateWaschmaschine2, 1, true);
          setState(FarbeWaschmaschine2, "green", true);
          if (getState(OptinSayitW).val) {
          setState(SayitID, "Die Waschmaschine ist fertig.");
          }
          log("Script Keller-Geräte; Status: Waschmaschine ist fertig. (" + LeistungWaschmaschine2 + "W)", "info");
          }
          }

          // Trockner
          var StatusTrockner =    getState(StateTrockner).val;
          var LeistungTrockner =  getState(WattTrockner).val;
          if (StatusTrockner < 2) {
              if (LeistungTrockner > 200) {
                  setState(StateTrockner, 2, true);
                  setState(FarbeTrockner, "red", true);
                  log("Script Keller-Geräte; Status: Trockner läuft. (" + LeistungTrockner + "W)", "info");
              } else if (LeistungTrockner < 4) {
                  if (LeistungTrockner < 2) {
                  setState(StateTrockner, 0, true);
                  setState(FarbeTrockner, "blue", true);
                  log("Script Keller-Geräte; Status: Trockner ist ausgeschaltet. (" + LeistungTrockner + "W)", "info");
                  } else {
                  setState(StateTrockner, 1, true);
                  setState(FarbeTrockner, "green", true);
                  log("Script Keller-Geräte; Status: Trockner ist im Standby. (" + LeistungTrockner + "W)", "info");
                  }
              }
          } else if (StatusTrockner === 2 || StatusTrockner === null) {
              if (LeistungTrockner < 4) {
                  setState(StateTrockner, 1, true);
                  setState(FarbeTrockner, "green", true);
                  if (getState(OptinSayitW).val) {
                      setState(SayitID, "Der Trockner ist fertig.");
                  }
                  log("Script Keller-Geräte; Status: Trockner ist fertig. (" + LeistungTrockner + "W)", "info");
              }
          }
          

          }

          ! checkState(); // Beim Script-Start einmal durchlaufen lassen

          1 Antwort Letzte Antwort
          0
          • Y Offline
            Y Offline
            ykuendig
            schrieb am zuletzt editiert von
            #39

            Im Prinzip FAST :D Die Deklaration der Variablen (der Teil mit den var am Anfang) muss natürlich auch durchgehend mit 1 und 2 ergänzt sein.

            Hast Du mittelfristig vor über Lautsprecher Ansagen zu machen? Sonst könnte man den sayit Teil noch wegmachen. Auch den Farbteil könnte man weg machen, wenn Du willst.

            Gruss Yves

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              SigiMOE
              schrieb am zuletzt editiert von
              #40

              Ich habe es probiert, aber irgendwas mache ich noch etwas falsch.

              Ich bekomme den Datenpunkt für die 2. Waschmaschine nicht erzeugt ?

              Könntest Du mir das Skript auf 2 Waschmaschinen und 1 Trockner erweitern ?

              Say it habe ich noch nicht probiert, würde es aber irgendwann gerne mal nachholen. Zur Zeit lasse ich mir über dem MP3 Gong

              die Nachricht ansagen, wenn Waschmaschine oder Trockner fertig ist.

              Grüße

              Sigi

              1 Antwort Letzte Antwort
              0
              • Y Offline
                Y Offline
                ykuendig
                schrieb am zuletzt editiert von
                #41

                Probier mal so:

                ! ````
                // Im Keller nach der Waschmaschine und dem Trockner sehen
                //
                // Status der Waschmaschine und des Trockners führen
                // Stati: 0 = aus/Standby, 1 = Maschine aus/fertig / 2 = Maschine läuft
                //
                // Angepasst für 2 Waschmaschinen
                // Leistungsgrenzen im Konfig
                ! // Erstellen der Datenpunkte
                createState("javascript.0.Keller.Waschmaschine1.State", 0, {"type": "number", "role": "state"});
                createState("javascript.0.Keller.Waschmaschine1.Farbe", "white", {type: "string"});
                createState("javascript.0.Keller.Waschmaschine1.OptinSayit", false, { name: 'Optin Waschmaschine 1 Sayit',
                desc: 'Soll der Waschmaschinenstatus 1 gesprochen werden??', type: 'boolean', role: "state.enabled" });
                ! createState("javascript.0.Keller.Waschmaschine2.State", 0, {"type": "number", "role": "state"});
                createState("javascript.0.Keller.Waschmaschine3.Farbe", "white", {type: "string"});
                createState("javascript.0.Keller.Waschmaschine4.OptinSayit", false, { name: 'Optin Waschmaschine 2 Sayit',
                desc: 'Soll der Waschmaschinenstatus 2 gesprochen werden??', type: 'boolean', role: "state.enabled" });
                ! createState("javascript.0.Keller.Trockner.State", 0, {"type": "number", "role": "state"});
                createState("javascript.0.Keller.Trockner.Farbe", "white", {type: "string"});
                createState("javascript.0.Keller.Trockner.OptinSayit", false, { name: 'Optin Trockner Sayit',
                desc: 'Soll der Trocknerstatus gesprochen werden??', type: 'boolean', role: "state.enabled" });
                ! var WattWaschmaschine1 = "hm-rpc.0.XYZ7654321.2.POWER"/Waschmaschine Energy.POWER/;
                var StateWaschmaschine1 = "javascript.0.Keller.Waschmaschine1.State";
                var FarbeWaschmaschine1 = "javascript.0.Keller.Waschmaschine1.Farbe";
                var OptinSayitW1 = "javascript.0.Keller.Waschmaschine1.OptinSayit";
                ! var WattWaschmaschine2 = "hm-rpc.0.XYZ7654321.2.POWER"/Waschmaschine Energy.POWER/;
                var StateWaschmaschine2 = "javascript.0.Keller.Waschmaschine2.State";
                var FarbeWaschmaschine2 = "javascript.0.Keller.Waschmaschine2.Farbe";
                var OptinSayitW2 = "javascript.0.Keller.Waschmaschine2.OptinSayit";
                ! var WattTrockner = "hm-rpc.0.XYZ1234567.2.POWER"/Trockner Energy.POWER/;
                var StateTrockner = "javascript.0.Keller.Trockner.State";
                var FarbeTrockner = "javascript.0.Keller.Trockner.Farbe";
                var OptinSayitT = "javascript.0.Keller.Trockner.OptinSayit";
                ! var SayitID = "sayit.1.tts.text";
                var Pon = 200;
                var Poff = 2;
                var Pstby = 4;
                ! subscribe ({id: WattWaschmaschine1, change: "ne"}, checkState);
                subscribe ({id: WattWaschmaschine2, change: "ne"}, checkState);
                subscribe ({id: WattTrockner, change: "ne"}, checkState);
                ! function checkState() { // Abfrage ob Waschmaschine oder Tumbler laufen
                // Waschmaschine 1
                var StatusWaschmaschine1 = getState(StateWaschmaschine1).val;
                var LeistungWaschmaschine1 = getState(WattWaschmaschine1).val;
                if (StatusWaschmaschine1 < 2) { // Status Maschine aus
                if (LeistungWaschmaschine1 > Pon) {
                setState(StateWaschmaschine1, 2, true);
                setState(FarbeWaschmaschine1, "red", true);
                log('Script Keller-Geräte; Status: Waschmaschine 1 läuft. (' + LeistungWaschmaschine1 + "W)", "info");
                } else if (LeistungWaschmaschine1 < Pstby) {
                if (LeistungWaschmaschine1 < Poff) {
                setState(StateWaschmaschine1, 0, true);
                setState(FarbeWaschmaschine1, "blue", true);
                log("Script Keller-Geräte; Status: Waschmaschine 1 ist ausgeschaltet. (" + LeistungWaschmaschine1 + "W)", "info");
                } else {
                setState(StateWaschmaschine1, 1, true);
                setState(FarbeWaschmaschine1, "green", true);
                log("Script Keller-Geräte; Status: Waschmaschine 1 ist im Standby. (" + LeistungWaschmaschine1 + "W)", "info");
                }
                }
                } else if (StatusWaschmaschine1 === 2 || StatusWaschmaschine1 === null) {
                if (LeistungWaschmaschine1 < Pstby) {
                setState(StateWaschmaschine1, 1, true);
                setState(FarbeWaschmaschine1, "green", true);
                if (getState(OptinSayitW1).val) {
                setState(SayitID, "Die Waschmaschine Eins ist fertig.");
                }
                log("Script Keller-Geräte; Status: Waschmaschine 1 ist fertig. (" + LeistungWaschmaschine1 + "W)", "info");
                }
                }
                ! // Waschmaschine 2
                var StatusWaschmaschine2 = getState(StateWaschmaschine2).val;
                var LeistungWaschmaschine2 = getState(WattWaschmaschine2).val;
                if (StatusWaschmaschine2 < 2) { // Status Maschine aus
                if (LeistungWaschmaschine2 > Pon) {
                setState(StateWaschmaschine2, 2, true);
                setState(FarbeWaschmaschine2, "red", true);
                log('Script Keller-Geräte; Status: Waschmaschine 2 läuft. (' + LeistungWaschmaschine2 + "W)", "info");
                } else if (LeistungWaschmaschine2 < Pstby) {
                if (LeistungWaschmaschine2 < Poff) {
                setState(StateWaschmaschine2, 0, true);
                setState(FarbeWaschmaschine2, "blue", true);
                log("Script Keller-Geräte; Status: Waschmaschine 2 ist ausgeschaltet. (" + LeistungWaschmaschine2 + "W)", "info");
                } else {
                setState(StateWaschmaschine2, 1, true);
                setState(FarbeWaschmaschine2, "green", true);
                log("Script Keller-Geräte; Status: Waschmaschine 2 ist im Standby. (" + LeistungWaschmaschine2 + "W)", "info");
                }
                }
                } else if (StatusWaschmaschine2 === 2 || StatusWaschmaschine2 === null) {
                if (LeistungWaschmaschine2 < Pstby) {
                setState(StateWaschmaschine2, 1, true);
                setState(FarbeWaschmaschine2, "green", true);
                if (getState(OptinSayitW2).val) {
                setState(SayitID, "Die Waschmaschine Zwei ist fertig.");
                }
                log("Script Keller-Geräte; Status: Waschmaschine 2 ist fertig. (" + LeistungWaschmaschine2 + "W)", "info");
                }
                }
                ! // Trockner
                var StatusTrockner = getState(StateTrockner).val;
                var LeistungTrockner = getState(WattTrockner).val;
                if (StatusTrockner < 2) {
                if (LeistungTrockner > Pon) {
                setState(StateTrockner, 2, true);
                setState(FarbeTrockner, "red", true);
                log("Script Keller-Geräte; Status: Trockner läuft. (" + LeistungTrockner + "W)", "info");
                } else if (LeistungTrockner < Pstby) {
                if (LeistungTrockner < Poff) {
                setState(StateTrockner, 0, true);
                setState(FarbeTrockner, "blue", true);
                log("Script Keller-Geräte; Status: Trockner ist ausgeschaltet. (" + LeistungTrockner + "W)", "info");
                } else {
                setState(StateTrockner, 1, true);
                setState(FarbeTrockner, "green", true);
                log("Script Keller-Geräte; Status: Trockner ist im Standby. (" + LeistungTrockner + "W)", "info");
                }
                }
                } else if (StatusTrockner === 2 || StatusTrockner === null) {
                if (LeistungTrockner < Pstby) {
                setState(StateTrockner, 1, true);
                setState(FarbeTrockner, "green", true);
                if (getState(OptinSayitW).val) {
                setState(SayitID, "Der Trockner ist fertig.");
                }
                log("Script Keller-Geräte; Status: Trockner ist fertig. (" + LeistungTrockner + "W)", "info");
                }
                }
                }
                ! checkState(); // Beim Script-Start einmal durchlaufen lassen

                Ich habe zusätzlich noch die Leistungkonfig ind oberen Teil des Scripts genommen.
                
                Den Objektpfad javascript.0.Keller-Waschmaschine (ohne Nummer) kannst nun löschen.

                Gruss Yves

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  SigiMOE
                  schrieb am zuletzt editiert von
                  #42

                  OK prima, scheint zu klappen :-) Vielen Dank

                  Zum Thema "Löschen", kann ich die mit dem roten Pfeil über den Papierkorb löschen ?

                  Sind diese "unnütze" ?
                  1121_2017-03-19_19-27-24.jpg

                  1 Antwort Letzte Antwort
                  0
                  • Y Offline
                    Y Offline
                    ykuendig
                    schrieb am zuletzt editiert von
                    #43

                    Die alte Waschmaschine JA, Die Script enabled Dinger NEIN. Die braucht es für den Javascript Adapter

                    Gruss Yves

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      SigiMOE
                      schrieb am zuletzt editiert von
                      #44

                      sehr cool vielen Dank

                      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

                      372

                      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