Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Gelöst] Logicwert nach State ändern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Gelöst] Logicwert nach State ändern

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Lordcyber last edited by Lordcyber

      Hallo,
      sorry für die vielleicht Blöden Anfängerfragen.
      Ich habe eien Datenpunkt RoT-Weiß als Logicwert erstellt

      Wie kann ich den Logicwert Datenpunkt nach einem State ändern.

      Ich mochte das nur wenn im State "Rot" kommt er den Datenpunkt Logicwert auf True ändert.
      Dann aber das true behält egal was kommt.
      Erste wenn State "Weis" kommt soll er den Logicwert auf false ändern.
      Dieses soll ebenfalls bleiben bis wieder "Rot" kommt und somit wieder auf true schaltet.

      Alles andere soll ignoriert werden.
      Danke.

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

        @Lordcyber sagte:

        Ich mochte das nur wenn im State "Rot" kommt er den Datenpunkt Logicwert auf True ändert.
        Dann aber das true behält egal was kommt.
        Erste wenn State "Weis" kommt soll er den Logicwert auf false ändern.

        Was ist das für ein State mit "Rot" und "Weiss" ?

        if(farbe == "Rot") setState(idLogic, true);
        else if(farbe == "Weiss") setState(idLogic, false);
        
        1 Reply Last reply Reply Quote 0
        • L
          Lordcyber last edited by

          Hallo,
          das war nur als Beispiel.
          In Realität geht es darum:

          Ich habe einen 433 Tür Sensor den der den State 12345 ausgibt wenn die Türe geöffnet wird.
          Und beim schlissen den State 12347
          Dazwischen empfängt er aber noch andere States.
          Daher habe ich einen Datenpunkt "Türe auf " erstellt denn er mir eben false/true ändern soll.

          Das ich diesen Datenpunkt weiter verarbeiten kann.

          Vielen Dank ich werde es gleich mal Probieren.

          1 Reply Last reply Reply Quote 0
          • L
            Lordcyber last edited by Lordcyber

            @paul53 said in Logicwert nach State ändern:

            if(farbe == "Rot") setState(idLogic, true);

            Also Wäre es dann:

            if('sonoff.0.Sonoff_Bridge.RfReceived_Data' == "9B766E") setState('Tüeren.0.Balkontüere.Status', true);
            
            else if('sonoff.0.Sonoff_Bridge.RfReceived_Data' == "9B7667") setState('Tüeren.0.Balkontüere.Status', false);
            

            Hab es eben abgeändert das ist so wie es sein sollte.
            Aber er ändert mir den State nicht um.

            Asgothian 1 Reply Last reply Reply Quote 0
            • Asgothian
              Asgothian Developer @Lordcyber last edited by

              @Lordcyber sagte in Logicwert nach State ändern:

              @paul53 said in Logicwert nach State ändern:

              if(farbe == "Rot") setState(idLogic, true);

              Also Wäre es dann:

              if('sonoff.0.Sonoff_Bridge.RfReceived_Data' == "9B766E") setState('Tüeren.0.Balkontüere.Status', true);
              
              else if('sonoff.0.Sonoff_Bridge.RfReceived_Data' == "9B7667") setState('Tüeren.0.Balkontüere.Status', false);
              

              Hab es eben abgeändert das ist so wie es sein sollte.
              Aber er ändert mir den State nicht um.

              Auf die Gefahr hin das ich da was offensichtliches schreibe - dieses if muss noch in ein ‚on‘ gepackt werden:

              on( { id:’sonoff.0.Sonoff_Bridge.RfReceived_Data’, change: ‘ne’}, function() {
              —-hier das if
              });
              

              So sollte er beim erkennen des Signals den Status anpassen.

              A.

              L 1 Reply Last reply Reply Quote 0
              • L
                Lordcyber @Asgothian last edited by

                @Asgothian said in Logicwert nach State ändern:

                @Lordcyber sagte in Logicwert nach State ändern:

                @paul53 said in Logicwert nach State ändern:

                if(farbe == "Rot") setState(idLogic, true);

                Also Wäre es dann:

                if('sonoff.0.Sonoff_Bridge.RfReceived_Data' == "9B766E") setState('Tüeren.0.Balkontüere.Status', true);
                
                else if('sonoff.0.Sonoff_Bridge.RfReceived_Data' == "9B7667") setState('Tüeren.0.Balkontüere.Status', false);
                

                Hab es eben abgeändert das ist so wie es sein sollte.
                Aber er ändert mir den State nicht um.

                Auf die Gefahr hin das ich da was offensichtliches schreibe - dieses if muss noch in ein ‚on‘ gepackt werden:

                on( { id:’sonoff.0.Sonoff_Bridge.RfReceived_Data’, change: ‘ne’}, function() {
                —-hier das if
                });
                

                So sollte er beim erkennen des Signals den Status anpassen.

                A.

                Hallo,
                danke, ja jetzt wo de es sagst. Stimmt hat gefehlt.
                Jetzt Springt er zwar auf true aber nicht zurück auf False. Wenn der Wert kommt.

                So habe ich es jetzt:

                on( { id:'sonoff.0.Sonoff_Bridge.RfReceived_Data', change: 'ne'}, function() {
                if('sonoff.0.Sonoff_Bridge.RfReceived_Data' == "9B766E") setState('Tüeren.0.Balkontüere.Status', true);
                else if('sonoff.0.Sonoff_Bridge.RfReceived_Data' == "9B7667") setState('Tüeren.0.Balkontüere.Status', false);
                });
                
                1 Reply Last reply Reply Quote 0
                • L
                  Lordcyber last edited by

                  So, hab den Fehler gefunden.
                  Es waren natürlich mal wieder Klammern und Sonstiges.

                  Jetzt Funktioniert es:

                  on( { id:"sonoff.0.Sonoff_Bridge.RfReceived_Data", change: 'ne'}, function() {
                  
                  if(getState("sonoff.0.Sonoff_Bridge.RfReceived_Data").val == "9B766E") setState("Tüeren.0.Balkontüere.Status", true);
                  else if(getState("sonoff.0.Sonoff_Bridge.RfReceived_Data").val == "9B7667") setState("Tüeren.0.Balkontüere.Status", false);
                  
                  });
                  

                  Danke an alle für die Hilfe.

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  923
                  Online

                  31.7k
                  Users

                  79.7k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  289
                  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