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.
    • 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

                              766
                              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