Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Fenster und andere Geräte zählen opt. Alexa Ansagen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Fenster und andere Geräte zählen opt. Alexa Ansagen

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @falke69 last edited by

      @falke69

      Das habe ich weiter oben geschrieben.

      EDIT: Bei meiner Fensteransage (22 Fenster) kommt es regelmäßig dazu, das die Ansage nicht gestartet wird, da die 250 Zeichen Grenze überschritten wird. (Im Sommer sind halt mehrere Fenster auf) Da werde ich mir jetzt als nächstes was einfallen lassen.

      Vielleicht ist das auch bei Dir der Fall ?

      Auf meiner eigenen Testdatei habe ich schon was eingebaut, da spielt diese 250 Zeichen Grenze keine Rolle mehr, die würde ganze Bücher vorlesen.
      Das will ich aber erst in Ruhe testen.

      falke69 1 Reply Last reply Reply Quote 0
      • falke69
        falke69 @dslraser last edited by

        @dslraser ich habe 12 Fenster, das sollte dann eigentlich noch im möglichen sein.
        Vielleicht ist auch die Bezeichnung der Geräte zu lang, dass ich dann trotzden über die 250 Zeichen komme.
        Habe jetzt mal bis auf zwei Fenster alle aus den Aufzählungen genommen, so das ich aktuell nur noch zwei Geräte zur Auswahl hatte. Es kam leider auch keine Ansage.

        Wenn es bei Dir funkioniert, muss ich mal schauen, was noch die Ursache sein könnte. 🙂

        dslraser 1 Reply Last reply Reply Quote 0
        • sigi234
          sigi234 Forum Testing Most Active @dslraser last edited by

          @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

          mir ist an Deinem Bild erst jetzt aufgefallen, das da Batterien als Funktion steht, hast Du Batterien im Blockly auch auf wahr stehen ? (da ist auch nicht nur ein state ausgewählt)

          Ja, aber ich habe das Skript mal deaktiviert, es bringt mein System an die Grenzen.

          dslraser 1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @sigi234 last edited by dslraser

            @sigi234 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

            Ja, aber ich habe das Skript mal deaktiviert, es bringt mein System an die Grenzen.

            In wie fern ?

            sigi234 1 Reply Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active @falke69 last edited by

              @falke69 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

              Wenn es bei Dir funkioniert, muss ich mal schauen, was noch die Ursache sein könnte.

              Lade es nochmal aus dem Beitrag runter.
              Ich weiß nicht wann Du es geladen hattest. Das letzte, (ich hatte nochmal kleine Änderung gemacht) was da im Beitrag ist benutze ich auch.

              falke69 1 Reply Last reply Reply Quote 0
              • sigi234
                sigi234 Forum Testing Most Active @dslraser last edited by sigi234

                @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                In wie fern ?

                JS reagiert sehr träge. Beim start des Skript dauert es lange bis die Bausteine angezeigt werden. Sind auch über 5000

                dslraser 1 Reply Last reply Reply Quote 0
                • dslraser
                  dslraser Forum Testing Most Active @sigi234 last edited by

                  @sigi234 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                  JS reagiert sehr träge.

                  Kann ich bei mir nicht sagen.
                  Es kann aber sein das Du durch die "falschen Selektoren" bzw. das Du z.B. bei den Batterien das ganze Device oder den ganzen Channel in der Aufzählung hast nicht funktioniert. Dann mußt Du entweder die Aufzählungen anpassen wie beschrieben, oder Deinen Selektor anders einstellen, so das nur auf den benötigten state selektiert wird.

                  sigi234 1 Reply Last reply Reply Quote 0
                  • falke69
                    falke69 @dslraser last edited by

                    @dslraser jetzt geht es. Dann hatte ich bestimmt die erste Version 😊 👍

                    1 Reply Last reply Reply Quote 1
                    • sigi234
                      sigi234 Forum Testing Most Active @dslraser last edited by

                      @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
                      Dann mußt Du entweder die Aufzählungen anpassen wie beschrieben, oder Deinen Selektor anders einstellen, so das nur auf den benötigten state selektiert wird.

                      Jupp, ich werde alles mal kontrollieren. Es kommen noch einen Menge an Warnmeldungen.

                      1 Reply Last reply Reply Quote 0
                      • dslraser
                        dslraser Forum Testing Most Active last edited by dslraser

                        Ist sowas für Euch auch von Interesse ?
                        (könnte man auch Ansagen lassen, per Telegram oder E-Mail versenden und eben als html Ausgabe verwenden, z.B. in iQontrol)

                        Screenshot_20200624-130823_Chrome.jpg

                        Wen es interessiert:
                        Als erstes habe ich mir eine neue Aufzählung, in meinem Fall Temperaturen angelegt.
                        Bildschirmfoto 2020-06-23 um 17.16.39.png
                        Man achte auf die Schreibweise ganz rechts(groß oder klein)

                        Danach habe ich mir mit dem alias erstellen Script von @paul53 für meine Thermostate aliase angelegt es geht immer nur einer auf einmal). (mit den Namen wie die dann auch heißen sollen, da die ja sonst oft irgendwelche Thermostatbezeichnungen haben.) Dieses Script packt die aliase auch gleich in diese Aufzählung (kann man im Script einstellen)

                        // Original-Datenpunkt
                        const idOrigin = 'hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE'/*Wandthermostat Gästezimmer:1 ACTUAL TEMPERATURE*/;
                        
                        // Alias-Datenpunkt
                        const idAlias = 'Temperaturen.Gaestezimmer';
                        var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                        // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                        nameAlias = 'Gaestezimmer';
                        //desc = 'per Script erstellt';
                        // typeAlias = 'boolean'; // oder 'number'
                        read = "Math.round(val * 10) / 10"
                        // write = "val ? 'Ein' : 'Aus'";
                        // role = 'indicator';
                        // 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)
                        // custom = []; // verhindert doppelte Ausführung von history, ...
                        // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
                        gewerk = 'Temperaturen'; // Groß-/Kleinschreibung in der ID beachten !
                        
                        function createAlias(idSrc, idDst) {
                         if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                         else {
                            var obj = {};
                            obj.type = 'state';
                            obj.common = getObject(idSrc).common;
                            obj.common.alias = {};
                            obj.common.alias.id = idSrc;
                            if(typeAlias) obj.common.type = typeAlias;
                            if(obj.common.read !== false && read) obj.common.alias.read = read;
                            if(obj.common.write !== false && write) obj.common.alias.write = write;
                            if(nameAlias) obj.common.name = nameAlias;
                            if(role) obj.common.role = role;
                            if(desc) obj.common.desc = desc;
                            if(min !== undefined) obj.common.min = min;
                            if(max !== undefined) obj.common.max = max;
                            if(unit) obj.common.unit = unit;
                            if(states) obj.common.states = states;
                            if(custom && obj.common.custom) obj.common.custom = custom;
                            obj.native = {};
                            setObject(idDst, obj);
                            if(raum && getObject('enum.rooms.' + raum)) {
                               let obj = getObject('enum.rooms.' + raum)
                               obj.common.members.push(idDst);
                               setObject('enum.rooms.' + raum, obj);
                            }
                            if(gewerk && getObject('enum.functions.' + gewerk)) {
                               let obj = getObject('enum.functions.' + gewerk)
                               obj.common.members.push(idDst);
                               setObject('enum.functions.' + gewerk, obj);
                            }
                         } 
                        }
                        
                        createAlias(idOrigin, 'alias.0.' + idAlias);
                        
                        

                        so sehen die aliase bei mir aus
                        Bildschirmfoto 2020-06-24 um 13.07.11.png

                        Datenpunkte fürs Blockly
                        Bildschirmfoto 2020-06-24 um 13.06.14.png

                        dirk1962 1 Reply Last reply Reply Quote 1
                        • dslraser
                          dslraser Forum Testing Most Active last edited by dslraser

                          Zum Thema Textlänge (250 Zeichen) für die Ausgabe über Alexa.
                          Ich habe damit jetzt ne ganze Menge getestet.

                          Die Ausgabe über ssml ist so ca. auf 1000 Zeichen begrenzt. ssml interessiert auch die Trennung mit einem Semikolon nach 250 Zeichen nicht !

                          Mit speak funktioniert diese Trennung über das Semikolon, dann ist die Ansage quasi nicht mehr begrenzt. Der Nachteil ist allerdings, man hat nur die Stimme von Alexa.

                          Ich habe für mich eine Datei erstellt, die nur speak nutzt. Wenn die Gesamtansage (dazu zählt auch was vor und nach der eigentlichen Geräteansage angesagt wird, das sind schon alleine ca. 80 Zeichen) kürzer als 250 Zeichen ist, dann wird mit Komma getrennt, sonst mit Semikolon. Nachteil der Ansage länger als 250 Zeichen, sie ist langsamer, weil jedes Semikolon eine kleine Sprechpause bewirkt. Vorteil, die Ansage kommt immer, egal wie lang.
                          Auch intern im Blockly habe ich Änderungen gemacht. (Sortierungen "korrigiert". Ich denke die Testdatei über ssml hat noch Fehler bei der Sortierung gehabt, auch wenn die nicht in jedem Fall zu sehen ist)

                          Hier das Blockly inklusive Temperaturen, wie hier beschrieben


                          wird gerade bearbeitet

                          1 Reply Last reply Reply Quote 0
                          • dirk1962
                            dirk1962 @dslraser last edited by

                            Hallo @dslraser, habe für alle Thermostate die Aliase angelegt. Die Datenpunkte werden gefüllt und die html-Tabellen zeigen auch alles an. In iot werden die Aliase auch angezeigt und auch in der Alexa App werden die Aliase angezeigt. Wenn ich aber die Routinen anlegen will, werden die Aliase unter Smart Home nicht angezeigt.
                            Irgendeine Idee?

                            dslraser 1 Reply Last reply Reply Quote 0
                            • dslraser
                              dslraser Forum Testing Most Active @dirk1962 last edited by dslraser

                              @dirk1962 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                              Hallo @dslraser, habe für alle Thermostate die Aliase angelegt. Die Datenpunkte werden gefüllt und die html-Tabellen zeigen auch alles an. In iot werden die Aliase auch angezeigt und auch in der Alexa App werden die Aliase angezeigt. Wenn ich aber die Routinen anlegen will, werden die Aliase unter Smart Home nicht angezeigt.
                              Irgendeine Idee?

                              Das hatte ich gar nicht probiert, aber Du hast recht.
                              Die Gesamtansage aller Temperaturen als Routine funktioniert bei mir, also mit dem erstellten Datenpunkt vom Blockly.
                              Screenshot_20200629-085543_Amazon Alexa.jpg
                              Dann werden alle Temperaturen wie im Blockly hintereinander angesagt.

                              Wenn ich einen alias in iot (einzelne Temperatur) einfüge, verhält sich dieser Datenpunkt wie das originale Gerät und lässt sich nicht in eine Routine einbinden. Das geht bei mir dann nur über eine erstellte Gruppe.
                              Für die Aussentemperatur habe ich eben mal eine Gruppe Garten probiert und dort einen alias eingefügt.
                              Screenshot_20200629-090047_Amazon Alexa.jpg

                              Screenshot_20200629-090058_Amazon Alexa.jpg

                              Dann geht zwar die Ansage, aber wie gewohnt....
                              "Die Temperatur von Garten beträgt 19 Grad."

                              dirk1962 1 Reply Last reply Reply Quote 1
                              • dirk1962
                                dirk1962 @dslraser last edited by dirk1962

                                @dslraser Die Gesamtansage der Temperaturen wurde nicht automatisch in iot übernommen und deshalb habe ich das verpeilt😞 . Habe den Datenpunkt von Hand nachgetragen und die Ansage über Alexa funktioiert jetzt einwandfrei. 👍 👍

                                dslraser 1 Reply Last reply Reply Quote 0
                                • dslraser
                                  dslraser Forum Testing Most Active @dirk1962 last edited by dslraser

                                  @dirk1962
                                  ich habe jetzt bei mir alle relevanten Geräte auf Alias umgestellt. Jetzt kann/muss man sich zwischen Pest und Cholera entscheiden....
                                  Es geht mir speziell um die Temperaturen und die Batterien als Volt.

                                  Speak kann Zahlen mit Punkt oder Komma ansagen, wenn man die Ausgabe richtig baut.
                                  SSML kann nur mit Kommas umgehen und kann keine Zahlen mit Punkt ansagen (ist ja eigentlich Text)

                                  Hier mal zum testen eine Ansage. Dort ist ein Wert mit Komma und einer mit Punkt. Wenn Du diesen Satz mal bei speak einfügst, erfolgt die Ansage korrekt, selbst die ssml Zeichen werden ignoriert.

                                  Der gleiche Satz in den ssml DP vom Alexa2 Adapter geht dann eben nur korrekt bei dem Komma Wert.


                                  <speak><voice name="Alexa">Hier der Haus Temperaturenstatus für Dich. Aussentemperatur 19.8 Grad, Badezimmer 25,3 Grad , das wäre dann alles.</voice></speak>

                                  Jetzt stehe ich gerade vor der Entscheidung, nur noch speak zu verwenden. (auch wegen der 250 Zeichen Geschichte)

                                  Man kann die Temperaturen und auch die Volt Anzeigen direkt mit Komma im Alias anzeigen/erstellen (als Text und nicht als Zahl, wenn der Original DP read only ist), dann könnte man auch die Batterien absteigend/aufsteigend nach Volt in den Tabellen sortieren, das geht mit dem Punkt wiederum nicht. Aliase mit Komma lassen sich dann wiederum nicht iot als einzelnes Gerät nutzen, dort wird es als Zahl mit Punkt benötigt....

                                  Lange Rede kurzer Sinn, wenn es nur um die Anzeige / Ansage der vom Blockly erstellten Ansagen geht, dann gefällt mir speak mit Komma Werten zum sortieren besser.

                                  Hier mal gekürzte Scripte zum Alias erstellen

                                  // Original-Datenpunkt
                                  const idOrigin = 'hm-rpc.0.xxxx.1.ACTUAL_TEMPERATURE'/*Temperatursensor aussen ACTUAL TEMPERATURE*/
                                  
                                  // Alias-Datenpunkt
                                  const idAlias = 'Temperaturen.Aussentemperatur';
                                  var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                                  // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                                  nameAlias = 'Aussentemperatur';
                                  typeAlias = 'string'; // oder 'number'
                                  read = "val.toFixed(1).replace('.',',')";// write = "val ? 'Ein' : 'Aus'";
                                  role = 'value.temperature';
                                  unit = '°C'; // nur für Zahlen
                                  gewerk = 'temperaturen_alias'; // Groß-/Kleinschreibung in der ID beachten !
                                  
                                  function createAlias(idSrc, idDst) {
                                   if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                                   else {
                                      var obj = {};
                                      obj.type = 'state';
                                      obj.common = getObject(idSrc).common;
                                      obj.common.alias = {};
                                      obj.common.alias.id = idSrc;
                                      if(typeAlias) obj.common.type = typeAlias;
                                      if(obj.common.read !== false && read) obj.common.alias.read = read;
                                      if(obj.common.write !== false && write) obj.common.alias.write = write;
                                      if(nameAlias) obj.common.name = nameAlias;
                                      if(role) obj.common.role = role;
                                      if(desc) obj.common.desc = desc;
                                      if(min !== undefined) obj.common.min = min;
                                      if(max !== undefined) obj.common.max = max;
                                      if(unit) obj.common.unit = unit;
                                      if(states) obj.common.states = states;
                                      if(custom && obj.common.custom) obj.common.custom = custom;
                                      obj.native = {};
                                      setObject(idDst, obj);
                                      if(raum && getObject('enum.rooms.' + raum)) {
                                         let obj = getObject('enum.rooms.' + raum)
                                         obj.common.members.push(idDst);
                                         setObject('enum.rooms.' + raum, obj);
                                      }
                                      if(gewerk && getObject('enum.functions.' + gewerk)) {
                                         let obj = getObject('enum.functions.' + gewerk)
                                         obj.common.members.push(idDst);
                                         setObject('enum.functions.' + gewerk, obj);
                                      }
                                   } 
                                  }
                                  
                                  createAlias(idOrigin, 'alias.0.' + idAlias);
                                  
                                  

                                  // Original-Datenpunkt
                                  const idOrigin = 'hm-rpc.0.0010D8A98AD4AC.1.ACTUAL_TEMPERATURE'/*Temperatursensor aussen ACTUAL TEMPERATURE*/
                                   
                                  // Alias-Datenpunkt
                                  const idAlias = 'Temperaturen_Punkt.Aussentemperatur';
                                  var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                                  // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                                  nameAlias = 'Aussentemperatur';
                                  //typeAlias = 'string'; // oder 'number'
                                  read = "Math.round(val * 10) / 10";// write = "val ? 'Ein' : 'Aus'";
                                  role = 'value.temperature';
                                  unit = '°C'; // nur für Zahlen
                                  gewerk = 'test'; // Groß-/Kleinschreibung in der ID beachten !
                                   
                                  function createAlias(idSrc, idDst) {
                                    if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                                    else {
                                       var obj = {};
                                       obj.type = 'state';
                                       obj.common = getObject(idSrc).common;
                                       obj.common.alias = {};
                                       obj.common.alias.id = idSrc;
                                       if(typeAlias) obj.common.type = typeAlias;
                                       if(obj.common.read !== false && read) obj.common.alias.read = read;
                                       if(obj.common.write !== false && write) obj.common.alias.write = write;
                                       if(nameAlias) obj.common.name = nameAlias;
                                       if(role) obj.common.role = role;
                                       if(desc) obj.common.desc = desc;
                                       if(min !== undefined) obj.common.min = min;
                                       if(max !== undefined) obj.common.max = max;
                                       if(unit) obj.common.unit = unit;
                                       if(states) obj.common.states = states;
                                       if(custom && obj.common.custom) obj.common.custom = custom;
                                       obj.native = {};
                                       setObject(idDst, obj);
                                       if(raum && getObject('enum.rooms.' + raum)) {
                                          let obj = getObject('enum.rooms.' + raum)
                                          obj.common.members.push(idDst);
                                          setObject('enum.rooms.' + raum, obj);
                                       }
                                       if(gewerk && getObject('enum.functions.' + gewerk)) {
                                          let obj = getObject('enum.functions.' + gewerk)
                                          obj.common.members.push(idDst);
                                          setObject('enum.functions.' + gewerk, obj);
                                       }
                                    } 
                                  }
                                   
                                  createAlias(idOrigin, 'alias.0.' + idAlias);
                                  
                                  

                                  Hier noch für Batterien Volt mit Komma als Text

                                  // Original-Datenpunkt
                                  const idOrigin = 'hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Bewegungsmelder 55 Kellertreppe:0 OPERATING VOLTAGE*/;
                                  // Alias-Datenpunkt
                                  const idAlias = 'Batterien_Volt.Bewegungsmelder_Kellertreppe';
                                  var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                                  // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                                  nameAlias = 'Bewegungsmelder Kellertreppe';
                                  typeAlias = 'string'; // oder 'number'
                                  read = "val.toFixed(1).replace('.',',')";// write = "val ? 'Ein' : 'Aus'";
                                  role = 'value.voltage';
                                  unit = 'Volt'; // nur für Zahlen
                                  custom = []; // verhindert doppelte Ausführung von history, ...
                                  gewerk = 'batterien_volt_alias'; // Groß-/Kleinschreibung in der ID beachten !
                                   
                                  function createAlias(idSrc, idDst) {
                                    if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                                    else {
                                       var obj = {};
                                       obj.type = 'state';
                                       obj.common = getObject(idSrc).common;
                                       obj.common.alias = {};
                                       obj.common.alias.id = idSrc;
                                       if(typeAlias) obj.common.type = typeAlias;
                                       if(obj.common.read !== false && read) obj.common.alias.read = read;
                                       if(obj.common.write !== false && write) obj.common.alias.write = write;
                                       if(nameAlias) obj.common.name = nameAlias;
                                       if(role) obj.common.role = role;
                                       if(desc) obj.common.desc = desc;
                                       if(min !== undefined) obj.common.min = min;
                                       if(max !== undefined) obj.common.max = max;
                                       if(unit) obj.common.unit = unit;
                                       if(states) obj.common.states = states;
                                       if(custom && obj.common.custom) obj.common.custom = custom;
                                       obj.native = {};
                                       setObject(idDst, obj);
                                       if(raum && getObject('enum.rooms.' + raum)) {
                                          let obj = getObject('enum.rooms.' + raum)
                                          obj.common.members.push(idDst);
                                          setObject('enum.rooms.' + raum, obj);
                                       }
                                       if(gewerk && getObject('enum.functions.' + gewerk)) {
                                          let obj = getObject('enum.functions.' + gewerk)
                                          obj.common.members.push(idDst);
                                          setObject('enum.functions.' + gewerk, obj);
                                       }
                                    } 
                                  }
                                   
                                  createAlias(idOrigin, 'alias.0.' + idAlias);
                                  
                                  

                                  Ich überlege alles mit speak zu machen und ssml ganz raus zu werfen, was meinst Du ?

                                  dirk1962 sigi234 2 Replies Last reply Reply Quote 0
                                  • dirk1962
                                    dirk1962 @dslraser last edited by

                                    @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                    @dirk1962
                                    ich habe jetzt bei mir alle relevanten Geräte auf Alias umgestellt. Jetzt kann/muss man sich zwischen Pest und Cholera entscheiden....
                                    Es geht mir speziell um die Temperaturen und die Batterien als Volt.

                                    Da ich kein Veganer bin, ist es Rinderwahn oder Schweinepest😀 😀 .
                                    speak: Die Ansage einer einzelnen Temperatur braucht man nicht wirklich und bei den Batterien macht es eh keinen Sinn.
                                    Wenn Du nur noch speak oder ssml verwendest, würde das Blockly schlanker und damit auch für leistungsschwächere Rechner besser nutzbar. Speak bietet mehr Möglichkeiten und ist meiner Meinung nach die richtige Entscheidung.

                                    Alias: Bei den Temperaturen sind es bei mir 12 Aliase gewesen, bei den Batterien wären es 55 und insgesamt ca. 120. Das ist schon eine Menge Arbeit.
                                    Wenn man einen Aktor hinzufügt, muss man im Moment nur das richtige Gewerk eintragen und das wars. Mit Alias muss man jedesmal einen neuen Alias anlegen, was auch mehr Arbeit ist.
                                    Wer die Arbeit nicht machen will, nutzt eben das alte Blocky. Ich denke meine Einstellung dazu kennst Du.😉

                                    Du musst Dich für eine Version entscheiden. Am besten für die, die für Dich am einfachsten zu pflegen ist und die Entscheidung sollte dann endgültig sein. Ich weiß nicht, wie viele User Dein Blockly nutzen, aber es werden schon einige sein. Die müssen jetzt noch einmal eine Menge umstellen und Zeit investieren. Wenn die Umstellung Sinn macht, okay.

                                    dslraser 1 Reply Last reply Reply Quote 0
                                    • dslraser
                                      dslraser Forum Testing Most Active @dirk1962 last edited by

                                      @dirk1962
                                      Der Sinn vom Alias ist folgender (und es wird immer alles gefunden, mit dem Namen den man selbst über alias erstellt, und dieser wird auch angesagt)

                                      In der Funktion getParentName über alias:
                                      Bildschirmfoto 2020-06-29 um 14.06.56.png

                                      In der Funktion getParentName ohne Alias
                                      (und es wird längst nicht jeder Hersteller erkannt)

                                      Bildschirmfoto 2020-06-29 um 14.07.39.png

                                      dirk1962 1 Reply Last reply Reply Quote 0
                                      • sigi234
                                        sigi234 Forum Testing Most Active @dslraser last edited by

                                        @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                        Ich überlege alles mit speak zu machen und ssml ganz raus zu werfen, was meinst Du ?

                                        👍

                                        1 Reply Last reply Reply Quote 1
                                        • dirk1962
                                          dirk1962 @dslraser last edited by

                                          @dslraser
                                          Alias hat bestimmt Vorteile, ich wollte nur auf den Aufwand aufmerksam machen. Meine Java Kenntnisse sind gleich Null, was Du da programmierst sind für mich böhmische Dörfer.
                                          Hoffentlich antworten Dir auch noch andere User, dann bekommst Du von mehreren Feedback. @sigi234 hat schon einen eindeutigen Kommentar abgegeben.

                                          dslraser 1 Reply Last reply Reply Quote 0
                                          • dslraser
                                            dslraser Forum Testing Most Active @dirk1962 last edited by

                                            Das aktuelle Blockly ist im ersten Beitrag. Die Beschreibungen dazu sind teilweise aktualisiert, der Rest der Beschreibung kommt noch (nicht mehr heute...)
                                            Dieses Blockly funktioniert nur noch über alias und speak. (kein ssml mehr)

                                            dirk1962 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            879
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            41
                                            1186
                                            345025
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo