Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Fenster und andere Geräte zählen opt. Alexa Ansagen

    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

    Fenster und andere Geräte zählen opt. Alexa Ansagen

    This topic has been deleted. Only users with topic management privileges can see it.
    • dirk1962
      dirk1962 @dslraser last edited by

      @dslraser
      Die HM-Kontakte werden mit Deiner Einstellung korrekt erkannt und angezeigt. Habe alle Geräte in das Alias Script eingetragen, die alten Aliase gelöscht, JS-Adapter neu gestartet und den Admin neu geladen. E-Mail, Alexa Ansage und html-Tabellen sind so wie es sein soll. War eine Menge Arbeit, aber jetzt hat man alles übersichtlich in einer Datei.👍 👍
      Mal sehen, ob Dein Projekt jetzt abgeschlossen ist oder ob Dir noch was Neues einfällt.
      Anrufer Ansage mit speak funktioniert bei mir auch.
      Super Arbeit und vielen Dank.

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

        @dirk1962 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

        Mal sehen, ob Dein Projekt jetzt abgeschlossen ist oder ob Dir noch was Neues einfällt.

        Danke für das Feedback.
        0.5 habe ich heute hochgeladen. (bei der Batterien Volt Anzeige stimmte der Trigger nicht. Kannst Du aber auch selbst ändern. In main/Batterien Volt den passenden Trigger auswählen, da war der für an/aus drinn) (sonst ändern sich die Anzeigen für die Volt Listen usw. nicht)

        1 Reply Last reply Reply Quote 1
        • I
          Idefix01 last edited by Idefix01

          @dslraser

          Guten Tag,
          ich habe heute dein Blockly und Skript auch mal ausprobiert. Ich habe in dem Skript ein paar Geräte auf meine geändert und bei allen anderen ein // davor gesetzt. Auch die Ansage mit Alexa habe ich hinbekommen.

          Leider schreibt er bei mir aber keine Daten. Das heißt ich habe immer 0 Batterien, Temparaturen gibt es auch keine.
          Kannst Du mir bitte weiter helfen?

          Zaehlen.jpg

          Wenn ich es richtig sehe zählt er bei mir nicht bzw. schreibt nichts in die Felder obwohl alias Felder gefüllt sind

          /**************************************************************
          Github - https://github.com/xCruziX/ioBroker-Creating-Alias/blob/master/CreateAlias.js
            			Changelog
          Version 1.1.4
          - fix error by using bCreateAliasPath and bConvertExistingPath (has no target 9/Error creating alias-path)
          **************************************************************/
          
          /**************************************
            	Flags /
            	Variablen
          ***************************************/
          
          // typeAlias = 'boolean'; // oder 'number'
          // read = "val == 'Ein' ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch  
          // write = "val ? 'Ein' : 'Aus'";
          // nameAlias = 'Licht Haustür';
          // role = 'switch';
          // desc = 'per Script erstellt';
          // 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)
          
          
          let bCreateAliasPath = true;  // If this flag is true, each folder is created seperately so rooms and functions can be assigned.
          
          /*
          Requirements: bCreateAliasPath == true
          If this flag is true, existing folders in the path will be converted so rooms and functions can be assigned.
          */
          let bConvertExistingPath = false;
          
          /***************************************
            	Dont't change anything from here /
            	Ab hier nichts verändern
          ***************************************/
          
          let arEnum = [];
          let arId = [];
          let timeoutAssignEnum;
          var callbackAlias = undefined;
          function createAlias(idSrc, idDst,raum, gewerk,typeAlias, read, write, nameAlias, role, desc, min, max, unit, states) {
          if(!idDst.includes('alias.0.'))
              idDst = 'alias.0.' + idDst;
          if(!existsObject(idSrc))
          {
              log('Source-Id ' + idSrc +' does not exists.','warn');
              return;
          }
          
          // Create the object Path for alias id, 
          // so you can assign rooms and function to the parents
          var createAliasPath = (id) => {
               if(bCreateAliasPath){
                    let lisMergedIds = [];
                    let mergedId = 'alias.0';
                    id = id.replace(mergedId + '.', ''); // Remove prefix alias so it will not be changed
                    let split = id.split('.'); 
                    for(let i=0;i<split.length-1;i++){
                        mergedId += '.' + split[i];
                        lisMergedIds.push(mergedId);
                    }
                    
                    function path(){
                        if(lisMergedIds.length == 0) {// Zu Ende erstellt
                            alias();
                            return;
                        }
                        let tmpId = lisMergedIds[0];
                        lisMergedIds.splice(0,1); // entferne element
                        if(!existsObject(tmpId) || bConvertExistingPath){ // not exists
                            let obj;
                            if(existsObject(tmpId))
                                obj = getObject(tmpId);
                            else
                                obj = {};
          
                            let bApply = false;
                            if(obj != undefined){
                                if(obj.type == undefined || String(obj.type) != 'meta'){
                                    obj.type = 'meta';
                                    bApply = true;
                                }
                                if(obj.common == undefined){
                                    obj.common = {};
                                    obj.common.type = 'meta.folder';
                                    bApply = true;
                                }
                                else if(obj.common.type == undefined || String(obj.common.type) != 'meta.folder'){
                                    obj.common.type = 'meta.folder';
                                    bApply = true;
                                }
                                if(obj.native == undefined){
                                    obj.native = {};
                                    bApply = true;
                                }
                            }
                            else{
                                path();
                                log('Object is undefined');
                                return;
                            }
                            
          
                            if(bApply){
                                setObject(tmpId, obj, (err) =>{
                                if(!err){
                                    log('Created Alias-Path ' + tmpId);
                                    path();
                                }
                                else
                                    log('Error creating alias-path','error');
                            });
                            }
                            else
                                path();
                            
                        }
                    }
                    path();
               }
               else
                 alias();
          }
          
          
          function alias(){
              // Create alias object
              
                if(!existsObject(idDst)){
                    let obj = {};
                    obj.type = 'state';
                    obj.common = getObject(idSrc).common;
                    obj.common.alias = {};
                    obj.common.alias.id = idSrc;
                    if(typeAlias !== undefined) 
                        obj.common.type = typeAlias;
                    if(obj.common.read !== undefined) 
                        obj.common.alias.read = read;
                    if(obj.common.write !== undefined) 
                        obj.common.alias.write = write;
                    if(nameAlias !== undefined) 
                        obj.common.name = nameAlias;
                    if(role !== undefined) 
                        obj.common.role = role;
                    if(desc !== undefined) 
                        obj.common.desc = desc;
                    if(min !== undefined) 
                        obj.common.min = min;
                    if(max !== undefined) 
                        obj.common.max = max;
                    if(unit !== undefined) 
                        obj.common.unit = unit;
                    if(states !== undefined) 
                        obj.common.states = states;
          
                    obj.native = {};
                    obj.common.custom = []; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird
                    log('Created Alias-State ' + idDst);
                    setObject(idDst, obj,(err) =>{ 
                        if(!err)
                            startAttach(); 
                        else
                            log('Error creating-alias','error');
                    });
                }
                else
                    startAttach();
          }
          
          
          // Save ID and Enum (room or function)
          var attach = (id, enu,value) => {
              if(id.length == 0){
                  log('ID has lenght 0, can not attach to enum','warn');
                  return;
              }
              if(value.length == 0){
                  log('Value has lenght 0','warn');
                  return;
              }
            
              let sEnuId = 'enum.' + enu + '.' + value;
              if(enu.length > 0 && existsObject(sEnuId)) 
              {
                  let obj = getObject(sEnuId)
                  let members = obj.common.members;
                  if(!members.includes(id)){
                      arEnum.push(sEnuId);
                      arId.push(id);
                  }
              }
              else
           	      log('Can not find enum ' + sEnuId,'warn');
          }
          
          function startAttach(){
            let bRoom = raum !== undefined && raum.length > 0;
            let bGewerk = gewerk !== undefined && gewerk.length > 0;
            
            if(bRoom)
                attach(idDst,'rooms',raum);
            if(bGewerk)
                attach(idDst,'functions',gewerk);
            if(bRoom || bGewerk){
                    if(timeoutAssignEnum){
                        clearTimeout(timeoutAssignEnum);
                        timeoutAssignEnum = null;
                    }
                    timeoutAssignEnum = setTimeout(finishScript,100);
            }
          }
          
          createAliasPath(idDst);
          }
          
          function finishScript(){
            assignEnums();
          }
          
          // Add the saved IDs to the rooms/functions
          function assignEnums(){
          if(arEnum.length == 0 || arId.length == 0){
              return;
          }
          
          if(arEnum.length != arId.length){
              log('Arrays have different size','error');
              return;
          }
          let mapEnumId = new Map();
          
          for(let i=0;i < arEnum.length; i++){
             let enu = arEnum[i];
             let id = arId[i];
             if(existsObject(id)){
            	 let obj = getObject(enu)
            	 let members;
            	 if(!mapEnumId.has(enu)){
            		 members = obj.common.members;
            		 mapEnumId.set(enu,members);
            	 }
            	 else
            		 members = mapEnumId.get(enu);    
            	 if(!members.includes(id)){
            		  log("Adding " + id + " to " + enu);
            		  members.push(id);
            	 }	      
             }
             else
                 log('Can not find Alias ' + id,'error');
          }
          
          function setMembers(members,enu,map){
              let obj = getObject(enu);
              obj.common.members = members;
              setObject(enu,obj);
          }
          mapEnumId.forEach(setMembers);
          }
          
          
          
          function setAliasReadWrite(aliasId,read,write){
            if(aliasId == undefined || read == undefined || write == undefined)
                return;
            setAliasRead(aliasId,read);
            setAliasWrite(aliasId,write);
          }
          
          
          function setAliasRead(aliasId,value){
            setTimeout(()=>{
                 let tmp = aliasId;
                if(!tmp.includes('alias.0.'))
                    tmp = 'alias.0.' +tmp;
                if(!existsState(tmp)){
                    log('setAliasRead => Der Datenpunkt existiert nicht => ' +tmp,'error');
                    return;
                }
                let obj = getObject(tmp);
                let alias = obj.common.alias;
                if(alias.read != value){
                    log('Set read property');
                    alias.read = value;
                    setObject(tmp,obj);
                }
            },30)
          }
          
          function setAliasWrite(aliasId,value){
            setTimeout(()=>{
                let tmp = aliasId;
                if(!tmp.includes('alias.0.'))
                    tmp = 'alias.0.' +tmp;
                if(!existsState(tmp)){
                    log('setAliaswrite => Der Datenpunkt existiert nicht => ' +tmp,'error');
                    return;
                }
                let obj = getObject(tmp);
                let alias = obj.common.alias;
                if(alias.write != value){
                    log('Set write property');
                    alias.write = value;
                    setObject(tmp,obj);
                }
            },30)
          }
          
          /**********************************************************
            	END /
            	ENDE
          **********************************************************/
          
          //Ab hier werden die eigenen Alias konfiguriert
          
          //////////////////////////////
          //  Fenster
          //////////////////////////////
          
          //11 x Fenstersensoren
          //einfache HMIP Fenstersensoren über rpc-Adapter in function fenster_alias
          //{0: 'geschlossen', 1: 'geöffnet'}
          //createAlias('hm-rpc.0.0007DA49902BAF.1.STATE'/*Wohnzimmer Fenster links STATE*/, 'Fenster.Wohnzimmer_Terrasse', undefined, 'fenster_alias', 'number', undefined, undefined, 'Wohnzimmer links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Badezimmer Fenster links STATE*/, 'Fenster.Badezimmer_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Badezimmer links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Gästezimmer Fenster links STATE*/, 'Fenster.Gästezimmer_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Gästezimmer links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Schlafzimmer Fenster links STATE*/, 'Fenster.Schlafzimmer_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Schlafzimmer links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster rechts STATE*/, 'Fenster.Kueche_Fenster_rechts', undefined, 'fenster_alias', 'number',undefined, undefined, 'Küche rechts', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Fenster rechts STATE*/, 'Fenster.Wohnzimmer_Fenster_rechts', undefined, 'fenster_alias', 'number',undefined, undefined, 'Wohnzimmer rechts', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Schlafzimmer Fenster rechts STATE*/, 'Fenster.Schlafzimmer_Fenster_rechts', undefined, 'fenster_alias', 'number',undefined, undefined, 'Schlafzimmer rechts', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster mitte STATE*/, 'Fenster.Küche_Fenster_mitte', undefined, 'fenster_alias', 'number',undefined, undefined, 'Küche mitte', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Gästezimmer Fenster rechts STATE*/, 'Fenster.Gaestezimmer_Fenster_rechts', undefined, 'fenster_alias', 'number',undefined, undefined, 'Gästezimmer rechts', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Badezimmer Fenster rechts STATE*/, 'Fenster.Badezimmer_Fenster_rechts', undefined, 'fenster_alias', 'number',undefined, undefined, 'Badezimmer rechts', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          
          //9 x Fensterdrehgriffe
          //HMIP Fensterdrehgriffe über rpc-Adapter in function fenster_alias
          //{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'}
          createAlias('hm-rpc.0.0007DA49902BAF.1.STATE'/*Keller W-Baum Fenster STATE*/, 'Fenster.Wohnzimmer_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller W Baum', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Wohnzimmer Fenster mitte STATE*/, 'Fenster.Keller_Wohnzimmer_Fenster_mitte', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Wohnzimmer mitte', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Heizung Fenster STATE*/, 'Fenster.Keller_Heizung_Fenster', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Heizung', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Vorrat Fenster STATE*/, 'Fenster.Keller_Vorrat_Fenster', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Vorrat', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Sauna Fenster links STATE*/, 'Fenster.Keller_Sauna_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Sauna links', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Sauna Fenster rechts STATE*/, 'Fenster.Keller_Sauna_Fenster_rechts', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Sauna rechts', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Wohnzimmer Fenster links STATE*/, 'Fenster.Keller_Wohnzimmer_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Wohnzimmer links', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Wohnzimmer Fenster rechts STATE*/, 'Fenster.Keller_Wohnzimmer_Fenster_rechts', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Wohnzimmer rechts', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Werkstatt Fenster STATE*/, 'Fenster.Keller_Werkstatt_Fenster', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Werkstatt', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
          
          //2 x Fenster(Türen) Sensoren
          //einfache HMIP Fenstersensoren über rpc-Adapter in function tueren_alias
          //{0: 'geschlossen', 1: 'geöffnet'}
          createAlias('hm-rpc.0.00109A49A285B5.1.STATE'/*Wohnzimmer Terrassentür STATE*/, 'Tueren.Terrassentuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Terrassentür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          //createAlias('hm-rpc.0.xxx.1.STATE'/*Haustür STATE*/, 'Tueren.Haustuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Haustür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
          
          //////////////////////////////
          //  Steckdosen
          //////////////////////////////
          
          //8 x Steckdosen
          //HMIP Steckdosen über rpc-Adapter in function steckdosen_alias
          //{false: 'aus', true: 'an'}
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Waschmaschine STATE*/, 'Steckdosen.Waschmaschine', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Waschmaschine', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Geschirrspueler STATE*/, 'Steckdosen.Geschirrspueler', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Geschirrspüler', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Kugellampe STATE*/, 'Steckdosen.Kugellampe', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Kugellampe', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Lüfter STATE*/, 'Steckdosen.Luefter', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Lüfter', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Gäste WC Licht STATE*/, 'Steckdosen.Gaeste_WC_Licht', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Gäste WC Licht', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Kaminlampe STATE*/, 'Steckdosen.Kaminlampe', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Kaminlampe', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Schreibtischlampe rechts STATE*/, 'Steckdosen.Schreibtischlampe_rechts', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Schreibtisch rechts', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Schreibtischlampe links STATE*/, 'Steckdosen.Schreibtischlampe_links', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Schreibtisch links', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          
          //////////////////////////////
          //  Bewegungsmelder
          //////////////////////////////
          
          //11 x Bewegungsmelder und 6 x Präsenzmelder und 1 x Erschütterungssensor
          //HMIP Bewegungsmelder und Präsenzmelder über rpc-Adapter in function bewegungsmelder_alias
          //{false: 'inaktiv', true: 'aktiv'}
          //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Weihnachtsbaumkeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Weihnachtsbaumkeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'W Baum Keller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Heizungskeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Heizungskeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Heizungskeller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Keller Sauna MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Keller_Sauna', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Keller Sauna', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Keller Vorratsraum MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Keller_Vorratsraum', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Keller Vorratsraum', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Keller Flur MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Keller_Flur_vorn', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Keller Flur vorn', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Garage MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Keller_Garage', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Keller Garage', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.3.MOTION'/*Bewegungsmelder 55 Gäste WC Tür MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Keller_Gaeste_WC', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Gäste WC', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.3.MOTION'/*Bewegungsmelder 55 Kellertreppe MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Kellertreppe', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Kellertreppe', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.3.MOTION'/*Bewegungsmelder 55 Keller Flur MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Keller_Flur_hinten', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Keller Flur hinten', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Gartentür MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Gartentuer', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Gartentür', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Garten MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Garten', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Garten', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //ab hier 6 x Präsenzmelder
          //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Badezimmer PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Badezimmer', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Badezimmer', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Dusche PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Dusche', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Dusche', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Flur BZ PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Flur_Badezimmer', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Flur Badezimmer', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Flur GZ PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Flur_Gaestezimmer', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Flur Gästezimmer', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Küche PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Kueche', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Küche', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Gäste WC PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Gaeste_WC', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Gäste WC', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          //ab hier 1 x Erschütterungssensor
          //createAlias('hm-rpc.0.xxx.1.MOTION'/*Briefkasten MOTION*/, 'Bewegungsmelder.Praesenzmelder_Briefkasten', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Briefkasten', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
          
          //////////////////////////////
          //  Licht
          //////////////////////////////
          
          //26 x HUE und 5 x HMIP Licht über HUE und rpc-Adapter in function licht_alias
          //{false: 'aus', true: 'an'}
          //createAlias('hue.0.Badezimmerlampe_links.on'/*Badezimmerlampe links on*/, 'Licht.Badezimmer_Licht_links', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Badezimmer links', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Badezimmerlampe_rechts.on'/*Badezimmerlampe rechts on*/, 'Licht.Badezimmer_Licht_rechts', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Badezimmer rechts', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Deckenlampe.on'/*Deckenlampe on*/, 'Licht.Wohnzimmer_Decke_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wohnzimmer Decke', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Fensterlampe.on'/*Fensterlampe on*/, 'Licht.Wohnzimmer_Fenster_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wohnzimmer Fenster', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Fernsehlampe_links.on'/*Fernsehlampe links on*/, 'Licht.Wohnzimmer_Fernseher_Licht_links', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wohnzimmer Fernseher links', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Fernsehlampe_rechts.on'/*Fernsehlampe rechts on*/, 'Licht.Wohnzimmer_Fernseher_Licht_rechts', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wohnzimmer Fernseher rechts', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Flur_hinten.on'/*Flur hinten on*/, 'Licht.Flur_Licht_hinten', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Flur hinten', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Flur_vorn.on'/*Flur vorn on*/, 'Licht.Flur_Licht_vorn', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Flur vorn', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Garagelampe.on'/*Garagelampe on*/, 'Licht.Garage_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Garage', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Gartenlampe.on'/*Gartenlampe on*/, 'Licht.Garten_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Garten', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Haustürlampe.on'/*Haustürlampe on*/, 'Licht.Haustuer_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Haustür', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Heizung.on'/*Heizung on*/, 'Licht.Heizung_Keller_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Heizung Keller', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Kellerflur_hinten.on'/*Kellerflur hinten on*/, 'Licht.Keller_Flur_Licht_hinten', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Keller Flur hinten', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Kellerflur_vorn.on'/*Kellerflur vorn on*/, 'Licht.Keller_Flur_Licht_vorn', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Keller Flur vorn', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hue.0.Kellertreppe.on'/*Kellertreppe on*/, 'Licht.Keller_Treppe_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Keller Treppe', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          
          //ab hier 5 x Licht HMIP Steckdosen über rpc Adapter
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Kugellampe STATE*/, 'Licht.Wohnzimmer_Kugel_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Kugellicht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Gäste WC Licht STATE*/, 'Licht.Gaeste_WC_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Gäste WC Licht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Kaminlampe STATE*/, 'Licht.Wohnzimmer_Kamin_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Kaminlicht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Schreibtischlampe rechts STATE*/, 'Licht.Gaestezimmer_Schreibtisch_Licht_rechts', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schreibtisch rechts', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          //createAlias('hm-rpc.0.xxx.3.STATE'/*Schreibtischlampe links STATE*/, 'Licht.Gaestezimmer_Schreibtisch_Licht_links', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schreibtisch links', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
          
          //////////////////////////////
          //  Temperaturen
          //////////////////////////////
          
          //HMIP 7 x Temperaturen über rpc-Adapter in function temperaturen_alias
          createAlias('hm-rpc.0.000A9A49A7047A.1.ACTUAL_TEMPERATURE'/*Wandthermostat Schlafzimmer:1 ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Schlafzimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Schlafzimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
          createAlias('hm-rpc.0.000A9A49A6FAAB.1.ACTUAL_TEMPERATURE'/*Wandthermostat Wohnzimmer:1 ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Wohnzimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Wohnzimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
          //createAlias('hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE'/*Wandthermostat Badezimmer:1 ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Badezimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Badezimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
          //createAlias('hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE'/*Wandthermostat Flur:1 ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Flur', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Flur', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
          //createAlias('hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE'/*Wandthermostat Gästezimmer:1 ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Gaestezimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Gästezimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
          //createAlias('hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE'/*Temperatursensor aussen ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Garten', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Garten', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
          //createAlias('hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE'/*Temperatursensor Keller ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Keller', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Keller', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
          
          //////////////////////////////
          //  Batterien_voll_leer
          //////////////////////////////
          
          //66 x Batterien voll-leer über boolean Wert false/true in function batterien_voll_leer_alias
          createAlias('hm-rpc.0.0007DA49902BAF.0.LOW_BAT'/*Wohnzimmer Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Wohnzimmer_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Wohnzimmer Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Küche Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Kueche_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Küche Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Badezimmer Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Badezimmer_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Badezimmer Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Gästezimmer Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Gaestezimmer_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Gästezimmer Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Schlafzimmer Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Schlafzimmer_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Schlafzimmer Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Küche Fenster rechts:0 LOW BAT*/, 'Batterien_voll_leer.Kueche_Fenster_rechts', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Küche Fenster rechts', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Wohnzimmer Fenster rechts:0 LOW BAT*/, 'Batterien_voll_leer.Wohnzimmer_Fenster_rechts', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Wohnzimmer Fenster rechts', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Schlafzimmer Fenster rechts:0 LOW BAT*/, 'Batterien_voll_leer.Schlafzimmer_Fenster_rechts', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Schlafzimmer Fenster rechts', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Wohnzimmer Terrassentür:0 LOW BAT*/, 'Batterien_voll_leer.Terrassentuer', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Terrassentür', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Haustür:0 LOW BAT*/, 'Batterien_voll_leer.Haustuer', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Haustür', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Küche Fenster mitte:0 LOW BAT*/, 'Batterien_voll_leer.Kueche_Fenster_mitte', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Küche Fenster mitte', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Gästezimmer Fenster rechts:0 LOW BAT*/, 'Batterien_voll_leer.Gaestezimmer_Fenste_rechts', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Gästezimmer Fenster rechts', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Badezimmer Fenster rechts:0 LOW BAT*/, 'Batterien_voll_leer.Badezimmer_Fenster_rechts', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Badezimmer Fenster rechts', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Schalter Flur 55 Flur:0 LOW BAT*/, 'Batterien_voll_leer.Schalter_Flur', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Schalter Flur', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Fernbedienung Kerstin:0 LOW BAT*/, 'Batterien_voll_leer.Fernbedienung_Kerstin', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Fernbedienung Kerstin', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Fernbedienung Heiko:0 LOW BAT*/, 'Batterien_voll_leer.Fernbedienung_Heiko', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Fernbedienung Heiko', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Keller W-Baum Fenster:0 LOW BAT*/, 'Batterien_voll_leer.Keller_W_Baum_Fenster', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Keller W Baum Fenster', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Keller Wohnzimmer Fenster mitte:0 LOW BAT*/, 'Batterien_voll_leer.Keller_Wohnzimmer_Fenster_mitte', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Keller Wohnzimmer Fenster mitte', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Keller Heizung Fenster:0 LOW BAT*/, 'Batterien_voll_leer.Keller_Heizung_Fenster', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Keller Heizung Fenster', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Keller Vorrat Fenster:0 LOW BAT*/, 'Batterien_voll_leer.Keller_Vorrat_Fenster', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Keller Vorrat Fenster', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Keller Sauna Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Keller_Sauna_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Keller Sauna Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Keller Sauna Fenster rechts:0 LOW BAT*/, 'Batterien_voll_leer.Keller_Sauna_Fenster_rechts', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Keller Sauna Fenster rechts', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Keller Wohnzimmer Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Keller_Wohnzimmer_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Keller Wohnzimmer Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Keller Wohnzimmer Fenster rechts:0 LOW BAT*/, 'Batterien_voll_leer.Keller_Wohnzimmer_Fenster_rechts', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Keller Wohnzimmer Fenster rechts', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Keller Werkstatt Fenster:0 LOW BAT*/, 'Batterien_voll_leer.Keller_Werkstatt_Fenster', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Keller Werkstatt Fenster', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Bewegungsmelder Weihnachtsbaumkeller:0 LOW BAT*/, 'Batterien_voll_leer.Bewegungsmelder_Keller_W_Baum', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Bewegungsmelder Keller W Baum', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Bewegungsmelder Heizungskeller:0 LOW BAT*/, 'Batterien_voll_leer.Bewegungsmelder_Keller_Heizung', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Bewegungsmelder Keller Heizung', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Bewegungsmelder Keller Sauna:0 LOW BAT*/, 'Batterien_voll_leer.Bewegungsmelder_Keller_Sauna', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Bewegungsmelder Keller Sauna', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Bewegungsmelder Keller Vorratsraum:0 LOW BAT*/, 'Batterien_voll_leer.Bewegungsmelder_Keller_Vorratsraum', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Bewegungsmelder Keller Vorratsraum', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Bewegungsmelder Keller Flur:0 LOW BAT*/, 'Batterien_voll_leer.Bewegungsmelder_Keller_Flur_vorn', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Bewegungsmelder Keller Flur vorn', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Bewegungsmelder Garage:0 LOW BAT*/, 'Batterien_voll_leer.Bewegungsmelder_Keller_Garage', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Bewegungsmelder Garage', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Heizkörperthermostat Wohnzimmer:0 LOW BAT*/, 'Batterien_voll_leer.Heizkoerperthermostat_Wohnzimmer', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Heizkörperthermostat Wohnzimmer', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Heizkörperthermostat Schlafzimmer links:0 LOW BAT*/, 'Batterien_voll_leer.Heizkoerperthermostat_Schlafzimmer_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Heizkörperthermostat Schlafzimmer links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Heizkörperthermost Badezimmer:0 LOW BAT*/, 'Batterien_voll_leer.Heizkoerperthermostat_Badezimmer', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Heizkörperthermostat Badezimmer', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Heizkörperthermostat Gästezimmer:0 LOW BAT*/, 'Batterien_voll_leer.Heizkoerperthermostat_Gaestezimmer', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Heizkörperthermostat Gästezimmer', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Heizkörperthermotat Schlafzimmer rechts:0 LOW BAT*/, 'Batterien_voll_leer.Heizkoerperthermostat_Schlafzimmer_rechts', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Heizkörperthermostat Schlafzimmer rechts', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Heizkörperthermostat Flur:0 LOW BAT*/, 'Batterien_voll_leer.Heizkoerperthermostat_Flur', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Heizkörperthermostat Flur', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Rauchmelder Keller Flur:0 LOW BAT*/, 'Batterien_voll_leer.Rauchmelder_Keller_Flur', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Rauchmelder Keller Flur', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Rauchmelder Flur:0 LOW BAT*/, 'Batterien_voll_leer.Rauchmelder_Flur', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Rauchmelder Flur', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Rauchmelder Wohnzimmer:0 LOW BAT*/, 'Batterien_voll_leer.Rauchmelder_Wohnzimmer', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Rauchmelder Wohnzimmer', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          //createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Rauchmelder Gästezimmer:0 LOW BAT*/, 'Batterien_voll_leer.Rauchmelder_Gaestezimmer', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Rauchmelder Gästezimmer', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
          
          //////////////////////////////
          //  Batterien_Volt
          //////////////////////////////
          
          //57 x Batterien Volt Anzeige in function batterien_volt_alias
          createAlias('hm-rpc.0.0007DA49902BAF.0.OPERATING_VOLTAGE'/*Wohnzimmer Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Wohnzimmer_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Wohnzimmer Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)
          //createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Küche Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Kueche_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Küche Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)
          //createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Badezimmer Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Badezimmer_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Badezimmer Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)
          //createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Gästezimmer Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Gaestezimmer_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Gästezimmer Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)
          
          

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

            @Idefix01
            hast Du die Aufzählungen erstellt ? Wenn ja, wie sehen die aus ?
            Das Alias Script setzt bestehende Aufzählungen voraus, siehe 1.Beitrag

            1 Reply Last reply Reply Quote 0
            • I
              Idefix01 last edited by

              @dslraser

              ja Aufzählungen sind eingetragen und so übernommen wie im ersten Post angegeben.

              aufzaehlungen.jpg

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

                @Idefix01
                dann zeig mal bitte den alias Ordner in den Objekten, ist da was drinn ?

                1 Reply Last reply Reply Quote 0
                • I
                  Idefix01 last edited by

                  @dslraser

                  ja in die alias Ordner sind gefüllt.

                  aliase.jpg

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

                    Dann stoppe mal die JS Instanz und starte einmal mit dem Pfeilkreis die admin Instanz neu. Achtung, admin nicht stoppen, nur neu starten. (sonst sperrst Du Dich aus und musst den admin über die Konsole neu starten)
                    da ganz rechts...
                    Screenshot_20200707-191922_Chrome.jpg
                    Danach JS Instanz wieder starten und einmal den Browser aktualisieren.

                    1 Reply Last reply Reply Quote 0
                    • I
                      Idefix01 last edited by

                      @dslraser

                      Super genau das war die Lösung. Danke 🙂

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

                        @Idefix01 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                        @dslraser

                        Super genau das war die Lösung. Danke 🙂

                        Ja, es wird alles "gepuffert", aber dieser beschriebene Weg ging bisher bei mir immer.

                        1 Reply Last reply Reply Quote 0
                        • I
                          Idefix01 last edited by

                          @dslraser

                          Ja habe ich gemerkt.

                          Aber eine kleine Sache hätte ich noch. Bei dem Ansagetext kommt immer: Hier der Haustemperaturenstatus war 1/4erdig ...

                          Wo kommt das 1/4erdig her?

                          dslraser 2 Replies Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @Idefix01 last edited by

                            @Idefix01 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                            Wo kommt das 1/4erdig her?

                            Habe ich noch nicht gehabt. Was ist das für ein Gerät (Temperatur)
                            Wie sieht der RAW vom original und alias aus ?
                            Hast Du eventuell Umlautefehler im Blockly ?

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

                              @Idefix01 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                              Wo kommt das 1/4erdig her?

                              Du hast Umlautefehler
                              Dein Bild
                              1594135486104-zaehlen.jpg

                              Zitat aus meiner Anleitung im 1.Beitrag

                              bitte das Blockly auf den eigenen Rechner downloaden und dort mit einem Editor öffnen und den gesamten Inhalt der Textdatei in die Zwischenablage kopieren und anschließend in ein neues leeres Blockly importieren. Nicht direkt im Browser öffnen und kopieren, dann kommt es oft zu Umlaute Fehlern im Blockly.

                              1 Reply Last reply Reply Quote 0
                              • I
                                Idefix01 last edited by

                                @dslraser

                                Guten Abend, habe jetzt ausgiebig alles getestet. Und soweit wie Alexa mich auch versteht, funktioniert es auch super.

                                Was mir nur aufgefallen ist, das die Ansage - Button unter Objekte nicht funktionieren. Die für Telegramm senden funktionieren aber.

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

                                  @Idefix01 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                  Was mir nur aufgefallen ist, das die Ansage - Button unter Objekte nicht funktionieren. Die für Telegramm senden funktionieren aber.

                                  Die funktionieren auch nur, wenn ein ECHO Gerät, das auch speak wiedergeben kann, angesprochen wurde. Das Blockly prüft welcher ECHO angesprochen wurde und gibt dort die Ansage wieder. Wenn Du jetzt nur den Button drückst, dann gibt es keinen ECHO der angesprochen wurde.(auch am Handy oder im Auto funktioniert es nicht, weil diese Geräte kein speak oder ssml usw. können und dann in den Objekten kein Datenpunkt dafür da ist)

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    Idefix01 last edited by

                                    @dslraser

                                    Sorry das verstehe ich jetzt nicht so ganz. Ich habe 2 Echo Geräte. Ich habe auch die Ansagen soweit eingerichtet und getestet. Also wenn ich sage: Alexa, Batteriezustand, dann erfolgt auch die Ansage vom Echo.
                                    Ich war aber der Meinung, das ich die Button bei meiner Haussteuerung einbauen kann um nur zu klicken und nicht zu sprechen.

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

                                      @Idefix01 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                      Ich war aber der Meinung, das ich die Button bei meiner Haussteuerung einbauen kann um nur zu klicken und nicht zu sprechen.

                                      Und woher soll der Button wissen auf welchem ECHO die Ansage erfolgen soll (ich habe z.B. 11 ECHOS im Haus verteilt)

                                      Aber, da ja alles in den Datenpunkten vorhanden ist, kannst Du ja ein zusätzliches Miniblockly machen, wo Du dann den/die ECHOS Deiner Wahl die Ansage, z.B. der offenen Fenster Liste vorlesen lassen kannst.

                                      1 Reply Last reply Reply Quote 0
                                      • I
                                        Idefix01 last edited by

                                        @dslraser

                                        Ja muss ich mal in einer ruhigen Minute schauen wie u d wo ich das ganze bei deinem Blockly einfügen kann.
                                        Danke dir trotzdem.

                                        dslraser 2 Replies Last reply Reply Quote 0
                                        • dslraser
                                          dslraser Forum Testing Most Active @Idefix01 last edited by

                                          @Idefix01 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                          wie u d wo ich das ganze bei deinem Blockly einfügen kann.

                                          da würde ich es nicht einfügen. Ein extra Blockly benötigt dafür nur wenige Blöcke. Ich kann ja mal ein kurzes Beispiel dafür machen.

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

                                            @Idefix01 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                            Ja muss ich mal in einer ruhigen Minute schauen wie u d wo ich das ganze bei deinem Blockly einfügen kann.
                                            Danke dir trotzdem.

                                            Hier mal so ein kurzes Beispiel mit den vorhandenen Datenpunkten und der Ansage per Button auf einem bestimmten ECHO (könntest ja auch eine Multiroom Musik Gruppe nehmen, da muß nur die Lautstärke anders gesetzt werden, dann erfolgt die Ansage auf mehreren ECHOS synchron)

                                            EDIT: Beispiel für die Fenster Ansage. Datenpunkte sind in dem Beispiel unter 0_userdata.0 angelegt

                                            Bildschirmfoto 2020-07-08 um 21.03.35.png

                                            Siehe 10_Ansagebutton
                                            Bildschirmfoto 2020-07-08 um 21.03.58.png

                                            <xml xmlns="https://developers.google.com/blockly/xml">
                                             <block type="create" id="kT7+Q;RduF2pT!%(J_3!" x="-62" y="263">
                                               <field name="NAME">0_userdata.0.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.Haus.10_Ansagebutton_bestimmter_ECHO</field>
                                               <value name="COMMON">
                                                 <block type="text" id=",dkN7$*iWEkA5dW@[-[t">
                                                   <field name="TEXT">{ "role" : "button" , "type" : "boolean" ,"name": "10_Ansagebutton_bestimmter_ECHO"}</field>
                                                 </block>
                                               </value>
                                               <statement name="STATEMENT">
                                                 <block type="on_ext" id="7,FZEkwS4EZLD@^DTEGv">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                   <field name="CONDITION">any</field>
                                                   <field name="ACK_CONDITION"></field>
                                                   <value name="OID0">
                                                     <shadow type="field_oid" id="x0DLdkibI?fk%2{`!!T9">
                                                       <field name="oid">0_userdata.0.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.Haus.10_Ansagebutton_bestimmter ECHO</field>
                                                     </shadow>
                                                   </value>
                                                   <statement name="STATEMENT">
                                                     <block type="control_ex" id=")NAQ=Ec8BTXNy7i^d_Ok">
                                                       <field name="TYPE">false</field>
                                                       <field name="CLEAR_RUNNING">FALSE</field>
                                                       <value name="OID">
                                                         <shadow type="field_oid" id="$w7UC00rru~WnM}RY3*0">
                                                           <field name="oid">alexa2.0.Echo-Devices.xxx.Commands.speak-volume</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="VALUE">
                                                         <shadow type="logic_boolean" id=")pIc,^6l$I_`p*lR9j7y">
                                                           <field name="BOOL">TRUE</field>
                                                         </shadow>
                                                         <block type="math_number" id="Q-xkJ,$$`ahhtf!C}K-;">
                                                           <field name="NUM">30</field>
                                                         </block>
                                                       </value>
                                                       <value name="DELAY_MS">
                                                         <shadow type="math_number" id="A`uR1zI2W!:BbPjv3Mk9">
                                                           <field name="NUM">0</field>
                                                         </shadow>
                                                       </value>
                                                       <next>
                                                         <block type="control_ex" id="f`PWvou#rMz1|fUSb93n">
                                                           <field name="TYPE">false</field>
                                                           <field name="CLEAR_RUNNING">FALSE</field>
                                                           <value name="OID">
                                                             <shadow type="field_oid" id="]!y-vm52bb)x7r!X4dRJ">
                                                               <field name="oid">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                             </shadow>
                                                           </value>
                                                           <value name="VALUE">
                                                             <shadow type="logic_boolean" id="Npgm135h)]=|]kMzuj=g">
                                                               <field name="BOOL">TRUE</field>
                                                             </shadow>
                                                             <block type="text_join" id="I*`7GsSSe@b{;T~Ti)R,">
                                                               <mutation items="3"></mutation>
                                                               <value name="ADD0">
                                                                 <block type="text" id="J$!]}|RknU)O%gU[V?v+">
                                                                   <field name="TEXT">Hier der Fensterstatus für Dich, </field>
                                                                 </block>
                                                               </value>
                                                               <value name="ADD1">
                                                                 <block type="get_value" id="Kb~+5t6(p3q!:49iNVIz">
                                                                   <field name="ATTR">val</field>
                                                                   <field name="OID">0_userdata.0.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.Haus.05_offene_gekippte_Fenster_Liste</field>
                                                                 </block>
                                                               </value>
                                                               <value name="ADD2">
                                                                 <block type="text" id="a@t(Aa~]hvG~^{LcPm49">
                                                                   <field name="TEXT"> ,das wäre dann alles.</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <value name="DELAY_MS">
                                                             <shadow type="math_number" id="/hvqZ,Xcj6S$?PIyfP-x">
                                                               <field name="NUM">0</field>
                                                             </shadow>
                                                           </value>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </statement>
                                                 </block>
                                               </statement>
                                             </block>
                                            </xml>
                                            

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            422
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            41
                                            1186
                                            344399
                                            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