Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. getState - außerhalb einer Funktion

    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

    getState - außerhalb einer Funktion

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

      Hallo,
      nachdem einige Shellys laufen, will ich mich doch mit der Gesamtsteuerung auseinandersetzen.
      Programmierung ist für mich kein Fremdwort.
      Bei Anderen Abgucken und dann Anpassen/Modifizieren ist also möglich ( Phyton Tcl/Tk )

      Der IoBroker (Ver v6.13.16) ist auf einem Raspberry installiert, Shelly als Adapter läuft.

      Ich will aus einem Shelly EM3 die Werte für Phase 1 2 und 3 auslesen und weiterverarbeiten.
      Aber ich scheitere anscheinend schon an den grundlegenden Sachen:

      Ich habe zur Weiterverarbeitung einen eigenen Datenpunkt 0_userdata.0.EM3.Phase1 erzeugt,
      kann ihn auch mit setState beschreiben, komme aber nicht wieder an die Werte.
      Lese ich die Werte mit der 1. Abfrage aus, bekomme ich auch die Inhalte.
      Aber ich kann die Werte nicht außerhalb der Funktion verwenden.
      Versuche ich dagegen getState direkt aufzurufen, blinken mich Errors an.

      Wer kann mir mal die Tür öffnen?????

      sei x = 321;
      sei y = 567
      // Abfrage mit getState funktioniert hier
      getState('0_userdata.0.EM3.Phase1', async (err, state) => {
      //let x = state.val;
      //console.log ({'Wert in der Schleife : ' : x});
      sei x = Staat;
      console.log({'Wert in der Schleife : ' : x});
      });
      console.log({"Wert von " :x});

      // so geht es nicht
      y = getState('0_userdata.0.EM3.Phase1').val;
      //y = $(('0_userdata.0.EM3.Phase1').val);

      console.log({"Wert ausserhalb Schleife " : y});

      // set state funktioniert
      setState('0_userdata.0.EM3.Phase1', 400);

      console.log("Ende");

      Schon mal DANKE
      Screenshot 2024-03-12 at 18-28-06 javascript - IoBroker.png

      Screenshot 2024-03-12 at 18-04-17 objects - IoBroker.png

      Screenshot 2024-03-12 at 18-28-48 logs - IoBroker.png

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

        @nachtfuchs-0
        Nimm in der Konfiguration der JS-Instanz den Haken raus bei "Nicht alle Zustände bei Start abonnieren".

        Künftig bitte Javascript-Code und Log-Ausgaben in Code tags posten (copy & paste).

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

          @paul53
          DANKE, für diesen schei... Haken habe ich einen Tag am Kopf gekratzt.

          Danke für den Hinweis, dass bei späteren Problemen eher der Text als Bilder helfen.

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

          Support us

          ioBroker
          Community Adapters
          Donate

          519
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          149
          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