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.
    • hanss
      hanss last edited by

      Das wäre ein enormer Aufwand.
      Ich möchte deshalb bei den Clients bei type string bleiben, das ist alles
      getestet und funktioniert ohne Probleme.
      Es gibt da nur den typ string, keine floats, nur ganze Zahlen, bool als "true" und "false" und Strings.

      Eigentlich ist ja das Problem nicht bei den Clients, sondern js im ioBroker funktioniert da
      offensichtlich nicht richtig.
      Ich habe bisher immer vermieden, einen Fehler zu umgehen. Das rächt sich immer irgendwann.
      Leider kann ich den js im ioBroker nicht selber ändern.

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

        @hanss sagte:

        Eigentlich ist ja das Problem nicht bei den Clients,

        Doch, wenn man mit true und false ein- und ausschalten kann, nicht aber mit 'true' und 'false', liegt es nicht an ioBroker.

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

          @paul53
          Jetzt mal ohne Clients.
          Es gibt ein Objekt vom Typ String.

          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.

          Deshalb meine ich, da stimmt etwas nicht mit js im ioBroker.

          paul53 1 Reply Last reply Reply Quote 0
          • 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

                              883
                              Online

                              31.8k
                              Users

                              80.0k
                              Topics

                              1.3m
                              Posts

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