Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Alias nach Bedingung aus Zwei Datenpunkten füllen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alias nach Bedingung aus Zwei Datenpunkten füllen

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

      Hallo zusammen,

      ist es möglich einen Alias nach einer Bedingung zu füllen?

      Konkret:
      Es soll ein AliasDatenpunkt nach einer aktualität eines Datenpunktes, nicht älter als 1h, entweder mit dem einen, oder einen anderen Datenpunkt beschrieben werden.

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

        @australien sagte: entweder mit dem einen, oder einen anderen Datenpunkt beschrieben werden.

        So etwas geht nur per Skript.

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

          @paul53
          das hatte ich befürchtet.
          Leider bin ich da nicht sehr versiert, kannst du mir da ein grobes vorstellen, welches ich dann bei mir anpassen kann.

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

            @australien sagte: vorstellen, welches ich dann bei mir anpassen kann.

            Dazu ist die Aufgabenstellung zu vage.

            EDIT: Meinst Du so mit den zwei Quell-Datenpunkten?

            const id1 = ''; // bevorzugter DP
            const id2 = ''; // alternativer DP
            const idDst = '0_userdata.0.xyz';
            
            var ts1 = getState(id1).ts;
            
            on({id: id1}, function(dp) {
                setState(idDst, dp.state.val, dp.state.ack);
                ts1 = dp.state.ts;
            });
            
            on({id: id2}, function(dp) {
                if(dp.state.ts - ts1 > 3600000) setState(idDst, dp.state.val, dp.state.ack);
            });
            
            A 1 Reply Last reply Reply Quote 0
            • A
              australien @paul53 last edited by australien

              @paul53
              danke und sorry für meine späte Rückmeldung.

              ich habe das Script jetzt folgendermaßen abgeändert

              /*
              befüllt den Alias Datenpunkt für die lokale Temperatur am NSPanel
              */
              
              const id1 = 'netatmo-crawler.0.stationData.1.temperature'; // bevorzugter DP
              const id2 = 'alias.0.Wetter.ORT.TEMP'; // alternativer DP
              
              // const idDst = '0_userdata.0.xyz';
              const idDst = '0_userdata.0.NSPanel.eigen_TEMP';
               
              var ts1 = getState(id1).ts;
              
              on({id: id1}, function(dp) {
                  setState(idDst, dp.state.val, dp.state.ack);
                  ts1 = dp.state.ts;
              });
              
              on({id: id2}, function(dp) {
                  if(dp.state.ts - ts1 > 360) setState(idDst, dp.state.val, dp.state.ack);
              });
              
              

              nun das Problem genauer erklärt.
              Der Adapter netatmo-crawler bekommt hinundwieder kein aktuelles Wetter, warum auch immer (?). Nun soll, wenn der Datenpunkt daraus älter als 6 Minuten (360) ist, mit dem id2 Daten beschrieben werden.

              Das funktioniert auch mit diesem Script, Danke!

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

                @australien sagte: 6 Minuten (360)

                Da fehlen 3 Nullen (ts ist in ms).

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

                  @paul53
                  Danke für den Hinweis, hatte nur bei JS geschaut.

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  539
                  Online

                  32.0k
                  Users

                  80.4k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  318
                  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