Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. If State exists

NEWS

  • wichtiges UPDATE fĂŒr controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    2.1k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    4.0k

  • Neuer ioBroker-Blog online: MonatsrĂŒckblick MĂ€rz/April 2026
    BluefoxB
    Bluefox
    8
    1
    3.6k

If State exists

Geplant Angeheftet Gesperrt Verschoben Blockly
15 BeitrÀge 3 Kommentatoren 450 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • David G.D Online
    David G.D Online
    David G.
    schrieb am zuletzt editiert von
    #1

    Hallo,

    Irgendwie scheitere ich an einer Funktion die ich mir aus einem anderem Skript kopiert habe.
    Damals hat mjtodas @paul53 gezeigt.

    Ich möchte prĂŒfen ob ein State existiert und dann eine Variable mit dem Wert beschreiben.

    Hier die Funktion (am Smartphone kann man da leider keinen Text markieren um es als Code zu posten):

    Screenshot_20240304_095250_Chrome.jpg

    Hier ist es im Script eingebaut.
    Screenshot_20240304_094425_Chrome.jpg

    Die Variable HDD2 Word immer auf -1 gesetzt
    Screenshot_20240304_095933_Chrome.jpg

    Wenn ich die Funktion weg lasse klappt alles, schmeißt eben Fehler, wenn die DPs nicht vorhanden sind.

    Zeigt eure Lovelace-Visualisierung klick
    (Auch ideal um sich Anregungen zu holen)

    Meine Tabellen fĂŒr eure Visualisierung klick

    paul53P 1 Antwort Letzte Antwort
    0
    • MartinPM Abwesend
      MartinPM Abwesend
      MartinP
      schrieb am zuletzt editiert von MartinP
      #2

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

      existsObject();

      existsState();

      Intel(R) Celeron(R) CPU N3000 @1.04GHz 8G RAM 480G SSD * Virtualization : unprivileged lxc container on Proxmox * 6 GByte RAM fĂŒr den iobroker Container * Remote-Access ĂŒber Wireguard meiner Fritzbox

      1 Antwort Letzte Antwort
      0
      • David G.D David G.

        Hallo,

        Irgendwie scheitere ich an einer Funktion die ich mir aus einem anderem Skript kopiert habe.
        Damals hat mjtodas @paul53 gezeigt.

        Ich möchte prĂŒfen ob ein State existiert und dann eine Variable mit dem Wert beschreiben.

        Hier die Funktion (am Smartphone kann man da leider keinen Text markieren um es als Code zu posten):

        Screenshot_20240304_095250_Chrome.jpg

        Hier ist es im Script eingebaut.
        Screenshot_20240304_094425_Chrome.jpg

        Die Variable HDD2 Word immer auf -1 gesetzt
        Screenshot_20240304_095933_Chrome.jpg

        Wenn ich die Funktion weg lasse klappt alles, schmeißt eben Fehler, wenn die DPs nicht vorhanden sind.

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #3

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

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

        MartinPM David G.D 3 Antworten Letzte Antwort
        0
        • paul53P paul53

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

          MartinPM Abwesend
          MartinPM Abwesend
          MartinP
          schrieb am zuletzt editiert von
          #4

          @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)

          Intel(R) Celeron(R) CPU N3000 @1.04GHz 8G RAM 480G SSD * Virtualization : unprivileged lxc container on Proxmox * 6 GByte RAM fĂŒr den iobroker Container * Remote-Access ĂŒber Wireguard meiner Fritzbox

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

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

            David G.D Online
            David G.D Online
            David G.
            schrieb am zuletzt editiert von David G.
            #5

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

            Zeigt eure Lovelace-Visualisierung klick
            (Auch ideal um sich Anregungen zu holen)

            Meine Tabellen fĂŒr eure Visualisierung klick

            paul53P 1 Antwort Letzte Antwort
            0
            • paul53P paul53

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

              MartinPM Abwesend
              MartinPM Abwesend
              MartinP
              schrieb am zuletzt editiert von
              #6

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

              Intel(R) Celeron(R) CPU N3000 @1.04GHz 8G RAM 480G SSD * Virtualization : unprivileged lxc container on Proxmox * 6 GByte RAM fĂŒr den iobroker Container * Remote-Access ĂŒber Wireguard meiner Fritzbox

              1 Antwort Letzte Antwort
              0
              • David G.D 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.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

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

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                MartinPM 1 Antwort Letzte Antwort
                0
                • paul53P paul53

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

                  MartinPM Abwesend
                  MartinPM Abwesend
                  MartinP
                  schrieb am zuletzt editiert von
                  #8

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

                  Intel(R) Celeron(R) CPU N3000 @1.04GHz 8G RAM 480G SSD * Virtualization : unprivileged lxc container on Proxmox * 6 GByte RAM fĂŒr den iobroker Container * Remote-Access ĂŒber Wireguard meiner Fritzbox

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • MartinPM MartinP

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

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

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

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                    David G.D 2 Antworten Letzte Antwort
                    0
                    • paul53P paul53

                      @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.D Online
                      David G.D Online
                      David G.
                      schrieb am zuletzt editiert von David G.
                      #10

                      @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?

                      Zeigt eure Lovelace-Visualisierung klick
                      (Auch ideal um sich Anregungen zu holen)

                      Meine Tabellen fĂŒr eure Visualisierung klick

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • David G.D 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?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #11

                        @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?

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                        David G.D 1 Antwort Letzte Antwort
                        0
                        • paul53P 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.D Online
                          David G.D Online
                          David G.
                          schrieb am zuletzt editiert von
                          #12

                          @paul53

                          Bisher habe ich immer auf Null geprĂŒft.

                          Screenshot_20240304_140400_Chrome.jpg

                          Dann kann man es fĂŒr alles verwenden.

                          Zeigt eure Lovelace-Visualisierung klick
                          (Auch ideal um sich Anregungen zu holen)

                          Meine Tabellen fĂŒr eure Visualisierung klick

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • David G.D David G.

                            @paul53

                            Bisher habe ich immer auf Null geprĂŒft.

                            Screenshot_20240304_140400_Chrome.jpg

                            Dann kann man es fĂŒr alles verwenden.

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #13

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

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                            1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @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.D Online
                              David G.D Online
                              David G.
                              schrieb am zuletzt editiert von
                              #14

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

                              Zeigt eure Lovelace-Visualisierung klick
                              (Auch ideal um sich Anregungen zu holen)

                              Meine Tabellen fĂŒr eure Visualisierung klick

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • David G.D David G.

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

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #15

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

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                                1 Antwort Letzte Antwort
                                0

                                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                Hast du es satt, bei jedem Besuch durch die gleichen BeitrĂ€ge zu scrollen? Wenn du dich fĂŒr ein Konto anmeldest, kommst du immer genau dorthin zurĂŒck, wo du zuvor warst, und kannst dich ĂŒber neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und BeitrĂ€ge positiv bewerten, um anderen Community-Mitgliedern deine WertschĂ€tzung zu zeigen.

                                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                Registrieren Anmelden
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                298

                                Online

                                33.0k

                                Benutzer

                                83.4k

                                Themen

                                1.3m

                                BeitrÀge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2026
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe