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. Error/Bug
  4. Alias Fehler "Cannot read properties of null"

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.2k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Alias Fehler "Cannot read properties of null"

Geplant Angeheftet Gesperrt Verschoben Error/Bug
alias
13 Beiträge 3 Kommentatoren 303 Aufrufe 1 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.
  • M Marty56

    @codierknecht Nein, da hast Du meine Beschreibung nicht ganz verstanden.
    Das Thermometer gibt 80 aus, für alle Werte unter -20

    Ich hätte auch val == 80 ? -20 : val schreiben können.

    Aber das war nicht meine Frage, sondern es ging mir um die Fehlermeldung.

    CodierknechtC Offline
    CodierknechtC Offline
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von Codierknecht
    #4

    @marty56
    OK, ist noch zu früh ...

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
    HmIP|ZigBee|Tasmota|Unifi
    Zabbix Certified Specialist
    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

    M 1 Antwort Letzte Antwort
    0
    • CodierknechtC Codierknecht

      @marty56
      OK, ist noch zu früh ...

      M Offline
      M Offline
      Marty56
      schrieb am zuletzt editiert von
      #5

      @codierknecht Bitte einen Vorschlag, wie der tenäre Ausdruck sein müsste.

      HW:NUC (16 GB Ram)
      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

      M 1 Antwort Letzte Antwort
      0
      • M Marty56

        @codierknecht Bitte einen Vorschlag, wie der tenäre Ausdruck sein müsste.

        M Offline
        M Offline
        Marty56
        schrieb am zuletzt editiert von
        #6

        Ich habe auch schon "(val > 60) ? -20" : val versucht, aber das hat auch nicht geändert.

        HW:NUC (16 GB Ram)
        OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

        CodierknechtC 1 Antwort Letzte Antwort
        0
        • M Marty56

          Ich habe auch schon "(val > 60) ? -20" : val versucht, aber das hat auch nicht geändert.

          CodierknechtC Offline
          CodierknechtC Offline
          Codierknecht
          Developer Most Active
          schrieb am zuletzt editiert von Codierknecht
          #7

          @marty56
          Hab's mal eben für einen Testwert eingerichtet.
          Funktioniert im Prinzip fehlerfrei.

          087da5a3-7923-489e-9c23-a806937f0b7f-image.png

          Bei einem aktuellen Wert im DP von 0.66 wird wie erwartet 1000.66 angezeigt

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          CodierknechtC 1 Antwort Letzte Antwort
          0
          • CodierknechtC Codierknecht

            @marty56
            Hab's mal eben für einen Testwert eingerichtet.
            Funktioniert im Prinzip fehlerfrei.

            087da5a3-7923-489e-9c23-a806937f0b7f-image.png

            Bei einem aktuellen Wert im DP von 0.66 wird wie erwartet 1000.66 angezeigt

            CodierknechtC Offline
            CodierknechtC Offline
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #8

            @codierknecht
            Ist der Original-DP denn numerisch?

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            1 Antwort Letzte Antwort
            0
            • M Marty56

              Hallo,

              Ich habe ein Homematic Thermometer und einen Alias definiert, der den Bug des HM Thermometer, dass bei Temperaturen unter -20 Grad immer 80 Grad angezeigt wird, kompensiert.

              Dazu ist folgender Alias definiert.

              {
                "common": {
                  "name": "Thermometer in Gefrierschrank",
                  "alias": {
                    "id": "hm-rpc.0.LEQ0567580.1.TEMPERATURE",
                    "read": "val > 60 ? -20 : val"
                  },
                  "type": "number",
                  "role": "value.temperature",
                  "min": -40,
                  "max": 80,
                  "unit": "°C",
                  "custom": {
                    "influxdb.0": {
                      "enabled": true,
                      "storageType": "",
                      "aliasId": "",
                      "debounceTime": 0,
                      "blockTime": 0,
                      "changesOnly": true,
                      "changesRelogInterval": 0,
                      "changesMinDelta": 0,
                      "ignoreBelowNumber": "",
                      "disableSkippedValueLogging": false,
                      "enableDebugLogs": false,
                      "debounce": 1000
                    }
                  }
                },
                "native": {},
                "type": "state",
                "from": "system.adapter.javascript.0",
                "user": "system.user.admin",
                "ts": 1667660078432,
                "_id": "alias.0.K2_Thermo_TEMPERATURE",
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                }
              }
              

              Jedesmal, wenn die Bedingung "val > 60 ? -20 : val" ausgeführt wird, bekomme ich Fehler. Das Thermometer funktioniert störungsfrei.

              	2022-11-09 07:06:15.538	error	Invalid read function for undefined: val > 60 ? -20 : val => Cannot read properties of null (reading 'type')
              
              admin.0
              2022-11-09 07:06:15.529	error	Invalid read function for undefined: val > 60 ? -20 : val => Cannot read properties of null (reading 'type')
              

              User Error oder Bug?

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #9

              @marty56 sagte in Alias Fehler "Cannot read properties of null":

              "id": "hm-rpc.0.LEQ0567580.1.TEMPERATURE"

              sollte

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              CodierknechtC 1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @marty56 sagte in Alias Fehler "Cannot read properties of null":

                "id": "hm-rpc.0.LEQ0567580.1.TEMPERATURE"

                sollte

                CodierknechtC Offline
                CodierknechtC Offline
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #10

                Ich habe kein HM-Thermometer, kann das also nur bedingt nachstellen.
                Mit der Temperatur im Rollladenaktor funktioniert das aber auch wie erwartet.

                {
                  "common": {
                    "name": "Test",
                    "type": "number",
                    "read": true,
                    "write": false,
                    "def": 0,
                    "alias": {
                      "id": "hm-rpc.0.00111D8994D7A3.0.ACTUAL_TEMPERATURE",
                      "read": "(val > 20) ? -20 : val"
                    },
                    "min": -20,
                    "max": 80,
                    "unit": "°C"
                  },
                  "type": "state",
                  "native": {},
                  "_id": "alias.0.Test",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  },
                  "from": "system.adapter.admin.1",
                  "user": "system.user.admin",
                  "ts": 1667982471112
                }```
                [/s]

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                M 1 Antwort Letzte Antwort
                0
                • CodierknechtC Codierknecht

                  Ich habe kein HM-Thermometer, kann das also nur bedingt nachstellen.
                  Mit der Temperatur im Rollladenaktor funktioniert das aber auch wie erwartet.

                  {
                    "common": {
                      "name": "Test",
                      "type": "number",
                      "read": true,
                      "write": false,
                      "def": 0,
                      "alias": {
                        "id": "hm-rpc.0.00111D8994D7A3.0.ACTUAL_TEMPERATURE",
                        "read": "(val > 20) ? -20 : val"
                      },
                      "min": -20,
                      "max": 80,
                      "unit": "°C"
                    },
                    "type": "state",
                    "native": {},
                    "_id": "alias.0.Test",
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    },
                    "from": "system.adapter.admin.1",
                    "user": "system.user.admin",
                    "ts": 1667982471112
                  }```
                  [/s]
                  M Offline
                  M Offline
                  Marty56
                  schrieb am zuletzt editiert von Marty56
                  #11

                  @codierknecht
                  Die Funktion funktioniert auch bei mir, aber ab und zu gibt es eine Fehlermeldung. Es funktioniert aber trotzdem.

                  Da der Admin bzgl. der Aliases nicht so ganz stabil ist, es gibt ja auch noch diese Fehlerbursts, wo alle Definitionen (bei mir sind das ca. 300 + ) als fehlerhaft geloggt werden, hatte ich gedacht, dass es eventuell ein Hinweis ist, wo die Alias Implementierung noch grundsätzliche Schwächen hat.

                  HW:NUC (16 GB Ram)
                  OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                  1 Antwort Letzte Antwort
                  0
                  • M Marty56

                    Hallo,

                    Ich habe ein Homematic Thermometer und einen Alias definiert, der den Bug des HM Thermometer, dass bei Temperaturen unter -20 Grad immer 80 Grad angezeigt wird, kompensiert.

                    Dazu ist folgender Alias definiert.

                    {
                      "common": {
                        "name": "Thermometer in Gefrierschrank",
                        "alias": {
                          "id": "hm-rpc.0.LEQ0567580.1.TEMPERATURE",
                          "read": "val > 60 ? -20 : val"
                        },
                        "type": "number",
                        "role": "value.temperature",
                        "min": -40,
                        "max": 80,
                        "unit": "°C",
                        "custom": {
                          "influxdb.0": {
                            "enabled": true,
                            "storageType": "",
                            "aliasId": "",
                            "debounceTime": 0,
                            "blockTime": 0,
                            "changesOnly": true,
                            "changesRelogInterval": 0,
                            "changesMinDelta": 0,
                            "ignoreBelowNumber": "",
                            "disableSkippedValueLogging": false,
                            "enableDebugLogs": false,
                            "debounce": 1000
                          }
                        }
                      },
                      "native": {},
                      "type": "state",
                      "from": "system.adapter.javascript.0",
                      "user": "system.user.admin",
                      "ts": 1667660078432,
                      "_id": "alias.0.K2_Thermo_TEMPERATURE",
                      "acl": {
                        "object": 1636,
                        "state": 1636,
                        "owner": "system.user.admin",
                        "ownerGroup": "system.group.administrator"
                      }
                    }
                    

                    Jedesmal, wenn die Bedingung "val > 60 ? -20 : val" ausgeführt wird, bekomme ich Fehler. Das Thermometer funktioniert störungsfrei.

                    	2022-11-09 07:06:15.538	error	Invalid read function for undefined: val > 60 ? -20 : val => Cannot read properties of null (reading 'type')
                    
                    admin.0
                    2022-11-09 07:06:15.529	error	Invalid read function for undefined: val > 60 ? -20 : val => Cannot read properties of null (reading 'type')
                    

                    User Error oder Bug?

                    CodierknechtC Offline
                    CodierknechtC Offline
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #12

                    @marty56 sagte in Alias Fehler "Cannot read properties of null":

                    Das hörte sich zunächst aber anders an.

                    Jedesmal, wenn die Bedingung "val > 60 ? -20 : val" ausgeführt wird, bekomme ich Fehler.

                    Was ist denn, wenn Du zunächst mal hingehst und den Wert explizit per parseFloat(val) konvertierst?
                    Auch wenn das

                    ... => Cannot read properties of null (reading 'type')
                    

                    vermuten lässt, dass die Ursache eine andere ist. Wobei ich gerade auch keine Idee habe, warum er hier type anmeckert.
                    Nur mal so in's Blaue gedacht:

                    isNaN(val) ? -99 : parseFloat(val) > 60 ? -20 : parseFloat(val)
                    

                    Hast Du den Alias mal gelöscht und komplett neu aufgesetzt?
                    Tritt das Problem nur bei diesem Alias auf, oder passiert das auch mal in anderen Konstellationen?

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    M 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @marty56 sagte in Alias Fehler "Cannot read properties of null":

                      Das hörte sich zunächst aber anders an.

                      Jedesmal, wenn die Bedingung "val > 60 ? -20 : val" ausgeführt wird, bekomme ich Fehler.

                      Was ist denn, wenn Du zunächst mal hingehst und den Wert explizit per parseFloat(val) konvertierst?
                      Auch wenn das

                      ... => Cannot read properties of null (reading 'type')
                      

                      vermuten lässt, dass die Ursache eine andere ist. Wobei ich gerade auch keine Idee habe, warum er hier type anmeckert.
                      Nur mal so in's Blaue gedacht:

                      isNaN(val) ? -99 : parseFloat(val) > 60 ? -20 : parseFloat(val)
                      

                      Hast Du den Alias mal gelöscht und komplett neu aufgesetzt?
                      Tritt das Problem nur bei diesem Alias auf, oder passiert das auch mal in anderen Konstellationen?

                      M Offline
                      M Offline
                      Marty56
                      schrieb am zuletzt editiert von Marty56
                      #13

                      @codierknecht Ja, das stimmt, das Wort "jedesmal" war falsch. Besser wäre "manchmal" gewesen.

                      Die Aliases lege ich per Script an und deshalb habe ich sie schon sehr oft neu aufgesetzt.

                      Und was komisch ist, ist das Wort "null" in der Fehlermeldung.

                      Es sieht so aus, als ob der Alias Adapter einen undefinierten Wert vom dem Sensor bekommt. Vielleicht eine Race Condition, wo die Info, das sich etwas geändert hat, vor dem eigentlich Bereitstellen des geänderten Werts kommt.
                      Ich glaube nicht, dass das parseflot() was bringt.

                      HW:NUC (16 GB Ram)
                      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                      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

                      564

                      Online

                      32.7k

                      Benutzer

                      82.4k

                      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