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.
    • F
      Farmer-cb last edited by

      Hallo
      hast du dazu schon irgend eine Lösung gefunden???
      Mir geht es aktuell auch so, aber nur bei einem iobroker, von 5 die ich betreue

      paul53 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Pittini last edited by

        @Pittini hi

        ich weiß zwar nicht, ob meine scripts, die sind, die dir nicht gefallen - aber hier wäre ein script, welches herunterzählt und man mit einem steuerscript ansprechen könnte

        https://forum.iobroker.net/topic/22574/vorlage-zeit-herunterzählen-bis-googletermin-eintritt?page=1

        (nennt sich "das js-script") - zählt runter bis zum angegebene termin und kann in der vis gut dargestellt werden (funktioniert auch bei /nachiobroker neustart)

        oder mit dem script - eine art stoppuhr - welche man auch steuern kann (blockly)
        https://forum.iobroker.net/topic/22532/vorlage-blockly-script-für-stoppuhr-laufzeiten-aufzeichen?page=1

        man könnte wohl mit beiden eine art zeitsteuerung realisieren

        es gibt auch noch jmd, der einen countdown adapter macht
        https://forum.iobroker.net/topic/22626/aufruf-countdown-adapter-testen?page=1

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

                            870
                            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