Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Globale Funktionen für Alias Konvertierung?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Globale Funktionen für Alias Konvertierung?

    This topic has been deleted. Only users with topic management privileges can see it.
    • X
      xelarep @Codierknecht last edited by

      @codierknecht so meinte ich das ja: bei Wertminderung per MQTT den per javascript konvertierten Wert in 0_userdata reinschreibe, darauf dann den Alias setzen

      Codierknecht 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @xelarep last edited by Codierknecht

        @xelarep sagte in Globale Funktionen für Alias Konvertierung?:

        den per javascript konvertierten Wert in 0_userdata reinschreibe

        Und warum darauf nochmal einen Alias?
        Du schreibst doch per Script in 0_userdata. Da kannst Du doch schon konvertieren wie Du es gerne hättest.

        X 1 Reply Last reply Reply Quote 0
        • X
          xelarep @Codierknecht last edited by

          @codierknecht Im (Geräte-)Alias werden noch andere Daten gesammelt 😉

          Codierknecht 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @xelarep last edited by

            @xelarep
            Du meinst, Du hast unterhalb von alias.0 eine komplette Struktur für das Gerät und willst dort dann alles "zusammenhalten"?
            Das kannst Du ja halten wie ein Dachdecker - Deine freie Wahl.
            Auch wenn ein Alias auf einen eigenen DP etwas überflüssig ist.

            T 1 Reply Last reply Reply Quote 0
            • T
              ticaki Developer @Codierknecht last edited by

              @codierknecht sagte in Globale Funktionen für Alias Konvertierung?:

              @xelarep
              Auch wenn ein Alias auf einen eigenen DP etwas überflüssig ist.

              Verstehe nicht wieso. Wo ist den der Unterschied zwischen einen Skript das für sich zusammengehöre Datenpunkte nicht kreuz und quer durch die Landschaft verteilt und einem Adapter? Ja den Adapter kann man nicht ändern, aber so falsch ist das nicht das Datenpunkt die von X hergestellt werden auch dort liegen wo man sie vermutet. 🙂

              1 Reply Last reply Reply Quote 0
              • B
                Blockmove last edited by

                @codierknecht said in Globale Funktionen für Alias Konvertierung?:

                Auch wenn ein Alias auf einen eigenen DP etwas überflüssig ist.

                Wenn man so argumentiert, dann sind Alias allgemein etwas überflüssig 😀

                Eigentlich sollen sie ja nur Gerätetausch erleichtern und für Übersichtlichkeit sorgen. Da ist es doch egal ob die Daten von nem Adapter oder von einem Script kommen.

                Das ist doch - aus meiner Sicht - das Schöne an ioBroker dass es verschiedene Wege gibt 👍

                1 Reply Last reply Reply Quote 1
                • Codierknecht
                  Codierknecht Developer Most Active last edited by

                  @ticaki @Blockmove
                  Aliase benutzt man vermutlich meistens, um den Tausch von Geräten zu erleichtern.
                  Wenn dahinter aber ein DP aus 0_userdata steckt, muss auf jeden Fall auch ein Script angepasst werden.
                  Daher finde ich in diesem Fall einen Alias etwas überflüssig.
                  Vor allem dann, wenn man im Alias nochmal eine Konvertierung vornehmen will, die man genau so gut auch gleich im Script machen kann.

                  Nutzt man Aliase, um DP "zusammenzuhalten", kann das ja jeder halten wie er/sie will.

                  X 1 Reply Last reply Reply Quote 0
                  • X
                    xelarep @Codierknecht last edited by

                    @codierknecht sagte in Globale Funktionen für Alias Konvertierung?:

                    Nutzt man Aliase, um DP "zusammenzuhalten", kann das ja jeder halten wie er/sie will.

                    @codierknecht genau deswegen ja meine Eingangsfrage 😉
                    Ich würde halt gerne die 0_userdata vermeiden und direkt im Alias konvertieren. Dort kann ich aber halt nur Grundrechenarten oder JSON ein/auspacken 😞

                    Ich hab die letzten Jahre genügend Hardware gewechselt und wollte deswegen im Zuge der Aufräumarbeiten mir das Leben halt so angenehm wie möglich machen. Dazu gehören für mich dann Aliase - was ja auch schon mal ein Erleichterung ist.

                    Jetzt könnte ich sogar den flot wieder behalten 😬

                    Codierknecht paul53 2 Replies Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @xelarep last edited by

                      @xelarep sagte in Globale Funktionen für Alias Konvertierung?:

                      Ich würde halt gerne die 0_userdata vermeiden und direkt im Alias konvertieren

                      Wie Du mittlerweile erfahren hast, geht das so nicht.
                      0_userdata vermeiden und direkt in einen Alias schreiben geht nicht.
                      Da in 0_userdata aber mit einem Script geschrieben wird, kannst Du ja dort die Konvertierung vornehmen und den Wert bereits so wegschreiben wie Du ihn gerne hättest.
                      Den Alias benutzt Du dann nur zum "zusammenhalten".

                      Wenn sich an der Ecke die Hardware ändert, hilft Dir der Alias ja wenig. Das Script muss sowieso angepackt werden.

                      X paul53 2 Replies Last reply Reply Quote 0
                      • X
                        xelarep @Codierknecht last edited by

                        @codierknecht Deswegen habe ich das ja gestern genau so gemacht 🙂

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

                          @codierknecht sagte: hilft Dir der Alias ja wenig. Das Script muss sowieso angepackt werden.

                          In Skripten solle man nur Alias-DP und eigene DP verwenden: Im Alias kann man (unvollständige) Vorarbeit durch Konvertierung machen, im eigenen Datenpunkt steht dann das endgültige Ergebnis.

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

                            @xelarep sagte: Restlaufzeit meiner USV in Sekunden angibt. Den habe ich bisher mit einer kleinen JavaScript Funktionen in einen String Aal 'HH:MM:SS' gewandelt.

                            Beispiel für Javascript-Funktion mit Dauern im Alias und formatiert in eigenen Datenpunkten:

                            const ids = ['alias.0.abc', 'alias.0.xyz']; // enhalten Dauern in s
                            
                            on(ids, function(dp) {
                                const id = dp.id.replace('alias.0.', '0_userdata.0.');
                                setState(id, formatDate(1000 * dp.state.val, 'hh:mm:ss'), true);
                            });
                            

                            Es geht so einfach, wenn man unter "alias.0" und "0_userdata.0" die gleiche ID-Struktur verwendet.

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

                              @xelarep sagte: 0_userdata vermeiden und direkt im Alias konvertieren.

                              new Date(1000 * (val + 60 * new Date().getTimezoneOffset())).toLocaleTimeString('de-DE')
                              

                              ... bezieht sich auf Wandlung Sekunden nach "hh:mm:ss".

                              EDIT(18:15 Uhr): Korrigiert um Zeitzone.

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              483
                              Online

                              31.7k
                              Users

                              79.8k
                              Topics

                              1.3m
                              Posts

                              5
                              19
                              579
                              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