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. Off Topic
  4. [ERL] Alias von "availability" funktioniert nicht mehr

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[ERL] Alias von "availability" funktioniert nicht mehr

Geplant Angeheftet Gesperrt Verschoben Off Topic
zigbee2mqttalias convert
8 Beiträge 4 Kommentatoren 190 Aufrufe 3 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.
  • MartinPM Online
    MartinPM Online
    MartinP
    schrieb am zuletzt editiert von MartinP
    #1

    Habe einige Sensoren usw über verschiedene Mechanismen auf "Erreichbarkeit" gecheckt, und lasse mir eine summarische Mail schicken, die den Zustand reported...

    Leider scheint man da inzwischen abzustumpfen, und ich habe erst jetzt festgestellt, dass seit etwa 21 Juli 2025 (letzte Meldung "verfügbar") mein Zigbee Aqara Thermosensor als nicht erreichbar gemeldet wird, trotzdem er noch erreichbar ist.

    Der Sensor kommt über Zigbee2mqtt herein, und geht direkt in den MQTT Client/Server.

    Aktuell sieht der für Verfügbarkeit ausgewertete Datenpunkt so aus:

    e6a3105b-9e65-4c14-86a6-a69cee264f65-grafik.png

    Die im Alias verwendete Konvertierungsfunktion konnte meiner Meinung nach mit dem Inhalt nichts anfangen.

    {
      "common": {
        "name": "Aqara_1",
        "desc": "Manuell erzeugt",
        "role": "state",
        "type": "boolean",
        "read": true,
        "write": false,
        "def": false,
        "alias": {
          "id": "mqtt.0.zigbee2mqtt.Aqara_Temperaturmultisensor_1.availability",
          "read": "state==\"online\""
        }
      },
      "type": "state",
      "native": {},
      "_id": "alias.0.Available.Aqara_1",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1764157660333
    }
    

    Habe das nun geändert, und es funktioniert so weit wieder.

    {
      "common": {
        "name": "Aqara_1",
        "desc": "Manuell erzeugt",
        "role": "state",
        "type": "boolean",
        "read": true,
        "write": false,
        "def": false,
        "alias": {
          "id": "mqtt.0.zigbee2mqtt.Aqara_Temperaturmultisensor_1.availability",
          "read": "JSON.parse(val).state==\"online\""
        }
      },
      "type": "state",
      "native": {},
      "_id": "alias.0.Available.Aqara_1",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1764157660333
    }
    

    Weiß jemand, wo sich da etwas geändert hat? ... bei aller Unschärfe meine ich dass in Available durchaus früher nur "online" stand, und kein JSON ...

    Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
    Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
    Linux pve 6.8.12-16-pve
    6 GByte RAM für den Container
    Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
    Remote-Access über Wireguard der Fritzbox

    paul53P 1 Antwort Letzte Antwort
    0
    • arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      zeigmal das RAW object von dem mqtt.0.zigbee2mqtt.Aqara_Temperaturmultisensor_1.availability
      der ist bestimmt anders

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      1 Antwort Letzte Antwort
      0
      • MartinPM Online
        MartinPM Online
        MartinP
        schrieb am zuletzt editiert von MartinP
        #3

        Weiß nicht mehr wie das geht, Expertenmodus angemacht, aber da kommt keine weitere Spalte dazu

        grafik.png

        Und hier die Objektdaten

        {
          "_id": "mqtt.0.zigbee2mqtt.Aqara_Temperaturmultisensor_1.availability",
          "common": {
            "name": "zigbee2mqtt/Aqara_Temperaturmultisensor_1/availability",
            "write": true,
            "read": true,
            "role": "variable",
            "desc": "mqtt server variable",
            "type": "string"
          },
          "native": {
            "topic": "zigbee2mqtt/Aqara_Temperaturmultisensor_1/availability"
          },
          "type": "state",
          "from": "system.adapter.mqtt.0",
          "user": "system.user.admin",
          "ts": 1703697860026,
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          }
        }
        

        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
        Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
        Linux pve 6.8.12-16-pve
        6 GByte RAM für den Container
        Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
        Remote-Access über Wireguard der Fritzbox

        1 Antwort Letzte Antwort
        0
        • MartinPM MartinP

          Habe einige Sensoren usw über verschiedene Mechanismen auf "Erreichbarkeit" gecheckt, und lasse mir eine summarische Mail schicken, die den Zustand reported...

          Leider scheint man da inzwischen abzustumpfen, und ich habe erst jetzt festgestellt, dass seit etwa 21 Juli 2025 (letzte Meldung "verfügbar") mein Zigbee Aqara Thermosensor als nicht erreichbar gemeldet wird, trotzdem er noch erreichbar ist.

          Der Sensor kommt über Zigbee2mqtt herein, und geht direkt in den MQTT Client/Server.

          Aktuell sieht der für Verfügbarkeit ausgewertete Datenpunkt so aus:

          e6a3105b-9e65-4c14-86a6-a69cee264f65-grafik.png

          Die im Alias verwendete Konvertierungsfunktion konnte meiner Meinung nach mit dem Inhalt nichts anfangen.

          {
            "common": {
              "name": "Aqara_1",
              "desc": "Manuell erzeugt",
              "role": "state",
              "type": "boolean",
              "read": true,
              "write": false,
              "def": false,
              "alias": {
                "id": "mqtt.0.zigbee2mqtt.Aqara_Temperaturmultisensor_1.availability",
                "read": "state==\"online\""
              }
            },
            "type": "state",
            "native": {},
            "_id": "alias.0.Available.Aqara_1",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            },
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1764157660333
          }
          

          Habe das nun geändert, und es funktioniert so weit wieder.

          {
            "common": {
              "name": "Aqara_1",
              "desc": "Manuell erzeugt",
              "role": "state",
              "type": "boolean",
              "read": true,
              "write": false,
              "def": false,
              "alias": {
                "id": "mqtt.0.zigbee2mqtt.Aqara_Temperaturmultisensor_1.availability",
                "read": "JSON.parse(val).state==\"online\""
              }
            },
            "type": "state",
            "native": {},
            "_id": "alias.0.Available.Aqara_1",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            },
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1764157660333
          }
          

          Weiß jemand, wo sich da etwas geändert hat? ... bei aller Unschärfe meine ich dass in Available durchaus früher nur "online" stand, und kein JSON ...

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

          @MartinP sagte:

          "read": "state==\"online\""
          

          kann nie funktioniert haben.

          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

          MartinPM 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @MartinP sagte:

            "read": "state==\"online\""
            

            kann nie funktioniert haben.

            MartinPM Online
            MartinPM Online
            MartinP
            schrieb am zuletzt editiert von
            #5

            @paul53 Bis Mitte Juli hat es funktioniert, da kam in den Mails in der Regel....

            Gerätetedetails:
            Lidl-Fluter : ERROR (false)
            Aqara_1: OK (true)
            FritzDECT_Steckdose: OK (true)
            ...
            Alive NOUS A1T ("Bewaesserung"): OK (true)

            Entweder hat zigbee2mqtt da eine Umstellung erfahren, dass diese Art von Datenwerte vorher NICHT als JSON geliefert worden sind (dazu tendiere ich), oder es passiert irgendwo später auf dem Weg bis zum Schreiben des Datenpunktes nach mqtt.0....

            Ich habe mehrfach den zigbee2mqtt container-stack aktualisiert vielleicht hat sich irgendwann das Verhalten geändert...

            Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
            Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
            Linux pve 6.8.12-16-pve
            6 GByte RAM für den Container
            Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
            Remote-Access über Wireguard der Fritzbox

            Marc BergM 1 Antwort Letzte Antwort
            0
            • MartinPM Online
              MartinPM Online
              MartinP
              schrieb am zuletzt editiert von
              #6

              Hier noch das Mail-Skript

              var LastFoundError, SupervisedObjects, j, timeout2, FoundError, EmailBody, i, EmailSubject;
              
              
              on({ id: [].concat(['mqtt.0.thermostat.logmsg']), change: 'ne' }, async (obj) => {
                if (!obj.state) return;
                const e = new Date(obj.state.ts);
                console.info(([ obj.state.val,' ',e.toLocaleString("DE-de")].join('')));
              });
              
              LastFoundError = 0;
              SupervisedObjects = Array.prototype.slice.apply($('alias.0.Available.*'));
              var j_list = Array.prototype.slice.apply($('ping.0.*'));
              for (var j_index in j_list) {
                j = j_list[j_index];
                if (j == 'ping.0.iobroker-test-sicher.xxxxxxxxxxxx') {
                  console.info(('Füge NICHT ein: ' + String(j)));
                } else {
                  console.info(('Füge ein: ' + String(j)));
                  SupervisedObjects.push(j);
                }
              }
              on({ id: [].concat(SupervisedObjects), change: 'ne' }, async (obj) => {
                let value = obj.state.val;
                let oldValue = obj.oldState.val;
                (() => { if (timeout2) { clearTimeout(timeout2); timeout2 = null; }})();
                timeout2 = setTimeout(async () => {
                  timeout2 = null;
                  FoundError = 0;
                  EmailBody = 'Gerätetedetails: ' + '\n';
                  for (var i_index in SupervisedObjects) {
                    i = SupervisedObjects[i_index];
                    EmailBody += String((await getObjectAsync(i)).common.name);
                    if (getState(i).val == true) {
                      EmailBody += ': OK (true)';
                    } else {
                      EmailBody += ' : ERROR (false)';
                      FoundError = (typeof FoundError === 'number' ? FoundError : 0) + 1;
                    }
                    EmailBody += '\n';
                  }
                  if (LastFoundError != FoundError) {
                    if (FoundError == 0) {
                      EmailSubject = 'SmartHome Gerätestatus: ' + 'Alle Geräte wieder erreichbar';
                    } else if (FoundError == 1) {
                      EmailSubject = 'SmartHome Gerätestatus: ' + 'Ein Gerät nicht erreichbar';
                    } else {
                      EmailSubject = ['SmartHome Gerätestatus: ',FoundError,' Geräte nicht erreichbar'].join('');
                    }
                    console.info(EmailSubject);
                    sendTo('email', 'send', {
                      text: EmailBody,
                      to: 'xxxxxxxxxxxxxxxxxxxx',
                      subject: EmailSubject,
                    });
                  }
                  LastFoundError = FoundError;
                }, 3000);
              });
              
              

              Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
              Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
              Linux pve 6.8.12-16-pve
              6 GByte RAM für den Container
              Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
              Remote-Access über Wireguard der Fritzbox

              1 Antwort Letzte Antwort
              0
              • MartinPM MartinP

                @paul53 Bis Mitte Juli hat es funktioniert, da kam in den Mails in der Regel....

                Gerätetedetails:
                Lidl-Fluter : ERROR (false)
                Aqara_1: OK (true)
                FritzDECT_Steckdose: OK (true)
                ...
                Alive NOUS A1T ("Bewaesserung"): OK (true)

                Entweder hat zigbee2mqtt da eine Umstellung erfahren, dass diese Art von Datenwerte vorher NICHT als JSON geliefert worden sind (dazu tendiere ich), oder es passiert irgendwo später auf dem Weg bis zum Schreiben des Datenpunktes nach mqtt.0....

                Ich habe mehrfach den zigbee2mqtt container-stack aktualisiert vielleicht hat sich irgendwann das Verhalten geändert...

                Marc BergM Offline
                Marc BergM Offline
                Marc Berg
                Most Active
                schrieb am zuletzt editiert von Marc Berg
                #7

                @MartinP sagte in z2m: Alias von "availability" funktioniert nicht mehr:

                Entweder hat zigbee2mqtt da eine Umstellung erfahren, dass diese Art von Datenwerte vorher NICHT als JSON geliefert worden sind (dazu tendiere ich)

                Ja, genau so ist es. Das Format hat sich in Version 2.0 geändert.

                https://github.com/Koenkk/zigbee2mqtt/discussions/24198

                "Due to the removal of advanced.legacy_availability_payload, zigbee2mqtt/bridge/state will now always be a JSON object ({"state":"online"} or {"state":"offline"})."

                NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

                Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                1 Antwort Letzte Antwort
                1
                • MartinPM Online
                  MartinPM Online
                  MartinP
                  schrieb am zuletzt editiert von
                  #8

                  Danke, das leuchtet ein

                  Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                  Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
                  Linux pve 6.8.12-16-pve
                  6 GByte RAM für den Container
                  Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                  Remote-Access über Wireguard der Fritzbox

                  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

                  413

                  Online

                  32.6k

                  Benutzer

                  82.1k

                  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