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. Wie current werte und in target werte schreiben

NEWS

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

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

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

Wie current werte und in target werte schreiben

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklyjavascript
14 Beiträge 3 Kommentatoren 960 Aufrufe 1 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.
  • F Flopsi

    @paul53

    2020-09-30 19_15_05-javascript - ioBroker.png

    Das habe ich mal probiert so ohne Erfolg

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

    @Flopsi sagte:

    Das habe ich mal probiert

    Daraus kann ich leider keine IDs erkennen, sondern nur Namen. Poste bitte die beiden IDs zu Node_24.

    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

    F 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @Flopsi sagte:

      Das habe ich mal probiert

      Daraus kann ich leider keine IDs erkennen, sondern nur Namen. Poste bitte die beiden IDs zu Node_24.

      F Offline
      F Offline
      Flopsi
      schrieb am zuletzt editiert von Flopsi
      #5

      @paul53 2020-10-01 19_14_30-objects - ioBroker.png

      2020-10-01 19_15_39-objects - ioBroker.png

      paul53P 1 Antwort Letzte Antwort
      0
      • F Flopsi

        @paul53 2020-10-01 19_14_30-objects - ioBroker.png

        2020-10-01 19_15_39-objects - ioBroker.png

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

        @Flopsi
        Welche Instanz ? "zwave.0" ?

        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

        F 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @Flopsi
          Welche Instanz ? "zwave.0" ?

          F Offline
          F Offline
          Flopsi
          schrieb am zuletzt editiert von
          #7

          @paul53 2020-10-01 19_19_05-objects - ioBroker.png

          paul53P 1 Antwort Letzte Antwort
          0
          • F Offline
            F Offline
            Flopsi
            schrieb am zuletzt editiert von
            #8

            @paul53
            Ich hab schon Alias im Einsatz und zwar nutze ich das als Platzhalter für meine Module..

            Soll ich das Javaskript mal Posten .....

            1 Antwort Letzte Antwort
            0
            • AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              schrieb am zuletzt editiert von
              #9

              Statt "steuere" müsste mindestens "aktualisiere" verwendet werden. Sonst löst nachher jedes Update von currentValue einen neuen Schaltvorgang aus.

              @paul53 Die Überlegung war, das durch einen Alias wegzukapseln, da es für @Flopsi ein Anzeigeproblem in VIS darstellt. Lesen immer aus currentValue, Schreiben immer in targetValue.

              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

              1 Antwort Letzte Antwort
              0
              • F Flopsi

                @paul53 2020-10-01 19_19_05-objects - ioBroker.png

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

                @Flopsi
                Das folgende Script in das Javascript-Editor-Fenster kopieren und starten:

                // Original-Datenpunkt
                const idOrigin = 'zwave2.0.Node_24.Binary_Switch.targetValue_002'; 
                // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
                // Bei Nicht-Verwendung Leerstring '' zuweisen
                const idRead = 'zwave2.0.Node_24.Binary_Switch.currentValue_002';
                 
                // Alias-Datenpunkt
                const idAlias = 'Wohnzimmer.Fernseher';
                var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                
                // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                nameAlias = 'Fernseher Wohnzimmer';
                desc = 'per Script erstellt';
                // typeAlias = 'boolean'; // oder 'number'
                // read = "val < 0 ? -val : 0"; // Erkennung "Aus" --> false erfolgt automatisch  
                // write = "val ? true : true";
                // role = 'value';
                // min = 0; // nur Zahlen
                // max = 100; // nur Zahlen
                // unit = '%'; // nur für Zahlen
                // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                // custom = []; // verhindert doppelte Ausführung von history, ...
                // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
                // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
                
                // Ab hier nichts ändern !!
                function createAlias(idDst, idSrc, idRd) {
                   if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                   else {
                      var obj = {};
                      obj.type = 'state';
                      obj.common = getObject(idSrc).common;
                      obj.common.alias = {};
                      if(idRd) {
                          obj.common.alias.id = {};
                          obj.common.alias.id.read = idRd;
                          obj.common.alias.id.write = idSrc;
                          obj.common.read = true;
                      } else obj.common.alias.id = idSrc;
                      if(typeAlias) obj.common.type = typeAlias;
                      if(obj.common.read !== false && read) obj.common.alias.read = read;
                      if(obj.common.write !== false && write) obj.common.alias.write = write;
                      if(nameAlias) obj.common.name = nameAlias;
                      if(role) obj.common.role = role;
                      if(desc) obj.common.desc = desc;
                      if(min !== undefined) obj.common.min = min;
                      if(max !== undefined) obj.common.max = max;
                      if(unit) obj.common.unit = unit;
                      if(states) obj.common.states = states;
                      if(custom && obj.common.custom) obj.common.custom = custom;
                      obj.native = {};
                      setObject(idDst, obj);
                      if(raum && existsObject('enum.rooms.' + raum)) {
                         let obj = getObject('enum.rooms.' + raum)
                         obj.common.members.push(idDst);
                         setObject('enum.rooms.' + raum, obj);
                      }
                      if(gewerk && existsObject('enum.functions.' + gewerk)) {
                         let obj = getObject('enum.functions.' + gewerk)
                         obj.common.members.push(idDst);
                         setObject('enum.functions.' + gewerk, obj);
                      }
                   } 
                }
                 
                createAlias('alias.0.' + idAlias, idOrigin, idRead);
                

                Für weitere Alias-Datenpunkte müssen idOrigin, idRead, idAlias und nameAlias angepasst werden.

                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
                • F Offline
                  F Offline
                  Flopsi
                  schrieb am zuletzt editiert von
                  #11

                  @AlCalzone Ne nicht im VIS sondern im Datenpunkt selber.....da steht dann bei Current der Wert

                  true

                  und im targte steht

                  (null)

                  @paul53

                  kann man zwei alias skripte laufen lassen wie gesagt habe ich schon ein am laufen ...

                  AlCalzoneA paul53P 2 Antworten Letzte Antwort
                  0
                  • F Flopsi

                    @AlCalzone Ne nicht im VIS sondern im Datenpunkt selber.....da steht dann bei Current der Wert

                    true

                    und im targte steht

                    (null)

                    @paul53

                    kann man zwei alias skripte laufen lassen wie gesagt habe ich schon ein am laufen ...

                    AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    schrieb am zuletzt editiert von
                    #12

                    @Flopsi Das ist doch vollkommen egal, wenn der Alias so konfiguriert ist, dass er den currentValue liest und den targetValue schreibt!

                    Das Alias-Skript ist auch nur zum Anlegen des Alias-Datenpunkts. Diesen Alias-DP nutzt du dann in VIS etc.

                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                    1 Antwort Letzte Antwort
                    0
                    • F Flopsi

                      @AlCalzone Ne nicht im VIS sondern im Datenpunkt selber.....da steht dann bei Current der Wert

                      true

                      und im targte steht

                      (null)

                      @paul53

                      kann man zwei alias skripte laufen lassen wie gesagt habe ich schon ein am laufen ...

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

                      @Flopsi sagte:

                      kann man zwei alias skripte laufen lassen

                      Die Skripte zur Erzeugung von Alias-DP laufen nicht ständig, sondern werden nur kurz gestartet und nach Erledigung wieder gestoppt. Deshalb können auch mehrere Skripte existieren.

                      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
                      • F Offline
                        F Offline
                        Flopsi
                        schrieb am zuletzt editiert von Flopsi
                        #14

                        Ok ich werde es mal testen sobald ich meinen Pi neustarten muss was ich mal am Wochende mache, unter der Woche das bewust machen ist immer so ne sache ...mit der Zeit :)

                        Auf jeden fall erstmal vielen Dank

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


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        812

                        Online

                        32.4k

                        Benutzer

                        81.5k

                        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