Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML

NEWS

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

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

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

Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML

Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
alexaansageblocklyfensteriqontroljarvisjavascripttür-fenster-kontakt
524 Posts 40 Posters 120.9k Views 57 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    wrote on last edited by
    #437

    @dslraser

    Ich bekomm seit ich ein neues Alias-Gerät hinzugefügt habe, folgende Meldung im Scriptlog.

    17:40:19.347	warn	javascript.0 (1340) at Steckdosen_zaehlen (script.js.Steckdosen.Steckdosen_zählen:211:9)
    17:40:19.347	warn	javascript.0 (1340) at Object.<anonymous> (script.js.Steckdosen.Steckdosen_zählen:687:7)
    17:40:19.347	warn	javascript.0 (1340) at Steckdosen_zaehlen (script.js.Steckdosen.Steckdosen_zählen:211:51)
    17:40:19.347	warn	javascript.0 (1340) at Object.<anonymous> (script.js.Steckdosen.Steckdosen_zählen:687:7)
    17:40:19.348	warn	javascript.0 (1340) at Steckdosen_zaehlen (script.js.Steckdosen.Steckdosen_zählen:224:9)
    17:40:19.348	warn	javascript.0 (1340) at Object.<anonymous> (script.js.Steckdosen.Steckdosen_zählen:687:7)
    17:40:19.348	warn	javascript.0 (1340) at Steckdosen_zaehlen (script.js.Steckdosen.Steckdosen_zählen:224:54)
    17:40:19.348	warn	javascript.0 (1340) at Object.<anonymous> (script.js.Steckdosen.Steckdosen_zählen:687:7)
    

    Der neue Alias:
    30a39676-604e-4edb-88a6-901b0f48e6e6-image.png

    Anzahl (11) passt, aber die Eingeschalteten nicht. Müssten 6 sein.
    d1f2110c-a774-46bb-9e88-fe647c643b73-image.png

    Wo könnte ich noch nachschaun?

    ° Node.js: 20.17.0 NPM: 10.8.2
    ° Proxmox, Ubuntu 22.04.3 LTS
    ° Fixer ---> iob fix

    1 Reply Last reply
    0
    • L Offline
      L Offline
      Lucky_ESA
      Developer Most Active
      wrote on last edited by
      #438

      Wenn du ein neuen Aktor hinzufügst musst du danach den Adapter Javascript neu starten.

      Gruß//Lucky

      NegaleinN 1 Reply Last reply
      2
      • L Lucky_ESA

        Wenn du ein neuen Aktor hinzufügst musst du danach den Adapter Javascript neu starten.

        Gruß//Lucky

        NegaleinN Offline
        NegaleinN Offline
        Negalein
        Global Moderator
        wrote on last edited by
        #439

        @lucky_esa sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:

        Wenn du ein neuen Aktor hinzufügst musst du danach den Adapter Javascript neu starten.

        Danke, das wars.
        Ich hab immer nur das Script neu gestartet.

        ° Node.js: 20.17.0 NPM: 10.8.2
        ° Proxmox, Ubuntu 22.04.3 LTS
        ° Fixer ---> iob fix

        1 Reply Last reply
        0
        • dslraserD dslraser


          https://github.com/sbormann/ioBroker.alias-manager


          Im Beispielvideo werden die eigenen Alias ab Zeile 271 eingefügt, also ab dem ersten createAlias. In der Vorlage habe ich jeweils zwei meiner verwendeten Geräte als Beispiel eingefügt.
          Video Beispiel:
          alias_per_script_erstellen.m4v

          /**************************************************************
          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;
          
          /***************************************
            	Don'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) {
                            alias();
                            return;
                        }
                        let tmpId = lisMergedIds[0];
                        lisMergedIds.splice(0,1); // remove 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);
          }
          
          /**********************************************************
            	END /
            	ENDE
          **********************************************************/
          
          //////////////////////////////
          //  Fenster
          //////////////////////////////
          //2 x Fenstersensoren HMIP
          //einfache HMIP Fenstersensoren über rpc-Adapter in function fenster_alias
          //{0: 'geschlossen', 1: 'geöffnet'}
          createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Fenster links STATE*/, 'Fenster.Wohnzimmer_Fenster_links', 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'})
          
          //2 x Fenstersensoren HM
          //einfache HM Fenstersensoren über rpc-Adapter in function fenster_alias
          //{false: 'geschlossen', true: 'geöffnet'}
          createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Fenster links STATE*/, 'Fenster.Wohnzimmer_Fenster_links', undefined, 'fenster_alias', 'boolean', undefined, undefined, 'Wohnzimmer links', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'})
          createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'boolean',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'})
          
          
          //2 x Fensterdrehgriffe HMIP
          //HMIP Fensterdrehgriffe über rpc-Adapter in function fenster_alias
          //{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'}
          createAlias('hm-rpc.0.xxx.1.STATE'/*Keller W-Baum Fenster STATE*/, 'Fenster.Keller_Weihnachtsbaum_Fenster', 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'})
          
          //2 x Fenster(Türen) Sensoren HMIP
          //einfache HMIP Fenstersensoren über rpc-Adapter in function tueren_alias
          //{0: 'geschlossen', 1: 'geöffnet'}
          createAlias('hm-rpc.0.xxx.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
          //////////////////////////////
          //2 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'})
          
          //////////////////////////////
          //  Bewegungsmelder
          //////////////////////////////
          //2 x Bewegungsmelder und 2 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'})
          //ab hier 2 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'})
          //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
          //////////////////////////////
          //2 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'})
          
          //ab hier 2 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'})
          
          //////////////////////////////
          //  Temperaturen
          //////////////////////////////
          //HMIP 2 x Temperaturen über rpc-Adapter in function temperaturen_alias
          createAlias('hm-rpc.0.xxx.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.xxx.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)
          
          //////////////////////////////
          //  Batterien_voll_leer
          //////////////////////////////
          //2 x Batterien voll-leer über boolean Wert false/true in function batterien_voll_leer_alias
          createAlias('hm-rpc.0.xxx.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'})
          
          //////////////////////////////
          //  Batterien_Volt
          //////////////////////////////
          //2 x Batterien Volt Anzeige in function batterien_volt_alias
          createAlias('hm-rpc.0.xxx.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)
          
          
          



          Bitte das Blockly auf den eigenen Rechner downloaden und dort mit einem "richtigen" 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.

          Fenster_1_8_1.zip

          Tueren_1_8_1.zip

          Licht_1_8_1.zip

          Temperaturen_1_8_1.zip

          Bewegungsmelder_1_8_1.zip

          Luftfeuchtigkeit_1_8_1.zip

          Steckdosen_1_8_1.zip

          Batterien_Prozent_1_8_1.zip

          Batterien_voll_leer_lowbat_1_8_1.zip

          Batterien_Volt_1_8_1.zip

          RSSI_1_8_1.zip

          Mein iQontrol View für alle Geräte

          2021-04-28_iqontrol_0_selected_views.json.zip

          Screenshot_20210428-091122_Chrome.jpg

          Zusatzblockly zur Anruferansage, Beschreibung folgt. Ursprung ist von hier


          Bitte das Blockly auf den eigenen Rechner downloaden und dort mit einem "richtigen" 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.

          Bildschirmfoto 2021-04-28 um 19.40.31.png

          Zwei ECHOS können zur Ansage ausgewählt werden. Wer nur einen ECHO braucht, einfach entsprechend deaktivieren.

          Bildschirmfoto 2021-04-28 um 19.50.51.png

          Bildschirmfoto 2021-04-29 um 21.56.13.png

          meine iQontrol Anwendung dafür

          Bildschirmfoto 2021-04-28 um 20.05.11.png

          Alexa_Anruferansage_Telegram_EMAIL_1.0.0.zip

          H Online
          H Online
          helfi9999
          wrote on last edited by helfi9999
          #440

          @dslraser Hi,

          irgendwas stimmt mit dem Blockly von "Temperatur" nicht.

          Immer wenn ich das Blockly starte erscheint folgende Fehlermeldung:


          Image 1.png

          Wie kann ich es ändern??

          Hat sich erledigt habe irgendwas falsch kopiert!!

          Intel NUC mit Iobroker

          1 Reply Last reply
          0
          • dslraserD dslraser

            @dominik-f
            Dein alias ist komplett falsch.
            Falscher Typ, falsche Rolle usw.

            T Offline
            T Offline
            TbiBnz
            wrote on last edited by TbiBnz
            #441

            @dslraser @Dominik-F Hallo,

            vorne weg danke für deine Super Arbeit! ohne die Blockys würde ich wohl verzweifeln.

            ich habe nun das Problem das ich meine Homematic Geräte über den HmIp Adapter eingebunden habe und nicht über den RPC. Einfach aus dem Grund das ich keine CCU besitze sondern nur den Acess Point.

            Nun sehen meine Originalen Datenpunkte und dementsprechend auch meine Aliase so aus:

              "type": "state",
              "common": {
                "name": "windowState",
                "type": "string",
                "role": "text",
                "read": true,
                "write": false
              },
              "native": {},
              "from": "system.adapter.hmip.0",
              "user": "system.user.admin",
              "ts": 1661283665554,
              "_id": "hmip.0.devices.xxxxx.windowState",
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            

            Nunja ich stehe jetzt vor dem Problem das ich die Blockys für Fenster und Türen nicht richtig nutzen kann, das diese nicht richtig gezählt werden.

            Ich habe nun einige Tage versucht die Aliase wie im unteren Code aussehen zu lassen leider klappt das nicht so richtig.

            {
             "type": "state",
             "common": {
               "name": "Terrassentür",
               "def": 0,
               "type": "number",
               "read": true,
               "write": false,
               "min": 0,
               "max": 2,
               "states": {
                 "0": "geschlossen",
                 "1": "gekippt",
                 "2": "geöffnet"
               },
               "role": "window.value",
               "alias": {
                 "id": "hm-rpc.0.xxx.1.STATE"
               },
               "desc": "per Script erstellt",
               "unit": ""
             },
             "native": {},
             "from": "system.adapter.javascript.0",
             "user": "system.user.admin",
             "ts": 1615639660637,
             "_id": "alias.0.Tueren.Terrassentuer",
             "acl": {
               "object": 1636,
               "state": 1636,
               "owner": "system.user.admin",
               "ownerGroup": "system.group.administrator"
             }
            }
            
            

            Nun meine frage liegt das am Adapter, das die Datenpunkte nicht richtig ausgegeben werden?
            Bin ich irgendwo komplett falsch?

            Ich wäre über ein wenig hilfe echt dankbar, bin noch blutiger Anfänger der seid einigen Tagen versucht deine Blockys zu verwenden.

            L Dominik F.D 2 Replies Last reply
            0
            • T TbiBnz

              @dslraser @Dominik-F Hallo,

              vorne weg danke für deine Super Arbeit! ohne die Blockys würde ich wohl verzweifeln.

              ich habe nun das Problem das ich meine Homematic Geräte über den HmIp Adapter eingebunden habe und nicht über den RPC. Einfach aus dem Grund das ich keine CCU besitze sondern nur den Acess Point.

              Nun sehen meine Originalen Datenpunkte und dementsprechend auch meine Aliase so aus:

                "type": "state",
                "common": {
                  "name": "windowState",
                  "type": "string",
                  "role": "text",
                  "read": true,
                  "write": false
                },
                "native": {},
                "from": "system.adapter.hmip.0",
                "user": "system.user.admin",
                "ts": 1661283665554,
                "_id": "hmip.0.devices.xxxxx.windowState",
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                }
              }
              

              Nunja ich stehe jetzt vor dem Problem das ich die Blockys für Fenster und Türen nicht richtig nutzen kann, das diese nicht richtig gezählt werden.

              Ich habe nun einige Tage versucht die Aliase wie im unteren Code aussehen zu lassen leider klappt das nicht so richtig.

              {
               "type": "state",
               "common": {
                 "name": "Terrassentür",
                 "def": 0,
                 "type": "number",
                 "read": true,
                 "write": false,
                 "min": 0,
                 "max": 2,
                 "states": {
                   "0": "geschlossen",
                   "1": "gekippt",
                   "2": "geöffnet"
                 },
                 "role": "window.value",
                 "alias": {
                   "id": "hm-rpc.0.xxx.1.STATE"
                 },
                 "desc": "per Script erstellt",
                 "unit": ""
               },
               "native": {},
               "from": "system.adapter.javascript.0",
               "user": "system.user.admin",
               "ts": 1615639660637,
               "_id": "alias.0.Tueren.Terrassentuer",
               "acl": {
                 "object": 1636,
                 "state": 1636,
                 "owner": "system.user.admin",
                 "ownerGroup": "system.group.administrator"
               }
              }
              
              

              Nun meine frage liegt das am Adapter, das die Datenpunkte nicht richtig ausgegeben werden?
              Bin ich irgendwo komplett falsch?

              Ich wäre über ein wenig hilfe echt dankbar, bin noch blutiger Anfänger der seid einigen Tagen versucht deine Blockys zu verwenden.

              L Offline
              L Offline
              Lucky_ESA
              Developer Most Active
              wrote on last edited by
              #442

              @tbibnz ich habe mir unter 0_userdata.Fenster alle Datenpunkte aller Kontakte manuell angelegt (wie diese in alias ausehen werden). Dann über Blockly die Kontakte von HMIP getriggert und bei Änderungen den Wert in die Datenpunkte 0_userdata.Fenster.deinepunkte geschrieben. Diese Datenpunkte habe ich dann als alias angelegt und werden somit von dslraser`s Blockly überwacht. Vielleicht hilft dir das weiter.
              Gruß//Lucky

              T 1 Reply Last reply
              0
              • T TbiBnz

                @dslraser @Dominik-F Hallo,

                vorne weg danke für deine Super Arbeit! ohne die Blockys würde ich wohl verzweifeln.

                ich habe nun das Problem das ich meine Homematic Geräte über den HmIp Adapter eingebunden habe und nicht über den RPC. Einfach aus dem Grund das ich keine CCU besitze sondern nur den Acess Point.

                Nun sehen meine Originalen Datenpunkte und dementsprechend auch meine Aliase so aus:

                  "type": "state",
                  "common": {
                    "name": "windowState",
                    "type": "string",
                    "role": "text",
                    "read": true,
                    "write": false
                  },
                  "native": {},
                  "from": "system.adapter.hmip.0",
                  "user": "system.user.admin",
                  "ts": 1661283665554,
                  "_id": "hmip.0.devices.xxxxx.windowState",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  }
                }
                

                Nunja ich stehe jetzt vor dem Problem das ich die Blockys für Fenster und Türen nicht richtig nutzen kann, das diese nicht richtig gezählt werden.

                Ich habe nun einige Tage versucht die Aliase wie im unteren Code aussehen zu lassen leider klappt das nicht so richtig.

                {
                 "type": "state",
                 "common": {
                   "name": "Terrassentür",
                   "def": 0,
                   "type": "number",
                   "read": true,
                   "write": false,
                   "min": 0,
                   "max": 2,
                   "states": {
                     "0": "geschlossen",
                     "1": "gekippt",
                     "2": "geöffnet"
                   },
                   "role": "window.value",
                   "alias": {
                     "id": "hm-rpc.0.xxx.1.STATE"
                   },
                   "desc": "per Script erstellt",
                   "unit": ""
                 },
                 "native": {},
                 "from": "system.adapter.javascript.0",
                 "user": "system.user.admin",
                 "ts": 1615639660637,
                 "_id": "alias.0.Tueren.Terrassentuer",
                 "acl": {
                   "object": 1636,
                   "state": 1636,
                   "owner": "system.user.admin",
                   "ownerGroup": "system.group.administrator"
                 }
                }
                
                

                Nun meine frage liegt das am Adapter, das die Datenpunkte nicht richtig ausgegeben werden?
                Bin ich irgendwo komplett falsch?

                Ich wäre über ein wenig hilfe echt dankbar, bin noch blutiger Anfänger der seid einigen Tagen versucht deine Blockys zu verwenden.

                Dominik F.D Offline
                Dominik F.D Offline
                Dominik F.
                wrote on last edited by Dominik F.
                #443

                @tbibnz

                Wie deine ursprünglichen Datenpunkte aussehen oder über welchen Adapter du die einbindest ist eigentlich egal.
                Ich nutze zum erstellen der Aliase den Alias-Manager. Damit klappt das recht einfach und du kannst die Aliase auch automatisch erstellen lassen und im Nachhinein noch bearbeiten.

                Ein Fensterkontakt bzw. bei mir Terrassentürkontakt der mit dem Skript funktioniert sieht bei mir so aus:

                {
                  "common": {
                    "alias": {
                      "id": "hm-rpc.2.0007DA49992A68.1.STATE"
                    },
                    "name": "Terrassentür",
                    "def": 0,
                    "role": "value.window",
                    "type": "number",
                    "min": 0,
                    "max": 2,
                    "read": true,
                    "write": false,
                    "states": {
                      "0": "geschlossen",
                      "1": "gekippt",
                      "2": "geöffnet"
                    }
                  },
                  "native": {},
                  "type": "state",
                  "_id": "alias.0.Wohnzimmer.Terrassentür.STATE",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  },
                  "from": "system.adapter.admin.0",
                  "user": "system.user.admin",
                  "ts": 1643150789802
                

                Du hast bei dir z.B. folgendes drin stehen:

                  "alias": {
                     "id": "hm-rpc.0.xxx.1.STATE"
                

                Da müsste eigentlich der Datenpunkt drin stehen, auf den sich der Alias bezieht.
                Ich würde dir wirklich raten, dass mit dem Alias-Manager zu machen. Das ist für Leute mit wenig Erfahrung wie unter Anderem auch mich einfacher als per Skript.

                T 1 Reply Last reply
                0
                • Dominik F.D Dominik F.

                  @tbibnz

                  Wie deine ursprünglichen Datenpunkte aussehen oder über welchen Adapter du die einbindest ist eigentlich egal.
                  Ich nutze zum erstellen der Aliase den Alias-Manager. Damit klappt das recht einfach und du kannst die Aliase auch automatisch erstellen lassen und im Nachhinein noch bearbeiten.

                  Ein Fensterkontakt bzw. bei mir Terrassentürkontakt der mit dem Skript funktioniert sieht bei mir so aus:

                  {
                    "common": {
                      "alias": {
                        "id": "hm-rpc.2.0007DA49992A68.1.STATE"
                      },
                      "name": "Terrassentür",
                      "def": 0,
                      "role": "value.window",
                      "type": "number",
                      "min": 0,
                      "max": 2,
                      "read": true,
                      "write": false,
                      "states": {
                        "0": "geschlossen",
                        "1": "gekippt",
                        "2": "geöffnet"
                      }
                    },
                    "native": {},
                    "type": "state",
                    "_id": "alias.0.Wohnzimmer.Terrassentür.STATE",
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    },
                    "from": "system.adapter.admin.0",
                    "user": "system.user.admin",
                    "ts": 1643150789802
                  

                  Du hast bei dir z.B. folgendes drin stehen:

                    "alias": {
                       "id": "hm-rpc.0.xxx.1.STATE"
                  

                  Da müsste eigentlich der Datenpunkt drin stehen, auf den sich der Alias bezieht.
                  Ich würde dir wirklich raten, dass mit dem Alias-Manager zu machen. Das ist für Leute mit wenig Erfahrung wie unter Anderem auch mich einfacher als per Skript.

                  T Offline
                  T Offline
                  TbiBnz
                  wrote on last edited by
                  #444

                  @dominik-f

                  "alias": {
                      "id": "hm-rpc.0.xxx.1.STATE"
                  
                  

                  Dort steht natürlich bei mir die Id des Orginalen Datenpunkt. Das oben gezeigte sollte nur als Beispiel dienen.

                  Erstellt werden die Aliase auch per Alias Manager, das funktioniert soweit ganz gut.
                  Die Datenpunkte sind dann eben identisch zu den Orginalen und dort fehlen z.b. dann eben die verschiedenen Zustände wie geschlossen/geöffnet.

                  Im iObroker werden diese bei mir auch nicht als 0 1 oder 2 dargestellt sondern als closed/titled/opened.

                  Wenn ich den Alias dann im Nachhinein auf die Sturkur wie du sie auch geschrieben hast ändere, steht dann im State geschlossen(0) wie es sein sollte allerdings wird der State nicht mehr getriggert wenn ich das Fenster dann öffne.

                  Dominik F.D 1 Reply Last reply
                  0
                  • L Lucky_ESA

                    @tbibnz ich habe mir unter 0_userdata.Fenster alle Datenpunkte aller Kontakte manuell angelegt (wie diese in alias ausehen werden). Dann über Blockly die Kontakte von HMIP getriggert und bei Änderungen den Wert in die Datenpunkte 0_userdata.Fenster.deinepunkte geschrieben. Diese Datenpunkte habe ich dann als alias angelegt und werden somit von dslraser`s Blockly überwacht. Vielleicht hilft dir das weiter.
                    Gruß//Lucky

                    T Offline
                    T Offline
                    TbiBnz
                    wrote on last edited by
                    #445

                    @lucky_esa Dankeschön, das hört sich vielversprechend an. Versuche es am Wochenende mal und hoffe damit komme ich weiter.

                    1 Reply Last reply
                    0
                    • T TbiBnz

                      @dominik-f

                      "alias": {
                          "id": "hm-rpc.0.xxx.1.STATE"
                      
                      

                      Dort steht natürlich bei mir die Id des Orginalen Datenpunkt. Das oben gezeigte sollte nur als Beispiel dienen.

                      Erstellt werden die Aliase auch per Alias Manager, das funktioniert soweit ganz gut.
                      Die Datenpunkte sind dann eben identisch zu den Orginalen und dort fehlen z.b. dann eben die verschiedenen Zustände wie geschlossen/geöffnet.

                      Im iObroker werden diese bei mir auch nicht als 0 1 oder 2 dargestellt sondern als closed/titled/opened.

                      Wenn ich den Alias dann im Nachhinein auf die Sturkur wie du sie auch geschrieben hast ändere, steht dann im State geschlossen(0) wie es sein sollte allerdings wird der State nicht mehr getriggert wenn ich das Fenster dann öffne.

                      Dominik F.D Offline
                      Dominik F.D Offline
                      Dominik F.
                      wrote on last edited by
                      #446

                      @tbibnz

                      Ich hab festgestellt, dass ich anfangs genau das gleiche Problem wie du hatte.

                      https://forum.iobroker.net/topic/40424/alexa-ansagen-i-telegram-i-email-i-alias-i-visu-i-html/385?_=1661417638450

                      Ich musste im Nachhinein auch meine Datenpunkte anpassen. Wenn du weiter nach unten scrollst findest du auch die Beiträge die mir geholfen haben, vielleicht hilft es dir ja auch

                      T 1 Reply Last reply
                      0
                      • Dominik F.D Dominik F.

                        @tbibnz

                        Ich hab festgestellt, dass ich anfangs genau das gleiche Problem wie du hatte.

                        https://forum.iobroker.net/topic/40424/alexa-ansagen-i-telegram-i-email-i-alias-i-visu-i-html/385?_=1661417638450

                        Ich musste im Nachhinein auch meine Datenpunkte anpassen. Wenn du weiter nach unten scrollst findest du auch die Beiträge die mir geholfen haben, vielleicht hilft es dir ja auch

                        T Offline
                        T Offline
                        TbiBnz
                        wrote on last edited by TbiBnz
                        #447

                        @dominik-f danke dir, deswegen habe ich dich auch direkt markiert. Ich habe im Nachhinein meine Alias Datenpunkte auch wie folgt angepasst, dabei natürlich meine id verwendet.

                        
                        {
                          "common": {
                            "alias": {
                              "id": "hm-rpc.2.0007DA49992A68.1.STATE"
                            },
                            "name": "Terrassentür",
                            "def": 0,
                            "role": "value.window",
                            "type": "number",
                            "min": 0,
                            "max": 2,
                            "read": true,
                            "write": false,
                            "states": {
                              "0": "geschlossen",
                              "1": "gekippt",
                              "2": "geöffnet"
                            }
                          },
                          "native": {},
                          "type": "state",
                          "_id": "alias.0.Wohnzimmer.Terrassentür.STATE",
                          "acl": {
                            "object": 1636,
                            "state": 1636,
                            "owner": "system.user.admin",
                            "ownerGroup": "system.group.administrator"
                          },
                          "from": "system.adapter.admin.0",
                          "user": "system.user.admin",
                          "ts": 1643150789802
                        

                        Leider Triggert der Alias aber dann nicht mehr wenn ich die Türe dann schließe oder öffne.

                        Dominik F.D 1 Reply Last reply
                        0
                        • L Offline
                          L Offline
                          Lucky_ESA
                          Developer Most Active
                          wrote on last edited by Lucky_ESA
                          #448

                          Ich habe doch oben geschrieben wie du das machen musst. Diese Variante verwende ich da ich meine Fenster Alarmüberwache und dazu benötigt man halt 2 Sensoren.
                          Dein RAW vom HMIP hat einen string und keine number oder boolean. Keiner Ahnung was da jetzt für Werte reingeschrieben werden aber diesen Value vom String musst du abfragen und in den Datenpunkt 0_userdata... dann eine 0 oder 1 schreiben. Dann den Alias auf 0_userdata referenzieren.

                          Edit: Wenn in deinem HMIP DP closed und open geschrieben wird dann ändere mal deinen Alias so:

                             "name": "Terrassentür",
                          
                             "role": "value.window",
                          
                             "type": "string",
                          
                             "read": true,
                          
                             "write": false,
                          
                             "states": {
                          
                               "CLOSED": "geschlossen",
                          
                               "OPEN": "gekippt",
                          
                               "TILTED": "geöffnet"
                          
                             }
                          


                          Gruß//Lucky

                          T 1 Reply Last reply
                          0
                          • T TbiBnz

                            @dominik-f danke dir, deswegen habe ich dich auch direkt markiert. Ich habe im Nachhinein meine Alias Datenpunkte auch wie folgt angepasst, dabei natürlich meine id verwendet.

                            
                            {
                              "common": {
                                "alias": {
                                  "id": "hm-rpc.2.0007DA49992A68.1.STATE"
                                },
                                "name": "Terrassentür",
                                "def": 0,
                                "role": "value.window",
                                "type": "number",
                                "min": 0,
                                "max": 2,
                                "read": true,
                                "write": false,
                                "states": {
                                  "0": "geschlossen",
                                  "1": "gekippt",
                                  "2": "geöffnet"
                                }
                              },
                              "native": {},
                              "type": "state",
                              "_id": "alias.0.Wohnzimmer.Terrassentür.STATE",
                              "acl": {
                                "object": 1636,
                                "state": 1636,
                                "owner": "system.user.admin",
                                "ownerGroup": "system.group.administrator"
                              },
                              "from": "system.adapter.admin.0",
                              "user": "system.user.admin",
                              "ts": 1643150789802
                            

                            Leider Triggert der Alias aber dann nicht mehr wenn ich die Türe dann schließe oder öffne.

                            Dominik F.D Offline
                            Dominik F.D Offline
                            Dominik F.
                            wrote on last edited by Dominik F.
                            #449

                            @tbibnz

                            Mal ne ganz blöde Frage. Hast du nach dem Editieren des Datenpunktes mal den Javascript Adapter neu gestartet?
                            Ich kann mich aus einem anderen Skript erinnern, dass dies auch manchmal Fehler bei der Erkennung von Datenpunkten behoben hat.

                            Edit:
                            Das was @Lucky_ESA schreibt kann bzw. wird wahrscheinlich der Grund sein. Mein Orginaldatenpunkt ist bei mir ebenfalls vom Typ "Number". Da er bei dir vom Typ String ist und du eine Number draus machst, könnte das das Problem sein.

                            Hab nochmal geschaut woran es damals lag. Ich hatte beim Orginaldatenpunkt Typ Number und beim Alias Typ String. Erst als beiden Number war, ging es. Vielleicht geht es ja bei dir, wenn beides vom Typ String ist.

                            T 1 Reply Last reply
                            0
                            • Dominik F.D Dominik F.

                              @tbibnz

                              Mal ne ganz blöde Frage. Hast du nach dem Editieren des Datenpunktes mal den Javascript Adapter neu gestartet?
                              Ich kann mich aus einem anderen Skript erinnern, dass dies auch manchmal Fehler bei der Erkennung von Datenpunkten behoben hat.

                              Edit:
                              Das was @Lucky_ESA schreibt kann bzw. wird wahrscheinlich der Grund sein. Mein Orginaldatenpunkt ist bei mir ebenfalls vom Typ "Number". Da er bei dir vom Typ String ist und du eine Number draus machst, könnte das das Problem sein.

                              Hab nochmal geschaut woran es damals lag. Ich hatte beim Orginaldatenpunkt Typ Number und beim Alias Typ String. Erst als beiden Number war, ging es. Vielleicht geht es ja bei dir, wenn beides vom Typ String ist.

                              T Offline
                              T Offline
                              TbiBnz
                              wrote on last edited by
                              #450

                              @dominik-f habe es mittlerweile hinbekommen, vielen dank für deine Hilfe.

                              Dominik F.D 1 Reply Last reply
                              0
                              • L Lucky_ESA

                                Ich habe doch oben geschrieben wie du das machen musst. Diese Variante verwende ich da ich meine Fenster Alarmüberwache und dazu benötigt man halt 2 Sensoren.
                                Dein RAW vom HMIP hat einen string und keine number oder boolean. Keiner Ahnung was da jetzt für Werte reingeschrieben werden aber diesen Value vom String musst du abfragen und in den Datenpunkt 0_userdata... dann eine 0 oder 1 schreiben. Dann den Alias auf 0_userdata referenzieren.

                                Edit: Wenn in deinem HMIP DP closed und open geschrieben wird dann ändere mal deinen Alias so:

                                   "name": "Terrassentür",
                                
                                   "role": "value.window",
                                
                                   "type": "string",
                                
                                   "read": true,
                                
                                   "write": false,
                                
                                   "states": {
                                
                                     "CLOSED": "geschlossen",
                                
                                     "OPEN": "gekippt",
                                
                                     "TILTED": "geöffnet"
                                
                                   }
                                


                                Gruß//Lucky

                                T Offline
                                T Offline
                                TbiBnz
                                wrote on last edited by
                                #451

                                @lucky_esa auch dir danke habe es zum laufen gebracht.

                                1 Reply Last reply
                                0
                                • T TbiBnz

                                  @dominik-f habe es mittlerweile hinbekommen, vielen dank für deine Hilfe.

                                  Dominik F.D Offline
                                  Dominik F.D Offline
                                  Dominik F.
                                  wrote on last edited by
                                  #452

                                  @tbibnz

                                  Kannst du deine Lösung hier schreiben? Dann hilft es vielleicht jemanden, der das gleiche Problem hat.

                                  T 1 Reply Last reply
                                  0
                                  • Dominik F.D Dominik F.

                                    @tbibnz

                                    Kannst du deine Lösung hier schreiben? Dann hilft es vielleicht jemanden, der das gleiche Problem hat.

                                    T Offline
                                    T Offline
                                    TbiBnz
                                    wrote on last edited by
                                    #453

                                    @dominik-f Klar ich hatte heute morgen nur nicht so viel Zeit einen größeren Beitrag zu verfassen, wobei die Lösung recht simpel ist.

                                    Manchmal sieht man den Wald vor lauter Bäumen einfach nicht und @Lucky_ESA hat es auch schon richtig erklärt.
                                    "Dein RAW vom HMIP hat einen string und keine number oder boolean."

                                    Der HmIP-Adapter arbeitet mit CLOSED/TITLED/OPENED und wenn man die Datenpunkte als Number editiert funktioniert das logischerweise eben nicht.
                                    Also von dem Datenpunkt windowSate einen Alias erstellen und diesen als String editiert und die States anpassen dann erfasst das Blocky die verschiedenen States auch richtig.

                                    mein Datenpunkt für eins HmIP Fenstersensor mit offen/geschlossen sieht dann wie folgt aus:

                                    {
                                     "type": "state",
                                     "common": {
                                       "name": "Beispielzimmer Fenster",
                                       "def": 0,
                                       "type": "string",
                                       "read": true,
                                       "write": false,
                                       "states": {
                                         "CLOSED": "geschlossen",
                                         "OPEN": "geöffnet"
                                       },
                                       "role": "window.value",
                                       "alias": {
                                         "id": "hmip.0.devices.HIER-ORGINAL-ID-EINTRAGEN.channels.1.windowState"
                                       },
                                       "desc": "per Script erstellt",
                                       "unit": ""
                                     },
                                     "native": {},
                                     "_id": "alias.0.Fenster.Beispielzimmer_Fenster",
                                     "acl": {
                                       "object": 1636,
                                       "state": 1636,
                                       "owner": "system.user.admin",
                                       "ownerGroup": "system.group.administrator"
                                     },
                                     "from": "system.adapter.admin.0",
                                     "user": "system.user.admin",
                                     "ts": 1661453618124
                                    }
                                    

                                    das ganze funktioniert dann natürlich auch als offen/gekippt/geschlossen:

                                    {
                                     "type": "state",
                                     "common": {
                                       "name": "Balkotür Beispiel",
                                       "def": 0,
                                       "type": "string",
                                       "read": true,
                                       "write": false,
                                       "states": {
                                         "CLOSED": "geschlossen",
                                         "TILTED": "gekippt",
                                         "OPEN": "geöffnet"
                                       },
                                       "role": "window.value",
                                       "alias": {
                                         "id": "hmip.0.devices.HIER-ORGINAL-ID-EINTRAGEN.channels.1.windowState"
                                       },
                                       "desc": "per Script erstellt",
                                       "unit": ""
                                     },
                                     "native": {},
                                     "_id": "alias.0.Tueren.Balkontuer_Beispiel",
                                     "acl": {
                                       "object": 1636,
                                       "state": 1636,
                                       "owner": "system.user.admin",
                                       "ownerGroup": "system.group.administrator"
                                     },
                                     "from": "system.adapter.admin.0",
                                     "user": "system.user.admin",
                                     "ts": 1661439101526
                                    }
                                    

                                    Wie geschrieben es war einfach zu einfach 🤓

                                    Nochmals vielen dan für eure Hilfe ich hoffe das der ein oder andere der den HmIP Adapter nutz und auch vor diesem Problem steht kann es nun lösen.

                                    Grüße
                                    Tobi

                                    dslraserD 1 Reply Last reply
                                    2
                                    • T TbiBnz

                                      @dominik-f Klar ich hatte heute morgen nur nicht so viel Zeit einen größeren Beitrag zu verfassen, wobei die Lösung recht simpel ist.

                                      Manchmal sieht man den Wald vor lauter Bäumen einfach nicht und @Lucky_ESA hat es auch schon richtig erklärt.
                                      "Dein RAW vom HMIP hat einen string und keine number oder boolean."

                                      Der HmIP-Adapter arbeitet mit CLOSED/TITLED/OPENED und wenn man die Datenpunkte als Number editiert funktioniert das logischerweise eben nicht.
                                      Also von dem Datenpunkt windowSate einen Alias erstellen und diesen als String editiert und die States anpassen dann erfasst das Blocky die verschiedenen States auch richtig.

                                      mein Datenpunkt für eins HmIP Fenstersensor mit offen/geschlossen sieht dann wie folgt aus:

                                      {
                                       "type": "state",
                                       "common": {
                                         "name": "Beispielzimmer Fenster",
                                         "def": 0,
                                         "type": "string",
                                         "read": true,
                                         "write": false,
                                         "states": {
                                           "CLOSED": "geschlossen",
                                           "OPEN": "geöffnet"
                                         },
                                         "role": "window.value",
                                         "alias": {
                                           "id": "hmip.0.devices.HIER-ORGINAL-ID-EINTRAGEN.channels.1.windowState"
                                         },
                                         "desc": "per Script erstellt",
                                         "unit": ""
                                       },
                                       "native": {},
                                       "_id": "alias.0.Fenster.Beispielzimmer_Fenster",
                                       "acl": {
                                         "object": 1636,
                                         "state": 1636,
                                         "owner": "system.user.admin",
                                         "ownerGroup": "system.group.administrator"
                                       },
                                       "from": "system.adapter.admin.0",
                                       "user": "system.user.admin",
                                       "ts": 1661453618124
                                      }
                                      

                                      das ganze funktioniert dann natürlich auch als offen/gekippt/geschlossen:

                                      {
                                       "type": "state",
                                       "common": {
                                         "name": "Balkotür Beispiel",
                                         "def": 0,
                                         "type": "string",
                                         "read": true,
                                         "write": false,
                                         "states": {
                                           "CLOSED": "geschlossen",
                                           "TILTED": "gekippt",
                                           "OPEN": "geöffnet"
                                         },
                                         "role": "window.value",
                                         "alias": {
                                           "id": "hmip.0.devices.HIER-ORGINAL-ID-EINTRAGEN.channels.1.windowState"
                                         },
                                         "desc": "per Script erstellt",
                                         "unit": ""
                                       },
                                       "native": {},
                                       "_id": "alias.0.Tueren.Balkontuer_Beispiel",
                                       "acl": {
                                         "object": 1636,
                                         "state": 1636,
                                         "owner": "system.user.admin",
                                         "ownerGroup": "system.group.administrator"
                                       },
                                       "from": "system.adapter.admin.0",
                                       "user": "system.user.admin",
                                       "ts": 1661439101526
                                      }
                                      

                                      Wie geschrieben es war einfach zu einfach 🤓

                                      Nochmals vielen dan für eure Hilfe ich hoffe das der ein oder andere der den HmIP Adapter nutz und auch vor diesem Problem steht kann es nun lösen.

                                      Grüße
                                      Tobi

                                      dslraserD Offline
                                      dslraserD Offline
                                      dslraser
                                      Forum Testing Most Active
                                      wrote on last edited by
                                      #454

                                      @tbibnz
                                      schön das es jetzt funktioniert.

                                      Ich nutze diese Blocklys aktuell selbst nicht mehr, da ich iQontrol Nutzer bin und dort nun direkt in iQontrol fast alles was diese Blocklys können auch mit dem Adapter erstellen kann.
                                      Das ganze sieht dann bei mir in iQontrol auch ähnlich aus.

                                      Hier mal kurze Beispiele

                                      7F29EA18-CD46-43DE-A7F6-A350EA96DD03.png B19F357D-2C5B-44C3-ACD0-C8CD9BDE8761.png 8EC5C983-C713-4A76-9D8B-498397927439.png

                                      Dominik F.D 1 Reply Last reply
                                      0
                                      • dslraserD dslraser

                                        @tbibnz
                                        schön das es jetzt funktioniert.

                                        Ich nutze diese Blocklys aktuell selbst nicht mehr, da ich iQontrol Nutzer bin und dort nun direkt in iQontrol fast alles was diese Blocklys können auch mit dem Adapter erstellen kann.
                                        Das ganze sieht dann bei mir in iQontrol auch ähnlich aus.

                                        Hier mal kurze Beispiele

                                        7F29EA18-CD46-43DE-A7F6-A350EA96DD03.png B19F357D-2C5B-44C3-ACD0-C8CD9BDE8761.png 8EC5C983-C713-4A76-9D8B-498397927439.png

                                        Dominik F.D Offline
                                        Dominik F.D Offline
                                        Dominik F.
                                        wrote on last edited by
                                        #455

                                        @dslraser

                                        Ich nutze aktuell mehrere deiner Skripte und bin total begeistert. Ich würde eines deiner Skripte gerne etwas verändern, nur sind diese so umfangreich, dass ich den Wald vor lauter Bäumen nicht sehe^^

                                        Es geht um das Skript Bewegungsmelder. Hier werden die Datenpunkte die true sind als erstes angezeigt. ich würde das gerne ändern und die Datenpunkte die false sind als erstes anzeigen lassen in der Liste:

                                        0_userdata.0.Geraete_zaehlen.Bewegungsmelder.Haus.01_Anzeigen_und_Listen.06_html_Bewegungsmelder_Liste
                                        

                                        Könntest du mir da vielleicht helfen?

                                        Hintergrund ist, dass ich mir dieses Skript umgeschrieben habe um auf Erreichbarkeit von Geräten zu überprüfen. Ich konnte alles anpassen nur eben nicht diese Liste bzw. die Sortierung davon

                                        dslraserD 1 Reply Last reply
                                        0
                                        • Dominik F.D Dominik F.

                                          @dslraser

                                          Ich nutze aktuell mehrere deiner Skripte und bin total begeistert. Ich würde eines deiner Skripte gerne etwas verändern, nur sind diese so umfangreich, dass ich den Wald vor lauter Bäumen nicht sehe^^

                                          Es geht um das Skript Bewegungsmelder. Hier werden die Datenpunkte die true sind als erstes angezeigt. ich würde das gerne ändern und die Datenpunkte die false sind als erstes anzeigen lassen in der Liste:

                                          0_userdata.0.Geraete_zaehlen.Bewegungsmelder.Haus.01_Anzeigen_und_Listen.06_html_Bewegungsmelder_Liste
                                          

                                          Könntest du mir da vielleicht helfen?

                                          Hintergrund ist, dass ich mir dieses Skript umgeschrieben habe um auf Erreichbarkeit von Geräten zu überprüfen. Ich konnte alles anpassen nur eben nicht diese Liste bzw. die Sortierung davon

                                          dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          wrote on last edited by
                                          #456

                                          @dominik-f
                                          Ich bin am WE nicht zu Hause, aber ich such Dir die Stelle/Stellen gern raus.

                                          Dominik F.D 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          630

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe