Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. HM-RPC Level Kanal 3&4 nicht synchron

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    HM-RPC Level Kanal 3&4 nicht synchron

    This topic has been deleted. Only users with topic management privileges can see it.
    • Negalein
      Negalein Global Moderator last edited by

      @dslraser @paul53

      Funktioniert mit dem Alias.

      Shuttercontroll hat soeben brav geschlossen! 🙂

      dslraser 1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @Negalein last edited by dslraser

        @negalein sagte in HM-RPC Level Kanal 3&4 nicht synchron:

        @dslraser @paul53

        Funktioniert mit dem Alias.

        Shuttercontroll hat soeben brav geschlossen! 🙂

        beobachte es mal noch einen Tag. Wie war das Log und history zu der Zeit als Shuttercontrol geschlossen hat ?

        Negalein 1 Reply Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @Negalein last edited by dslraser

          @negalein sagte in HM-RPC Level Kanal 3&4 nicht synchron:

          Im Log stehts richtig.
          Bin dann gespannt.

          ist das Log und der Screenshot zur gleichen Zeit gemacht ?

          Edit: weil das Log von 18:00 Uhr ist ?

          Negalein 1 Reply Last reply Reply Quote 0
          • Negalein
            Negalein Global Moderator @dslraser last edited by

            @dslraser sagte in HM-RPC Level Kanal 3&4 nicht synchron:

            ist das Log und der Screenshot zur gleichen Zeit gemacht ?

            Ja, war der Zeitpunkt, wo ich den Schalter betätigt habe.

            Schalter betätigt --> im Wert wird 0 angezeigt, im Log aber die richtigen 93

            1 Reply Last reply Reply Quote 0
            • Negalein
              Negalein Global Moderator last edited by

              @dslraser

              Kann ich in diesem Script auch die anderen Rollos einfügen, oder je Rollo 1 Script?

              // Original-Datenpunkt
              const idOrigin = 'hm-rpc.0.00115A49A5B2BE.4.LEVEL'/*Rollo Wohnzimmer :4 LEVEL*/ 
              // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
              // Bei Nicht-Verwendung Leerstring '' zuweisen
              const idRead = 'hm-rpc.0.00115A49A5B2BE.3.LEVEL'/*Rollo Wohnzimmer :4 LEVEL*/
               
              // Alias-Datenpunkt
              const idAlias = 'Rollos.Rollo_Wohnzimmer';
               
              var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
               
              // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
              nameAlias = 'Rollo Wohnzimmer';
              desc = 'per Script erstellt';
              // typeAlias = 'boolean'; // oder 'number'
              // read = "val < 0 ? -val : 0"; // Erkennung "Aus" --> false erfolgt automatisch  
              // write = "val ? String(1) : String(0)";
              // 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(obj.common.type == 'number') {
                       if(min !== undefined) obj.common.min = min;
                       if(max !== undefined) obj.common.max = max;
                       if(unit) obj.common.unit = unit;
                    } else {
                       if(obj.common.min !== undefined) delete obj.common.min;
                       if(obj.common.max !== undefined) delete obj.common.max;
                       if(obj.common.unit) delete obj.common.unit;
                    }
                    if(states) obj.common.states = states;
                    if(custom && obj.common.custom) obj.common.custom = custom;
                    obj.native = {};
                    setObject(idDst, obj, function() {
                       if(idRd) setState(idRd, getState(idRd).val, true);
                       else setState(idSrc, getState(idSrc).val, true); 
                    });
                    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);
              
              dslraser 1 Reply Last reply Reply Quote 0
              • dslraser
                dslraser Forum Testing Most Active @Negalein last edited by

                @negalein sagte in HM-RPC Level Kanal 3&4 nicht synchron:

                je Rollo 1 Script?

                entweder je Rollo eins, oder Du überschreibst nur die oberen beiden id und erstellst damit neu usw.

                Negalein 1 Reply Last reply Reply Quote 0
                • Negalein
                  Negalein Global Moderator @dslraser last edited by

                  @dslraser sagte in HM-RPC Level Kanal 3&4 nicht synchron:

                  Wie war das Log und history zu der Zeit als Shuttercontrol geschlossen hat ?

                  History hatte ich vergessen zu aktivieren. 😞

                  2021-04-09 19:53:00.027  - info: shuttercontrol.0 (22669) #12 Set ID: alias.0.Rollos.Rollo_Wohnzimmer Rollo Wohnzimmer value: 0%
                  
                  1 Reply Last reply Reply Quote 0
                  • Negalein
                    Negalein Global Moderator @dslraser last edited by

                    @dslraser sagte in HM-RPC Level Kanal 3&4 nicht synchron:

                    oder Du überschreibst nur die oberen beiden id und erstellst damit neu usw.

                    Ok, also das Script muss nur 1x laufen um den Alias anzulegen. Danach kann es pausiert werden?

                    dslraser 1 Reply Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @Negalein last edited by

                      @negalein sagte in HM-RPC Level Kanal 3&4 nicht synchron:

                      Danach kann es pausiert werden?

                      ja, das brauchst Du nur jeweils 1x zum erstellen, danach kannst Du es ausschalten.

                      1 Reply Last reply Reply Quote 1
                      • Negalein
                        Negalein Global Moderator last edited by

                        @dslraser @paul53

                        mit Alias hat es soeben wiedermal funktioniert. 👍

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

                        Support us

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

                        876
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        7
                        156
                        9866
                        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