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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  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.2k

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

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

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

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
alexaansageblocklyfensteriqontroljarvisjavascripttür-fenster-kontakt
524 Beiträge 40 Kommentatoren 121.2k Aufrufe 57 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • NegaleinN Negalein

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

    Muss ich in den Blocklys noch etwas anpassen damit mir auch eine Telegram Nachricht gesendet wird?

    Ja

    hier
    6d910db0-00cc-4fa6-ac44-3684840f4202-image.png

    und hier
    054aa764-37b9-4713-ac71-a3b040906c12-image.png

    S Offline
    S Offline
    sebwirtz
    schrieb am zuletzt editiert von
    #434

    @negalein erledigt!!

    1 Antwort Letzte Antwort
    0
    • S sebwirtz

      @negalein "Telegram_verwenden" auf "wahr" hab ich gemacht
      was muss ich bei empfänger eintragen?

      NegaleinN Offline
      NegaleinN Offline
      Negalein
      Global Moderator
      schrieb am zuletzt editiert von
      #435

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

      was muss ich bei empfänger eintragen?

      deinen Telegram Benutzer.
      Wenn nur du alleine, dann kannst du das Feld wie im Screenshot auch leer lassen.

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

      1 Antwort Letzte Antwort
      1
      • A AKuehnemann73

        Hallo zusammen,

        erstmal Respekt an den Entwickler für das geile Skript. Hut ab vor der Leistung.
        Hab es mal für Fenster und Steckdosen installiert und es funktioniert einwandfrei!!!
        Eine kurze Frage hätte ich aber mal.
        Kann man damit auch vorhandene Rollläden abfragen?
        Was müsste ich dann im Blockly ändern?

        Gruß Andreas

        L Offline
        L Offline
        Lucky_ESA
        Developer Most Active
        schrieb am zuletzt editiert von
        #436

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

        Eine kurze Frage hätte ich aber mal.
        Kann man damit auch vorhandene Rollläden abfragen?
        Gruß Andreas

        Hier hast du Glück...Ich benötige diesen auch. Du kannst gerne dieses Script nehmen. Leider bin ich zu unfähig Grafiken zu erstellen, daher wird sich die Rolllade nicht beim Stylewechsel anpassen (blau, schwarz, weiß).
        rollladen_1.8.1.zip

        ACHTUNG! Da ich mir einen eigenden Fritzboxdect Adapter geschrieben habe, kann ich die Rollladen auch gemeinsam auflisten. Es funktioniert nur 100% = offen und 0% = geschlossen. Bei Fritz ist das leider andersherum. Dann musst du dir mit einem Workaround weiterhelfen...DP erstellen und wenn Rolllade sich ändert, den DP beschreiben mit 100-Wert von Fritte.


        roll.png

        Gruß//Lucky

        1 Antwort Letzte Antwort
        0
        • NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            Lucky_ESA
            Developer Most Active
            schrieb am zuletzt editiert von
            #438

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

            Gruß//Lucky

            NegaleinN 1 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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 Offline
                H Offline
                helfi9999
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                0
                • dslraserD dslraser

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

                  T Offline
                  T Offline
                  TbiBnz
                  schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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.
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #445

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

                          1 Antwort Letzte Antwort
                          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.
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                              0
                              • L Offline
                                L Offline
                                Lucky_ESA
                                Developer Most Active
                                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                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.
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #450

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

                                    Dominik F.D 1 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #451

                                      @lucky_esa auch dir danke habe es zum laufen gebracht.

                                      1 Antwort Letzte Antwort
                                      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.
                                        schrieb am zuletzt editiert von
                                        #452

                                        @tbibnz

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

                                        T 1 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 Antwort Letzte Antwort
                                          2
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          334

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe