Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. js mqtt String Objekt setState 'true' oder true

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

js mqtt String Objekt setState 'true' oder true

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
22 Beiträge 2 Kommentatoren 1.2k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • hanssH Offline
    hanssH Offline
    hanss
    schrieb am zuletzt editiert von
    #1

    JS Vers. 3.1.3

    Wenn ich das mqtt Objekt:
    mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser ("type": "string")

    mit

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

    setze, dann erhalte ich diesen Fehler:
    You are assigning a boolean to the state "mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser" which expects a string.
    Das Objekt wird aber auf true gesetzt.
    mit

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

    bleibt ohne Fehler, das Objekt bleibt aber unverändert.
    Ich habe das Objekt schon mehrmals gelöscht und neu angelegt.

    Wieso gibt das einen Fehler, wenn es aber dann doch funktioniert???????

    paul53P 1 Antwort Letzte Antwort
    0
    • hanssH hanss

      JS Vers. 3.1.3

      Wenn ich das mqtt Objekt:
      mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser ("type": "string")

      mit

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

      setze, dann erhalte ich diesen Fehler:
      You are assigning a boolean to the state "mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser" which expects a string.
      Das Objekt wird aber auf true gesetzt.
      mit

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

      bleibt ohne Fehler, das Objekt bleibt aber unverändert.
      Ich habe das Objekt schon mehrmals gelöscht und neu angelegt.

      Wieso gibt das einen Fehler, wenn es aber dann doch funktioniert???????

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @hanss sagte:

      Wieso gibt das einen Fehler, wenn es aber dann doch funktioniert???????

      Es ist eine Warnung, kein Fehler. Ist common.type = 'string' richtig ? Falls nicht, ändere es.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • hanssH Offline
        hanssH Offline
        hanss
        schrieb am zuletzt editiert von
        #3

        Das mqtt Objekt ist vom Typ String.
        Das muss so sein, weil ich sonst mit dem PubSubClient in den ESP8266 Clients Probleme
        habe, wenn die Objekte nicht vom Typ String sind.
        Aber warum gibt es eine Warnung, wenn es nur mit true funktioniert aber
        nicht mit 'true'?

        paul53P 1 Antwort Letzte Antwort
        0
        • hanssH hanss

          Das mqtt Objekt ist vom Typ String.
          Das muss so sein, weil ich sonst mit dem PubSubClient in den ESP8266 Clients Probleme
          habe, wenn die Objekte nicht vom Typ String sind.
          Aber warum gibt es eine Warnung, wenn es nur mit true funktioniert aber
          nicht mit 'true'?

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @hanss sagte:

          wenn es nur mit true funktioniert aber nicht mit 'true'?

          Wird geschaltet mit

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

          oder mit ?

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

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          paul53P 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @hanss sagte:

            wenn es nur mit true funktioniert aber nicht mit 'true'?

            Wird geschaltet mit

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

            oder mit ?

            setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",true)
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            Wenn mit true und false geschaltet wird, ändere common.type in 'boolean'. Andernfalls ändere den Vergleich im Script.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            hanssH 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              Wenn mit true und false geschaltet wird, ändere common.type in 'boolean'. Andernfalls ändere den Vergleich im Script.

              hanssH Offline
              hanssH Offline
              hanss
              schrieb am zuletzt editiert von
              #6

              @paul53
              common.type = 'string'. Muss string sein.

              mit true erhalte ich die Warnung, aber es funktioniert.
              mit 'true' erhalte ich keine Warnung, aber es funktioniert NICHT.

              paul53P 1 Antwort Letzte Antwort
              0
              • hanssH hanss

                @paul53
                common.type = 'string'. Muss string sein.

                mit true erhalte ich die Warnung, aber es funktioniert.
                mit 'true' erhalte ich keine Warnung, aber es funktioniert NICHT.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @hanss sagte:

                common.type = 'string'. Muss string sein.

                Weshalb ? Von common.type = 'boolean' bekommt MQTT nichts mit, sondern nur ioBroker.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                hanssH 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @hanss sagte:

                  common.type = 'string'. Muss string sein.

                  Weshalb ? Von common.type = 'boolean' bekommt MQTT nichts mit, sondern nur ioBroker.

                  hanssH Offline
                  hanssH Offline
                  hanss
                  schrieb am zuletzt editiert von
                  #8

                  @paul53
                  Meine ESP8266 mit dem mqtt PubSubClient erzeugen die topics im ioBroker.
                  Da ist alles mit typ string.
                  Ich weiss nicht, wie man bei dem PubSubClient ein topic anlegt, damit beim
                  ioBroker ein Objekt mit Typ bool erzeugt wird.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • hanssH hanss

                    @paul53
                    Meine ESP8266 mit dem mqtt PubSubClient erzeugen die topics im ioBroker.
                    Da ist alles mit typ string.
                    Ich weiss nicht, wie man bei dem PubSubClient ein topic anlegt, damit beim
                    ioBroker ein Objekt mit Typ bool erzeugt wird.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @hanss sagte:

                    Ich weiss nicht, wie man bei dem PubSubClient ein topic anlegt, damit beim ioBroker ein Objekt mit Typ bool erzeugt wird.

                    Ich auch nicht.
                    Was hindert Dich daran, den Typ im Objekt manuell zu ändern ?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • hanssH Offline
                      hanssH Offline
                      hanss
                      schrieb am zuletzt editiert von
                      #10

                      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.

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • hanssH hanss

                        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.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #11

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

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        hanssH 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

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

                          hanssH Offline
                          hanssH Offline
                          hanss
                          schrieb am zuletzt editiert von
                          #12

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

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • hanssH hanss

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

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #13

                            @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 ?

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            0
                            • hanssH Offline
                              hanssH Offline
                              hanss
                              schrieb am zuletzt editiert von
                              #14

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

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • hanssH hanss

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

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #15

                                @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
                                        }
                                });
                                

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                0
                                • hanssH Offline
                                  hanssH Offline
                                  hanss
                                  schrieb am zuletzt editiert von
                                  #16

                                  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.

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • hanssH hanss

                                    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.

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #17

                                    @hanss sagte:

                                    bleibt das Objekt unverändert.

                                    Was bedeutet Objekt unverändert ?

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    1 Antwort Letzte Antwort
                                    0
                                    • hanssH Offline
                                      hanssH Offline
                                      hanss
                                      schrieb am zuletzt editiert von
                                      #18

                                      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.

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • hanssH hanss

                                        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.

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #19

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

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        1 Antwort Letzte Antwort
                                        0
                                        • hanssH Offline
                                          hanssH Offline
                                          hanss
                                          schrieb am zuletzt editiert von
                                          #20

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

                                          paul53P 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          463

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe