Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Datenpunkte GetState / SetState

    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

    Datenpunkte GetState / SetState

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      StefanH 0 last edited by

      Hallo,

      habe da mal eine Fragen in die Runde.
      Nach meinen Kenntnissen kann man mit SetState nur Daten des Javascript.Adapters schreiben.
      In der Regel liegen diese unter Objekte in javascript.0
      Mit GetState hingegen kann man auf alle Objekte, also auch die anderer Adapter lesend zugreifen.

      Ich benötige nun eine Lösung für folgendes Problem:
      Ein Gerät mit einem Bewegungsmelder meldet eine Bewegung über eine MQTT-Instanz an IOBroker.
      Ein zweites Gerät (ESP32-CAM) möchte auf dieses reagieren und Mail mit Fotos versenden.

      Es wäre nun praktisch, wenn man in IObroker über javascript mit Hilfe der Funktion z.B. "on({id: "mqtt.0.bewegungsmelder......" reagieren könnte und bei Änderung eines Wertes aus der Instanz z.B. mgtt.0 einen Wert bei der zweiten Instanz z.B. mqtt.1 setzen und somit über dieses Ergeignis informieren könnte.

      Dies scheitert aber am Schreiben (SetState) über javascript eines Objektknotens einer anderen Instanz.

      Vielleicht hat ja jemand eine andere Lösung im Ärmel, auf die ich bisher wegen Scheuklappen noch nicht gekommen bin.

      Gruss Stefan

      AlCalzone paul53 2 Replies Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer @StefanH 0 last edited by

        @stefanh-0 Das geht - du musst beim Schreiben aber die vollständige ID inklusive mqtt.1 angeben.

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

          @stefanh-0 sagte: kann man mit SetState nur Daten des Javascript.Adapters schreiben.

          Man kann mit setState(id, val, [ack]) alle Datenpunkte schreiben, wenn man die komplette ID übergibt. Für Datenpunkte unter javascript.N (N = Instanz) kann eine verkürzte ID übergeben werden.

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

            OK, aber wie weiss der SetState() denn, ob er bei Angabe einer ID "javascript.0" davor hängen soll oder nicht? Denn es kann das gleiche objekt ja auch innerhalb und außerhalb von "javascript.0" geben.

            Beispiel : setState("mqtt.2.camera.detection", "true");

            Woher weiss das System dass nicht "javascript.0.mqtt.2.camera.detection" gemeint ist, sondern
            "mqtt.2.camera.detection" als Objekt ausserhalb von Javascript???

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

              @stefanh-0 sagte: Woher weiss das System dass nicht "javascript.0.mqtt.2.camera.detection" gemeint ist, sondern

              "mqtt.2.camera.detection" als Objekt ausserhalb von Javascript???

              Es wird erst geprüft, ob es das Objekt mit der ID "mqtt.2.camera.detection" gibt. Falls nicht, dann Prüfung auf "javascript.0.mqtt.2.camera.detection".

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

                OK, das macht Sinn.

                Wieder was neues gelernt, danke für die Info!

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

                Support us

                ioBroker
                Community Adapters
                Donate

                857
                Online

                31.8k
                Users

                80.0k
                Topics

                1.3m
                Posts

                3
                6
                346
                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