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.1k

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

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

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.1k 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.
  • da_WoodyD da_Woody

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

    Ich habe einige Schaltaktoren für E-Heizungen.

    was willst du von denen wissen?

    I Offline
    I Offline
    Idefix01
    schrieb am zuletzt editiert von
    #423

    Guten Abend,
    ich bin dabei mir alles auf einem Mini-PC neu einzurichten.
    Somit habe ich auch gleich die neue Version hier verwendet. Nur irgendwie will er mir keine Zählung vornehmen.
    Die Aliase sind alle vorhanden, Aufzählungen sind auch eingerichtet, aber es erscheint immer nur "0"

    alias.jpg

    aufzaehlung.jpg

    Geraete.jpg

    I 1 Antwort Letzte Antwort
    0
    • I Idefix01

      Guten Abend,
      ich bin dabei mir alles auf einem Mini-PC neu einzurichten.
      Somit habe ich auch gleich die neue Version hier verwendet. Nur irgendwie will er mir keine Zählung vornehmen.
      Die Aliase sind alle vorhanden, Aufzählungen sind auch eingerichtet, aber es erscheint immer nur "0"

      alias.jpg

      aufzaehlung.jpg

      Geraete.jpg

      I Offline
      I Offline
      Idefix01
      schrieb am zuletzt editiert von
      #424

      Hat sich erledigt, Fehler gefunden.

      Bei den Aufzählungen muss der Name identisch sein wie die ID!

      1 Antwort Letzte Antwort
      1
      • NegaleinN Offline
        NegaleinN Offline
        Negalein
        Global Moderator
        schrieb am zuletzt editiert von
        #425

        @dslraser

        Ich habe heute dein Steckdosen Blockly eingerichtet.
        Funktioniert perfekt.

        Nur schaffe ich es nicht in VIS mit dem HTML-Widget die Liste untereinander anzuzeigen.

        Links = {0_userdata.0.Geraete_zaehlen.Steckdosen.Haus.01_Anzeigen_und_Listen.04_eingeschaltete_Steckdosen_Liste}
        Rechts = {0_userdata.0.Geraete_zaehlen.Steckdosen.Haus.01_Anzeigen_und_Listen.07_Steckdosen_Liste_mit_Emojis}

        vis.png

        Hast du eine Idee?

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

        dslraserD da_WoodyD 2 Antworten Letzte Antwort
        0
        • NegaleinN Negalein

          @dslraser

          Ich habe heute dein Steckdosen Blockly eingerichtet.
          Funktioniert perfekt.

          Nur schaffe ich es nicht in VIS mit dem HTML-Widget die Liste untereinander anzuzeigen.

          Links = {0_userdata.0.Geraete_zaehlen.Steckdosen.Haus.01_Anzeigen_und_Listen.04_eingeschaltete_Steckdosen_Liste}
          Rechts = {0_userdata.0.Geraete_zaehlen.Steckdosen.Haus.01_Anzeigen_und_Listen.07_Steckdosen_Liste_mit_Emojis}

          vis.png

          Hast du eine Idee?

          dslraserD Offline
          dslraserD Offline
          dslraser
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #426

          @negalein
          kann ich leider nichts zu sagen, ich nutze kein VIS und habe auch keine Ahnung davon 🤷

          NegaleinN 1 Antwort Letzte Antwort
          0
          • dslraserD dslraser

            @negalein
            kann ich leider nichts zu sagen, ich nutze kein VIS und habe auch keine Ahnung davon 🤷

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

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

            ich nutze kein VIS und habe auch keine Ahnung davon

            Ok, vielleicht meldet sich noch wer mit VIS

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

            1 Antwort Letzte Antwort
            0
            • NegaleinN Negalein

              @dslraser

              Ich habe heute dein Steckdosen Blockly eingerichtet.
              Funktioniert perfekt.

              Nur schaffe ich es nicht in VIS mit dem HTML-Widget die Liste untereinander anzuzeigen.

              Links = {0_userdata.0.Geraete_zaehlen.Steckdosen.Haus.01_Anzeigen_und_Listen.04_eingeschaltete_Steckdosen_Liste}
              Rechts = {0_userdata.0.Geraete_zaehlen.Steckdosen.Haus.01_Anzeigen_und_Listen.07_Steckdosen_Liste_mit_Emojis}

              vis.png

              Hast du eine Idee?

              da_WoodyD Offline
              da_WoodyD Offline
              da_Woody
              schrieb am zuletzt editiert von
              #428

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

              Hast du eine Idee?

              nimm iQontrol! 😘😁

              gruß vom Woody
              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

              NegaleinN 1 Antwort Letzte Antwort
              0
              • da_WoodyD da_Woody

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

                Hast du eine Idee?

                nimm iQontrol! 😘😁

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

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

                nimm iQontrol!

                Nö, iQ hab ich nur für die wichtigsten Sachen am Handy! 😁

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

                da_WoodyD 1 Antwort Letzte Antwort
                0
                • NegaleinN Negalein

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

                  nimm iQontrol!

                  Nö, iQ hab ich nur für die wichtigsten Sachen am Handy! 😁

                  da_WoodyD Offline
                  da_WoodyD Offline
                  da_Woody
                  schrieb am zuletzt editiert von da_Woody
                  #430

                  @negalein i know my friend... 😉 kleiner seitebnhieb musst mal wieder sein... 😄
                  btw: rosedragon is growing...

                  gruß vom Woody
                  HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    sebwirtz
                    schrieb am zuletzt editiert von
                    #431

                    Ich weiß nicht ob das Thema hier unter den ganzen Beiträgen schon beschrieben wurde, deshalb frag ich mal kurz nach.

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

                    Alexa funktioniert einwandfrei. Bekomme aber leider keine Nachricht.

                    NegaleinN 1 Antwort Letzte Antwort
                    0
                    • S sebwirtz

                      Ich weiß nicht ob das Thema hier unter den ganzen Beiträgen schon beschrieben wurde, deshalb frag ich mal kurz nach.

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

                      Alexa funktioniert einwandfrei. Bekomme aber leider keine Nachricht.

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

                      @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

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

                      S 2 Antworten Letzte Antwort
                      1
                      • 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
                        #433

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

                        NegaleinN 1 Antwort Letzte Antwort
                        0
                        • 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 Online
                              L Online
                              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 Online
                                  L Online
                                  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 Online
                                          L Online
                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          328

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          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