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
    823

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

If State exists

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 3 Kommentatoren 331 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.
  • 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 Offline
          David G.D Offline
          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 Offline
                    David G.D Offline
                    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 Offline
                        David G.D Offline
                        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 Offline
                            David G.D Offline
                            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

                              356

                              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