Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. ioBroker Allgemein
  4. Alias oder JS

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    346

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    310

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    931

Alias oder JS

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
9 Beiträge 3 Kommentatoren 754 Aufrufe 3 Beobachtet
  • Ä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.
  • peterk34P Offline
    peterk34P Offline
    peterk34
    schrieb am zuletzt editiert von
    #1

    Eine Frage an die Optimierungsprofis. Was ist den Ressourcen schonender: ein komplexes alias mit Konvertierung oder ein Javascript welches einen Datenpunkt überwacht, auswertet und dann einen anlegt.

    haus-automatisierungH 1 Antwort Letzte Antwort
    0
    • BananaJoeB Online
      BananaJoeB Online
      BananaJoe
      Most Active
      schrieb am zuletzt editiert von
      #2

      Naja, bei beiden läuft JavaScript, der Alias ist letztendlich auch nichts anderes bzw. dahinter baut ja eine Logik das auseinander.
      Ich arbeite viel mit JavaScript weil da mein Skript z.B. einen JSON einliest und den auf 10 Datenpunkte schreibt.
      Bei einem Alias - soweit ich das verstanden habe - würde sich jeder Alias-Datenpunkt seinen Wert einzeln ziehen, mein JSON oben also 10fach entweder abgefragt oder es triggert 10fach etwas um die Punkte wegzuschreiben.

      Da die JavaScript-Instanzen jeweils eigene Prozesse sind könnte man hier sogar optimieren indem man die Skripte auf mehrere Instanzen verteilt. Würde sich aber wohl nur bei sehr prozessorintensiven Skripten lohnen.

      Meine 10 Datenpunkte per JavaScript zu zerlegen dauert laut Log (Debug Meldung davor und danach) jedenfalls um die 0.001 Sekunden ...
      Bei mir laufen ca. 400 Skripte auf 2 Instanzen - bei mir hat jede Steckdose mit Tasmota sein eigenes Skript mit 6 Triggern. Plus diverses was man sonst noch steuern will oder das Summieren der Solaranlage und anderer Zähler im 15 Sekunden Takt. Das mit dem jeweils eigenem Skript ist zwar - bei Updates von Skripts - durchaus mühsam, skaliert aber besser als wenn ein Adapter das alleine macht.

      Alias ist natürlich so ein "Einrichten und vergessen bis sich die Quelle ändert" Ding.
      In meinen Skripten prüfe und korrigiere ich oft halt noch mehr, dank der Suche (man kann ja nach allen über alle Skripte suchen) finde ich auch so schnell alle Stellen wo ich einmal etwas ändern müsste, z.B. wenn ein Sensor nicht mehr hinter zigbee.0 sondern zigbee.1 steht. Die Datenpunkte lege ich am Scriptanfang alle in Variablen und verwende nur diese weiter unten im Skript. So muss ich imme rnur im Kopf es abändern.

      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

      peterk34P 1 Antwort Letzte Antwort
      0
      • peterk34P peterk34

        Eine Frage an die Optimierungsprofis. Was ist den Ressourcen schonender: ein komplexes alias mit Konvertierung oder ein Javascript welches einen Datenpunkt überwacht, auswertet und dann einen anlegt.

        haus-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #3

        @peterk34 sagte in Alias oder JS:

        Was ist den Ressourcen schonender

        Da man für das Alias-Feature und die Konvertierungen gar keine Adapter braucht (passiert ja im js-controller), ist die Frage relativ leicht zu beantworten :)

        Scripts sind aber deutlich flexibler und können auch Infos "überspringen", was im Alias nicht geht. Oder Daten aus mehreren Datenpunkten zusammenführen, was im Alias auch nicht geht. Es kommt also drauf an, was man vor hat.

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        peterk34P 1 Antwort Letzte Antwort
        0
        • haus-automatisierungH haus-automatisierung

          @peterk34 sagte in Alias oder JS:

          Was ist den Ressourcen schonender

          Da man für das Alias-Feature und die Konvertierungen gar keine Adapter braucht (passiert ja im js-controller), ist die Frage relativ leicht zu beantworten :)

          Scripts sind aber deutlich flexibler und können auch Infos "überspringen", was im Alias nicht geht. Oder Daten aus mehreren Datenpunkten zusammenführen, was im Alias auch nicht geht. Es kommt also drauf an, was man vor hat.

          peterk34P Offline
          peterk34P Offline
          peterk34
          schrieb am zuletzt editiert von
          #4

          @haus-automatisierung

          dann machts also durchaus Sinn auch etwas komplexere Dinge wie

          '<div class="tblZelle txtWKB ' + (val <= 0 ? 'bgInaktiv' : 'bgAktiv' ) + '"><span>' +(val <=0 ? 'Entladung<br>' : 'Ladung<br>' ) + ((val <1000 && val>-1000) ? Math.round(val) + 'W' : (Math.round(val/100)/10) + 'kW') + '</span></div>'
          

          über alias zu lösen und dann wenn verschiedene Berechnungen oder Anpassungen erforderlich sind ins JS

          Danke Matthias

          haus-automatisierungH 1 Antwort Letzte Antwort
          0
          • BananaJoeB BananaJoe

            Naja, bei beiden läuft JavaScript, der Alias ist letztendlich auch nichts anderes bzw. dahinter baut ja eine Logik das auseinander.
            Ich arbeite viel mit JavaScript weil da mein Skript z.B. einen JSON einliest und den auf 10 Datenpunkte schreibt.
            Bei einem Alias - soweit ich das verstanden habe - würde sich jeder Alias-Datenpunkt seinen Wert einzeln ziehen, mein JSON oben also 10fach entweder abgefragt oder es triggert 10fach etwas um die Punkte wegzuschreiben.

            Da die JavaScript-Instanzen jeweils eigene Prozesse sind könnte man hier sogar optimieren indem man die Skripte auf mehrere Instanzen verteilt. Würde sich aber wohl nur bei sehr prozessorintensiven Skripten lohnen.

            Meine 10 Datenpunkte per JavaScript zu zerlegen dauert laut Log (Debug Meldung davor und danach) jedenfalls um die 0.001 Sekunden ...
            Bei mir laufen ca. 400 Skripte auf 2 Instanzen - bei mir hat jede Steckdose mit Tasmota sein eigenes Skript mit 6 Triggern. Plus diverses was man sonst noch steuern will oder das Summieren der Solaranlage und anderer Zähler im 15 Sekunden Takt. Das mit dem jeweils eigenem Skript ist zwar - bei Updates von Skripts - durchaus mühsam, skaliert aber besser als wenn ein Adapter das alleine macht.

            Alias ist natürlich so ein "Einrichten und vergessen bis sich die Quelle ändert" Ding.
            In meinen Skripten prüfe und korrigiere ich oft halt noch mehr, dank der Suche (man kann ja nach allen über alle Skripte suchen) finde ich auch so schnell alle Stellen wo ich einmal etwas ändern müsste, z.B. wenn ein Sensor nicht mehr hinter zigbee.0 sondern zigbee.1 steht. Die Datenpunkte lege ich am Scriptanfang alle in Variablen und verwende nur diese weiter unten im Skript. So muss ich imme rnur im Kopf es abändern.

            peterk34P Offline
            peterk34P Offline
            peterk34
            schrieb am zuletzt editiert von
            #5

            @bananajoe

            Danke für die ausführliche Erklärung. Ich hab ja auch schon einen ganzen A... voll scripts. Jetzt bin ich grad dabei mein VIS zu sanieren und das ergibt wieder viele mehr. Kann man aber wohl auch gut mit Alias lösen - zumindest zum Teil

            1 Antwort Letzte Antwort
            0
            • peterk34P peterk34

              @haus-automatisierung

              dann machts also durchaus Sinn auch etwas komplexere Dinge wie

              '<div class="tblZelle txtWKB ' + (val <= 0 ? 'bgInaktiv' : 'bgAktiv' ) + '"><span>' +(val <=0 ? 'Entladung<br>' : 'Ladung<br>' ) + ((val <1000 && val>-1000) ? Math.round(val) + 'W' : (Math.round(val/100)/10) + 'kW') + '</span></div>'
              

              über alias zu lösen und dann wenn verschiedene Berechnungen oder Anpassungen erforderlich sind ins JS

              Danke Matthias

              haus-automatisierungH Online
              haus-automatisierungH Online
              haus-automatisierung
              Developer Most Active
              schrieb am zuletzt editiert von haus-automatisierung
              #6

              @peterk34 Ja, wobei ich Fan von Template literals bin:

              `<div class="tblZelle txtWKB ${val <= 0 ? 'bgInaktiv' : 'bgAktiv'}"><span>${val <= 0 ? 'Entladung' : 'Ladung'}<br>${val < 1000 && val > -1000 ? Math.round(val) : (Math.round(val / 100) / 10) + 'k'}W</span></div>`
              

              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
              📚 Meine inoffizielle ioBroker Dokumentation

              BananaJoeB 1 Antwort Letzte Antwort
              0
              • haus-automatisierungH haus-automatisierung

                @peterk34 Ja, wobei ich Fan von Template literals bin:

                `<div class="tblZelle txtWKB ${val <= 0 ? 'bgInaktiv' : 'bgAktiv'}"><span>${val <= 0 ? 'Entladung' : 'Ladung'}<br>${val < 1000 && val > -1000 ? Math.round(val) : (Math.round(val / 100) / 10) + 'k'}W</span></div>`
                
                BananaJoeB Online
                BananaJoeB Online
                BananaJoe
                Most Active
                schrieb am zuletzt editiert von
                #7

                @haus-automatisierung @peterk34 wobei das ja schon wieder interessant sein könnte ob es von Vorteil ist/sein könnte die Werte in der VIS berechnen zu lassen (das macht Ihr doch an der Stelle mit Binding, oder?). Ich habe ja alles gerne in Datenpunkten.

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                1 Antwort Letzte Antwort
                0
                • haus-automatisierungH Online
                  haus-automatisierungH Online
                  haus-automatisierung
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @bananajoe Ja, könnte man schon machen. Ich finde es auch nicht so schön, HTML in Datenpunkten zu haben.

                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                  📚 Meine inoffizielle ioBroker Dokumentation

                  peterk34P 1 Antwort Letzte Antwort
                  0
                  • haus-automatisierungH haus-automatisierung

                    @bananajoe Ja, könnte man schon machen. Ich finde es auch nicht so schön, HTML in Datenpunkten zu haben.

                    peterk34P Offline
                    peterk34P Offline
                    peterk34
                    schrieb am zuletzt editiert von
                    #9

                    @haus-automatisierung @BananaJoe wenn ich diese Formel mit bindings mache rufe ich den Wert aus dem Datenpunkt mehrmals ab. Ich hab’s dann als alias probiert und diesen Datenpunkt mittels binding in ein html Widget geholt. Die Klassen sind im css definiert. Es ist deutlich schneller über den alias als wenn ich’s im vis 2 vollständig berechne. Insgesamt ist’s eine Tabelle mit acht solchen Feldern- da ist der Unterschied nicht nur meßbar sondern deutlich merkbar

                    1 Antwort Letzte Antwort
                    1

                    Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                    Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                    Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                    Registrieren Anmelden
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate
                    FAQ Cloud / IOT
                    HowTo: Node.js-Update
                    HowTo: Backup/Restore
                    Downloads
                    BLOG

                    528

                    Online

                    32.8k

                    Benutzer

                    82.8k

                    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