Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Script Problems javascript Instanz

    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

    Script Problems javascript Instanz

    This topic has been deleted. Only users with topic management privileges can see it.
    • Schmakus
      Schmakus Developer @toki1973 last edited by

      @toki1973 ohne auf dein eigentliches Problem einzugehen, solltest mal anfangen, eigene Datenpunkte unter 0_userdata.0 oder alias.0 abzulegen und nicht in der Javascript Instanz.
      BTW: Man legt grundsätzlich keine eigene Datenpunkte in irgendwelche Adapter Instanzen an.

      Homoran T 2 Replies Last reply Reply Quote 0
      • Schmakus
        Schmakus Developer @toki1973 last edited by

        @toki1973 sagte in Script Problems javascript Instanz:

        @schmakus
        Ich meinte das hier. Im Log sehe ich da nichts dazu wenn javascrpit Instanz abstürzt trotz debug mode Einstellung in der Instanz
        46e6dc48-e562-48d4-9924-19df35ce47fe-image.png

        Wenn ich richtig in der Annahme bin, machen die Scripte "Beleuchtung" und "StromzählerJS" Probleme.

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @Schmakus last edited by

          @schmakus sagte in Script Problems javascript Instanz:

          @toki1973 ohne auf dein eigentliches Problem einzugehen, solltest mal anfangen, eigene Datenpunkte unter 0_userdata.0 oder alias.0 abzulegen und nicht in der Javascript Instanz.
          BTW: Man legt grundsätzlich keine eigene Datenpunkte in irgendwelche Adapter Instanzen an.

          warum?
          javascript.n ist ein zulässiger Ort für eigene Datepunkte. Jedoch nicht unter script.enabled!

          für "irgendwelche Adapter" mag die Aussage gelten (ausser MQTT)

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Schmakus last edited by Homoran

            @schmakus sagte in Script Problems javascript Instanz:

            Wenn ich richtig in der Annahme bin, machen die Scripte "Beleuchtung" und "StromzählerJS" Probleme.

            ja! aber

            @toki1973 sagte in Script Problems javascript Instanz:

            kann man denn die Datenpunkte interpretieren

            muss man mit:
            da muss der user leider selber nach dem Problem und der Ursache suchen. Eine weitergehende Interpretation ist nicht möglich.
            beantworten

            1 Reply Last reply Reply Quote 0
            • T
              ticaki Developer @Schmakus last edited by ticaki

              @schmakus sagte in Script Problems javascript Instanz:

              BTW: Man legt grundsätzlich keine eigene Datenpunkte in irgendwelche Adapter Instanzen an.

              Wird in der Doku aber mehr oder weniger empfohlen
              https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#best-practice

              oder ist meine Nachschlaglink veraltet?

              Insgesamt 13 Treffer vielleicht mal mit search/replace drüber gehen 🙂

              // Create state "javascript.0.counter"
              createState('counter', 0);
              let mySubscription = on({ id: 'javascript.0.myState', change: 'any' }, function (data) {
              on({ id: "javascript.0.myState1", change: 'ne' }, function (data) {
              on({ id: 'javascript.0.myState1', change: 'any' }, function (data) {
              // Delete state
              deleteObject('javascript.0.createdState');
              Create state and object in javascript space if it does not exist, e.g. javascript.0.mystate.
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @ticaki last edited by

                @ticaki sagte: Wird in der Doku aber mehr oder weniger empfohlen

                Dort steht nichts von Datenpunkten, sondern nur, dass man eine produktive und eine Test-Instanz verwenden soll.
                Wenn eine ID nicht mit "0_userdata.0." beginnt, werden mittels createState() die Datenpunkte unter "javascript.N" erstellt. Auch setState() und getState() greifen bei verkürzter ID (ohne Instanz) auf "javascript.N.id" zu.
                Das Verzeichnis "0_userdata.0" für eigene Datenpunkte kam erst im Laufe der Zeit dazu.

                T 1 Reply Last reply Reply Quote 1
                • T
                  ticaki Developer @paul53 last edited by ticaki

                  @paul53
                  Jetzt weiß ich wo der Verschreiber gelandet ist:

                  javascript.0.userdata.0.test.test
                  

                  Wenn per default in javascript. Datenpunkte erstellt werden ist sowas wie:

                  Man legt grundsätzlich keine eigene Datenpunkte in irgendwelche Adapter Instanzen an.

                  nicht gerechtfertigt. Darauf hinzuweisen ist eines, aber wenn man das grundsätzlich nicht tut, ist das default Verhalten ein Fehler.

                  paul53 Schmakus 2 Replies Last reply Reply Quote 0
                  • paul53
                    paul53 @ticaki last edited by

                    @ticaki sagte: ist das default Verhalten ein Fehler.

                    Das Verhalten ist historisch bedingt und für die Abwärtskompatibilität erforderlich.

                    T 1 Reply Last reply Reply Quote 0
                    • Schmakus
                      Schmakus Developer @ticaki last edited by Schmakus

                      @ticaki sagte in Script Problems javascript Instanz:

                      @paul53
                      Jetzt weiß ich wo der Verschreiber gelandet ist:

                      javascript.0.userdata.0.test.test
                      

                      Wenn per default in javascript. Datenpunkte erstellt werden ist sowas wie:

                      Man legt grundsätzlich keine eigene Datenpunkte in irgendwelche Adapter Instanzen an.

                      nicht gerechtfertigt. Darauf hinzuweisen ist eines, aber wenn man das grundsätzlich nicht tut, ist das default Verhalten ein Fehler.

                      Nein ist es nicht. Ist ein normales Verhalten wie bei allen anderen Adaptern auch.
                      Bei einem Adapter macht createState() einen Datenpunkt im eigenen space.
                      Für einen anderen spaces nutzt man createForeignObject()
                      Der Javascript Adapter macht es ähnlich, wobei es für den User nur createState() gibt und wenn man keinen space angibt, legt er diese halt im eigenen space an. Beugt auch Fehler vor.

                      Solange die Datenpunkte per Scripte erstellt werden, sind diese bei jedem Neustart des Scripts wieder vorhanden, sofern diese gelöscht wurden. Leg man jedoch händisch Datenpunkte unter javascript an, läuft man Gefahr, dass langfristig - z.B. durch ein Javascript Update - diese nicht mehr vorhanden sind. Nutzt man diese jedoch z.B. in VIS, dann geht die Fehlersuche los. (Bis dato kam das zwar noch nicht vor, aber wer weiß, ob sich nicht irgendwann was am JS Adapter ändert oder es irgendwann generell unterbunden wird.)

                      Ich rate deshalb, alle Datenpunkte in userdata oder alias abzulegen. Auch der Übersichtshalber sind alle am selben Ort und durch irgendwelche Adapter Updates geschützt.

                      1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @paul53 last edited by

                        @Schmakus
                        @paul53
                        akzeptiert

                        Würde aber zu einer Empfehlung in der Doku raten.

                        Homoran paul53 2 Replies Last reply Reply Quote 1
                        • Homoran
                          Homoran Global Moderator Administrators @ticaki last edited by Homoran

                          @ticaki wieso??

                          as told before;

                          @homoran sagte in Script Problems javascript Instanz:

                          javascript.n ist ein zulässiger Ort für eigene Datenpunkte. Jedoch nicht unter script.enabled!

                          die Aussage von @Schmakus ist so nicht richtig!

                          @schmakus sagte in Script Problems javascript Instanz:

                          Leg man jedoch händisch Datenpunkte unter javascript an, läuft man Gefahr, dass langfristig - z.B. durch ein Javascript Update - diese nicht mehr vorhanden sind

                          das gilt nur für alle anderen Adapter

                          Schmakus 1 Reply Last reply Reply Quote 0
                          • Schmakus
                            Schmakus Developer @Homoran last edited by

                            @homoran sagte in Script Problems javascript Instanz:

                            @ticaki wieso??

                            as told before;

                            @homoran sagte in Script Problems javascript Instanz:

                            javascript.n ist ein zulässiger Ort für eigene Datenpunkte. Jedoch nicht unter script.enabled!

                            die Aussage von @Schmakus ist so nicht richtig!

                            Dann korrigiere mich

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @Schmakus last edited by

                              @schmakus sagte in Script Problems javascript Instanz:

                              Dann korrigiere mich

                              hab ich doch!

                              @homoran sagte in Script Problems javascript Instanz:

                              @schmakus sagte in Script Problems javascript Instanz:

                              @toki1973 ohne auf dein eigentliches Problem einzugehen, solltest mal anfangen, eigene Datenpunkte unter 0_userdata.0 oder alias.0 abzulegen und nicht in der Javascript Instanz.
                              BTW: Man legt grundsätzlich keine eigene Datenpunkte in irgendwelche Adapter Instanzen an.

                              warum?
                              javascript.n ist ein zulässiger Ort für eigene Datepunkte. Jedoch nicht unter script.enabled!

                              für "irgendwelche Adapter" mag die Aussage gelten (ausser MQTT)

                              1 Reply Last reply Reply Quote 0
                              • T
                                ticaki Developer @toki1973 last edited by

                                @toki1973 sagte in Script Problems javascript Instanz:

                                Wie kann man denn die Datenpunkte interpretieren die in den Objekten Script Problems beschrieben sind?
                                Hintergrund ist das sich bei mir der javascript Adapter aufhängt und gelegentlich unbemerkt Instanzen deaktivieren.

                                Poste das Script, dann kann man drüber schauen und findet wohl das Problem.

                                @Homoran
                                Hab das "man erstellt keine DP unter javascript" in letzter Zeit zu oft gelesen.

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @ticaki last edited by Homoran

                                  @ticaki sagte in Script Problems javascript Instanz:

                                  Hab das "man erstellt keine DP unter javascript" in letzter Zeit zu oft gelesen.

                                  Vermutlich in Verbindung mit

                                  @homoran sagte in Script Problems javascript Instanz:

                                  nicht unter script.enabled!

                                  da gilt das auch.

                                  Ansonsten wird es durch häufige Wiederholung einer falschen Aussage nicht richtiger.

                                  paul53 T 2 Replies Last reply Reply Quote 0
                                  • paul53
                                    paul53 @Homoran last edited by

                                    @homoran sagte: nicht unter script.enabled!

                                    Nicht unter "scriptEnabled"
                                    ... und auch nicht unter "scriptProblem".

                                    1 Reply Last reply Reply Quote 1
                                    • T
                                      ticaki Developer @Homoran last edited by ticaki

                                      @homoran sagte in Script Problems javascript Instanz:

                                      Ansonsten wird es durch häufige Wiederholung einer falschen Aussage nicht richtiger.

                                      Wenn die Leute so bunte Tags haben, überdenkt man seine Ansicht halt 🙂 (oder paul heißen)

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

                                        @ticaki sagte: Würde aber zu einer Empfehlung in der Doku raten.

                                        PR auf Github ist erstellt.

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        771
                                        Online

                                        31.8k
                                        Users

                                        80.0k
                                        Topics

                                        1.3m
                                        Posts

                                        5
                                        21
                                        490
                                        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