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. English
  3. ioBroker general
  4. How to replace null with 0 using alias-manager

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

How to replace null with 0 using alias-manager

Geplant Angeheftet Gesperrt Verschoben ioBroker general
25 Beiträge 9 Kommentatoren 3.6k Aufrufe 7 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.
  • Tomasz NowakT Tomasz Nowak

    Hi,
    I have an object that returns a value (number) on button press but then it shows null.
    I need to convert that null tu value 0.
    I've tried the alias-manager adapter, but I don't know how to write a proper rule for that.
    This below doesn't seem to work:

    a9377ab3-3023-4f4f-874d-604d0ac7586d-image.png

    Any help appreciated!

    AlCalzoneA Offline
    AlCalzoneA Offline
    AlCalzone
    Developer
    schrieb am zuletzt editiert von
    #6

    @tomasz-nowak The common.type seems wrong - the original state is numeric. Maybe that confuses the alias function.

    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

    Tomasz NowakT 1 Antwort Letzte Antwort
    0
    • AlCalzoneA AlCalzone

      @tomasz-nowak The common.type seems wrong - the original state is numeric. Maybe that confuses the alias function.

      Tomasz NowakT Offline
      Tomasz NowakT Offline
      Tomasz Nowak
      schrieb am zuletzt editiert von
      #7

      @alcalzone I've changed common.type to number - no change.
      @Homoran Tried also == and no change.

      So I have this object: SceneId:

      a90ffa87-ea9e-4a8a-9b28-7497c5fbe57c-image.png

      When I press a mono-switch connected that dimmer I see value "26" for a blink of an eye, than there's noting in that field (I believe its "null"). This null somehow crashes mqtt-broker, so I wanted to change "null" to "0".

      But in an alias object:

      4539395f-acb2-4167-8ccf-0541f12e5f93-image.png

      Its exactly the same - 26 shows for a blink of the eye and then nothing. Both with val === null?0:val and val == null?0:val.
      This alias object also crashes mqtt-client adapter with uncaught null exception.

      This is full config of my alias. I'm not sure if I understand all correctly.

      78aeb06f-e900-4761-a932-6d948d9ce1fa-image.png

      apollon77A 1 Antwort Letzte Antwort
      0
      • Tomasz NowakT Tomasz Nowak

        @alcalzone I've changed common.type to number - no change.
        @Homoran Tried also == and no change.

        So I have this object: SceneId:

        a90ffa87-ea9e-4a8a-9b28-7497c5fbe57c-image.png

        When I press a mono-switch connected that dimmer I see value "26" for a blink of an eye, than there's noting in that field (I believe its "null"). This null somehow crashes mqtt-broker, so I wanted to change "null" to "0".

        But in an alias object:

        4539395f-acb2-4167-8ccf-0541f12e5f93-image.png

        Its exactly the same - 26 shows for a blink of the eye and then nothing. Both with val === null?0:val and val == null?0:val.
        This alias object also crashes mqtt-client adapter with uncaught null exception.

        This is full config of my alias. I'm not sure if I understand all correctly.

        78aeb06f-e900-4761-a932-6d948d9ce1fa-image.png

        apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von
        #8

        @tomasz-nowak Crashes? Logs please :-)

        Also I would like to see the Core JSON of the created alias object because that matters (not a UI) ;-)

        Go into Admin please, Objects Tab, go to that state and enable expert mode, klick on pencil on right side, in dialog "raw" and copy the json please here

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        Tomasz NowakT 1 Antwort Letzte Antwort
        0
        • apollon77A apollon77

          @tomasz-nowak Crashes? Logs please :-)

          Also I would like to see the Core JSON of the created alias object because that matters (not a UI) ;-)

          Go into Admin please, Objects Tab, go to that state and enable expert mode, klick on pencil on right side, in dialog "raw" and copy the json please here

          Tomasz NowakT Offline
          Tomasz NowakT Offline
          Tomasz Nowak
          schrieb am zuletzt editiert von
          #9

          @apollon77

          This is JSON for an alias object:

          {
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1619609676629,
            "common": {
              "name": "Scene ID",
              "role": "level",
              "type": "number",
              "read": true,
              "write": true,
              "alias": {
                "id": "zwave2.0.Node_014.Scene_Activation.sceneId",
                "read": "val == null?0:val"
              }
            },
            "native": {},
            "acl": {
              "object": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1636
            },
            "_id": "alias.0.Fibaro_Dimmer_1_SceneID.sceneId",
            "type": "state"
          }
          

          and this is for the source object:

          {
            "type": "state",
            "common": {
              "role": "level",
              "read": true,
              "write": true,
              "name": "Scene ID",
              "type": "number",
              "min": 1,
              "max": 255
            },
            "native": {
              "nodeId": 14,
              "valueId": {
                "commandClass": 43,
                "endpoint": 0,
                "property": "sceneId"
              }
            },
            "from": "system.adapter.zwave2.0",
            "user": "system.user.admin",
            "ts": 1619558168447,
            "_id": "zwave2.0.Node_014.Scene_Activation.sceneId",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            }
          }
          

          Thanks

          Tomasz NowakT 1 Antwort Letzte Antwort
          0
          • Tomasz NowakT Tomasz Nowak

            @apollon77

            This is JSON for an alias object:

            {
              "from": "system.adapter.admin.0",
              "user": "system.user.admin",
              "ts": 1619609676629,
              "common": {
                "name": "Scene ID",
                "role": "level",
                "type": "number",
                "read": true,
                "write": true,
                "alias": {
                  "id": "zwave2.0.Node_014.Scene_Activation.sceneId",
                  "read": "val == null?0:val"
                }
              },
              "native": {},
              "acl": {
                "object": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator",
                "state": 1636
              },
              "_id": "alias.0.Fibaro_Dimmer_1_SceneID.sceneId",
              "type": "state"
            }
            

            and this is for the source object:

            {
              "type": "state",
              "common": {
                "role": "level",
                "read": true,
                "write": true,
                "name": "Scene ID",
                "type": "number",
                "min": 1,
                "max": 255
              },
              "native": {
                "nodeId": 14,
                "valueId": {
                  "commandClass": 43,
                  "endpoint": 0,
                  "property": "sceneId"
                }
              },
              "from": "system.adapter.zwave2.0",
              "user": "system.user.admin",
              "ts": 1619558168447,
              "_id": "zwave2.0.Node_014.Scene_Activation.sceneId",
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            

            Thanks

            Tomasz NowakT Offline
            Tomasz NowakT Offline
            Tomasz Nowak
            schrieb am zuletzt editiert von
            #10

            Mqtt-client crash log is here (I've created an issue out of this):
            https://github.com/Pmant/ioBroker.mqtt-client/issues/45

            apollon77A 1 Antwort Letzte Antwort
            0
            • Tomasz NowakT Tomasz Nowak

              Mqtt-client crash log is here (I've created an issue out of this):
              https://github.com/Pmant/ioBroker.mqtt-client/issues/45

              apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #11

              @tomasz-nowak js-controller Version??

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              Tomasz NowakT 1 Antwort Letzte Antwort
              0
              • apollon77A apollon77

                @tomasz-nowak js-controller Version??

                Tomasz NowakT Offline
                Tomasz NowakT Offline
                Tomasz Nowak
                schrieb am zuletzt editiert von
                #12

                @apollon77

                • JS-Controller version: 3.2.16
                • Node version: v12.22.1
                • Operating system: docker image @ Raspberry OS
                • all adapters in current released versions
                1 Antwort Letzte Antwort
                0
                • apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #13

                  Ok, jetuzt mal ganz genau: was ist der exakte wert?

                  • In allen screenshots ist gar kein Wert zu sehen - auch nicht "null"
                  • Der mqtt-client Adapter crasht weil der state an sich "null" ist - also NICHT "state wert ist null" sondern es gibt gar keinen state!! Nix
                  • Aliasse greifen dann nicht weil Sie nur Werte mappen - bedeutet also das der resulting Alias auch "keinen Wert hat"

                  Am besten dazu jetzt mal

                  iobroker state get zwave2.0.Node_014.Scene_Activation.sceneId

                  machen und Ausgabe posten.

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  Tomasz NowakT 1 Antwort Letzte Antwort
                  0
                  • apollon77A apollon77

                    Ok, jetuzt mal ganz genau: was ist der exakte wert?

                    • In allen screenshots ist gar kein Wert zu sehen - auch nicht "null"
                    • Der mqtt-client Adapter crasht weil der state an sich "null" ist - also NICHT "state wert ist null" sondern es gibt gar keinen state!! Nix
                    • Aliasse greifen dann nicht weil Sie nur Werte mappen - bedeutet also das der resulting Alias auch "keinen Wert hat"

                    Am besten dazu jetzt mal

                    iobroker state get zwave2.0.Node_014.Scene_Activation.sceneId

                    machen und Ausgabe posten.

                    Tomasz NowakT Offline
                    Tomasz NowakT Offline
                    Tomasz Nowak
                    schrieb am zuletzt editiert von
                    #14

                    @apollon77 said in How to replace null with 0 using alias-manager:

                    Ok, jetuzt mal ganz genau: was ist der exakte wert?

                    • In allen screenshots ist gar kein Wert zu sehen - auch nicht "null"
                    • Der mqtt-client Adapter crasht weil der state an sich "null" ist - also NICHT "state wert ist null" sondern es gibt gar keinen state!! Nix
                    • Aliasse greifen dann nicht weil Sie nur Werte mappen - bedeutet also das der resulting Alias auch "keinen Wert hat"

                    Am besten dazu jetzt mal

                    iobroker state get zwave2.0.Node_014.Scene_Activation.sceneId

                    machen und Ausgabe posten.

                    Yes, no value is seen on the screenshots because there no value at all for most of the time. It gets "26" or "24" depending on number of clicks, but only for a second. Then it returns to empty / null.
                    Now, because mqtt-client can't handle this correctly, I've been trying to alias this object somehow to push it to MQTT anyway. So, I can not rewrite empty object with any custom value (such as "0" for instance)?

                    Tomasz NowakT 1 Antwort Letzte Antwort
                    0
                    • Tomasz NowakT Tomasz Nowak

                      @apollon77 said in How to replace null with 0 using alias-manager:

                      Ok, jetuzt mal ganz genau: was ist der exakte wert?

                      • In allen screenshots ist gar kein Wert zu sehen - auch nicht "null"
                      • Der mqtt-client Adapter crasht weil der state an sich "null" ist - also NICHT "state wert ist null" sondern es gibt gar keinen state!! Nix
                      • Aliasse greifen dann nicht weil Sie nur Werte mappen - bedeutet also das der resulting Alias auch "keinen Wert hat"

                      Am besten dazu jetzt mal

                      iobroker state get zwave2.0.Node_014.Scene_Activation.sceneId

                      machen und Ausgabe posten.

                      Yes, no value is seen on the screenshots because there no value at all for most of the time. It gets "26" or "24" depending on number of clicks, but only for a second. Then it returns to empty / null.
                      Now, because mqtt-client can't handle this correctly, I've been trying to alias this object somehow to push it to MQTT anyway. So, I can not rewrite empty object with any custom value (such as "0" for instance)?

                      Tomasz NowakT Offline
                      Tomasz NowakT Offline
                      Tomasz Nowak
                      schrieb am zuletzt editiert von Tomasz Nowak
                      #15

                      Thats strange:

                      8ab9a02c-3dbe-4017-9d17-a043a51690fb-image.png

                      And I still see this object in ioBroker admin panel

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • apollon77A Offline
                        apollon77A Offline
                        apollon77
                        schrieb am zuletzt editiert von apollon77
                        #16

                        Ok nicht englishc.

                        Nicht Dinge vermischen!!

                        Es gibt Objekte - das siehst Du im Admin. Und Objekte haben (vielleicht) einen Wert. Ein Wert kann da sein und einen value haben und der Wert kann auch NICHT da sein (weil nie gesetzt wurde, weil expired oder weil gelöscht.

                        Also: Jetzt wieder zwave2 Frage ... warum existiert der state nicht?

                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        Tomasz NowakT 1 Antwort Letzte Antwort
                        0
                        • apollon77A apollon77

                          Ok nicht englishc.

                          Nicht Dinge vermischen!!

                          Es gibt Objekte - das siehst Du im Admin. Und Objekte haben (vielleicht) einen Wert. Ein Wert kann da sein und einen value haben und der Wert kann auch NICHT da sein (weil nie gesetzt wurde, weil expired oder weil gelöscht.

                          Also: Jetzt wieder zwave2 Frage ... warum existiert der state nicht?

                          Tomasz NowakT Offline
                          Tomasz NowakT Offline
                          Tomasz Nowak
                          schrieb am zuletzt editiert von
                          #17

                          @apollon77

                          That issue I've also reported here :)
                          https://github.com/AlCalzone/ioBroker.zwave2/issues/597

                          apollon77A 1 Antwort Letzte Antwort
                          0
                          • Tomasz NowakT Tomasz Nowak

                            @apollon77

                            That issue I've also reported here :)
                            https://github.com/AlCalzone/ioBroker.zwave2/issues/597

                            apollon77A Offline
                            apollon77A Offline
                            apollon77
                            schrieb am zuletzt editiert von
                            #18

                            @tomasz-nowak ;üsste man umformulieren!

                            Wie gesagt der crash ist ein Fehler in mqtt-client! Die Frage an zwave2 ist warum der state gelöscht wird

                            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                            1 Antwort Letzte Antwort
                            0
                            • Tomasz NowakT Tomasz Nowak

                              Thats strange:

                              8ab9a02c-3dbe-4017-9d17-a043a51690fb-image.png

                              And I still see this object in ioBroker admin panel

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

                              @tomasz-nowak
                              If the state expires after a second, use a script:

                              on({id: 'zwave2.0.Node_014.Scene_Activation.sceneId'}, function(dp) {
                                  setState('0_userdata.0.Fibaro_Dimmer_1_SceneID.sceneId', dp.state.val, true);
                                  setTimeout(function() {
                                      setState('0_userdata.0.Fibaro_Dimmer_1_SceneID.sceneId', 0, true);
                                  }, 1000);
                              });
                              

                              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

                              Tomasz NowakT 1 Antwort Letzte Antwort
                              1
                              • paul53P paul53

                                @tomasz-nowak
                                If the state expires after a second, use a script:

                                on({id: 'zwave2.0.Node_014.Scene_Activation.sceneId'}, function(dp) {
                                    setState('0_userdata.0.Fibaro_Dimmer_1_SceneID.sceneId', dp.state.val, true);
                                    setTimeout(function() {
                                        setState('0_userdata.0.Fibaro_Dimmer_1_SceneID.sceneId', 0, true);
                                    }, 1000);
                                });
                                
                                Tomasz NowakT Offline
                                Tomasz NowakT Offline
                                Tomasz Nowak
                                schrieb am zuletzt editiert von Tomasz Nowak
                                #20

                                I've never used Javascript in ioBroker, but I have installed Javascript adapter now, created that channel and object under 0_userdata.0 and......
                                WOW, it works as it should !!!!!!!!!!!!
                                I get 26 and 24 values on 1- and 2-click and then the objects turns to 0. And it works with mqtt-client putting it to the broker just fine:

                                9be4e581-c53e-4147-a0ce-0a7deb513310-image.png

                                Thank you @paul53 for this quick solution! 🙌

                                I hope mqtt-client (and probably zwave2) adapters will be address with this issue in the future, but for now I may switch my lights again!

                                AlCalzoneA 1 Antwort Letzte Antwort
                                0
                                • Tomasz NowakT Tomasz Nowak

                                  I've never used Javascript in ioBroker, but I have installed Javascript adapter now, created that channel and object under 0_userdata.0 and......
                                  WOW, it works as it should !!!!!!!!!!!!
                                  I get 26 and 24 values on 1- and 2-click and then the objects turns to 0. And it works with mqtt-client putting it to the broker just fine:

                                  9be4e581-c53e-4147-a0ce-0a7deb513310-image.png

                                  Thank you @paul53 for this quick solution! 🙌

                                  I hope mqtt-client (and probably zwave2) adapters will be address with this issue in the future, but for now I may switch my lights again!

                                  AlCalzoneA Offline
                                  AlCalzoneA Offline
                                  AlCalzone
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #21

                                  @tomasz-nowak sagte in How to replace null with 0 using alias-manager:

                                  and probably zwave2

                                  I can only repeat myself: This is not a problem in zwave2. It just uses the expire feature for states which mqtt-client doesn't handle correctly.

                                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                  Tomasz NowakT paul53P 2 Antworten Letzte Antwort
                                  1
                                  • AlCalzoneA AlCalzone

                                    @tomasz-nowak sagte in How to replace null with 0 using alias-manager:

                                    and probably zwave2

                                    I can only repeat myself: This is not a problem in zwave2. It just uses the expire feature for states which mqtt-client doesn't handle correctly.

                                    Tomasz NowakT Offline
                                    Tomasz NowakT Offline
                                    Tomasz Nowak
                                    schrieb am zuletzt editiert von Tomasz Nowak
                                    #22

                                    Yes, that's true.

                                    And for the record, this issue (with Fibaro sceneId) is totally solved with two PR's to mqtt-client adapter proposed by @AlCalzone (#46 & #47) and merged by @apollon77

                                    You guys are amazing!

                                    1 Antwort Letzte Antwort
                                    1
                                    • AlCalzoneA AlCalzone

                                      @tomasz-nowak sagte in How to replace null with 0 using alias-manager:

                                      and probably zwave2

                                      I can only repeat myself: This is not a problem in zwave2. It just uses the expire feature for states which mqtt-client doesn't handle correctly.

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

                                      @alcalzone sagte: It just uses the expire feature for states

                                      Wozu ist ein Datenpunkt ohne Zustand gut? Bringt es irgend einen Vorteil, state.expire zu nutzen?

                                      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

                                      AlCalzoneA apollon77A 2 Antworten Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @alcalzone sagte: It just uses the expire feature for states

                                        Wozu ist ein Datenpunkt ohne Zustand gut? Bringt es irgend einen Vorteil, state.expire zu nutzen?

                                        AlCalzoneA Offline
                                        AlCalzoneA Offline
                                        AlCalzone
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #24

                                        @paul53 Im vorliegenden Fall handelt es sich um Events, die eigentlich nur exakt in dem Moment, in dem sie empfangen werden, eine Bedeutung haben (z.B. kurzer Knopfdruck). Damit man trotzdem sowohl darauf reagieren kann, als auch im Admin etwas sieht, habe ich mich entschieden, diese für jeweils 1 Sekunde im State zu speichern.

                                        Expire macht diese Funktion recht praktisch, weil sich ioBroker bzw. die Datenbank dann ums Timeout kümmert und man nicht selbst jeden State tracken muss.
                                        Das Zurücksetzen funktioniert so auch dann noch, wenn innerhalb der Sekunde der Adapter beendet wird.

                                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                        1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @alcalzone sagte: It just uses the expire feature for states

                                          Wozu ist ein Datenpunkt ohne Zustand gut? Bringt es irgend einen Vorteil, state.expire zu nutzen?

                                          apollon77A Offline
                                          apollon77A Offline
                                          apollon77
                                          schrieb am zuletzt editiert von
                                          #25

                                          @paul53 Naja Formal ist es ein Unterschied (auf einer reinen Datenebene) ob ein State einen Wert hat - und ja formal ist auch "null" ein Wert der eine spezifische Bedeutung haben kann. Damit braucht es eine Abgrenzung zu "es ist kein Wert da" und das ist genau der Fall hier.

                                          Auch das zurücksetzen von Werten (einige Adapter machen bei "Button" States die an sich immer nur auf true getriggert werden extra timeouts damit der Button wieder auf false zurückgesetzt wird (weil User das gern in Visus so haben wollen ... no offense ;-) ) Wenn aber jetzt der Adapter beendet wird oder das Skript nicht mehr läuft bleibt das halt auf true stehen.

                                          Mit expires kann du den Wert automatisiert "clearen" weil das in der Verantwortung der Datenbank liegt (File-DB bzw Redis sorgt dafür)

                                          Mit expires kann man auch durchaus Überwachungen bauen. Zum Beispiel funktionieren die wie system.adapter.alive so, dass diese alle 15s neu gesetzt werden mit einem expire von 30s oder so. So lange also der prozess läuft expired das nie weil es immer neu gesetzt wird.
                                          Wenn jetzt der Adater komisch hängenbleibt, sodass er nicht crasht aber auch nicht regelmässig alive setzen kann wird der state expiren ... das registriert der Controller und reragiert durch kill des prozesses und neustart ...

                                          Also es gibt durchaus sinnvolle Anwendungsformen.

                                          Die die @AlCalzone beschrieben hat könnte man für alle buttons nutzen (wenn es mit alles visus und der User erwartung kompatibel wäre ;-) )

                                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                          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

                                          671

                                          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