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

                          868
                          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