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. Skripten / Logik
  4. Blockly
  5. Yahka und Zeitsteuerung ESPeasy

NEWS

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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Yahka und Zeitsteuerung ESPeasy

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklymonitoring
14 Beiträge 2 Kommentatoren 1.0k Aufrufe 1 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.
  • xxx_turbo_xxxX xxx_turbo_xxx

    @paul53 Ich denke nicht. Zumindest wüsste ich nicht wie! Der Wemos sendet ja nur 0 und 1 und Yahka setzt den Status auf wahr oder falsch...

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

    @xxx_turbo_xxx sagte:

    Der Wemos sendet ja nur 0 und 1

    Wird die Pumpe nicht geschaltet, wenn der Wert im Objekt-Tab geändert wird (0 --> 1 / 1 --> 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

    xxx_turbo_xxxX 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @xxx_turbo_xxx sagte:

      Der Wemos sendet ja nur 0 und 1

      Wird die Pumpe nicht geschaltet, wenn der Wert im Objekt-Tab geändert wird (0 --> 1 / 1 --> 0) ?

      xxx_turbo_xxxX Offline
      xxx_turbo_xxxX Offline
      xxx_turbo_xxx
      schrieb am zuletzt editiert von
      #5

      @paul53 Nein, ioBroker empfängt den Wert nur, wenn ich das richtig sehe

      paul53P 1 Antwort Letzte Antwort
      0
      • xxx_turbo_xxxX xxx_turbo_xxx

        @paul53 Nein, ioBroker empfängt den Wert nur, wenn ich das richtig sehe

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

        @xxx_turbo_xxx sagte:

        ioBroker empfängt den Wert nur

        Dann benötigst Du einen Alias-Datenpunkt mit getrenntem Kommando / Status.

        • alias.id.write: "0_userdata.0.Pool.Pumpe"
        • alias.id.read: "mqtt.0.ESP_Easy_pro_11.Pumpe.State"
        • alias.read: "!!val"

        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

        xxx_turbo_xxxX 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @xxx_turbo_xxx sagte:

          ioBroker empfängt den Wert nur

          Dann benötigst Du einen Alias-Datenpunkt mit getrenntem Kommando / Status.

          • alias.id.write: "0_userdata.0.Pool.Pumpe"
          • alias.id.read: "mqtt.0.ESP_Easy_pro_11.Pumpe.State"
          • alias.read: "!!val"
          xxx_turbo_xxxX Offline
          xxx_turbo_xxxX Offline
          xxx_turbo_xxx
          schrieb am zuletzt editiert von
          #7

          @paul53 Ok. Kannst du mir das bitte etwas genauer darstellen? Wo trage ich die Werte ein?

          paul53P 1 Antwort Letzte Antwort
          0
          • xxx_turbo_xxxX xxx_turbo_xxx

            @paul53 Ok. Kannst du mir das bitte etwas genauer darstellen? Wo trage ich die Werte ein?

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

            @xxx_turbo_xxx
            Kopiere folgendes Script und starte es kurz einmal:

            // Original-Datenpunkt
            const idOrigin = '0_userdata.0.Pool.Pumpe'; 
            // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
            // Bei Nicht-Verwendung Leerstring '' zuweisen
            const idRead = 'mqtt.0.ESP_Easy_pro_11.Pumpe.State';
             
            // Alias-Datenpunkt
            const idAlias = 'Pool.Pumpe';
            var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
            // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
            nameAlias = 'Pool Pumpe';
            desc = 'per Script erstellt';
            typeAlias = 'boolean'; // oder 'number'
            read = "!!val";   
            // write = "val ? true : true";
            role = 'switch';
            // 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);
            

            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

            xxx_turbo_xxxX 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @xxx_turbo_xxx
              Kopiere folgendes Script und starte es kurz einmal:

              // Original-Datenpunkt
              const idOrigin = '0_userdata.0.Pool.Pumpe'; 
              // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
              // Bei Nicht-Verwendung Leerstring '' zuweisen
              const idRead = 'mqtt.0.ESP_Easy_pro_11.Pumpe.State';
               
              // Alias-Datenpunkt
              const idAlias = 'Pool.Pumpe';
              var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
              // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
              nameAlias = 'Pool Pumpe';
              desc = 'per Script erstellt';
              typeAlias = 'boolean'; // oder 'number'
              read = "!!val";   
              // write = "val ? true : true";
              role = 'switch';
              // 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);
              
              xxx_turbo_xxxX Offline
              xxx_turbo_xxxX Offline
              xxx_turbo_xxx
              schrieb am zuletzt editiert von
              #9

              @paul53 ok... hab ich

              paul53P xxx_turbo_xxxX 2 Antworten Letzte Antwort
              0
              • xxx_turbo_xxxX xxx_turbo_xxx

                @paul53 ok... hab ich

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

                @xxx_turbo_xxx sagte:

                hab ich

                Dann sollte ein Datenpunkt "alias.0.Pool.Pumpe" vorhanden sein, den Du mit Yahka verwenden kannst.

                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

                xxx_turbo_xxxX 2 Antworten Letzte Antwort
                0
                • xxx_turbo_xxxX xxx_turbo_xxx

                  @paul53 ok... hab ich

                  xxx_turbo_xxxX Offline
                  xxx_turbo_xxxX Offline
                  xxx_turbo_xxx
                  schrieb am zuletzt editiert von
                  #11

                  @xxx_turbo_xxx Wenn ich das richtig verstehe legt das Script nur den Datenpunkt unter alias an, richtig?

                  1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @xxx_turbo_xxx sagte:

                    hab ich

                    Dann sollte ein Datenpunkt "alias.0.Pool.Pumpe" vorhanden sein, den Du mit Yahka verwenden kannst.

                    xxx_turbo_xxxX Offline
                    xxx_turbo_xxxX Offline
                    xxx_turbo_xxx
                    schrieb am zuletzt editiert von
                    #12

                    @paul53 Läuft! Danke!!! Dann kann ich das Skript theoretisch wieder löschen bzw. deaktivieren? Jetzt muss ich nur noch verstehen, was da im Hintergrund läuft :-)

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @xxx_turbo_xxx sagte:

                      hab ich

                      Dann sollte ein Datenpunkt "alias.0.Pool.Pumpe" vorhanden sein, den Du mit Yahka verwenden kannst.

                      xxx_turbo_xxxX Offline
                      xxx_turbo_xxxX Offline
                      xxx_turbo_xxx
                      schrieb am zuletzt editiert von
                      #13

                      @paul53 eines ist mir allerdings noch aufgefallen. Wenn ich die Pumpe manuell per Browserkommando starte kann ich sie nicht per Homekit deaktivieren...

                      1 Antwort Letzte Antwort
                      0
                      • xxx_turbo_xxxX xxx_turbo_xxx

                        @paul53 Läuft! Danke!!! Dann kann ich das Skript theoretisch wieder löschen bzw. deaktivieren? Jetzt muss ich nur noch verstehen, was da im Hintergrund läuft :-)

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

                        @xxx_turbo_xxx sagte:

                        Dann kann ich das Skript theoretisch wieder löschen bzw. deaktivieren?

                        Nein, das Skript wandelt das Kommando (false/true) vom Datenpunkt in eine gesendete URL, wird also weiterhin benötigt.

                        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

                        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

                        569

                        Online

                        32.8k

                        Benutzer

                        82.7k

                        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