Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. If State exists

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    If State exists

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

      @david-g Möchtest Du prüfen, ob der State existiert, oder ob das Object existiert? Es gibt auch eine Funktion

      existsObject();

      existsState();

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @David G. last edited by

        @david-g sagte: Hier die Funktion

        An diese Funktion muss die ID übergeben werden - nicht der Wert. Sie liefert den Wert bei Existenz zurück.

        MartinP David G. 3 Replies Last reply Reply Quote 0
        • MartinP
          MartinP @paul53 last edited by

          @paul53 Interessant ist auch die Anmerkung in der Doku...

          If the option "Do not subscribe all states on start" is deactivated, you can use simpler call:

          existsObject(id)

          1 Reply Last reply Reply Quote 0
          • David G.
            David G. @paul53 last edited by David G.

            @paul53

            🫣 Augen auf am Steuer. Die Fehlermeldungen sind jetzt weg.

            Frage mich warum in der Funktion die -1 steht.
            So hat er die Variable immer damit beschrieben, wenn es den DP nicht gibt. Ohne klappt es wunderbar. In len anderen Scripten habe ich die drinnen.

            @MartinP
            Danke dur die Hinweise.

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

              @paul53 said in If State exists:

              Sie liefert den Wert bei Existenz zurück.

              Sie liefert true zurück., wenn der State existiert, und false sonst ...

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @David G. last edited by

                @david-g sagte: warum in der Funktion die -1 steht.

                Das ist der Wert bei Nichtexistenz. Andernfalls würde bei Nichtexistenz undefined zurück geliefert.

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

                  @paul53 Ist aber etwas, was Programmierer, die von streng typisierten Sprachen kommen irritiert ....

                  Im Erfolgsfall true/false zurück, und im Fehlerfall -1 ....

                  Die Architektur der Funktion scheint mir da sowieso nicht besonders praktisch zu sein ...

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

                    @martinp sagte: Die Architektur der Funktion scheint mir da sowieso nicht besonders praktisch zu sein ...

                    Das stimmt. Ursprünglich sollten wohl 3 Symbole (wahr / falsch / nicht vorhanden) für die Visualisierung erzeugt werden.

                    David G. 2 Replies Last reply Reply Quote 0
                    • David G.
                      David G. @paul53 last edited by David G.

                      @paul53 sagte in If State exists:

                      Das stimmt. Ursprünglich sollten wohl 3 Symbole (wahr / falsch / nicht vorhanden) für die Visualisierung erzeugt werden.

                      Das stimmt sogar.
                      Hab ich aus meinem Batteriescript kopiert.
                      Für Batterie voll/leer/nicht vorhanden.

                      EDIT
                      Wie müsste es denn besser gemacht werden, wenn ich nur prüfen möchte ob der DP existiert und falls ja, den Wert in die Variable schreiben möchte?

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @David G. last edited by paul53

                        @david-g sagte: nur prüfen möchte ob der DP existiert und falls ja, den Wert in die Variable schreiben möchte?

                        Was soll die Variable enthalten, wenn der DP nicht existiert? Wie wird die Variable ausgewertet?

                        David G. 1 Reply Last reply Reply Quote 0
                        • David G.
                          David G. @paul53 last edited by

                          @paul53

                          Bisher habe ich immer auf Null geprüft.

                          Screenshot_20240304_140400_Chrome.jpg

                          Dann kann man es für alles verwenden.

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @David G. last edited by paul53

                            @david-g sagte: auf Null geprüft.

                            Dann ändere die zweite Zeile in der JS-Funktion in

                            return null;
                            

                            oder lasse sie ganz weg: Im Vergleich liefern null und undefined das gleiche Ergebnis.

                            1 Reply Last reply Reply Quote 0
                            • David G.
                              David G. @paul53 last edited by

                              Okay, dachte da wäre noch mehr unlogisch/nicht gut nach diesem Satz.

                              @paul53 sagte in If State exists:

                              Die Architektur der Funktion scheint mir da sowieso nicht besonders praktisch zu sein ...

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @David G. last edited by

                                @david-g sagte: dachte da wäre noch mehr unlogisch/nicht gut nach diesem Satz.

                                Die Variable enthält bei vorhandenem DP eine Zahl zwischen 0 und 100. Damit wäre die -1 wieder logisch und man müsste auf >= 0 prüfen.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                689
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                3
                                15
                                258
                                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