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

      @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

                                780
                                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