Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Skript "lügt" / Werte von Xiaomi Fenstersensor wird falsch ausgewertet

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Skript "lügt" / Werte von Xiaomi Fenstersensor wird falsch ausgewertet

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      martinschm last edited by martinschm

      Hi,
      ich frage per Skript den Status meiner Xiaomi Fenstersensoren ab. Jetzt wird mir ein Sensor als offen zurück gemeldet obwohl er geschlossen ist.

      Ich hab ihn unter Objekten geprüft. dort steht "isopen" = false. Trotzdem wird mir im Skript gemeldet, das er true wäre. Für alle anderen Sensoren von Xiaomi klappt es einwandfrei.

      Anfangs dachte ich es wäre ein Problem des Xiaomi Gateways, aber die Überprüfung unter Objekte zeigte das es eigentlich geschlossen ist. In iobroker kommt also der korrekte Status an. Ich vermute, das die Skripte eben jenen Status im Objektbaum auch abfragen, oder ?
      Das wird mir unter Objekten angezeigt
      iobroker garagentor sensor status.jpg

      Mein Testskript:

      var Status = getState("mihome.0.devices.magnet_158d0001b95702.state").val;
      var objektname = getObject("mihome.0.devices.magnet_158d0001b95702").common.name;
      var raum = getObject("mihome.0.devices.magnet_158d0001b95702","rooms").enumNames;
      
      var OffeneFenster = "\n Im " + raum + " ist "  + objektname + Status + " offen.";
                      
      console.log(OffeneFenster);
      

      Ausgabe des Skripts ist:
      Im [object Object] ist Xiaomi Garagentortrue offen.

      Interessanterweise wird auch der Name des Raums nicht ausgegeben, obwohl der Sensor einem zugeordnet ist. Wäre auch interessant warum, aber ist Prio 2.

      paul53 1 Reply Last reply Reply Quote 0
      • Mic
        Mic Developer last edited by Mic

        Ich hab mal kurz Dein Script umgeschrieben, Du fügst ja das String " offen." immer hinzu, egal wie der Status ist.

        Versuch mal:

        let statePath = 'mihome.0.devices.magnet_158d0001b95702';
        let objName = getObject(statePath).common.name;
        let raum = getObject(statePath, "rooms").enumNames;
        let status = 'offen';
        if (! getState(statePath + ".state").val) status = 'zu';
        let windowStatusText = "\n Im " + raum + " ist "  + objName + ' ' + status + '.';
        console.log(windowStatusText);
        
        M 1 Reply Last reply Reply Quote 0
        • htrecksler
          htrecksler Forum Testing last edited by

          es ging nicht um das "offen" sondern um den Wert "true" davor.

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @martinschm last edited by

            @martinschm sagte:

            wird auch der Name des Raums nicht ausgegeben

            Versuche es mal mit .enumNames[0].

            1 Reply Last reply Reply Quote 0
            • M
              martinschm @Mic last edited by

              @Mic said in Skript "lügt":

              Ich hab mal kurz Dein Script umgeschrieben, Du fügst ja das String " offen." immer hinzu, egal wie der Status ist.

              Hi Mic, das ist ok so. In dem eigentlichen Skript füge ich in einer Schleife alle Fenster zu einem Ausgabe String zusammen. Da wird vorher geprüft ob offen oder zu ist und nur bei offen werden sie hinzugefügt.

              in dem Testskript hier steht das "offen" halt noch mit drin. Entscheidend ist der Status der über die Variabel ausgegeben wird.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              895
              Online

              31.8k
              Users

              79.9k
              Topics

              1.3m
              Posts

              communication javascript
              4
              5
              412
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo