Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Globale Funktionen für Alias Konvertierung?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

Globale Funktionen für Alias Konvertierung?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
19 Beiträge 5 Kommentatoren 1.0k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • paul53P paul53

    @xelarep sagte: DP im 0—userdata gehen, und dort den Alias drauf setzen…

    Ein Alias auf einen eigenen DP unter "0_userdata.0" macht keinen Sinn (Ressourcenverschwendung).

    X Offline
    X Offline
    xelarep
    schrieb am zuletzt editiert von
    #5

    @paul53 Du meinst ich soll nach Auslesen und Konvertieren direkt in den Alias reinschreiben?

    CodierknechtC 1 Antwort Letzte Antwort
    0
    • X xelarep

      @paul53 Du meinst ich soll nach Auslesen und Konvertieren direkt in den Alias reinschreiben?

      CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #6

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

      @paul53 Du meinst ich soll nach Auslesen und Konvertieren direkt in den Alias reinschreiben?

      Nein.
      In einen Alias schreibst Du nicht selbst.
      Aber einen DP in 0_userdata.0 schreibst Du ja mit 'nem Script. Dann kannst Du dort ja auch schon die passende Konvertierung vornehmen.

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      X 1 Antwort Letzte Antwort
      1
      • CodierknechtC Codierknecht

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

        @paul53 Du meinst ich soll nach Auslesen und Konvertieren direkt in den Alias reinschreiben?

        Nein.
        In einen Alias schreibst Du nicht selbst.
        Aber einen DP in 0_userdata.0 schreibst Du ja mit 'nem Script. Dann kannst Du dort ja auch schon die passende Konvertierung vornehmen.

        X Offline
        X Offline
        xelarep
        schrieb am zuletzt editiert von
        #7

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

        CodierknechtC 1 Antwort Letzte Antwort
        0
        • X xelarep

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

          CodierknechtC Offline
          CodierknechtC Offline
          Codierknecht
          Developer Most Active
          schrieb am zuletzt editiert von Codierknecht
          #8

          @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.

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          X 1 Antwort Letzte Antwort
          0
          • CodierknechtC 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 Offline
            X Offline
            xelarep
            schrieb am zuletzt editiert von
            #9

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

            CodierknechtC 1 Antwort Letzte Antwort
            0
            • X xelarep

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

              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #10

              @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.

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              T 1 Antwort Letzte Antwort
              0
              • CodierknechtC Codierknecht

                @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 Offline
                T Offline
                ticaki
                schrieb am zuletzt editiert von
                #11

                @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. :)

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                1 Antwort Letzte Antwort
                0
                • B Offline
                  B Offline
                  Blockmove
                  schrieb am zuletzt editiert von
                  #12

                  @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 👍

                  The difference beetween Man and Boys:
                  The price of their toys 😀

                  1 Antwort Letzte Antwort
                  1
                  • CodierknechtC Offline
                    CodierknechtC Offline
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #13

                    @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.

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    X 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @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 Offline
                      X Offline
                      xelarep
                      schrieb am zuletzt editiert von
                      #14

                      @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 :grimacing:

                      CodierknechtC paul53P 2 Antworten Letzte Antwort
                      0
                      • X xelarep

                        @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 :grimacing:

                        CodierknechtC Offline
                        CodierknechtC Offline
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #15

                        @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.

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Certified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        X paul53P 2 Antworten Letzte Antwort
                        0
                        • CodierknechtC Codierknecht

                          @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 Offline
                          X Offline
                          xelarep
                          schrieb am zuletzt editiert von
                          #16

                          @codierknecht Deswegen habe ich das ja gestern genau so gemacht :)

                          1 Antwort Letzte Antwort
                          0
                          • CodierknechtC Codierknecht

                            @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.

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #17

                            @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.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            0
                            • X xelarep

                              Hallo zusammen,

                              hab heute mal meinen ioBroker etwas aufgeräumt, und dabei den Grossteil meiner durch Javascript "behandelten" Datenpunkte in Devices/Aliase verfrachtet (lagen noch nicht mal in 0_userdata...)

                              Man kann ja im Einlesen der Aliases bereits Daten konvertieren, z.B. mit JSON.parse()... Temperaturen etc. in 'einfach lesbare' Zahlendarstellungen für's vis, NSPanel etc. Hab ich soweit hinbekommen, OK

                              Was ich nicht hinbekommen habe, bzw. einen Weg suche: wie kann ich beim Einlesen in den Alias weitere (eigene) Umrechnung mittels externer Funktionen machen?

                              Beispiel: ich habe einen Datenpunkt der mir eine Restlaufzeit meiner USV in Sekunden angibt. Den habe ich bisher mit einer kleinen JavaScript Funktionen in einen String Aal 'HH:MM:SS' gewandelt.

                              Ich hab versucht diese Funktion in einem Script im global Ordner abzulegen. Der Gerätemanager findet diese Funktion aber nicht...

                              Wie kann ich dieses Thema lösen?

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #18

                              @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.

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              1 Antwort Letzte Antwort
                              0
                              • X xelarep

                                @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 :grimacing:

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #19

                                @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.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                427

                                Online

                                32.5k

                                Benutzer

                                81.6k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe