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

    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
    #2

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

    "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":

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

                          547

                          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