Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    535

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    622

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

If State exists

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 3 Kommentatoren 330 Aufrufe 2 Watching
  • Ä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 Online
      MartinPM Online
      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 (debian 12 on Proxmox 8.4.14)
      Linux pve 6.8.12-16-pve
      6 GByte RAM für den Container
      Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
      Remote-Access über Wireguard der 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: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        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 Online
          MartinPM Online
          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 (debian 12 on Proxmox 8.4.14)
          Linux pve 6.8.12-16-pve
          6 GByte RAM für den Container
          Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
          Remote-Access über Wireguard der 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 Online
              MartinPM Online
              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 (debian 12 on Proxmox 8.4.14)
              Linux pve 6.8.12-16-pve
              6 GByte RAM für den Container
              Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
              Remote-Access über Wireguard der 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: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                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 Online
                  MartinPM Online
                  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 (debian 12 on Proxmox 8.4.14)
                  Linux pve 6.8.12-16-pve
                  6 GByte RAM für den Container
                  Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                  Remote-Access über Wireguard der 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: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    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: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        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: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            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: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                910

                                Online

                                32.6k

                                Benutzer

                                81.9k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                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