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. ioBroker Allgemein
  4. setState mit eigenem Kennzeichen versehen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

setState mit eigenem Kennzeichen versehen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
setstate kennzeichen id
20 Beiträge 3 Kommentatoren 671 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.
  • hanssH hanss

    Hallo
    wie kann man dem Wert eines Objektes mitgeben (eigene ID) wer den Wert geschrieben hat?

    Hintergrund ist ein allgemeiner Alarm-Auslöser, der von mehreren Scripten beschrieben werden kann.
    Wenn der Alarmzustand eines Scriptes beendet ist, dann soll der Alarm nur dann gelöscht werden können,
    wenn der letzte Alarmauslöser auch von diesem Script gesetzt wurde.

    Oder gibt es hierzu eine elegantere Methode, z.B. dass der letzte Alarm angezeigt wird, bis
    alle Auslöser ihren Alarm auch wieder gelöscht haben, das wäre ideal.
    Wobei der Alarm verschiedene Typen haben soll, z.B. Alarm 4 von ID 333, Alarm 1 von ID 555 usw.

    setState("javascript.0.zigbee.0.AlarmLicht", {val: 3, ID: xyz})

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

    @hanss sagte:

    setState("javascript.0.zigbee.0.AlarmLicht", {val: 3, ID: xyz})

    Datenpunkte vom Typ "Objekt" können es aufnehmen. Aber nicht den Bezeichner val im Objekt verwenden, denn val hat in Datenpunkten eine besondere Bedeutung.

    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

    hanssH 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @hanss sagte:

      setState("javascript.0.zigbee.0.AlarmLicht", {val: 3, ID: xyz})

      Datenpunkte vom Typ "Objekt" können es aufnehmen. Aber nicht den Bezeichner val im Objekt verwenden, denn val hat in Datenpunkten eine besondere Bedeutung.

      hanssH Offline
      hanssH Offline
      hanss
      schrieb am zuletzt editiert von
      #3

      @paul53
      Ich kriegs einfach nicht hin.
      Wann verwendet man denn getState und getObject?

      createState("javascript.0.zigbee.0.Test", {    
                  name: "objekt",
                  type: 'object',
          });
      
      var Alarm = {
         Wert: 0,
         Last: ''
      };
      
      Alarm.Wert = 5
      Alarm.Last = "Heizung"
      setState("javascript.0.zigbee.0.Test", Alarm)
      
      Alarm = getObject("javascript.0.zigbee.0.Test")
      var x = Alarm.Wert
      var y = Alarm.Last
      
      log("Lesen- Wert: " + x + " Last: "+y)
      
      paul53P 2 Antworten Letzte Antwort
      0
      • hanssH hanss

        @paul53
        Ich kriegs einfach nicht hin.
        Wann verwendet man denn getState und getObject?

        createState("javascript.0.zigbee.0.Test", {    
                    name: "objekt",
                    type: 'object',
            });
        
        var Alarm = {
           Wert: 0,
           Last: ''
        };
        
        Alarm.Wert = 5
        Alarm.Last = "Heizung"
        setState("javascript.0.zigbee.0.Test", Alarm)
        
        Alarm = getObject("javascript.0.zigbee.0.Test")
        var x = Alarm.Wert
        var y = Alarm.Last
        
        log("Lesen- Wert: " + x + " Last: "+y)
        
        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #4

        @hanss
        createState() und setState() arbeiten asynchron, was bedeutet, dass man nicht sofort den Wert mit getState() einlesen kann. Man erhält den "alten" Wert.

        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
        • hanssH hanss

          @paul53
          Ich kriegs einfach nicht hin.
          Wann verwendet man denn getState und getObject?

          createState("javascript.0.zigbee.0.Test", {    
                      name: "objekt",
                      type: 'object',
              });
          
          var Alarm = {
             Wert: 0,
             Last: ''
          };
          
          Alarm.Wert = 5
          Alarm.Last = "Heizung"
          setState("javascript.0.zigbee.0.Test", Alarm)
          
          Alarm = getObject("javascript.0.zigbee.0.Test")
          var x = Alarm.Wert
          var y = Alarm.Last
          
          log("Lesen- Wert: " + x + " Last: "+y)
          
          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #5

          @hanss sagte:

          Alarm = getObject("javascript.0.zigbee.0.Test")

          ist falsch. Richtig:

          Alarm = getState("javascript.0.zigbee.0.Test").val;
          

          Besser:

          on("javascript.0.zigbee.0.Test", function(dp) {
             Alarm = dp.state.val;
             log("Lesen- Wert: " + Alarm.Wert + " Last: " + Alarm.Last);
          });
          

          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

          hanssH 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @hanss sagte:

            Alarm = getObject("javascript.0.zigbee.0.Test")

            ist falsch. Richtig:

            Alarm = getState("javascript.0.zigbee.0.Test").val;
            

            Besser:

            on("javascript.0.zigbee.0.Test", function(dp) {
               Alarm = dp.state.val;
               log("Lesen- Wert: " + Alarm.Wert + " Last: " + Alarm.Last);
            });
            
            hanssH Offline
            hanssH Offline
            hanss
            schrieb am zuletzt editiert von
            #6

            @paul53 sagte in setState mit eigenem Kennzeichen versehen:

            @hanss sagte:

            Alarm = getObject("javascript.0.zigbee.0.Test")

            ist falsch. Richtig:

            Alarm = getState("javascript.0.zigbee.0.Test").val;
            

            Und wie erhalte ich dann:
            var x = Alarm.Wert // Fehlermeldung

            paul53P 1 Antwort Letzte Antwort
            0
            • hanssH hanss

              @paul53 sagte in setState mit eigenem Kennzeichen versehen:

              @hanss sagte:

              Alarm = getObject("javascript.0.zigbee.0.Test")

              ist falsch. Richtig:

              Alarm = getState("javascript.0.zigbee.0.Test").val;
              

              Und wie erhalte ich dann:
              var x = Alarm.Wert // Fehlermeldung

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

              @hanss sagte:

              Und wie erhalte ich dann:
              var x = Alarm.Wert // Fehlermeldung

              Genau so. Bringt der Compiler eine Fehlermeldung, Javascript zur Laufzeit oder der Editor ? Eine rote Wellenlinie im Editor kannst Du ignorieren.

              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

              hanssH 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @hanss sagte:

                Und wie erhalte ich dann:
                var x = Alarm.Wert // Fehlermeldung

                Genau so. Bringt der Compiler eine Fehlermeldung, Javascript zur Laufzeit oder der Editor ? Eine rote Wellenlinie im Editor kannst Du ignorieren.

                hanssH Offline
                hanssH Offline
                hanss
                schrieb am zuletzt editiert von hanss
                #8

                @paul53
                zur Laufzeit: TypeError: Cannot read property 'Wert' of null

                Es ist auch im Objekt nichts von Alarm oder Wert oder Last eingetragen:

                {
                  "common": {
                    "name": "objekt",
                    "type": "object",
                    "unit": "",
                    "role": "state"
                  },
                  "native": {},
                  "type": "state",
                  "from": "system.adapter.javascript.0",
                  "user": "system.user.admin",
                  "ts": 1584874455228,
                  "_id": "javascript.0.zigbee.0.Test",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  }
                }
                
                paul53P 2 Antworten Letzte Antwort
                0
                • hanssH hanss

                  @paul53
                  zur Laufzeit: TypeError: Cannot read property 'Wert' of null

                  Es ist auch im Objekt nichts von Alarm oder Wert oder Last eingetragen:

                  {
                    "common": {
                      "name": "objekt",
                      "type": "object",
                      "unit": "",
                      "role": "state"
                    },
                    "native": {},
                    "type": "state",
                    "from": "system.adapter.javascript.0",
                    "user": "system.user.admin",
                    "ts": 1584874455228,
                    "_id": "javascript.0.zigbee.0.Test",
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    }
                  }
                  
                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #9

                  @hanss sagte:

                  Cannot read property 'Wert' of null

                  Nach einem 2. Script-Start sollte der Fehler nicht mehr kommen, da dann setState() den Wert geschrieben hat.

                  Script_temp.JPG

                  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

                  hanssH 1 Antwort Letzte Antwort
                  0
                  • hanssH hanss

                    @paul53
                    zur Laufzeit: TypeError: Cannot read property 'Wert' of null

                    Es ist auch im Objekt nichts von Alarm oder Wert oder Last eingetragen:

                    {
                      "common": {
                        "name": "objekt",
                        "type": "object",
                        "unit": "",
                        "role": "state"
                      },
                      "native": {},
                      "type": "state",
                      "from": "system.adapter.javascript.0",
                      "user": "system.user.admin",
                      "ts": 1584874455228,
                      "_id": "javascript.0.zigbee.0.Test",
                      "acl": {
                        "object": 1636,
                        "state": 1636,
                        "owner": "system.user.admin",
                        "ownerGroup": "system.group.administrator"
                      }
                    }
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #10

                    @hanss sagte:

                    Es ist auch im Objekt nichts von Alarm oder Wert oder Last eingetragen:

                    Das darf auch nicht im statischen Objekt erscheinen, sondern im Zustand (state) des Datenpunktes.

                    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

                      @hanss sagte:

                      Cannot read property 'Wert' of null

                      Nach einem 2. Script-Start sollte der Fehler nicht mehr kommen, da dann setState() den Wert geschrieben hat.

                      Script_temp.JPG

                      hanssH Offline
                      hanssH Offline
                      hanss
                      schrieb am zuletzt editiert von
                      #11

                      @paul53

                      Egal wie oft ich dieses Script starte, der Fehler erscheint immer:

                      createState("javascript.0.zigbee.0.Test", {    
                                  name: "objekt",
                                  type: 'object',
                          });
                      
                      var Alarm = {
                         Wert: 0,
                         Last: ''
                      };
                      
                      Alarm.Wert = 4
                      Alarm.Last = "Heizung"
                      setState("javascript.0.zigbee.0.Test", Alarm)
                      
                      Alarm = getState("javascript.0.zigbee.0.Test").val;
                      
                      var x = Alarm.Wert
                      var y = Alarm.Last
                      
                      log("Lesen-Wert: " + x + " Last: "+y)
                      
                      paul53P 2 Antworten Letzte Antwort
                      0
                      • hanssH hanss

                        @paul53

                        Egal wie oft ich dieses Script starte, der Fehler erscheint immer:

                        createState("javascript.0.zigbee.0.Test", {    
                                    name: "objekt",
                                    type: 'object',
                            });
                        
                        var Alarm = {
                           Wert: 0,
                           Last: ''
                        };
                        
                        Alarm.Wert = 4
                        Alarm.Last = "Heizung"
                        setState("javascript.0.zigbee.0.Test", Alarm)
                        
                        Alarm = getState("javascript.0.zigbee.0.Test").val;
                        
                        var x = Alarm.Wert
                        var y = Alarm.Last
                        
                        log("Lesen-Wert: " + x + " Last: "+y)
                        
                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #12

                        @hanss sagte:

                        Egal wie oft ich dieses Script starte, der Fehler erscheint immer:

                        Das Script läuft unter der Instanz javascript.0 ?

                        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

                        hanssH 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @hanss sagte:

                          Egal wie oft ich dieses Script starte, der Fehler erscheint immer:

                          Das Script läuft unter der Instanz javascript.0 ?

                          hanssH Offline
                          hanssH Offline
                          hanss
                          schrieb am zuletzt editiert von
                          #13

                          @paul53
                          Jawohl

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • hanssH hanss

                            @paul53
                            Jawohl

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

                            @hanss
                            Welche Javascript-Version ?

                            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

                            hanssH 1 Antwort Letzte Antwort
                            0
                            • OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb am zuletzt editiert von OliverIO
                              #15

                              Wenn du der einzige bist, der den State beschreibt, dann schreib doch einfach Ein JSON Objekt mit zwei Attributen rein (Value und Source)
                              Dann musst du nicht so viel rum experimentieren

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @hanss
                                Welche Javascript-Version ?

                                hanssH Offline
                                hanssH Offline
                                hanss
                                schrieb am zuletzt editiert von
                                #16

                                @paul53
                                Node.js: v10.19.0 Script Engine 4.4.3

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • hanssH hanss

                                  @paul53
                                  Node.js: v10.19.0 Script Engine 4.4.3

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

                                  @hanss sagte:

                                  Node.js: v10.19.0 Script Engine 4.4.3

                                  Damit muss es funktionieren so wie mit meiner Version 4.4.0.

                                  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

                                  hanssH 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @hanss sagte:

                                    Node.js: v10.19.0 Script Engine 4.4.3

                                    Damit muss es funktionieren so wie mit meiner Version 4.4.0.

                                    hanssH Offline
                                    hanssH Offline
                                    hanss
                                    schrieb am zuletzt editiert von hanss
                                    #18

                                    @paul53
                                    Könntest Du freundlicherweise einmal das Script von oben einmal bei Dir laufen lassen?
                                    (Egal wie oft ich dieses Script starte, der Fehler erscheint immer:)

                                    Jetzt funktionierts, ich weis aber nicht warum, ich habe nur die Kommentare aus dem
                                    Script gelöscht.

                                    Vielen, vielen Dank.

                                    1 Antwort Letzte Antwort
                                    0
                                    • hanssH hanss

                                      @paul53

                                      Egal wie oft ich dieses Script starte, der Fehler erscheint immer:

                                      createState("javascript.0.zigbee.0.Test", {    
                                                  name: "objekt",
                                                  type: 'object',
                                          });
                                      
                                      var Alarm = {
                                         Wert: 0,
                                         Last: ''
                                      };
                                      
                                      Alarm.Wert = 4
                                      Alarm.Last = "Heizung"
                                      setState("javascript.0.zigbee.0.Test", Alarm)
                                      
                                      Alarm = getState("javascript.0.zigbee.0.Test").val;
                                      
                                      var x = Alarm.Wert
                                      var y = Alarm.Last
                                      
                                      log("Lesen-Wert: " + x + " Last: "+y)
                                      
                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #19

                                      @hanss sagte:

                                      setState("javascript.0.zigbee.0.Test", Alarm)

                                      Hat auch bei mir nicht funktioniert.

                                      setState("javascript.0.zigbee.0.Test", Alarm, true);
                                      

                                      funktioniert.

                                      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

                                      hanssH 1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @hanss sagte:

                                        setState("javascript.0.zigbee.0.Test", Alarm)

                                        Hat auch bei mir nicht funktioniert.

                                        setState("javascript.0.zigbee.0.Test", Alarm, true);
                                        

                                        funktioniert.

                                        hanssH Offline
                                        hanssH Offline
                                        hanss
                                        schrieb am zuletzt editiert von
                                        #20

                                        @paul53
                                        Du hast recht, das true macht´s aus.
                                        Mann, da war die MSBasic Syntax ja richtig einfach dagegen.

                                        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
                                        FAQ Cloud / IOT
                                        HowTo: Node.js-Update
                                        HowTo: Backup/Restore
                                        Downloads
                                        BLOG

                                        380

                                        Online

                                        32.6k

                                        Benutzer

                                        82.0k

                                        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