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.
  • CodierknechtC Codierknecht

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

    val > 60 ? -20 : val
    Bedeutet: Wenn der Wert > 60 ist, gebe "-20" zurück - ansonsten den Wert.
    Das war doch lt. Beschreibung anders gedacht.

    val < -20 ? -20 : val
    Das hier bedeutet: Wenn Wert unter -20 dann "-20", ansonsten den Wert.

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

    @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.

    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

      @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 -

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

                ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

                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

                        573

                        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