Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Mehrere States vergleichen

    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

    Mehrere States vergleichen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @paul53 last edited by Homoran

      @paul53 sagte in Mehrere States vergleichen:

      Sollen dann 2 LEDs leuchten ? Eine LED hat ja nur 7 Farben bei 16 möglichen Zuständen der Mülltonnenabholung.

      Ja - so ist es. Ich hatte gehofft, dass man die Mischen kann, aber AND und OR bringen da nicht wirklich was

      Das ist eine Frage zu der ich mich noch nicht entschieden habe. Aber wenn es Sachzwänge gibt 😉

      Der Schalter sollte im Flur für die Beleuchtung des Gäste-WC eingesetzt werden
      Die obere LED sollte eigentlich auf rot gesetzt werden, wenn das Licht angemacht wird.

      Daher dachte ich entweder im unteren Teil eine Farbe, in diesem Fall vielleicht weiß, sozusagen als "undefined" oder in der Luxusvariante ein Farbwechsel (:duckundwech:)

      EDIT:
      LED_Taster.png

      Morgen wird Altpapier abgeholt und ein Gast ist simuliert

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Homoran last edited by

        @Homoran sagte:

        ein Farbwechsel

        Blockly_temp.JPG

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @paul53 last edited by

          @paul53
          Nee, nich?
          ein typischer Paul

          Danke erstmal.
          Nicht dass ich das auf Anhieb verstehe, da lern ich mich mal durch.

          Homoran 1 Reply Last reply Reply Quote 0
          • H
            hukio last edited by

            @Homoran
            Ich hätte einen anderen systematischen Vorschlag. Ordne jeder Tonne eine Primzahl zu: 1, 3, 5, 7 oder Null, wenn die Tonne nicht in Frage kommt. Dann kannst Du der jeweiligen Summe (z.B. 3+5=8 für Tonne 2 und 3) hier 8 eine Farbe oder LED Kombination zuordnen. Dies ist übersichtlich und kann leicht geändert werden.
            Gruß
            HUK

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Homoran last edited by

              @Homoran sagte in Mehrere States vergleichen:

              Nicht dass ich das auf Anhieb verstehe, da lern ich mich mal durch.

              @paul53
              Ich glaube ich ahne was da ablaufen soll.

              Aber es läuft nicht 😞

              es wechselt nur einmalig.
              Habe zusätzlicher zur blauen bei allen Tonnen den state mal testweise auf true gesetzt.

              Habe auch mal mit 2, 5, und 10 Sekunden timeout versucht.

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Homoran last edited by

                @Homoran sagte:

                es wechselt nur einmalig.

                Poste mal den Javascript Code.

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @paul53 last edited by

                  @paul53

                  gerne;

                  var Tonne1, Tonne2, Wechsel, Intervall;
                  
                  
                  on({id: new RegExp('Systemvariablen\\.0\\.Muellkalender\\.blaueTonne_aktiv' + "|" + 'Systemvariablen\\.0\\.Muellkalender\\.gelbeTonne_aktiv' + "|" + 'Systemvariablen\\.0\\.Muellkalender\\.graueTonne_aktiv' + "|" + 'Systemvariablen\\.0\\.Muellkalender\\.brauneTonne_aktiv'), change: "ne"}, function (obj) {
                      Tonne1 = 0;
                    Tonne2 = 0;
                    Wechsel = false;
                    if (getState("Systemvariablen.0.Muellkalender.blaueTonne_aktiv").val == true) {
                      Tonne1 = 1;
                    }
                    if (getState("Systemvariablen.0.Muellkalender.gelbeTonne_aktiv").val == true) {
                      if (Tonne1) {
                        Tonne2 = 6;
                        Tonne1 = 6;
                      }
                    }
                    if (getState("Systemvariablen.0.Muellkalender.graueTonne_aktiv").val == true) {
                      if (Tonne1) {
                        Tonne2 = 5;
                        Tonne1 = 5;
                      }
                    }
                    if (getState("Systemvariablen.0.Muellkalender.brauneTonne_aktiv").val == true) {
                      if (Tonne1) {
                        Tonne2 = 2;
                        Tonne1 = 2;
                      }
                    }
                    if (Tonne2) {
                      Intervall = setInterval(function () {
                        if (Wechsel) {
                          setState("hm-rpc.1.001A58A9A27EC9.12.LEVEL", 100);
                          setState("hm-rpc.1.001A58A9A27EC9.12.COLOR", Tonne2);
                        } else {
                          setState("hm-rpc.1.001A58A9A27EC9.12.LEVEL", 100);
                          setState("hm-rpc.1.001A58A9A27EC9.12.COLOR", Tonne1);
                        }
                        Wechsel = !Wechsel;
                        console.log(Wechsel);
                      }, 30000);
                    } else {
                      (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                      setState("hm-rpc.1.001A58A9A27EC9.12.LEVEL", 100);
                      setState("hm-rpc.1.001A58A9A27EC9.12.COLOR", Tonne1);
                    }
                  });
                  
                  on({id: "hm-rpc.1.001A58A9A27EC9.3.STATE", change: "ne"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    if (getState("hm-rpc.1.001A58A9A27EC9.3.STATE").val == true) {
                      setState("hm-rpc.1.001A58A9A27EC9.8.COLOR", 4);
                      setState("hm-rpc.1.001A58A9A27EC9.8.LEVEL", 100);
                    } else {
                      setState("hm-rpc.1.001A58A9A27EC9.8.COLOR", 0);
                    }
                  });
                  
                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Homoran last edited by

                    @Homoran
                    In den Abfragen "falls Tonne1" fehlt das "sonst". Tonne1 erhält so den gleichen Wert wie Tonne2.

                    Homoran 2 Replies Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @paul53 last edited by

                      @paul53
                      Danke, prüfe ich sofort!

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @paul53 last edited by

                        @paul53

                        Das wars - Danke
                        Wegen C&P war es dann ein systematischer Fehler.

                        Was sagst du denn als Hüter des DC dazu?
                        geht das gut?

                        paul53 2 Replies Last reply Reply Quote 0
                        • paul53
                          paul53 @Homoran last edited by

                          @Homoran sagte in Mehrere States vergleichen:

                          DC

                          Mit 30 s Zykluszeit könnte es noch klappen ?

                          Homoran 2 Replies Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @paul53 last edited by

                            @paul53

                            Danke!

                            ich mach mal den Crashtest mit 3 Sekunden und sehe zu wie schnell er volläuft.

                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Homoran last edited by paul53

                              @Homoran sagte:

                              DC

                              Du sendest jedesmal den LEVEL mit. Wird der LEVEL im gleichen Telegramm übertragen wie COLOR ? Wenn nicht, treibt das zusätzliche Senden von LEVEL im Intervall den DC hoch.

                              1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @paul53 last edited by

                                @paul53

                                Da liegst du verdammt gut.
                                ca. 45% in 3 Minuten bei Wechsel alle 3 Sekunden

                                Werde ich nachher nochmal mit 30 Sekunden machen wenn der DC wieder runter ist.

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Homoran last edited by

                                  @Homoran
                                  Muss man jedesmal zusammen mit COLOR auch den LEVEL mitgeben ? Wenn nicht, dann mache es besser so:

                                  Blockly_temp.JPG

                                  Homoran 1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @paul53 last edited by

                                    @paul53 sagte in Mehrere States vergleichen:

                                    Muss man jedesmal zusammen mit COLOR auch den LEVEL mitgeben ?

                                    Wahrscheinlich nicht.
                                    Aber erst dachte ich mein Programm läuft nicht, bis ich merkte das der Level auf 0 stand.

                                    @paul53 sagte in Mehrere States vergleichen:

                                    Wenn nicht, dann mache es besser so:

                                    Einmalig muss reichen.
                                    Ich werde den Schalter wahrscheinlich sowieso in das Nacht_dimm Programm einbinden und nachts auf x Prozent dimmen. Dann wird es spätestens zu diesen Zeitpunkten einen Level ungleich 0 bekommen

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    711
                                    Online

                                    31.9k
                                    Users

                                    80.3k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    18
                                    518
                                    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