Skip to content
  • Home
  • 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

Community Forum

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

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.4k 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.
  • I Idefix01

    @dslraser

    Guten Tag, ich hätte mal eine Frage zu diesen Abfragen. Ich habe einige Schaltaktoren für E-Heizungen. Dieses ist so ähnlich wie der Licht Bereich bzw. Steckdosen mit on oder off. Besteht die Möglichkeit dieses eventuell auch mit aufzunehmen oder mir eventuell mitzuteilen was ich ändern müsste (außer den alias)?

    da_WoodyD Online
    da_WoodyD Online
    da_Woody
    schrieb am zuletzt editiert von
    #422

    @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?

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

    I 1 Antwort Letzte Antwort
    0
    • 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 Online
                da_WoodyD Online
                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! :grin:

                  ° 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! :grin:

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

                    @negalein i know my friend... ;) kleiner seitebnhieb musst mal wieder sein... :D
                    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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          627

                                          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
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe