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] createState überschreibt Daten?!

    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

    [gelöst] createState überschreibt Daten?!

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

      @Farmer-cb:

      Mir geht es aktuell auch so, aber nur bei einem iobroker, von 5 die ich betreue

      Welche Versionen haben js-controller und Javascript-Adapter ? Bei meinen Versionen js-controller 1.5.9 und JS-Adapter 4.1.13 (von Github) überschreibt createState() keine Werte.

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        @Pittini sagte in createState überschreibt Daten?!:

        Was mach ich falsch?

        Ich sehe den Fehler auch nicht. Allerdings ist der Code schwer zu lesen, kannst du bitte innerhalb des Spoilers noch die Code-Tags anfügen?

        createState() kann gezwungen werden, den Datenpunkt neu anzulegen, wenn man z auf true setzt (force creation).

        createState(x, y, z, {...});
        

        Bei dir ist das nicht der Fall.

        🤔

        P 1 Reply Last reply Reply Quote 0
        • P
          Pittini Developer @pix last edited by

          @pix Ich hab inzwischen die Lösung gefunden Es lag tatsächlich an der CreateState Syntax.

          So funktionierts nicht

          createState(praefix + x + ".Aktiv", false, { read: true, write: true, name: "Timer aktiv", type: "boolean", role: "switch", def: false }); //Legt fest ob der Timer aktiv ist
          

          So funktionierts

          createState(praefix + x + ".Aktiv", false, false, { read: true, write: true, name: "Timer aktiv", type: "boolean", role: "switch", def: false }); //Legt fest ob der Timer aktiv ist
          
          
          AlCalzone 1 Reply Last reply Reply Quote 1
          • P
            Pittini Developer @liv-in-sky last edited by

            @liv-in-sky Hi,
            danke für die Links, die hatte ich tatsächlich schon gefunden, durchgeguggt und paar Ideen geholt. Is aber nix auch nur annähernd so wie ich das will.
            Inzwischen hab ich das Ding auch fertig und im Testbetrieb. Werds dann vermutlich mal als Projekt vorstellen.

            1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer @Pittini last edited by

              @Pittini sagte in [gelöst] createState überschreibt Daten?!:

              So funktionierts nicht

              Zur Erklärung: Der 3. Parameter (ein Objekt) wird von JS als truthy eingestuft - lose übersetzt "wahr oder so". Viele Prüfungen werden in JS so geschrieben, auch in ioBroker: if (variable) { ... }. Diese Bedingung ist wahr, wenn variable truthy ist.
              Da der dritte Parameter für das Erzwingen der State-Erstellung steht, wird mit der ersten Syntax (Objekt anstelle des Parameters) also dieser Code-Zweig ausgeführt.

              Mal aus Interesse, was sagt denn die Syntaxhilfe, wenn du den Befehl so eingibst?

              P Peoples 2 Replies Last reply Reply Quote 0
              • P
                Pittini Developer @AlCalzone last edited by Pittini

                @AlCalzone said in [gelöst] createState überschreibt Daten?!:

                Mal aus Interesse, was sagt denn die Syntaxhilfe, wenn du den Befehl so eingibst?

                Gar nix, die findet das ok. Allerdings mault die immer bei mehrdimensionalen Arrays und bei setTimeout und setIntervall obwohls funktioniert. Is auch bei importierten Scripts das selbe, ich ignoriers inzwischen einfach.

                2019-06-11 16_54_33-Window.png

                AlCalzone 1 Reply Last reply Reply Quote 0
                • AlCalzone
                  AlCalzone Developer @Pittini last edited by

                  @Pittini sagte in [gelöst] createState überschreibt Daten?!:

                  Gar nix, die findet das ok

                  Im Screenshot hast du auch den dritten Parameter als Boolean 😉

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    Pittini Developer @AlCalzone last edited by

                    @AlCalzone said in [gelöst] createState überschreibt Daten?!:

                    Im Screenshot hast du auch den dritten Parameter als Boolean

                    Versteh den Kommentar nicht, ist doch im Codeschnipsel genauso? Oder meinst Du was anderes?

                    AlCalzone 1 Reply Last reply Reply Quote 0
                    • AlCalzone
                      AlCalzone Developer @Pittini last edited by

                      @Pittini Ich meinte den Code-Schnipsel, der nicht funktioniert 😉 Eigentlich sollte die Syntax-Hilfe da meckern.

                      1 Reply Last reply Reply Quote 0
                      • Peoples
                        Peoples @AlCalzone last edited by Peoples

                        Hab das nochmal als neuen Thread aufgemacht

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        679
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        7
                        13
                        768
                        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