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
    15
    1
    620

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

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 Offline
    hanssH Offline
    hanss
    schrieb am zuletzt editiert von hanss
    #1

    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 1 Antwort Letzte Antwort
    0
    • 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

                                          752

                                          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