Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Unterschied "steuere Objekt" und "aktualisiere Objekt"

    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

    Unterschied "steuere Objekt" und "aktualisiere Objekt"

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

      ".MeineGeraete" funktioniert nur manchmal !

      Funktioniert: "MeineGeraete.0".

      1 Reply Last reply Reply Quote 0
      • S
        skraw.iobroker last edited by

        @paul53:

        ".MeineGeraete" funktioniert nicht !

        Funktioniert: "MeineGeraete.0". `

        Also damit wir uns richtig verstehen: wir sprechen hier nicht von etwas das nie geht. Wir sprechen davon dass das ganze immer geht, nur manchmal alle paar Tage gibt es den Effekt, dass im Web ein Wert stehenbleibt, der von den Skripten die diesen Wert auslesen und runterzaehlen eben nicht so gesehen wird wie im Web sondern als "0".

        Wenn der Wert des Objekts das naechste mal per "aktualisiere …" wieder hoch gesetzt wird gehts wieder ganz normal weiter und er wird wieder runtergezaehlt.

        Ich wuerde vermuten dass die Ausgabe im Web auf irgendeiner temporaeren Uebernahme des Objektwertes fusst und da irgendwas nicht so geht wie man denkt, vielleicht eine race-condition.

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

          Der JS-Adapter erlaubt eine kurze und eine vollständige Schreibweise der Datenpunkt-ID. Beginnt eine ID mit "irgendwas.N." (N = Zahl), dann wird die ID so genommen wie sie ist. Beginnt die ID abweichend davon, kann es passieren, dass die ID innerhalb der Instanz "javascript.N" vermutet wird.

          1 Reply Last reply Reply Quote 0
          • S
            skraw.iobroker last edited by

            Ich koennte das ausprobieren, aber wie kann ich ".MeineGeraete" umbenennen?

            Ansonsten muesste ich hunderte Referenzen in Skripten neu setzen …

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

              @skraw.iobroker:

              Ich koennte das ausprobieren, aber wie kann ich ".MeineGeraete" umbenennen? `
              Die Datenpunkte müssen wohl neu erstellt werden.
              @skraw.iobroker:

              Ansonsten muesste ich hunderte Referenzen in Skripten neu setzen … `
              Deshalb verwende ich eindeutige Namen und ermittle im Script die ID mit getIdByName('name').

              1 Reply Last reply Reply Quote 0
              • S
                skraw.iobroker last edited by

                @paul53:

                @skraw.iobroker:

                Ansonsten muesste ich hunderte Referenzen in Skripten neu setzen … Deshalb verwende ich eindeutige Namen und ermittle im Script die ID mit __getIdByName('name')__.

                Wo ist diese Funktion im Blockly ? Ich kann da nichts finden das sowas macht.

                1 Reply Last reply Reply Quote 0
                • S
                  skraw.iobroker last edited by

                  Ich hab mir das jetzt nochmal unter diesem Aspekt angesehen.

                  Die Skripte referenzieren alle mit kompletter Objekt-ID (copy-paste aus der Script-Ansicht funktioniert leider nicht, sonst haett ichs zitiert). Ich frage mich schon welcher der Werte tatsaechlich stimmt, es koennte ja auch sein, dass die Darstellung im Web ein Problem hat…

                  1 Reply Last reply Reply Quote 0
                  • S
                    skraw.iobroker last edited by

                    Hier habe ich ein starkes Indiz dafuer, dass die Darstellung im Web des Objekt-Wertes ein Problem hat.

                    In meinem Screenshot vom 24.03 ca 11:42 Uhr sieht man dass "Zone_EG_" auf 100 steht.

                    Aber im Logfile dieses Tages steht folgendes:

                    2018-03-24 06:24:06.017  - info: javascript.0 script.js.Skript-Melder: EG Licht an
                    2018-03-24 06:26:02.922  - info: javascript.0 script.js.Skript-Timeouts: EG Licht aus
                    2018-03-24 06:31:08.848  - info: javascript.0 script.js.Skript-Melder: EG Licht an
                    2018-03-24 06:33:53.023  - info: javascript.0 script.js.Skript-Timeouts: EG Licht aus
                    2018-03-24 17:58:04.005  - info: javascript.0 script.js.Skript-Melder: EG Licht an
                    2018-03-24 18:00:30.410  - info: javascript.0 script.js.Skript-Timeouts: EG Licht aus
                    
                    

                    Man sieht das Skript schaltet das Licht um 06:33:53 Uhr aus. Das bedeutet es hat den Wert des obigen Objektes auf 0 heruntergezaehlt. Er muss also zu diesem Zeitpunkt "0" sein. Der im Web angezeigte Wert ist falsch.

                    Da sollte man die Ursache suchen.

                    Nachtrag: man kann die Korrektheit des "Herunterzaehlens" des Skripts auch daran sehen, dass mein Timeout bei 120 liegt und zwischen dem "Licht an" und dem "Licht aus" pi mal Daumen etwa 2 Minuten liegen was dem Timeout entspricht. Ganz genau darf man es bei JS scheinbar nicht nehmen mit Zeitintervallen 🙂

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

                      @skraw.iobroker:

                      Wo ist diese Funktion im Blockly ? Ich kann da nichts finden das sowas macht. `
                      In Blockly existiert diese Funktion nicht, da in Blockly die ID per "Select ID" direkt zugeordnet wird. Blockly ist halt nur eine Einstiegshilfe für Leute, die vorher noch nicht programmiert haben (außer vlt. mit graphischen Programmieroberflächen).

                      1 Reply Last reply Reply Quote 0
                      • S
                        skraw.iobroker last edited by

                        Tja, wie oben bewiesen ist aber Blockly technisch korrekt und die Weboberflaeche im Irrtum.

                        1 Reply Last reply Reply Quote 0
                        • S
                          skraw.iobroker last edited by

                          Wie legt man denn eigentlich ein neues Verzeichnis von Objekten an?

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

                            @skraw.iobroker:

                            Wie legt man denn eigentlich ein neues Verzeichnis von Objekten an? `
                            Im Browser die Seite neu laden, damit nichts selektiert ist und dann https://forum.iobroker.net/viewtopic.php?f=20&t=5381#p54567.

                            1 Reply Last reply Reply Quote 0
                            • S
                              skraw.iobroker last edited by

                              Danke fuer den Link, aber er zeigt echt nur eins: jeder hat damit Probleme. Die Konstruktion ist einfach nicht straight-forward. Wenn man sowas selbst anlegt fuer eigene Variablen ist es ziemlich undurchsichtig ob das "Verzeichnis" wo man sie reinlegt vom Typ her ein "Device" oder ein "Channel" ist und was ueberhaupt der Unterschied hinterher waere, wenn es den ueberhaupt gibt.

                              1 Reply Last reply Reply Quote 0
                              • S
                                skraw.iobroker last edited by

                                @paul53:

                                @skraw.iobroker:

                                Wo ist diese Funktion im Blockly ? Ich kann da nichts finden das sowas macht. In Blockly existiert diese Funktion nicht, da in Blockly die ID per "Select ID" direkt zugeordnet wird. Blockly ist halt nur eine Einstiegshilfe für Leute, die vorher noch nicht programmiert haben (außer vlt. mit graphischen Programmieroberflächen).

                                Also wenn man sich erst mal mit Blockly angefreundet hat geht eigentlich alles damit recht schnell. Es ist ja nun nicht gerade so dass man fuer Smarthome Anwendungen besonders komplexe Programme brauchen wuerde.

                                Ich waere jedoch dafuer dass man die Zugriffe auf die Objekte auch bei Blockly auf den Namen zurueckfuehren wuerde, denn der steht schliesslich auch in den Ausdruecken drin, auch wenn man in der Tat die ID ausgewaehlt hat. Ich denke es waere kein echtes Problem hier zwei jeweils Statements draus zu machen. Noch besser waere natuerlich ein Einsteller im jeweiligen zugreifenden Statement. Dann haette es der User in der Hand.

                                1 Reply Last reply Reply Quote 0
                                • S
                                  skraw.iobroker last edited by

                                  Mittlerweile hat sich etwas veraendert mit den Web-Ansichten meiner Objekte. Die version 3.3.5 vom admin-Interface scheint die Updates der Objekte jetzt richtig anzuzeigen. Ich hatte seit der Installation von 3.3.5 keinen Fall mehr wo die Web-Werte offensichtlich anders waren als die die die Skripte gesehen haben. Bei 3.3.3 schien das Problem dagegen noch da zu sein.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  539
                                  Online

                                  31.8k
                                  Users

                                  79.9k
                                  Topics

                                  1.3m
                                  Posts

                                  3
                                  22
                                  4065
                                  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