Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Fragen / Antworten rund um die neue Alias Funktion

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Fragen / Antworten rund um die neue Alias Funktion

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
aliasjs-controller
621 Beiträge 88 Kommentatoren 174.3k Aufrufe 73 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.
  • G gutgut30

    Hi,

    ich habe nun endlich mal angefangen auf Aliase umzustellen. Ich habe hier jedoch einen State, den bekomme ich über ein Alias nicht mehr sinnvoll gesetzt. Ich übergebe eine Zahl, angeblich wird jedoch ein Objekt empfangen.

    "Object alias.0.Gastherme.Steuerung.Betriebsart is invalid: obj.common.min has an invalid type! Expected "number", received "object" This will throw an error up from js-controller version 7.0.0!"

    Übergebe ich wie bisher eine Zahl für den gewünschten Wert, dann erhalte ich ein null. Übergebe ich die Zahl als String, dann gehts, im Log erscheint jedoch natürlich ein Hinweis, dass eine Zahl erwartet worden ist.

    Am Script habe ich nur den DP vom Ursprung zum Alias geändert.

    Beide DP scheinen mir identisch konfiguriert.

    Der Ursprung:

    {
      "type": "state",
      "common": {
        "name": "Betriebsart (700)",
        "type": "number",
        "role": "value",
        "read": true,
        "write": true,
        "unit": "",
        "states": {
          "0": "Schutzbetrieb",
          "1": "Automatik",
          "2": "Reduziert",
          "3": "Komfort",
          "65535": "---"
        },
        "custom": {
          "history.0": {
            "enabled": true,
            "aliasId": "",
            "debounceTime": 0,
            "blockTime": 0,
            "changesOnly": true,
            "changesRelogInterval": 0,
            "changesMinDelta": 0,
            "ignoreBelowNumber": "",
            "disableSkippedValueLogging": false,
            "retention": 31536000,
            "customRetentionDuration": 365,
            "maxLength": 960,
            "enableDebugLogs": false,
            "chartStep": ""
          }
        }
      },
      "native": {
        "id": "700",
        "bsb": {
          "name": "Betriebsart",
          "dataType_name": "ENUM",
          "dataType_family": "ENUM",
          "destination": "0",
          "possibleValues": [
            {
              "enumValue": 65535,
              "desc": "---"
            },
            {
              "enumValue": 0,
              "desc": "Schutzbetrieb"
            },
            {
              "enumValue": 1,
              "desc": "Automatik"
            },
            {
              "enumValue": 2,
              "desc": "Reduziert"
            },
            {
              "enumValue": 3,
              "desc": "Komfort"
            }
          ],
          "isswitch": 0,
          "dataType": 1,
          "readonly": 0,
          "readwrite": 0,
          "unit": ""
        }
      },
      "_id": "bsblan.0.Betriebsart_(700)",
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1739452181978
    }
    

    Der Alias:

    {
      "common": {
        "alias": {
          "id": "bsblan.0.Betriebsart_(700)",
          "read": "",
          "write": ""
        },
        "name": "Betriebsart",
        "role": "value",
        "type": "number",
        "unit": "",
        "min": "",
        "max": "",
        "read": true,
        "write": true,
        "states": {
          "0": "Schutzbetrieb",
          "1": "Automatik",
          "2": "Reduziert",
          "3": "Komfort",
          "65535": "---"
        },
        "custom": {
          "history.0": {
            "enabled": true,
            "aliasId": "",
            "debounceTime": 0,
            "blockTime": 0,
            "changesOnly": true,
            "changesRelogInterval": 0,
            "changesMinDelta": 0,
            "ignoreBelowNumber": "",
            "disableSkippedValueLogging": false,
            "retention": 31536000,
            "customRetentionDuration": 365,
            "maxLength": 960,
            "enableDebugLogs": false
          }
        }
      },
      "native": {},
      "type": "state",
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1734278479428,
      "_id": "alias.0.Gastherme.Steuerung.Betriebsart"
    }
    

    Ich hab auch schon mal den Native-Block vom Original in den Alias kopiert, das hat aber nichts verändert. Auch ein "konvertiere Zahl zu Zahl" hat (wie erwartet) nichts verändert.

    Was mache ich falsch? Wieso glaubt der Alias ein Objekt zu empfangen?

    Update/Edit:
    Gefunden. Da scheint etwas bei Übernehmen der min/max Values nicht zu passen. Diese waren im Alias plötzlich auf null. Ich hab sie jetzt manuell gesetzt, damit klappt es.

        "min": 0,
        "max": 3,
    

    Gelöst durch finden eines seit Jahren offnen Bugs: https://github.com/iobroker-community-adapters/ioBroker.alias-manager/issues/36

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

    @gutgut30 sagte: Wieso glaubt der Alias ein Objekt zu empfangen?

    Kann es sein, dass der Originalwert null sein kann? null ist ein Objekt.
    Lösche "min" und "max", denn das sind Leerstrings.

    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

    G 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @gutgut30 sagte: Wieso glaubt der Alias ein Objekt zu empfangen?

      Kann es sein, dass der Originalwert null sein kann? null ist ein Objekt.
      Lösche "min" und "max", denn das sind Leerstrings.

      G Offline
      G Offline
      gutgut30
      schrieb am zuletzt editiert von
      #602

      @paul53 Habs gerade so ähnlich gelöst und mein Posting aktualisiert. Das war es. Danke

      1 Antwort Letzte Antwort
      0
      • G gutgut30

        Hi,

        ich habe nun endlich mal angefangen auf Aliase umzustellen. Ich habe hier jedoch einen State, den bekomme ich über ein Alias nicht mehr sinnvoll gesetzt. Ich übergebe eine Zahl, angeblich wird jedoch ein Objekt empfangen.

        "Object alias.0.Gastherme.Steuerung.Betriebsart is invalid: obj.common.min has an invalid type! Expected "number", received "object" This will throw an error up from js-controller version 7.0.0!"

        Übergebe ich wie bisher eine Zahl für den gewünschten Wert, dann erhalte ich ein null. Übergebe ich die Zahl als String, dann gehts, im Log erscheint jedoch natürlich ein Hinweis, dass eine Zahl erwartet worden ist.

        Am Script habe ich nur den DP vom Ursprung zum Alias geändert.

        Beide DP scheinen mir identisch konfiguriert.

        Der Ursprung:

        {
          "type": "state",
          "common": {
            "name": "Betriebsart (700)",
            "type": "number",
            "role": "value",
            "read": true,
            "write": true,
            "unit": "",
            "states": {
              "0": "Schutzbetrieb",
              "1": "Automatik",
              "2": "Reduziert",
              "3": "Komfort",
              "65535": "---"
            },
            "custom": {
              "history.0": {
                "enabled": true,
                "aliasId": "",
                "debounceTime": 0,
                "blockTime": 0,
                "changesOnly": true,
                "changesRelogInterval": 0,
                "changesMinDelta": 0,
                "ignoreBelowNumber": "",
                "disableSkippedValueLogging": false,
                "retention": 31536000,
                "customRetentionDuration": 365,
                "maxLength": 960,
                "enableDebugLogs": false,
                "chartStep": ""
              }
            }
          },
          "native": {
            "id": "700",
            "bsb": {
              "name": "Betriebsart",
              "dataType_name": "ENUM",
              "dataType_family": "ENUM",
              "destination": "0",
              "possibleValues": [
                {
                  "enumValue": 65535,
                  "desc": "---"
                },
                {
                  "enumValue": 0,
                  "desc": "Schutzbetrieb"
                },
                {
                  "enumValue": 1,
                  "desc": "Automatik"
                },
                {
                  "enumValue": 2,
                  "desc": "Reduziert"
                },
                {
                  "enumValue": 3,
                  "desc": "Komfort"
                }
              ],
              "isswitch": 0,
              "dataType": 1,
              "readonly": 0,
              "readwrite": 0,
              "unit": ""
            }
          },
          "_id": "bsblan.0.Betriebsart_(700)",
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1739452181978
        }
        

        Der Alias:

        {
          "common": {
            "alias": {
              "id": "bsblan.0.Betriebsart_(700)",
              "read": "",
              "write": ""
            },
            "name": "Betriebsart",
            "role": "value",
            "type": "number",
            "unit": "",
            "min": "",
            "max": "",
            "read": true,
            "write": true,
            "states": {
              "0": "Schutzbetrieb",
              "1": "Automatik",
              "2": "Reduziert",
              "3": "Komfort",
              "65535": "---"
            },
            "custom": {
              "history.0": {
                "enabled": true,
                "aliasId": "",
                "debounceTime": 0,
                "blockTime": 0,
                "changesOnly": true,
                "changesRelogInterval": 0,
                "changesMinDelta": 0,
                "ignoreBelowNumber": "",
                "disableSkippedValueLogging": false,
                "retention": 31536000,
                "customRetentionDuration": 365,
                "maxLength": 960,
                "enableDebugLogs": false
              }
            }
          },
          "native": {},
          "type": "state",
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1734278479428,
          "_id": "alias.0.Gastherme.Steuerung.Betriebsart"
        }
        

        Ich hab auch schon mal den Native-Block vom Original in den Alias kopiert, das hat aber nichts verändert. Auch ein "konvertiere Zahl zu Zahl" hat (wie erwartet) nichts verändert.

        Was mache ich falsch? Wieso glaubt der Alias ein Objekt zu empfangen?

        Update/Edit:
        Gefunden. Da scheint etwas bei Übernehmen der min/max Values nicht zu passen. Diese waren im Alias plötzlich auf null. Ich hab sie jetzt manuell gesetzt, damit klappt es.

            "min": 0,
            "max": 3,
        

        Gelöst durch finden eines seit Jahren offnen Bugs: https://github.com/iobroker-community-adapters/ioBroker.alias-manager/issues/36

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

        @gutgut30 sagte: manuell gesetzt, damit klappt es.

        Das müssen Zahlen sein - keine Strings!

        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

        G 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @gutgut30 sagte: manuell gesetzt, damit klappt es.

          Das müssen Zahlen sein - keine Strings!

          G Offline
          G Offline
          gutgut30
          schrieb am zuletzt editiert von
          #604

          @paul53 said in Fragen / Antworten rund um die neue Alias Funktion:

          Das müssen Zahlen sein - keine Strings!

          Du hast Recht. Hab es im Posting aktualisiert. ioBroker scheint es aber beim Speichern des DP auch selber zu korrigieren.

          1 Antwort Letzte Antwort
          0
          • G Offline
            G Offline
            gutgut30
            schrieb am zuletzt editiert von
            #605

            Eine kurze generelle Frage noch: Wenn ich meine Daten mit History oder InfluxDB logge. Logge ich dann den Alias oder den original Gerätedatenpunkt?

            paul53P CodierknechtC 2 Antworten Letzte Antwort
            0
            • G gutgut30

              Eine kurze generelle Frage noch: Wenn ich meine Daten mit History oder InfluxDB logge. Logge ich dann den Alias oder den original Gerätedatenpunkt?

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

              @gutgut30 sagte: Logge ich dann den Alias oder den original Gerätedatenpunkt?

              Besser den Alias, auch in Visualisierung und Skripten.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • G gutgut30

                Eine kurze generelle Frage noch: Wenn ich meine Daten mit History oder InfluxDB logge. Logge ich dann den Alias oder den original Gerätedatenpunkt?

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

                @gutgut30
                Um die Antwort von @paul53 zu vervollständigen:
                Wenn Du einen Alias loggst, brauchst Du Dir beim späteren Austausch eines Gerätes keine Gedanken machen.
                Einfach den Alias auf das neue Gerät zeigen lassen.
                Das gleiche gilt in Scripten.

                "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
                • G Offline
                  G Offline
                  gutgut30
                  schrieb am zuletzt editiert von
                  #608

                  Vielen Dank.

                  Der Fehler mit den min/max ist allerdings mehr als nervig. Ich muss so gut wie jeden Alias Datenpunkt nacharbeiten. Da kann man ja absolute Zweifel haben, dass man diesen Zeitaufwand jemals wieder reinholt weil ein bis 5 Geräte getauscht werden müssen...

                  1 Antwort Letzte Antwort
                  0
                  • T Nicht stören
                    T Nicht stören
                    ticaki
                    schrieb am zuletzt editiert von ticaki
                    #609

                    @Homoran
                    hat jetzt nix direkt mit dem Thema zu tun... aber könntest du das neue mal aus der Überschrift raus machen - ich frage mich jedesmal was es neues mit dem Alias gibt, bis mir wieder einfällt das es ja die alte neue Alias Funktion ist. :)

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • T ticaki

                      @Homoran
                      hat jetzt nix direkt mit dem Thema zu tun... aber könntest du das neue mal aus der Überschrift raus machen - ich frage mich jedesmal was es neues mit dem Alias gibt, bis mir wieder einfällt das es ja die alte neue Alias Funktion ist. :)

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

                      @ticaki könnte man machen.
                      man könnte aber auch einen 6 Jahre alten Thread zu machen

                      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 -

                      1 Antwort Letzte Antwort
                      0
                      • astuermerA Offline
                        astuermerA Offline
                        astuermer
                        schrieb am zuletzt editiert von astuermer
                        #611

                        Ich würd gerne aus einem Tasmota Stecker 0 und 1 auslesen und im Alias als false/true haben.
                        Beim Schreiben soll es aber wieder als 0 oder 1 zurückgeschrieben werden.

                        Hab beim Lesen
                        val == 0 ? false : val == 1 ? true : val

                        Beim Schreiben
                        val == false ? 0 : val == true ? 1 : val

                        Es wird aber nicht auf das Tasmota Objekt (ein Timer Enable) geschrieben.
                        Stelle ich in der Tasmota Oberfläche den Timer auf AN, wird er aber korrekt ausgelesen übers Alias.

                        Steh grad an. Jemand ne Idee?
                        Danke

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • astuermerA astuermer

                          Ich würd gerne aus einem Tasmota Stecker 0 und 1 auslesen und im Alias als false/true haben.
                          Beim Schreiben soll es aber wieder als 0 oder 1 zurückgeschrieben werden.

                          Hab beim Lesen
                          val == 0 ? false : val == 1 ? true : val

                          Beim Schreiben
                          val == false ? 0 : val == true ? 1 : val

                          Es wird aber nicht auf das Tasmota Objekt (ein Timer Enable) geschrieben.
                          Stelle ich in der Tasmota Oberfläche den Timer auf AN, wird er aber korrekt ausgelesen übers Alias.

                          Steh grad an. Jemand ne Idee?
                          Danke

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

                          @astuermer sagte: 0 und 1 auslesen und im Alias als false/true haben.

                          val == 1 // Lesen
                          val ? 1 : 0 // Schreiben
                          

                          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

                          astuermerA 1 Antwort Letzte Antwort
                          1
                          • paul53P paul53

                            @astuermer sagte: 0 und 1 auslesen und im Alias als false/true haben.

                            val == 1 // Lesen
                            val ? 1 : 0 // Schreiben
                            
                            astuermerA Offline
                            astuermerA Offline
                            astuermer
                            schrieb am zuletzt editiert von
                            #613

                            @paul53 Danke!

                            Leider dürfte der Sonoff Adapter da keine Schreibrechte auf den Terminplaner haben.
                            Geräte ein und ausschalten geht problemlos, aber bei den Timern will er nicht.

                            1 Antwort Letzte Antwort
                            0
                            • J Offline
                              J Offline
                              JavaMafia
                              schrieb am zuletzt editiert von JavaMafia
                              #614

                              Guten Abend,

                              beschäftige mich gerade mit dem Alias Manager. Hatte jetzt das Problem das bei mir der SourceAnalytix Adapter nicht richtig gezählt hat.

                              Habe in meiner Verteilung ein Smartmeter von Siemens verbaut der von jedem Stromkreis die Leistung messen und protokolieren (Wirkleistung, Wirkenergie) kann.

                              Jetzt zu dem vorhaben:
                              Ich möchte in dem Alias Manager direkt die Energiekosten berechnen. Die Formel die in dem Beispiel eingetragen ist, klappt auch. Was ich nun verbessern möchte ist, dass anstelle der 0,08€ ein Datenpunkt verknüpft ist. Damit ich nicht immer alle Alias Punkte ändern muss, wenn sich der Arbeitspreis ändert.
                              kosten.jpg

                              Ich danke schon mal im voraus.

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • J JavaMafia

                                Guten Abend,

                                beschäftige mich gerade mit dem Alias Manager. Hatte jetzt das Problem das bei mir der SourceAnalytix Adapter nicht richtig gezählt hat.

                                Habe in meiner Verteilung ein Smartmeter von Siemens verbaut der von jedem Stromkreis die Leistung messen und protokolieren (Wirkleistung, Wirkenergie) kann.

                                Jetzt zu dem vorhaben:
                                Ich möchte in dem Alias Manager direkt die Energiekosten berechnen. Die Formel die in dem Beispiel eingetragen ist, klappt auch. Was ich nun verbessern möchte ist, dass anstelle der 0,08€ ein Datenpunkt verknüpft ist. Damit ich nicht immer alle Alias Punkte ändern muss, wenn sich der Arbeitspreis ändert.
                                kosten.jpg

                                Ich danke schon mal im voraus.

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

                                @javamafia sagte: dass anstelle der 0,08€ ein Datenpunkt verknüpft ist.

                                Das leistet ein Alias nicht, denn er kann nur einen Original-DP lesend auswerten.
                                Für die Multiplikation von zwei DP-Werten benötigt man ein Skript.

                                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

                                T 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @javamafia sagte: dass anstelle der 0,08€ ein Datenpunkt verknüpft ist.

                                  Das leistet ein Alias nicht, denn er kann nur einen Original-DP lesend auswerten.
                                  Für die Multiplikation von zwei DP-Werten benötigt man ein Skript.

                                  T Offline
                                  T Offline
                                  topsurfer
                                  schrieb am zuletzt editiert von
                                  #616

                                  Hallo,
                                  steht gerade auf dem Schlauch, wollte für einen neuen Türkontakt ein Alias einricht, damit aus true/false ein Open/closed wird.

                                  Konvertierungsfunktion => beim schreiben hab ich dies eingetragen, aber es erscheint weiterhin true/false als Wert

                                  JSON.parse(val) ? 'closed' : 'open' 
                                  

                                  Die Objektdaten:

                                    "common": {
                                      "alias": {
                                        "id": "zigbee2mqtt.0.0x00158d008b612d6f.contact",
                                        "write": "JSON.parse(val) ? 'closed' : 'open' "
                                      },
                                      "name": "Saunafenster-Kontakt",
                                      "role": "state",
                                      "type": "boolean",
                                      "unit": "",
                                      "min": null,
                                      "max": null,
                                      "read": true,
                                      "write": false
                                    },
                                    "native": {},
                                    "type": "state",
                                    "_id": "alias.0.Aussen.Sauna.Saunafenster.contact",
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    },
                                    "from": "system.adapter.admin.0",
                                    "user": "system.user.admin",
                                    "ts": 1758705118215
                                  }
                                  

                                  Wo liegt der Fehler, danke!

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • T topsurfer

                                    Hallo,
                                    steht gerade auf dem Schlauch, wollte für einen neuen Türkontakt ein Alias einricht, damit aus true/false ein Open/closed wird.

                                    Konvertierungsfunktion => beim schreiben hab ich dies eingetragen, aber es erscheint weiterhin true/false als Wert

                                    JSON.parse(val) ? 'closed' : 'open' 
                                    

                                    Die Objektdaten:

                                      "common": {
                                        "alias": {
                                          "id": "zigbee2mqtt.0.0x00158d008b612d6f.contact",
                                          "write": "JSON.parse(val) ? 'closed' : 'open' "
                                        },
                                        "name": "Saunafenster-Kontakt",
                                        "role": "state",
                                        "type": "boolean",
                                        "unit": "",
                                        "min": null,
                                        "max": null,
                                        "read": true,
                                        "write": false
                                      },
                                      "native": {},
                                      "type": "state",
                                      "_id": "alias.0.Aussen.Sauna.Saunafenster.contact",
                                      "acl": {
                                        "object": 1636,
                                        "state": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator"
                                      },
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1758705118215
                                    }
                                    

                                    Wo liegt der Fehler, danke!

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

                                    @topsurfer sagte: aus true/false ein Open/closed wird.

                                    Ändere die Objektdaten unter "common":

                                      "common": {
                                        "alias": {
                                          "id": "zigbee2mqtt.0.0x00158d008b612d6f.contact",
                                          "read": "val ? 'closed' : 'open'"
                                        },
                                        "name": "Saunafenster-Kontakt",
                                        "role": "state",
                                        "type": "string",
                                        "read": true,
                                        "write": false
                                      },
                                    

                                    Ist true "closed"?

                                    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

                                    T 1 Antwort Letzte Antwort
                                    1
                                    • paul53P paul53

                                      @topsurfer sagte: aus true/false ein Open/closed wird.

                                      Ändere die Objektdaten unter "common":

                                        "common": {
                                          "alias": {
                                            "id": "zigbee2mqtt.0.0x00158d008b612d6f.contact",
                                            "read": "val ? 'closed' : 'open'"
                                          },
                                          "name": "Saunafenster-Kontakt",
                                          "role": "state",
                                          "type": "string",
                                          "read": true,
                                          "write": false
                                        },
                                      

                                      Ist true "closed"?

                                      T Offline
                                      T Offline
                                      topsurfer
                                      schrieb am zuletzt editiert von
                                      #618

                                      @paul53 Danke dir,
                                      Hauptfehler war wohl also, dass der Typ "boolean" war. Versuche ich mir zu merken ;-)
                                      Bei Read hatte ich es auch probiert, dann bei Write etc. ...

                                      Ja, true ist closed, das "umdrehe" würde ich hinbekommen (val ? 'open' : 'closed': )

                                      1 Antwort Letzte Antwort
                                      0
                                      • ioT4dbI Online
                                        ioT4dbI Online
                                        ioT4db
                                        schrieb am zuletzt editiert von ioT4db
                                        #619

                                        Hallo zusammen,
                                        kann man mit der alias-Konvertierung null-werte überspringen bzw. ignorieren? oder komm ich da nur mit einem Skript weiter?
                                        (Hintergrund: beim reboot meines esphome-Füllstandsmesser kommt immer zuerst ein leerer "Wert". Habs schon esp-seitig versucht das rauszufiltern, beiß mir da aber grad die Zähne aus)

                                        Dank schonmal und VG...

                                        GarfonsoG 1 Antwort Letzte Antwort
                                        0
                                        • ioT4dbI ioT4db

                                          Hallo zusammen,
                                          kann man mit der alias-Konvertierung null-werte überspringen bzw. ignorieren? oder komm ich da nur mit einem Skript weiter?
                                          (Hintergrund: beim reboot meines esphome-Füllstandsmesser kommt immer zuerst ein leerer "Wert". Habs schon esp-seitig versucht das rauszufiltern, beiß mir da aber grad die Zähne aus)

                                          Dank schonmal und VG...

                                          GarfonsoG Offline
                                          GarfonsoG Offline
                                          Garfonso
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #620

                                          @ioT4db
                                          Hm.. "überspringen" geht nicht so ohne weiteres. Was meinst du mit "leerer Wert"? Steht dann da 0 oder tatsächlich null? An sich sollte in ioBroker alles mit null als state Wert umgehen, der passt, wenn man den Wert nicht kennt. Das kann z.B. history auch rausfiltern.
                                          Das könntest du nutzen um 0 zu filtern, z.B. so: "read": "val !== 0 ? val : null" (also falls in val nicht 0 steht, nimm val, sonst setzte null -> 0 als Wert wird gefiltert).

                                          Falls du 0 und null da beides nicht drin stehen haben willst, brauchst du entweder einen anderen Wert, den du in der Formel oben statt null einsetzen kannst oder machst am besten ein kleines Skript.

                                          Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                                          Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                                          ioT4dbI 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          358

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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