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

donate donate
  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.8k

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

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

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

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
alexaansageblocklyfensteriqontroljarvisjavascripttür-fenster-kontakt
524 Beiträge 40 Kommentatoren 122.3k 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.
  • dslraserD dslraser

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

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

    https://forum.iobroker.net/post/749523

    (ich nutze die Blocklys aktuell Moment selbst nicht mehr. Ich nutze als VIS iQontrol, dort gibt es nun auch eine Listenfunktion mit noch mehr Möglichkeiten solche Listen zur erstellen und auch in den Listen zu schalten. Alle weiteren Möglichkeiten für Telegram/EMAIL und Alexa usw. nutze ich auch dafür, mit neuen Blocklys für diese iQontrol Listen)

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

    @dslraser

    schade, ok dann muss ich mal sehen ob ich mir ein Script selber umschreiben kann.

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

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

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

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

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


                                  roll.png

                                  Gruß//Lucky

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

                                    @dslraser

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

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

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

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

                                    Wo könnte ich noch nachschaun?

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • L Offline
                                      L Offline
                                      Lucky_ESA
                                      Developer Most Active
                                      schrieb am zuletzt editiert von
                                      #438

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

                                      Gruß//Lucky

                                      NegaleinN 1 Antwort Letzte Antwort
                                      2
                                      • L Lucky_ESA

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

                                        Gruß//Lucky

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

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

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

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

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

                                        1 Antwort Letzte Antwort
                                        0
                                        • dslraserD dslraser


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


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

                                          /**************************************************************
                                          Github - https://github.com/xCruziX/ioBroker-Creating-Alias/blob/master/CreateAlias.js
                                            			Changelog
                                          Version 1.1.4
                                          - fix error by using bCreateAliasPath and bConvertExistingPath (has no target 9/Error creating alias-path)
                                          **************************************************************/
                                          
                                          /**************************************
                                            	Flags /
                                            	Variablen
                                          ***************************************/
                                          
                                          // typeAlias = 'boolean'; // oder 'number'
                                          // read = "val == 'Ein' ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch  
                                          // write = "val ? 'Ein' : 'Aus'";
                                          // nameAlias = 'Licht Haustür';
                                          // role = 'switch';
                                          // desc = 'per Script erstellt';
                                          // min = 0; // nur Zahlen
                                          // max = 100; // nur Zahlen
                                          // unit = '%'; // nur für Zahlen
                                          // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                                          
                                          
                                          let bCreateAliasPath = true;  // If this flag is true, each folder is created seperately so rooms and functions can be assigned.
                                          
                                          /*
                                          Requirements: bCreateAliasPath == true
                                          If this flag is true, existing folders in the path will be converted so rooms and functions can be assigned.
                                          */
                                          let bConvertExistingPath = false;
                                          
                                          /***************************************
                                            	Don't change anything from here /
                                            	Ab hier nichts verändern
                                          ***************************************/
                                          
                                          let arEnum = [];
                                          let arId = [];
                                          let timeoutAssignEnum;
                                          var callbackAlias = undefined;
                                          function createAlias(idSrc, idDst,raum, gewerk,typeAlias, read, write, nameAlias, role, desc, min, max, unit, states) {
                                          if(!idDst.includes('alias.0.'))
                                              idDst = 'alias.0.' + idDst;
                                          if(!existsObject(idSrc))
                                          {
                                              log('Source-Id ' + idSrc +' does not exists.','warn');
                                              return;
                                          }
                                          
                                          // Create the object Path for alias id, 
                                          // so you can assign rooms and function to the parents
                                          var createAliasPath = (id) => {
                                               if(bCreateAliasPath){
                                                    let lisMergedIds = [];
                                                    let mergedId = 'alias.0';
                                                    id = id.replace(mergedId + '.', ''); // Remove prefix alias so it will not be changed
                                                    let split = id.split('.'); 
                                                    for(let i=0;i<split.length-1;i++){
                                                        mergedId += '.' + split[i];
                                                        lisMergedIds.push(mergedId);
                                                    }
                                                    
                                                    function path(){
                                                        if(lisMergedIds.length == 0) {
                                                            alias();
                                                            return;
                                                        }
                                                        let tmpId = lisMergedIds[0];
                                                        lisMergedIds.splice(0,1); // remove element
                                                        if(!existsObject(tmpId) || bConvertExistingPath){ // not exists
                                                            let obj;
                                                            if(existsObject(tmpId))
                                                                obj = getObject(tmpId);
                                                            else
                                                                obj = {};
                                          
                                                            let bApply = false;
                                                            if(obj != undefined){
                                                                if(obj.type == undefined || String(obj.type) != 'meta'){
                                                                    obj.type = 'meta';
                                                                    bApply = true;
                                                                }
                                                                if(obj.common == undefined){
                                                                    obj.common = {};
                                                                    obj.common.type = 'meta.folder';
                                                                    bApply = true;
                                                                }
                                                                else if(obj.common.type == undefined || String(obj.common.type) != 'meta.folder'){
                                                                    obj.common.type = 'meta.folder';
                                                                    bApply = true;
                                                                }
                                                                if(obj.native == undefined){
                                                                    obj.native = {};
                                                                    bApply = true;
                                                                }
                                                            }
                                                            else{
                                                                path();
                                                                log('Object is undefined');
                                                                return;
                                                            }
                                                            
                                          
                                                            if(bApply){
                                                                setObject(tmpId, obj, (err) =>{
                                                                if(!err){
                                                                    log('Created Alias-Path ' + tmpId);
                                                                    path();
                                                                }
                                                                else
                                                                    log('Error creating alias-path','error');
                                                            });
                                                            }
                                                            else
                                                                path();
                                                            
                                                        }
                                                    }
                                                    path();
                                               }
                                               else
                                                 alias();
                                          }
                                          
                                          
                                          function alias(){
                                              // Create alias object
                                              
                                                if(!existsObject(idDst)){
                                                    let obj = {};
                                                    obj.type = 'state';
                                                    obj.common = getObject(idSrc).common;
                                                    obj.common.alias = {};
                                                    obj.common.alias.id = idSrc;
                                                    if(typeAlias !== undefined) 
                                                        obj.common.type = typeAlias;
                                                    if(obj.common.read !== undefined) 
                                                        obj.common.alias.read = read;
                                                    if(obj.common.write !== undefined) 
                                                        obj.common.alias.write = write;
                                                    if(nameAlias !== undefined) 
                                                        obj.common.name = nameAlias;
                                                    if(role !== undefined) 
                                                        obj.common.role = role;
                                                    if(desc !== undefined) 
                                                        obj.common.desc = desc;
                                                    if(min !== undefined) 
                                                        obj.common.min = min;
                                                    if(max !== undefined) 
                                                        obj.common.max = max;
                                                    if(unit !== undefined) 
                                                        obj.common.unit = unit;
                                                    if(states !== undefined) 
                                                        obj.common.states = states;
                                          
                                                    obj.native = {};
                                                    obj.common.custom = {}; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird
                                                    log('Created Alias-State ' + idDst);
                                                    setObject(idDst, obj,(err) =>{ 
                                                        if(!err)
                                                            startAttach(); 
                                                        else
                                                            log('Error creating-alias','error');
                                                    });
                                                }
                                                else
                                                    startAttach();
                                          }
                                          
                                          
                                          // Save ID and Enum (room or function)
                                          var attach = (id, enu,value) => {
                                              if(id.length == 0){
                                                  log('ID has lenght 0, can not attach to enum','warn');
                                                  return;
                                              }
                                              if(value.length == 0){
                                                  log('Value has lenght 0','warn');
                                                  return;
                                              }
                                            
                                              let sEnuId = 'enum.' + enu + '.' + value;
                                              if(enu.length > 0 && existsObject(sEnuId)) 
                                              {
                                                  let obj = getObject(sEnuId)
                                                  let members = obj.common.members;
                                                  if(!members.includes(id)){
                                                      arEnum.push(sEnuId);
                                                      arId.push(id);
                                                  }
                                              }
                                              else
                                           	      log('Can not find enum ' + sEnuId,'warn');
                                          }
                                          
                                          function startAttach(){
                                            let bRoom = raum !== undefined && raum.length > 0;
                                            let bGewerk = gewerk !== undefined && gewerk.length > 0;
                                            
                                            if(bRoom)
                                                attach(idDst,'rooms',raum);
                                            if(bGewerk)
                                                attach(idDst,'functions',gewerk);
                                            if(bRoom || bGewerk){
                                                    if(timeoutAssignEnum){
                                                        clearTimeout(timeoutAssignEnum);
                                                        timeoutAssignEnum = null;
                                                    }
                                                    timeoutAssignEnum = setTimeout(finishScript,100);
                                            }
                                          }
                                          
                                          createAliasPath(idDst);
                                          }
                                          
                                          function finishScript(){
                                            assignEnums();
                                          }
                                          
                                          // Add the saved IDs to the rooms/functions
                                          function assignEnums(){
                                          if(arEnum.length == 0 || arId.length == 0){
                                              return;
                                          }
                                          
                                          if(arEnum.length != arId.length){
                                              log('Arrays have different size','error');
                                              return;
                                          }
                                          let mapEnumId = new Map();
                                          
                                          for(let i=0;i < arEnum.length; i++){
                                             let enu = arEnum[i];
                                             let id = arId[i];
                                             if(existsObject(id)){
                                            	 let obj = getObject(enu)
                                            	 let members;
                                            	 if(!mapEnumId.has(enu)){
                                            		 members = obj.common.members;
                                            		 mapEnumId.set(enu,members);
                                            	 }
                                            	 else
                                            		 members = mapEnumId.get(enu);    
                                            	 if(!members.includes(id)){
                                            		  log("Adding " + id + " to " + enu);
                                            		  members.push(id);
                                            	 }	      
                                             }
                                             else
                                                 log('Can not find Alias ' + id,'error');
                                          }
                                          
                                          function setMembers(members,enu,map){
                                              let obj = getObject(enu);
                                              obj.common.members = members;
                                              setObject(enu,obj);
                                          }
                                          mapEnumId.forEach(setMembers);
                                          }
                                          
                                          /**********************************************************
                                            	END /
                                            	ENDE
                                          **********************************************************/
                                          
                                          //////////////////////////////
                                          //  Fenster
                                          //////////////////////////////
                                          //2 x Fenstersensoren HMIP
                                          //einfache HMIP Fenstersensoren über rpc-Adapter in function fenster_alias
                                          //{0: 'geschlossen', 1: 'geöffnet'}
                                          createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Fenster links STATE*/, 'Fenster.Wohnzimmer_Fenster_links', undefined, 'fenster_alias', 'number', undefined, undefined, 'Wohnzimmer links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
                                          createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
                                          
                                          //2 x Fenstersensoren HM
                                          //einfache HM Fenstersensoren über rpc-Adapter in function fenster_alias
                                          //{false: 'geschlossen', true: 'geöffnet'}
                                          createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Fenster links STATE*/, 'Fenster.Wohnzimmer_Fenster_links', undefined, 'fenster_alias', 'boolean', undefined, undefined, 'Wohnzimmer links', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'})
                                          createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'boolean',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'})
                                          
                                          
                                          //2 x Fensterdrehgriffe HMIP
                                          //HMIP Fensterdrehgriffe über rpc-Adapter in function fenster_alias
                                          //{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'}
                                          createAlias('hm-rpc.0.xxx.1.STATE'/*Keller W-Baum Fenster STATE*/, 'Fenster.Keller_Weihnachtsbaum_Fenster', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller W Baum', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
                                          createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Wohnzimmer Fenster mitte STATE*/, 'Fenster.Keller_Wohnzimmer_Fenster_mitte', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Wohnzimmer mitte', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
                                          
                                          //2 x Fenster(Türen) Sensoren HMIP
                                          //einfache HMIP Fenstersensoren über rpc-Adapter in function tueren_alias
                                          //{0: 'geschlossen', 1: 'geöffnet'}
                                          createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Terrassentür STATE*/, 'Tueren.Terrassentuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Terrassentür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
                                          createAlias('hm-rpc.0.xxx.1.STATE'/*Haustür STATE*/, 'Tueren.Haustuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Haustür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
                                          
                                          //////////////////////////////
                                          //  Steckdosen
                                          //////////////////////////////
                                          //2 x Steckdosen
                                          //HMIP Steckdosen über rpc-Adapter in function steckdosen_alias
                                          //{false: 'aus', true: 'an'}
                                          createAlias('hm-rpc.0.xxx.3.STATE'/*Waschmaschine STATE*/, 'Steckdosen.Waschmaschine', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Waschmaschine', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                          createAlias('hm-rpc.0.xxx.3.STATE'/*Geschirrspueler STATE*/, 'Steckdosen.Geschirrspueler', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Geschirrspüler', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                          
                                          //////////////////////////////
                                          //  Bewegungsmelder
                                          //////////////////////////////
                                          //2 x Bewegungsmelder und 2 x Präsenzmelder und 1 x Erschütterungssensor
                                          //HMIP Bewegungsmelder und Präsenzmelder über rpc-Adapter in function bewegungsmelder_alias
                                          //{false: 'inaktiv', true: 'aktiv'}
                                          createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Weihnachtsbaumkeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Weihnachtsbaumkeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'W Baum Keller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
                                          createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Heizungskeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Heizungskeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Heizungskeller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
                                          //ab hier 2 x Präsenzmelder
                                          createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Badezimmer PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Badezimmer', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Badezimmer', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
                                          createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Dusche PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Dusche', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Dusche', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
                                          //ab hier 1 x Erschütterungssensor
                                          createAlias('hm-rpc.0.xxx.1.MOTION'/*Briefkasten MOTION*/, 'Bewegungsmelder.Praesenzmelder_Briefkasten', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Briefkasten', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
                                          
                                          //////////////////////////////
                                          //  Licht
                                          //////////////////////////////
                                          //2 x HUE und 5 x HMIP Licht über HUE und rpc-Adapter in function licht_alias
                                          //{false: 'aus', true: 'an'}
                                          createAlias('hue.0.Badezimmerlampe_links.on'/*Badezimmerlampe links on*/, 'Licht.Badezimmer_Licht_links', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Badezimmer links', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                          createAlias('hue.0.Badezimmerlampe_rechts.on'/*Badezimmerlampe rechts on*/, 'Licht.Badezimmer_Licht_rechts', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Badezimmer rechts', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                          
                                          //ab hier 2 x Licht HMIP Steckdosen über rpc Adapter
                                          createAlias('hm-rpc.0.xxx.3.STATE'/*Kugellampe STATE*/, 'Licht.Wohnzimmer_Kugel_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Kugellicht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                          createAlias('hm-rpc.0.xxx.3.STATE'/*Gäste WC Licht STATE*/, 'Licht.Gaeste_WC_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Gäste WC Licht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                          
                                          //////////////////////////////
                                          //  Temperaturen
                                          //////////////////////////////
                                          //HMIP 2 x Temperaturen über rpc-Adapter in function temperaturen_alias
                                          createAlias('hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE'/*Wandthermostat Schlafzimmer:1 ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Schlafzimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Schlafzimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
                                          createAlias('hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE'/*Wandthermostat Wohnzimmer:1 ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Wohnzimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Wohnzimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
                                          
                                          //////////////////////////////
                                          //  Batterien_voll_leer
                                          //////////////////////////////
                                          //2 x Batterien voll-leer über boolean Wert false/true in function batterien_voll_leer_alias
                                          createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Wohnzimmer Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Wohnzimmer_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Wohnzimmer Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
                                          createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Küche Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Kueche_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Küche Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
                                          
                                          //////////////////////////////
                                          //  Batterien_Volt
                                          //////////////////////////////
                                          //2 x Batterien Volt Anzeige in function batterien_volt_alias
                                          createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Wohnzimmer Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Wohnzimmer_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Wohnzimmer Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)
                                          createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Küche Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Kueche_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Küche Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)
                                          
                                          
                                          



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

                                          Fenster_1_8_1.zip

                                          Tueren_1_8_1.zip

                                          Licht_1_8_1.zip

                                          Temperaturen_1_8_1.zip

                                          Bewegungsmelder_1_8_1.zip

                                          Luftfeuchtigkeit_1_8_1.zip

                                          Steckdosen_1_8_1.zip

                                          Batterien_Prozent_1_8_1.zip

                                          Batterien_voll_leer_lowbat_1_8_1.zip

                                          Batterien_Volt_1_8_1.zip

                                          RSSI_1_8_1.zip

                                          Mein iQontrol View für alle Geräte

                                          2021-04-28_iqontrol_0_selected_views.json.zip

                                          Screenshot_20210428-091122_Chrome.jpg

                                          Zusatzblockly zur Anruferansage, Beschreibung folgt. Ursprung ist von hier


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

                                          Bildschirmfoto 2021-04-28 um 19.40.31.png

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

                                          Bildschirmfoto 2021-04-28 um 19.50.51.png

                                          Bildschirmfoto 2021-04-29 um 21.56.13.png

                                          meine iQontrol Anwendung dafür

                                          Bildschirmfoto 2021-04-28 um 20.05.11.png

                                          Alexa_Anruferansage_Telegram_EMAIL_1.0.0.zip

                                          H Online
                                          H Online
                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          915

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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