Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. js mqtt String Objekt setState 'true' oder true

    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

    js mqtt String Objekt setState 'true' oder true

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

      @hanss sagte:

      Wenn ich setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'true')
      ausführe, bleibt das Objekt unverändert.

      Wird denn mit

      setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'true')
      

      eingeschaltet und mit

      setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'false')
      

      ausgeschaltet ?

      1 Reply Last reply Reply Quote 0
      • hanss
        hanss last edited by

        Im ioBroker gar nichts.
        Die Info 'true' oder 'false' wird nur per mqtt an die Clients übertragen.
        Die Clients schalten dann entsprechend.

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

          @hanss sagte:

          Die Info 'true' oder 'false' wird nur per mqtt an die Clients übertragen. Die Clients schalten dann entsprechend.

          Dann ändere den Vergleich im Script.

          // Schaltet Gartenwasser Timer ein wenn GW aus war, schaltet Gartenwasser aus wenn GW ein war
          // GW TIMER
          var update;
          on({id: "mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser", change: "ne"}, function (obj) {
                  if ( obj.state.val == 'true') {
                          update = setTimeout(function () {            // Ausschalt Timer
                              setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser", 'false');     // Gartenwasser ausschalten
                          },30 * 60 * 1000);                           // Ausschaltzeit in ms 30 * 60 * 1000
                  }
          });
          
          1 Reply Last reply Reply Quote 0
          • hanss
            hanss last edited by

            Das Problem ist nicht obj.state.val == 'true',
            sondern
            Wenn ich setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'true')
            ausführe, bleibt das Objekt unverändert.

            Wenn ich setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",true)
            ausführe, steht im Objekt auch true, ich erhalte aber die Warnung.

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

              @hanss sagte:

              bleibt das Objekt unverändert.

              Was bedeutet Objekt unverändert ?

              1 Reply Last reply Reply Quote 0
              • hanss
                hanss last edited by

                Wenn das Objekt vorher 'false' war, dann ist es auch nach
                setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'true')
                immer noch 'false'

                Könntest Du das einmal nachbilden, sind ja nur ein paar Zeilen.
                Würde mich interessieren, ob das auch bei Dir sich so verhält.

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

                  @hanss sagte:

                  Könntest Du das einmal nachbilden, sind ja nur ein paar Zeilen.

                  Nein, ich habe kein MQTT. Wenn ich einen Datenpunkt mit setState() auf 'true' setze, dann wird auch true (rot) angezeigt. Bleibt es bei Dir false (schwarz) ? Dann macht das der Adapter.

                  1 Reply Last reply Reply Quote 0
                  • hanss
                    hanss last edited by

                    Die Farbe beim Objekt ändert sich nicht, weil es ein string ist und kein bool.

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

                      @hanss sagte:

                      Die Farbe beim Objekt ändert sich nicht, weil es ein string ist und kein bool.

                      Dann ändert der Adapter es sofort wieder auf false (boolean mit Bestätigung) zurück.
                      Wenn Du den Typ nicht im Objekt ändern willst, kannst Du noch einen Alias verwenden.

                      1 Reply Last reply Reply Quote 0
                      • hanss
                        hanss last edited by

                        Ich habe es gerade ausprobiert:
                        wenn ich ein Objekt unter javascript.0.test anlege (typ string), dann kann ich es mit 'true' verändern.

                        wenn ich ein Objekt unter mqtt.0.test anlege (typ string), dann kann ich es mit 'true' NICHT verändern.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        870
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        javascript
                        2
                        22
                        1085
                        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