Skriptsammlung für den neuen ALEXA2.0 Adapter

Fragen zum Skripten mit ioBroker.javascript
ooooli
starter
Beiträge: 39
Registriert: 27.12.2017, 20:25

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von ooooli » 08.08.2018, 14:54

dslraser hat geschrieben:
08.08.2018, 09:31
Also dann hier weiter. Im Alexa2 Adapter Beitrag kam der Hinweis Scripte und Anwendungsmöglichkeiten hier zu posten. Ich antworte hier jetzt nur auf eine Frage aus dem anderen Beitrag.

viewtopic.php?p=167951#p167951

Beim ersten Scriptstart werden erst Objekte angelegt. Am Besten danach mal kurz den JS Adapter mal aktualisieren/anhalten -neu starten, das klappt bei mir immer am Besten.
Das Lichtabfragescript geht leider immer noch nicht. Die Objekte sind da, nur zählt er keine Lampen (alle Zimmer eingerichtet und Hue Objekte sind Licht) Komisch...
Dazu sind die Scripte zwar in den Objekten zu sehen (bei Expertenansicht) - im Cloud Adapter leider nicht. Hmmm... Neustart und JS Adapter Neuinstallation hab ich schon gemacht.

--> Was hast du für eine JS-Adapter Version? Bei mir läuft 3.7.0. Ich vermute fast da ist was im Argen.
ioBroker Neuling mit 4 Alexas, Sonoff, Netatmo, Lametric Time, Hue, Harmony Hub und einigen anderen Spielereien die es zu verknüpfen gilt

Benutzeravatar
dslraser
professional
Beiträge: 648
Registriert: 15.10.2017, 21:37

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von dslraser » 08.08.2018, 15:14

Das Lichtabfragescript geht leider immer noch nicht. Die Objekte sind da, nur zählt er keine Lampen (alle Zimmer eingerichtet und Hue Objekte sind Licht) Komisch...
Dazu sind die Scripte zwar in den Objekten zu sehen (bei Expertenansicht) - im Cloud Adapter leider nicht. Hmmm... Neustart und JS Adapter Neuinstallation hab ich schon gemacht.

--> Was hast du für eine JS-Adapter Version? Bei mir läuft 3.7.0. Ich vermute fast da ist was im Argen.
In den Cloud Adapter mußt Du das Script selbst hinzu fügen, das geschieht nicht automatisch.
Das macht aber keinen Sinn, wenn die Objekte nicht gefüllt werden bzw. sind. Hast Du das Script gestartet und auch mal eine Lampe angemacht ?
Ich habe noch das Polling im Hue Adapter runter gedreht, das war auf 30 Sekunden, ich bin auf 5 Sekunden und es funktioniert noch alles.
Du kannst auch das logging auf true stellen, dann siehst Du ob überhaupt etwas passiert. Sieht aber so aus als würde im Gewerk Licht nichts gefunden.
Heißt es auch wirklich Licht ? (Groß-Kleinschreibung / bei manchen ist es englisch ?)
Ich habe auch schon versucht eine Steckdose zu "Licht" zu machen und nicht nach .level sondern nach .state im Gewerk Licht, aber das habe ich auch noch nicht hinbekommen..(ich habe noch Steckdosen wo Lampen drann hängen, die hätte ich am liebsten gleich da mit drinn)
Woher hast Du 3.7.0 ? Ich bin auf latest, oder hast Du den über Git manuell installiert ?
js.JPG
logging-in Zeile zwei.JPG
logging-in Zeile zwei.JPG (9.51 KiB) 982 mal betrachtet
log.JPG

Blackeye
professional
Beiträge: 191
Registriert: 19.08.2015, 14:19

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von Blackeye » 10.08.2018, 12:26

Hi,

Türklingel Sonoff? das hört das hört sich interessant an.......
Chaot hat geschrieben:
30.07.2018, 05:27
Anruferansage über TR064 Adapter

Code: Alles auswählen

on({id: 'tr-064.0.callmonitor.ringing', val: true, ack: true}, function (obj) {
  var value = obj.state.val;
  var oldValue = obj.oldState.val;
  setStateDelayed("alexa2.0.Echo-Devices.G2A0P3077****LLE.Commands.speak"/*speak*/, (String('Anruf von ') + String(getState("tr-064.0.callmonitor.inbound.callerName").val)), 2000, false);
});

Gruß
Lars

Chaot
professional
Beiträge: 443
Registriert: 07.02.2018, 21:46
Wohnort: Bayern

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von Chaot » 10.08.2018, 18:36

@Blackeye

Türklingel über Sonoff?

War eigentlich ganz einfach.
- Einen schönen Taster ausgesucht:
https://www.amazon.de/gp/product/B00YS9 ... UTF8&psc=1
- Am Eingangsbereich einen Sonoff Basic installiert.
- Am Sonoff DHT22 und Taster angeschlossen
- Zusätzlich die Ausßenbeleuchtung aufgeklemmt und dazu ebenfalls Taster am Sonoff angeschlossen
- Im ioBroker den Taster des Sonoff (GPIO 14) auslesen und per TR064 Adapter am Hasutelefon klingeln lassen.
- Dazu noch an Alexa2 Adapter senden um die Klingel noch Ansagen zu lassen.

Was ich noch vergessen habe, aber in den nächsten Tagen ändern werde ist die Steuerung der Außenbeleuchtung.
Ich werde zusätzlich zur bisherigen Steuerung (bei Dämmerung an bis 23 Uhr und ab 5 Uhr bis Sonnenaufgang) noch eine Funktion einbauen die die Außenbeleuchtung für 5 Minuten Einschaltet (nur Nachts) wenn die Klingel betätigt wird.

Ist zwar bisschen Bastelarbeit, aber ich bin der Meinung das sich das echt gelohnt hat. Mein Vorteil ist das ich neben der Eingangstür eine Unterverteilung habe in der ich den ganzen Kram verstauen konnte.
Der Basic ist jetzt allerdings auch komplett ausgereizt.
GPIO 14 - Klingeltaster
GPIO 1 - DHT 22
GPIO 3 - Taster für Außenleuchte
Das Gehäuse des Sonoff musste dran glauben und ich habe das Ganze in eine Schalterdose verbaut.
ioBroker auf NUC; VIS: 10" Tablet; Lichtsteuerung: Sonoff Tasmota (8); Thermometer und Sensoren: Sonoff Tasmota (9); Ambientebeleuchtung: WiFi Light (4); Heizung: DECT Thermostate (5) an Fritz 6490; 1 Echo V2; 1 Echo DOT; Unifi Ap-Ac Lite...

Benutzeravatar
lobomau
guru
Beiträge: 1206
Registriert: 24.03.2016, 10:45

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von lobomau » 10.08.2018, 21:16

Bei mir will die Frage nach geöffneten Fenstern nicht funktionieren.
Starte ich das Script oder drücke in der Alexa App unter Routinen den blauen Pfeil funktioniert es.
Frage ich jedoch "Alexa, sind alle Fenster geschlossen". Kommt nur "ok". Ich habe verschiedene Fragen probiert, eine Zeit lang kam auch: Alexa Anzahl Fenster`unterstützt das nicht.
Script habe ich als switch eingestellt.

Edit: eben hatte ich das erste Mal Erfolg. Ich hatte vor den Smart-Namen geändert von "Alexa Ansage Fenster Anzahl" zu "AlexaAnsageFensterAnzahl". Danach ging es wieder nicht mehr. Vielleicht ist das Problem auch da, weil ich zwei Alexas in einem Raum habe. Mal antwortet eine, mal die andere.

Edit2: Die eine ALexa antwortet korrekt, die andere nicht. Einmal Echo,der andere Echo Plus.
Host: brix 3150 mit Proxmox
- VM Ubuntu 18.04 (ioB mit vis, hue, ical, ping, telegram, tankerkoenig, DWD, radar.0, Landroid S...)
- VM für mysql
- 2 Container: pihole, unifi-controller
Slave: pi3 (rflink, radar.1, rpi)
pi1 (picam mit motioneye)

Benutzeravatar
dslraser
professional
Beiträge: 648
Registriert: 15.10.2017, 21:37

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von dslraser » 10.08.2018, 21:39

Ich muss das Script bei mir auch noch mal ändern. Ich habe einfach zu viele Fenster....Wenn einige im Erdgeschoss und noch einige im Keller geöffnet sind kommt nix mehr. Ich habe die Ausgabe mal in das Routinenfenster in der App kopiert (da wo man Alexa auch was sagen lassen kann)
Da war dann klar zu sehen das es mehr als 250 Zeichen sind.
Ich baue mir das Script um und werde Alexa dann nur die Räume mit geöffneten Fenstern ansagen lassen, dann reichen die 250 Zeichen wahrscheinlich.(ich müsste mal zählen wie viel Zeichen da maximal zusammen kommen wenn alle Räume ein geöffnetes Fenster hätten.

Für die Abfrage von Licht habe ich das schon so.

Im Bild schön zu sehen. Da fehlen dann noch die "Einleitungsworte" vom sayit Script und schon geht es nicht mehr. (und Fenster gibt es noch einige mehr bei mir)Bild

Benutzeravatar
dslraser
professional
Beiträge: 648
Registriert: 15.10.2017, 21:37

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von dslraser » 11.08.2018, 21:01

Alexa, sind noch irgendwo Fenster auf...

Ich habe meine Ansage/Abfrage über das Gewerk Fenster verändert und lasse mir nun Raumnamen mit geöffneten Fenstern ansagen.
Das Gewerk für dieses Script heißt Fenster
Wenn bei Euch das Gewerk für Fensterkontakte anders heißt muss das im Script angepasst werden.
(mit der Ansage einzelner Fenster wurde bei mir das 250 Zeichen Limit von Alexa speak gesprengt.)
Bei mehreren Echos/Alexas wird die Anfrage an dem Gerät beantwortet wo sie gestellt wurde. Ich habe hier mehrere Echos in mehreren Räumen im Blockly, zu sehen an den gelben Kommentaren.


Script 1 zum Gewerk Fenster:
Spoiler: Show hidden text

Code: Alles auswählen

// Status Zahl Fenster

var logging = true;

var idAnzahlAuf = 'javascript.0.Status.Fenster.Anzahl_auf',
    idAnzahl = 'javascript.0.Status.Fenster.Anzahl',
    idText = 'javascript.0.Status.Fenster.Text',
    idRaum = 'javascript.0.Status.Fenster.Raum',
    idAnsage = 'javascript.0.Status.Fenster.Ansage';

// Ab hier nix mehr ändern
createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Fenster
    type: 'number',
    name: 'Anzahl aller Fenster',
    min: 0,
    def: 0,
    role: 'value'
});
createState(idAnzahlAuf, { // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
    type: 'number',
    name: 'Anzahl der geoeffneten Fenster',
    min: 0,
    def: 0,
    role: 'value'
});
createState(idText, { // Anzahl der geoeffneten Fenster und deren Namen als Variable unter Javascript.0 anlegen
    type: 'string',
    name: 'geoeffnete Fenster',
    desc: 'Namen der geoeffneten Fenster',
    def: ' ',
    role: 'value'
});
createState(idAnsage, {
    type: 'string',
    name: 'geoeffnete Fenster (Ansage)',
    desc: 'Namen der geoeffneten Fenster (für Ansage aufbereitet)',
    def: ' ',
    role: 'value'
});
createState(idRaum, { // Räume, in denen Fenster geoeffnet sind
    type: 'string',
    name: 'Räume mit geoeffneten Fenster',
    desc: 'Namen der Räume, in denen Fenster geoeffnet sind',
    def: ' ',
    role: 'value'
});

var cacheSelectorState = $('channel[state.id=*.STATE](functions="Fenster")'); // Gewerk Fenster

function checkDevices(obj) {
    // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fenster auf 0
    var anzahlFensterAuf = 0;
    var anzahlFenster = 0;
    var textFensterAuf = [];
    var textRaum = [];
    if (logging) {
        log('++++++ Fenster Anzahl ++++ ');
        log('#### SCHALTER ##### ');
    }
    cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster
        var obj = getObject(id);
        var name = getObject(id).common.name;
        var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
        var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen
        var raumname = getObject(id, "rooms");

        if (logging) {
            log('-------');
            log('Kanal: ' + name);
            log('Status: ' + status);
        }
        if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt
            ++anzahlFensterAuf;
            textFensterAuf.push(devicename); // Zu Array hinzufügen
            textRaum.push(raumname.enumNames); //
        }
        ++anzahlFenster; // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
        });
 
textRaum = deleteDuplicates(textRaum); 
  
    // Array mit Fensternamen sortieren
    textFensterAuf.sort();
    textRaum.sort();
    // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon auf) ausgegeben
    if (logging) log("Text: " + textFensterAuf);
    if (logging) log("Anzahl Fenster: " + anzahlFenster + " # davon Fenster auf: " + anzahlFensterAuf);
    // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
    setState(idText, textFensterAuf.join(', und ')); // Schreibt die aktuelle Namen der geoeffneten Fenster
    setState(idAnzahlAuf, textFensterAuf.length); // Schreibt die aktuelle Anzahl der geoeffneten Fenster
    setState(idAnzahl, anzahlFenster); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fenster
    // setState(idRaum, textRaum.join(',<br>')); // Räume, in denen Fenster geoeffnet sind
    setState(idRaum, textRaum.join(', und ')); // Räume, in denen Fenster geoeffnet sind
}

// Trigger
cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Fenster
    if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
    checkDevices();
});

function main() {
    setTimeout(function() {
        if (logging) log('Auslöser Skriptstart');
        checkDevices();
    }, 2000);
}

main(); // Skriptstart-Auslöser

// Aufbereitung für Ansage
function strip_tags(data) {
    var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");
    return (rueckgabe);
}

on(idText, function(obj) {
    var text = obj.state.val;
    text = (getState(idAnzahl).val > 0) ? '' + strip_tags(text) : 'Alle Fenster sind ausgeschaltet';
    setState(idAnsage, text);
});
Script 2 unter global (doppelte Raumnamen entfernen)
Spoiler: Show hidden text

Code: Alles auswählen

// Funktion: Doppelte Einträge aus Array entfernen (für Räume) www.okco.de (c) codemaster
function deleteDuplicates(arr) { 
    var temp = {}; 
    for (var i = 0; i < arr.length; i++) temp[arr[i]] = true; 
    var r = []; 
    for (var k in temp) r.push(k); 
    return r;
}
Script 3 Fensterabfrage Blockly Export
Spoiler: Show hidden text

Code: Alles auswählen

<xml xmlns="http://www.w3.org/1999/xhtml">
  <block type="control" id="@J7@ob/rsR9OCYN+!hI7" x="-513" y="-1063">
    <mutation delay_input="false"></mutation>
    <field name="OID">alexa2.0.History.#trigger</field>
    <field name="WITH_DELAY">FALSE</field>
    <value name="VALUE">
      <block type="logic_boolean" id="oI]KS-#7{`Lh(W#]MB7C">
        <field name="BOOL">TRUE</field>
      </block>
    </value>
    <next>
      <block type="controls_if" id="{_JT|3Mpv*tSOVWD3Pz6">
        <value name="IF0">
          <block type="logic_compare" id="D?,*QGBBwauCm,Qte=Q-">
            <field name="OP">EQ</field>
            <value name="A">
              <block type="get_value" id="]irLwLWGul].x{m`.#.@">
                <field name="ATTR">val</field>
                <field name="OID">javascript.0.Status.Fenster.Anzahl_auf</field>
              </block>
            </value>
            <value name="B">
              <block type="math_number" id="5LL6xi4F_7}-aEi^jHY@">
                <field name="NUM">0</field>
              </block>
            </value>
          </block>
        </value>
        <statement name="DO0">
          <block type="variables_set" id="5VFfHYTB!S7A^A*?SicA">
            <field name="VAR">Ausgabetext</field>
            <value name="VALUE">
              <block type="text_join" id="4?k[0reCRn.mjkxHg41~">
                <mutation items="2"></mutation>
                <value name="ADD0">
                  <block type="text" id="75Z)Wn`YF@;38~bIM;pA">
                    <field name="TEXT">aktuell sind</field>
                  </block>
                </value>
                <value name="ADD1">
                  <block type="get_value" id="Vh/8rxU]yD!3mT}0y[eC">
                    <field name="ATTR">val</field>
                    <field name="OID">javascript.0.Status.Fenster.Ansage</field>
                  </block>
                </value>
              </block>
            </value>
            <next>
              <block type="timeouts_settimeout" id="xA_MJ^@=AB=-WtDTe(3}">
                <field name="NAME">timeout</field>
                <field name="DELAY">500</field>
                <field name="UNIT">ms</field>
                <statement name="STATEMENT">
                  <block type="comment" id="s30b2{fSQ:a0uC3`+QWU">
                    <field name="COMMENT">Wohnzimmer</field>
                    <next>
                      <block type="controls_if" id="l(E24=q]l]b,GJDj4dSj">
                        <value name="IF0">
                          <block type="logic_compare" id="MKwJn0C!O]xc!~.9|B`*">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="get_value" id="p-SHbJ5Dmwr6djxg2ohH">
                                <field name="ATTR">val</field>
                                <field name="OID">alexa2.0.History.name</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="text" id="?}A;8(IyMF%F@(t]Kc~+">
                                <field name="TEXT">Wohnzimmer</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="control" id=")M^jLcZ!hCpj,X={-`nV">
                            <mutation delay_input="false"></mutation>
                            <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="variables_get" id="p)bNOdcZFVoq1e^M5V-.">
                                <field name="VAR">Ausgabetext</field>
                              </block>
                            </value>
                          </block>
                        </statement>
                        <next>
                          <block type="comment" id="As,dG(xO[B@wIYcyAG?h">
                            <field name="COMMENT">Küche</field>
                            <next>
                              <block type="controls_if" id="wrH-}P(84mn7Y/rg8A[.">
                                <value name="IF0">
                                  <block type="logic_compare" id="kg.QKB751NaS#Ihk1Vlg">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id="qnTz1Oe31sq:NXjmbxIJ">
                                        <field name="ATTR">val</field>
                                        <field name="OID">alexa2.0.History.name</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="text" id="3=W.?c8BZN+QrGX4xL}h">
                                        <field name="TEXT">Küche</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="control" id="}?dK++*V.7JQcjG{3uhB">
                                    <mutation delay_input="false"></mutation>
                                    <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="variables_get" id="qHoN]~u1FI@iDQs*2C2v">
                                        <field name="VAR">Ausgabetext</field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                                <next>
                                  <block type="comment" id="_amxz6B=9F}_2uEGsK}`">
                                    <field name="COMMENT">Badezimmer</field>
                                    <next>
                                      <block type="controls_if" id=".n7JtGwDJDGfaeyl!8*B">
                                        <value name="IF0">
                                          <block type="logic_compare" id="I-@9%{Ng!%}9rE#IESc;">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                              <block type="get_value" id="c?dSeG!fu]W8UO@?D4I3">
                                                <field name="ATTR">val</field>
                                                <field name="OID">alexa2.0.History.name</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="text" id="MivGV@*kt)3rY9COKpKA">
                                                <field name="TEXT">Badezimmer</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="control" id="zTwXc~r8Ldt0u-5TNcVn">
                                            <mutation delay_input="false"></mutation>
                                            <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="variables_get" id="*X*~qQG3]~[NC{WMMndW">
                                                <field name="VAR">Ausgabetext</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                        <next>
                                          <block type="comment" id="CJNG59[?CJ|U-=Bf]c)z">
                                            <field name="COMMENT">Gästezimmer</field>
                                            <next>
                                              <block type="controls_if" id="OC]k1_}iDlExQPVc=(ib">
                                                <value name="IF0">
                                                  <block type="logic_compare" id="OBIXw6hJ@]2Xr`HBIz5h">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="get_value" id="=x~5W)ns/VV;c|RFqQcE">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">alexa2.0.History.name</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="text" id="IxW:hplIvDQm1ax=@X+M">
                                                        <field name="TEXT">Gästezimmer</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO0">
                                                  <block type="control" id="g+2]wvsrhR8vxv7c,kJ_">
                                                    <mutation delay_input="false"></mutation>
                                                    <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="variables_get" id="5q6/z~S`0DeJ6sYrWhj1">
                                                        <field name="VAR">Ausgabetext</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </statement>
                                                <next>
                                                  <block type="comment" id="C6,wSh?BEZ,G:B9Tl@#w">
                                                    <field name="COMMENT">Flur</field>
                                                    <next>
                                                      <block type="controls_if" id="l/g@UNw6pzeQ6_698R:-">
                                                        <value name="IF0">
                                                          <block type="logic_compare" id="=Z)D6qrCzY2oU/fVV93A">
                                                            <field name="OP">EQ</field>
                                                            <value name="A">
                                                              <block type="get_value" id="StsaG2CB;*5f5wIvH,kE">
                                                                <field name="ATTR">val</field>
                                                                <field name="OID">alexa2.0.History.name</field>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <block type="text" id="7N;yy7cC=tE`}MYOFfF6">
                                                                <field name="TEXT">Flur</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <statement name="DO0">
                                                          <block type="control" id="5#-V887QhCCSAzI+twok">
                                                            <mutation delay_input="false"></mutation>
                                                            <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE">
                                                              <block type="variables_get" id="NurE:%K_z!^Vlj(fn5qI">
                                                                <field name="VAR">Ausgabetext</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </statement>
                                                        <next>
                                                          <block type="comment" id="qKD3bDxHV;NBtuFFs|e.">
                                                            <field name="COMMENT">Schlafzimmer</field>
                                                            <next>
                                                              <block type="controls_if" id="iMz(H}c1#NO@KVNnhnlQ">
                                                                <value name="IF0">
                                                                  <block type="logic_compare" id="z`vyyAWvaYdxt8YZt,0O">
                                                                    <field name="OP">EQ</field>
                                                                    <value name="A">
                                                                      <block type="get_value" id="mEF)naqwJ#xLCe1NeKO:">
                                                                        <field name="ATTR">val</field>
                                                                        <field name="OID">alexa2.0.History.name</field>
                                                                      </block>
                                                                    </value>
                                                                    <value name="B">
                                                                      <block type="text" id="F7::fb4cokeJJD:fk~pV">
                                                                        <field name="TEXT">Schlafzimmer</field>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </value>
                                                                <statement name="DO0">
                                                                  <block type="control" id="{2s/h/xpkm]F+1ik-f4m">
                                                                    <mutation delay_input="false"></mutation>
                                                                    <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                    <value name="VALUE">
                                                                      <block type="variables_get" id="ft7Uf33@IB1zu_xdTAxn">
                                                                        <field name="VAR">Ausgabetext</field>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </statement>
                                                                <next>
                                                                  <block type="comment" id="wIYZ1bLOSjFi=NxT9WcM">
                                                                    <field name="COMMENT">Keller-Flur</field>
                                                                    <next>
                                                                      <block type="controls_if" id="%EEK(pKJ%lGo)32cR7qF">
                                                                        <value name="IF0">
                                                                          <block type="logic_compare" id="7Mb(anM]kR9056)gxqnW">
                                                                            <field name="OP">EQ</field>
                                                                            <value name="A">
                                                                              <block type="get_value" id="xF~b7`{fV||4n}zB-}.u">
                                                                                <field name="ATTR">val</field>
                                                                                <field name="OID">alexa2.0.History.name</field>
                                                                              </block>
                                                                            </value>
                                                                            <value name="B">
                                                                              <block type="text" id="VH^2CJsPGOd!6hGoqdK4">
                                                                                <field name="TEXT">Keller-Flur</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                        <statement name="DO0">
                                                                          <block type="control" id="F_[xezXeyr~*(A=q.YFJ">
                                                                            <mutation delay_input="false"></mutation>
                                                                            <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                            <value name="VALUE">
                                                                              <block type="variables_get" id="SjtrIJ?gA20oj88N|srb">
                                                                                <field name="VAR">Ausgabetext</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </statement>
                                                                        <next>
                                                                          <block type="comment" id="E#D1a/,rcH`dm3?Nx^:q">
                                                                            <field name="COMMENT">Werkstatt</field>
                                                                            <next>
                                                                              <block type="controls_if" id="=s~d:-WIg1#TE`^zf9[4">
                                                                                <value name="IF0">
                                                                                  <block type="logic_compare" id="*:X%VM^+2MoYl-:u!WK`">
                                                                                    <field name="OP">EQ</field>
                                                                                    <value name="A">
                                                                                      <block type="get_value" id="6fnRWyK0;P(.x;H{)22T">
                                                                                        <field name="ATTR">val</field>
                                                                                        <field name="OID">alexa2.0.History.name</field>
                                                                                      </block>
                                                                                    </value>
                                                                                    <value name="B">
                                                                                      <block type="text" id="S:#keRENw1gGjHWLUD!-">
                                                                                        <field name="TEXT">Werkstatt</field>
                                                                                      </block>
                                                                                    </value>
                                                                                  </block>
                                                                                </value>
                                                                                <statement name="DO0">
                                                                                  <block type="control" id="ql@`4(PNtjS_AM0bEqD+">
                                                                                    <mutation delay_input="false"></mutation>
                                                                                    <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                    <value name="VALUE">
                                                                                      <block type="variables_get" id="P[ojMqQDVRouu#vN~{[%">
                                                                                        <field name="VAR">Ausgabetext</field>
                                                                                      </block>
                                                                                    </value>
                                                                                  </block>
                                                                                </statement>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </statement>
        <next>
          <block type="controls_if" id="N+F+/fYbDeMZL#(HaEo|">
            <value name="IF0">
              <block type="logic_compare" id="T+)nZ(]w4LgDY/|?p56g">
                <field name="OP">NEQ</field>
                <value name="A">
                  <block type="get_value" id="k=BXdEuQo7?Mo%bdfdng">
                    <field name="ATTR">val</field>
                    <field name="OID">javascript.0.Status.Fenster.Anzahl_auf</field>
                  </block>
                </value>
                <value name="B">
                  <block type="math_number" id="j-blGyC;V4jTLHKvikXr">
                    <field name="NUM">0</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="variables_set" id="mk,--n%8x}e1WshOCBc.">
                <field name="VAR">Ausgabetext</field>
                <value name="VALUE">
                  <block type="text_join" id="Ew3VTw7qG|Fx:}vq3hIR">
                    <mutation items="3"></mutation>
                    <value name="ADD0">
                      <block type="text" id="Lo0@rGsN^gt1iZ#@~A/7">
                        <field name="TEXT">Im Moment sind im </field>
                      </block>
                    </value>
                    <value name="ADD1">
                      <block type="get_value" id="i?[Ze,W23|M`_S5@d?;q">
                        <field name="ATTR">val</field>
                        <field name="OID">javascript.0.Status.Fenster.Raum</field>
                      </block>
                    </value>
                    <value name="ADD2">
                      <block type="text" id="NqEob9;8UT11wT`dCQi#">
                        <field name="TEXT">geöffnete Fenster</field>
                      </block>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="timeouts_settimeout" id="^c,bQ)^![(HGz2QrWw/u">
                    <field name="NAME">timeout2</field>
                    <field name="DELAY">500</field>
                    <field name="UNIT">ms</field>
                    <statement name="STATEMENT">
                      <block type="comment" id="3e5[cR-lQ2P@g3-V]T.*">
                        <field name="COMMENT">Wohnzimmer</field>
                        <next>
                          <block type="controls_if" id="KauxWUEJAP2sp)D%Cdm9">
                            <value name="IF0">
                              <block type="logic_compare" id="F4MK(fbY8WU[yWO)@Z~O">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="get_value" id="Oe@)VM+1Y`_1YJn?6xyl">
                                    <field name="ATTR">val</field>
                                    <field name="OID">alexa2.0.History.name</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="text" id="Q8@T8q|P]D*WR6aG#*j0">
                                    <field name="TEXT">Wohnzimmer</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="control" id="r|w?GKF2R8A%WSX@AP[|">
                                <mutation delay_input="false"></mutation>
                                <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="variables_get" id="HTcKd2V9F)=k:Ae4mS}F">
                                    <field name="VAR">Ausgabetext</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <next>
                              <block type="comment" id="Lg@:ha-a2x,0rfhC.]_=">
                                <field name="COMMENT">Küche</field>
                                <next>
                                  <block type="controls_if" id="DTWD3KK_f2CmowWl}Dw+">
                                    <value name="IF0">
                                      <block type="logic_compare" id="*r~k%Po!vzUQHybU`)sv">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="get_value" id="285L,qT@eWkZS(#hgXnl">
                                            <field name="ATTR">val</field>
                                            <field name="OID">alexa2.0.History.name</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="text" id="w!HtM,nb,KI1aqaOeI36">
                                            <field name="TEXT">Küche</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="control" id="_H{%k4b|sj!:P^rDu%};">
                                        <mutation delay_input="false"></mutation>
                                        <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="variables_get" id="~51B8(3{stq1BpR1J~p%">
                                            <field name="VAR">Ausgabetext</field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="comment" id="0Y;8c=RG%f;qqP2yyjbm">
                                        <field name="COMMENT">Badezimmer</field>
                                        <next>
                                          <block type="controls_if" id="JS`zfpqZ~NiBhWxa_;gH">
                                            <value name="IF0">
                                              <block type="logic_compare" id="-7AVWpsa42LalJseqzv{">
                                                <field name="OP">EQ</field>
                                                <value name="A">
                                                  <block type="get_value" id="cm6sMr|*pCsxx{9uCMrm">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">alexa2.0.History.name</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="text" id="7+szyIbBBP!dtC~D1h)O">
                                                    <field name="TEXT">Badezimmer</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="control" id="Hg;Dq%gJEXg{SLV;t6{6">
                                                <mutation delay_input="false"></mutation>
                                                <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="variables_get" id="*lX{ZM`VBTc}A`1!gM9H">
                                                    <field name="VAR">Ausgabetext</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                            <next>
                                              <block type="comment" id=":Ka+W*uwIV:h(pjzq_h,">
                                                <field name="COMMENT">Gästezimmer</field>
                                                <next>
                                                  <block type="controls_if" id="Ug#8mH1FI!icK/)QEYjQ">
                                                    <value name="IF0">
                                                      <block type="logic_compare" id=")@76q4MZ/}oCH_mLKWO4">
                                                        <field name="OP">EQ</field>
                                                        <value name="A">
                                                          <block type="get_value" id="iI-HkvUXFC@;;_+[TcRP">
                                                            <field name="ATTR">val</field>
                                                            <field name="OID">alexa2.0.History.name</field>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <block type="text" id="#:=Dp]Dt1gil*WOPj/h{">
                                                            <field name="TEXT">Gästezimmer</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <statement name="DO0">
                                                      <block type="control" id="yoHnz^WG58=+X)|S-u8#">
                                                        <mutation delay_input="false"></mutation>
                                                        <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="variables_get" id="Y8LHCPPH..OnEJN^sjFQ">
                                                            <field name="VAR">Ausgabetext</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </statement>
                                                    <next>
                                                      <block type="comment" id="!40Mmgu)T0A3-qPaF9yO">
                                                        <field name="COMMENT">Flur</field>
                                                        <next>
                                                          <block type="controls_if" id="b/SgE1YjT,ld[nn}{%RH">
                                                            <value name="IF0">
                                                              <block type="logic_compare" id="c)SjW;jeX|#Fh/Cha,,3">
                                                                <field name="OP">EQ</field>
                                                                <value name="A">
                                                                  <block type="get_value" id="H9=}F/!XKY9UBnnbr~D/">
                                                                    <field name="ATTR">val</field>
                                                                    <field name="OID">alexa2.0.History.name</field>
                                                                  </block>
                                                                </value>
                                                                <value name="B">
                                                                  <block type="text" id="r^EgI!FQ;-DPWFF_D!C1">
                                                                    <field name="TEXT">Flur</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <statement name="DO0">
                                                              <block type="control" id=";7jyou9f+V(`5**;CDV?">
                                                                <mutation delay_input="false"></mutation>
                                                                <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="variables_get" id="Q_k9kSJVNP5e%a8((xhe">
                                                                    <field name="VAR">Ausgabetext</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </statement>
                                                            <next>
                                                              <block type="comment" id="`?k8YL[;!mE5;-NddVTc">
                                                                <field name="COMMENT">Schlafzimmer</field>
                                                                <next>
                                                                  <block type="controls_if" id="zyeAn3wMc!;hYZDhK)hy">
                                                                    <value name="IF0">
                                                                      <block type="logic_compare" id="bq=B-rG}sw}7gG1{/Y-.">
                                                                        <field name="OP">EQ</field>
                                                                        <value name="A">
                                                                          <block type="get_value" id="Zr`S-l8E!}8.4{,qM9*i">
                                                                            <field name="ATTR">val</field>
                                                                            <field name="OID">alexa2.0.History.name</field>
                                                                          </block>
                                                                        </value>
                                                                        <value name="B">
                                                                          <block type="text" id="te+gSwhWiVR4,scYV%ca">
                                                                            <field name="TEXT">Schlafzimmer</field>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </value>
                                                                    <statement name="DO0">
                                                                      <block type="control" id="grH6#whY1.N-q[pLM5X.">
                                                                        <mutation delay_input="false"></mutation>
                                                                        <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                        <value name="VALUE">
                                                                          <block type="variables_get" id="[hMf^;p|,CaZVyd+qTm~">
                                                                            <field name="VAR">Ausgabetext</field>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </statement>
                                                                    <next>
                                                                      <block type="comment" id="N3@K2BRC7C5N9daBycv_">
                                                                        <field name="COMMENT">Keller-Flur</field>
                                                                        <next>
                                                                          <block type="controls_if" id="HPxOdxs4N%j2umWTfUNG">
                                                                            <value name="IF0">
                                                                              <block type="logic_compare" id="DX=kCQ/,E6kqYsQ}/=[e">
                                                                                <field name="OP">EQ</field>
                                                                                <value name="A">
                                                                                  <block type="get_value" id="XionPRa91nQ16NK(N9+.">
                                                                                    <field name="ATTR">val</field>
                                                                                    <field name="OID">alexa2.0.History.name</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="B">
                                                                                  <block type="text" id="ZB}mEWERKZ/fb~*Lwd1A">
                                                                                    <field name="TEXT">Keller-Flur</field>
                                                                                  </block>
                                                                                </value>
                                                                              </block>
                                                                            </value>
                                                                            <statement name="DO0">
                                                                              <block type="control" id="kPLG+9decg*iGUm87`-2">
                                                                                <mutation delay_input="false"></mutation>
                                                                                <field name="OID">alexa2.0.Echo-Devices.xxx.speak</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE">
                                                                                  <block type="variables_get" id="}.I+7-Frw4fjj1-N[AeP">
                                                                                    <field name="VAR">Ausgabetext</field>
                                                                                  </block>
                                                                                </value>
                                                                              </block>
                                                                            </statement>
                                                                            <next>
                                                                              <block type="comment" id="C~L9w[G_b.Hb*%7oT~aE">
                                                                                <field name="COMMENT">Werkstatt</field>
                                                                                <next>
                                                                                  <block type="controls_if" id="`;ot|i:*)I|EwW@zS,B2">
                                                                                    <value name="IF0">
                                                                                      <block type="logic_compare" id="H!ldSYtR|C|^VcqxS;Xt">
                                                                                        <field name="OP">EQ</field>
                                                                                        <value name="A">
                                                                                          <block type="get_value" id="I)o6A2U2(,A7e|4.8lo.">
                                                                                            <field name="ATTR">val</field>
                                                                                            <field name="OID">alexa2.0.History.name</field>
                                                                                          </block>
                                                                                        </value>
                                                                                        <value name="B">
                                                                                          <block type="text" id="s4owS.Ww){6ayek?VzFb">
                                                                                            <field name="TEXT">Werkstatt</field>
                                                                                          </block>
                                                                                        </value>
                                                                                      </block>
                                                                                    </value>
                                                                                    <statement name="DO0">
                                                                                      <block type="control" id="5Gh*aVl-x(IPCnF@5,5/">
                                                                                        <mutation delay_input="false"></mutation>
                                                                                        <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                        <value name="VALUE">
                                                                                          <block type="variables_get" id="dmO{yR;|g@(rZJE,HX4k">
                                                                                            <field name="VAR">Ausgabetext</field>
                                                                                          </block>
                                                                                        </value>
                                                                                      </block>
                                                                                    </statement>
                                                                                  </block>
                                                                                </next>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>
Fenster Blockly.JPG
Fenster Blockly.JPG (42.19 KiB) 864 mal betrachtet
Zuletzt geändert von dslraser am 11.08.2018, 21:01, insgesamt 2-mal geändert.

Benutzeravatar
dslraser
professional
Beiträge: 648
Registriert: 15.10.2017, 21:37

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von dslraser » 11.08.2018, 21:15

Und hier noch das Gleiche für das Gewerk Licht.
Ich habe bei mir nur Hue Lampen drinn und Frage über .level ab...
Ich habe Hue manuell zugeordnet.
(sonst so ähnlich wie bei der Fenster Abfrage / Ansage)


Script 1 Licht über Gewerk (Hue-Lampen über .level)
Spoiler: Show hidden text

Code: Alles auswählen

//Licht Status
var logging = true;

var idAnzahlEin = 'javascript.0.Status.Lichter.Anzahl_ein',
idAnzahl = 'javascript.0.Status.Lichter.Anzahl',
idText = 'javascript.0.Status.Lichter.Text',
idRaum = 'javascript.0.Status.Lichter.Raum',
idAnsage = 'javascript.0.Status.Lichter.Ansage';

// Ab hier nix mehr ändern
createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
type: 'number',
name: 'Anzahl aller Lichter',
min: 0,
def: 0,
role: 'value'
});
createState(idAnzahlEin, { // Anzahl der Lichter, die an sind als Variable unter Javascript.0 anlegen
type: 'number',
name: 'Anzahl der eingeschalteten Lichter',
min: 0,
def: 0,
role: 'value'
});
createState(idText, { // Anzahl der eingeschalteten Lichter und deren Namen als Variable unter Javascript.0 anlegen
type: 'string',
name: 'eingeschaltete Lichter',
desc: 'Namen der eingeschalteten Lichter',
def: ' ',
role: 'value'
});
createState(idAnsage, {
type: 'string',
name: 'eingeschaltete Lichter (Ansage)',
desc: 'Namen der eingeschalteten Lichter (für Ansage aufbereitet)',
def: ' ',
role: 'value'
});
createState(idRaum, { // Räume, in denen Lichter eingeschaltet sind
type: 'string',
name: 'Räume mit eingeschalteten Lichter',
desc: 'Namen der Räume, in denen Lichter eingeschaltet sind',
def: ' ',
role: 'value'
});

var cacheSelectorLevel = $('channel[state.id=*.level](functions="Licht")');//Gewerk Licht

function checkDevices(obj) {
// Setzt die Zähler vor dem Durchlauf aller Elemente *.level im Gewerk Licht auf 0
var anzahlLichtAn = 0;
var anzahlLicht = 0;
var textLichtAn = [];
var textRaum = [];

cacheSelectorLevel.each(function (id, i) { // Schleife für jedes gefundenen Element *.level im Gewerk Licht
var obj = getObject(id);
var name = getObject(id).common.name;
var status = getState(id).val; // Zustand *.level abfragen (jedes Element)
var devicename = name.substring(0, name.indexOf(".level")); //.level aus Text entfernen
var raumname = getObject(id, "rooms");


//if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
if ( status){
++anzahlLichtAn; 
textLichtAn.push(devicename); // Zu Array hinzufügen
textRaum.push(raumname.enumNames);
}
++anzahlLicht; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
});

textRaum = deleteDuplicates(textRaum);

// Array mit Lichternamen sortieren
textLichtAn.sort();
textRaum.sort(); 
// Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
if (logging) log("Text: " + textLichtAn);
if (logging) log("Anzahl Lichter: " + anzahlLicht + " # davon Lichter an: " + anzahlLichtAn);
// die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
setState(idText, textLichtAn.join(', und ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
setState(idAnzahlEin, textLichtAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
setState(idAnzahl, anzahlLicht); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
setState(idRaum, textRaum.join(',<br>')); // Räume, in denen Lichter eingeschaltet ist
setState(idRaum, textRaum.join(', und ')); // Räume, in denen Lichter eingeschaltet ist 
}

// Trigger

cacheSelectorLevel.on(function(obj) { // bei Zustandänderung *.level im Gewerk Lichter
//if (logging) log('Auslösender Dimmer: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
checkDevices();
});

function main() {
setTimeout(function(){
if (logging) log('Auslöser Skriptstart');
checkDevices();
}, 2000);
}

main(); // Skriptstart-Auslöser

//Aufbereitung für Ansage
function strip_tags(data) {
var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");
return(rueckgabe);
}

on(idText, function (obj) {
var text = obj.state.val;
text = (text.length > 1) ? '' + text : 'alle Lampen ausgeschaltet';
setState(idAnsage, text);
});
Script 2 - in global gespeichert - entfernen Doppelter Raumnamen
Spoiler: Show hidden text

Code: Alles auswählen

// Funktion: Doppelte Einträge aus Array entfernen (für Räume) www.okco.de (c) codemaster
function deleteDuplicates(arr) { 
    var temp = {}; 
    for (var i = 0; i < arr.length; i++) temp[arr[i]] = true; 
    var r = []; 
    for (var k in temp) r.push(k); 
    return r;
}
Script 3 Ansage/Abfrage über speak Alexa2 Blockly Export
Spoiler: Show hidden text

Code: Alles auswählen

<xml xmlns="http://www.w3.org/1999/xhtml">
  <block type="control" id="@J7@ob/rsR9OCYN+!hI7" x="-512" y="-237">
    <mutation delay_input="false"></mutation>
    <field name="OID">alexa2.0.History.#trigger</field>
    <field name="WITH_DELAY">FALSE</field>
    <value name="VALUE">
      <block type="logic_boolean" id="oI]KS-#7{`Lh(W#]MB7C">
        <field name="BOOL">TRUE</field>
      </block>
    </value>
    <next>
      <block type="controls_if" id="{_JT|3Mpv*tSOVWD3Pz6">
        <value name="IF0">
          <block type="logic_compare" id="D?,*QGBBwauCm,Qte=Q-">
            <field name="OP">EQ</field>
            <value name="A">
              <block type="get_value" id="]irLwLWGul].x{m`.#.@">
                <field name="ATTR">val</field>
                <field name="OID">javascript.0.Status.Lichter.Anzahl_ein</field>
              </block>
            </value>
            <value name="B">
              <block type="math_number" id="5LL6xi4F_7}-aEi^jHY@">
                <field name="NUM">0</field>
              </block>
            </value>
          </block>
        </value>
        <statement name="DO0">
          <block type="variables_set" id="5VFfHYTB!S7A^A*?SicA">
            <field name="VAR">Ausgabetext</field>
            <value name="VALUE">
              <block type="text_join" id="4?k[0reCRn.mjkxHg41~">
                <mutation items="2"></mutation>
                <value name="ADD0">
                  <block type="text" id="75Z)Wn`YF@;38~bIM;pA">
                    <field name="TEXT">aktuell sind</field>
                  </block>
                </value>
                <value name="ADD1">
                  <block type="get_value" id="Vh/8rxU]yD!3mT}0y[eC">
                    <field name="ATTR">val</field>
                    <field name="OID">javascript.0.Status.Lichter.Ansage</field>
                  </block>
                </value>
              </block>
            </value>
            <next>
              <block type="timeouts_settimeout" id="xA_MJ^@=AB=-WtDTe(3}">
                <field name="NAME">timeout</field>
                <field name="DELAY">500</field>
                <field name="UNIT">ms</field>
                <statement name="STATEMENT">
                  <block type="comment" id="s30b2{fSQ:a0uC3`+QWU">
                    <field name="COMMENT">Wohnzimmer</field>
                    <next>
                      <block type="controls_if" id="l(E24=q]l]b,GJDj4dSj">
                        <value name="IF0">
                          <block type="logic_compare" id="MKwJn0C!O]xc!~.9|B`*">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="get_value" id="p-SHbJ5Dmwr6djxg2ohH">
                                <field name="ATTR">val</field>
                                <field name="OID">alexa2.0.History.name</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="text" id="?}A;8(IyMF%F@(t]Kc~+">
                                <field name="TEXT">Wohnzimmer</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="control" id=")M^jLcZ!hCpj,X={-`nV">
                            <mutation delay_input="false"></mutation>
                            <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="variables_get" id="p)bNOdcZFVoq1e^M5V-.">
                                <field name="VAR">Ausgabetext</field>
                              </block>
                            </value>
                          </block>
                        </statement>
                        <next>
                          <block type="comment" id="As,dG(xO[B@wIYcyAG?h">
                            <field name="COMMENT">Küche</field>
                            <next>
                              <block type="controls_if" id="wrH-}P(84mn7Y/rg8A[.">
                                <value name="IF0">
                                  <block type="logic_compare" id="kg.QKB751NaS#Ihk1Vlg">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id="qnTz1Oe31sq:NXjmbxIJ">
                                        <field name="ATTR">val</field>
                                        <field name="OID">alexa2.0.History.name</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="text" id="3=W.?c8BZN+QrGX4xL}h">
                                        <field name="TEXT">Küche</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="control" id="}?dK++*V.7JQcjG{3uhB">
                                    <mutation delay_input="false"></mutation>
                                    <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="variables_get" id="qHoN]~u1FI@iDQs*2C2v">
                                        <field name="VAR">Ausgabetext</field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                                <next>
                                  <block type="comment" id="_amxz6B=9F}_2uEGsK}`">
                                    <field name="COMMENT">Badezimmer</field>
                                    <next>
                                      <block type="controls_if" id=".n7JtGwDJDGfaeyl!8*B">
                                        <value name="IF0">
                                          <block type="logic_compare" id="I-@9%{Ng!%}9rE#IESc;">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                              <block type="get_value" id="c?dSeG!fu]W8UO@?D4I3">
                                                <field name="ATTR">val</field>
                                                <field name="OID">alexa2.0.History.name</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="text" id="MivGV@*kt)3rY9COKpKA">
                                                <field name="TEXT">Badezimmer</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="control" id="zTwXc~r8Ldt0u-5TNcVn">
                                            <mutation delay_input="false"></mutation>
                                            <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="variables_get" id="*X*~qQG3]~[NC{WMMndW">
                                                <field name="VAR">Ausgabetext</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                        <next>
                                          <block type="comment" id="CJNG59[?CJ|U-=Bf]c)z">
                                            <field name="COMMENT">Gästezimmer</field>
                                            <next>
                                              <block type="controls_if" id="OC]k1_}iDlExQPVc=(ib">
                                                <value name="IF0">
                                                  <block type="logic_compare" id="OBIXw6hJ@]2Xr`HBIz5h">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="get_value" id="=x~5W)ns/VV;c|RFqQcE">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">alexa2.0.History.name</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="text" id="IxW:hplIvDQm1ax=@X+M">
                                                        <field name="TEXT">Gästezimmer</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO0">
                                                  <block type="control" id="g+2]wvsrhR8vxv7c,kJ_">
                                                    <mutation delay_input="false"></mutation>
                                                    <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="variables_get" id="5q6/z~S`0DeJ6sYrWhj1">
                                                        <field name="VAR">Ausgabetext</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </statement>
                                                <next>
                                                  <block type="comment" id="C6,wSh?BEZ,G:B9Tl@#w">
                                                    <field name="COMMENT">Flur</field>
                                                    <next>
                                                      <block type="controls_if" id="l/g@UNw6pzeQ6_698R:-">
                                                        <value name="IF0">
                                                          <block type="logic_compare" id="=Z)D6qrCzY2oU/fVV93A">
                                                            <field name="OP">EQ</field>
                                                            <value name="A">
                                                              <block type="get_value" id="StsaG2CB;*5f5wIvH,kE">
                                                                <field name="ATTR">val</field>
                                                                <field name="OID">alexa2.0.History.name</field>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <block type="text" id="7N;yy7cC=tE`}MYOFfF6">
                                                                <field name="TEXT">Flur</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <statement name="DO0">
                                                          <block type="control" id="5#-V887QhCCSAzI+twok">
                                                            <mutation delay_input="false"></mutation>
                                                            <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE">
                                                              <block type="variables_get" id="NurE:%K_z!^Vlj(fn5qI">
                                                                <field name="VAR">Ausgabetext</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </statement>
                                                        <next>
                                                          <block type="comment" id="qKD3bDxHV;NBtuFFs|e.">
                                                            <field name="COMMENT">Schlafzimmer</field>
                                                            <next>
                                                              <block type="controls_if" id="iMz(H}c1#NO@KVNnhnlQ">
                                                                <value name="IF0">
                                                                  <block type="logic_compare" id="z`vyyAWvaYdxt8YZt,0O">
                                                                    <field name="OP">EQ</field>
                                                                    <value name="A">
                                                                      <block type="get_value" id="mEF)naqwJ#xLCe1NeKO:">
                                                                        <field name="ATTR">val</field>
                                                                        <field name="OID">alexa2.0.History.name</field>
                                                                      </block>
                                                                    </value>
                                                                    <value name="B">
                                                                      <block type="text" id="F7::fb4cokeJJD:fk~pV">
                                                                        <field name="TEXT">Schlafzimmer</field>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </value>
                                                                <statement name="DO0">
                                                                  <block type="control" id="{2s/h/xpkm]F+1ik-f4m">
                                                                    <mutation delay_input="false"></mutation>
                                                                    <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                    <value name="VALUE">
                                                                      <block type="variables_get" id="ft7Uf33@IB1zu_xdTAxn">
                                                                        <field name="VAR">Ausgabetext</field>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </statement>
                                                                <next>
                                                                  <block type="comment" id="wIYZ1bLOSjFi=NxT9WcM">
                                                                    <field name="COMMENT">Keller-Flur</field>
                                                                    <next>
                                                                      <block type="controls_if" id="%EEK(pKJ%lGo)32cR7qF">
                                                                        <value name="IF0">
                                                                          <block type="logic_compare" id="7Mb(anM]kR9056)gxqnW">
                                                                            <field name="OP">EQ</field>
                                                                            <value name="A">
                                                                              <block type="get_value" id="xF~b7`{fV||4n}zB-}.u">
                                                                                <field name="ATTR">val</field>
                                                                                <field name="OID">alexa2.0.History.name</field>
                                                                              </block>
                                                                            </value>
                                                                            <value name="B">
                                                                              <block type="text" id="VH^2CJsPGOd!6hGoqdK4">
                                                                                <field name="TEXT">Keller-Flur</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                        <statement name="DO0">
                                                                          <block type="control" id="F_[xezXeyr~*(A=q.YFJ">
                                                                            <mutation delay_input="false"></mutation>
                                                                            <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                            <value name="VALUE">
                                                                              <block type="variables_get" id="SjtrIJ?gA20oj88N|srb">
                                                                                <field name="VAR">Ausgabetext</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </statement>
                                                                        <next>
                                                                          <block type="comment" id="E#D1a/,rcH`dm3?Nx^:q">
                                                                            <field name="COMMENT">Werkstatt</field>
                                                                            <next>
                                                                              <block type="controls_if" id="=s~d:-WIg1#TE`^zf9[4">
                                                                                <value name="IF0">
                                                                                  <block type="logic_compare" id="*:X%VM^+2MoYl-:u!WK`">
                                                                                    <field name="OP">EQ</field>
                                                                                    <value name="A">
                                                                                      <block type="get_value" id="6fnRWyK0;P(.x;H{)22T">
                                                                                        <field name="ATTR">val</field>
                                                                                        <field name="OID">alexa2.0.History.name</field>
                                                                                      </block>
                                                                                    </value>
                                                                                    <value name="B">
                                                                                      <block type="text" id="S:#keRENw1gGjHWLUD!-">
                                                                                        <field name="TEXT">Werkstatt</field>
                                                                                      </block>
                                                                                    </value>
                                                                                  </block>
                                                                                </value>
                                                                                <statement name="DO0">
                                                                                  <block type="control" id="ql@`4(PNtjS_AM0bEqD+">
                                                                                    <mutation delay_input="false"></mutation>
                                                                                    <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                    <value name="VALUE">
                                                                                      <block type="variables_get" id="P[ojMqQDVRouu#vN~{[%">
                                                                                        <field name="VAR">Ausgabetext</field>
                                                                                      </block>
                                                                                    </value>
                                                                                  </block>
                                                                                </statement>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </statement>
        <next>
          <block type="controls_if" id="N+F+/fYbDeMZL#(HaEo|">
            <value name="IF0">
              <block type="logic_compare" id="T+)nZ(]w4LgDY/|?p56g">
                <field name="OP">NEQ</field>
                <value name="A">
                  <block type="get_value" id="k=BXdEuQo7?Mo%bdfdng">
                    <field name="ATTR">val</field>
                    <field name="OID">javascript.0.Status.Lichter.Anzahl_ein</field>
                  </block>
                </value>
                <value name="B">
                  <block type="math_number" id="j-blGyC;V4jTLHKvikXr">
                    <field name="NUM">0</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="variables_set" id="mk,--n%8x}e1WshOCBc.">
                <field name="VAR">Ausgabetext</field>
                <value name="VALUE">
                  <block type="text_join" id="Ew3VTw7qG|Fx:}vq3hIR">
                    <mutation items="3"></mutation>
                    <value name="ADD0">
                      <block type="text" id="Lo0@rGsN^gt1iZ#@~A/7">
                        <field name="TEXT">Im Moment sind im </field>
                      </block>
                    </value>
                    <value name="ADD1">
                      <block type="get_value" id="i?[Ze,W23|M`_S5@d?;q">
                        <field name="ATTR">val</field>
                        <field name="OID">javascript.0.Status.Lichter.Raum</field>
                      </block>
                    </value>
                    <value name="ADD2">
                      <block type="text" id="NqEob9;8UT11wT`dCQi#">
                        <field name="TEXT">eingeschaltete Lampen</field>
                      </block>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="timeouts_settimeout" id="^c,bQ)^![(HGz2QrWw/u">
                    <field name="NAME">timeout2</field>
                    <field name="DELAY">500</field>
                    <field name="UNIT">ms</field>
                    <statement name="STATEMENT">
                      <block type="comment" id="3e5[cR-lQ2P@g3-V]T.*">
                        <field name="COMMENT">Wohnzimmer</field>
                        <next>
                          <block type="controls_if" id="KauxWUEJAP2sp)D%Cdm9">
                            <value name="IF0">
                              <block type="logic_compare" id="F4MK(fbY8WU[yWO)@Z~O">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="get_value" id="Oe@)VM+1Y`_1YJn?6xyl">
                                    <field name="ATTR">val</field>
                                    <field name="OID">alexa2.0.History.name</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="text" id="Q8@T8q|P]D*WR6aG#*j0">
                                    <field name="TEXT">Wohnzimmer</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="control" id="r|w?GKF2R8A%WSX@AP[|">
                                <mutation delay_input="false"></mutation>
                                <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="variables_get" id="HTcKd2V9F)=k:Ae4mS}F">
                                    <field name="VAR">Ausgabetext</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <next>
                              <block type="comment" id="Lg@:ha-a2x,0rfhC.]_=">
                                <field name="COMMENT">Küche</field>
                                <next>
                                  <block type="controls_if" id="DTWD3KK_f2CmowWl}Dw+">
                                    <value name="IF0">
                                      <block type="logic_compare" id="*r~k%Po!vzUQHybU`)sv">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="get_value" id="285L,qT@eWkZS(#hgXnl">
                                            <field name="ATTR">val</field>
                                            <field name="OID">alexa2.0.History.name</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="text" id="w!HtM,nb,KI1aqaOeI36">
                                            <field name="TEXT">Küche</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="control" id="_H{%k4b|sj!:P^rDu%};">
                                        <mutation delay_input="false"></mutation>
                                        <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="variables_get" id="~51B8(3{stq1BpR1J~p%">
                                            <field name="VAR">Ausgabetext</field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="comment" id="0Y;8c=RG%f;qqP2yyjbm">
                                        <field name="COMMENT">Badezimmer</field>
                                        <next>
                                          <block type="controls_if" id="JS`zfpqZ~NiBhWxa_;gH">
                                            <value name="IF0">
                                              <block type="logic_compare" id="-7AVWpsa42LalJseqzv{">
                                                <field name="OP">EQ</field>
                                                <value name="A">
                                                  <block type="get_value" id="cm6sMr|*pCsxx{9uCMrm">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">alexa2.0.History.name</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="text" id="7+szyIbBBP!dtC~D1h)O">
                                                    <field name="TEXT">Badezimmer</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="control" id="Hg;Dq%gJEXg{SLV;t6{6">
                                                <mutation delay_input="false"></mutation>
                                                <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="variables_get" id="*lX{ZM`VBTc}A`1!gM9H">
                                                    <field name="VAR">Ausgabetext</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                            <next>
                                              <block type="comment" id=":Ka+W*uwIV:h(pjzq_h,">
                                                <field name="COMMENT">Gästezimmer</field>
                                                <next>
                                                  <block type="controls_if" id="Ug#8mH1FI!icK/)QEYjQ">
                                                    <value name="IF0">
                                                      <block type="logic_compare" id=")@76q4MZ/}oCH_mLKWO4">
                                                        <field name="OP">EQ</field>
                                                        <value name="A">
                                                          <block type="get_value" id="iI-HkvUXFC@;;_+[TcRP">
                                                            <field name="ATTR">val</field>
                                                            <field name="OID">alexa2.0.History.name</field>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <block type="text" id="#:=Dp]Dt1gil*WOPj/h{">
                                                            <field name="TEXT">Gästezimmer</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <statement name="DO0">
                                                      <block type="control" id="yoHnz^WG58=+X)|S-u8#">
                                                        <mutation delay_input="false"></mutation>
                                                        <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="variables_get" id="Y8LHCPPH..OnEJN^sjFQ">
                                                            <field name="VAR">Ausgabetext</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </statement>
                                                    <next>
                                                      <block type="comment" id="!40Mmgu)T0A3-qPaF9yO">
                                                        <field name="COMMENT">Flur</field>
                                                        <next>
                                                          <block type="controls_if" id="b/SgE1YjT,ld[nn}{%RH">
                                                            <value name="IF0">
                                                              <block type="logic_compare" id="c)SjW;jeX|#Fh/Cha,,3">
                                                                <field name="OP">EQ</field>
                                                                <value name="A">
                                                                  <block type="get_value" id="H9=}F/!XKY9UBnnbr~D/">
                                                                    <field name="ATTR">val</field>
                                                                    <field name="OID">alexa2.0.History.name</field>
                                                                  </block>
                                                                </value>
                                                                <value name="B">
                                                                  <block type="text" id="r^EgI!FQ;-DPWFF_D!C1">
                                                                    <field name="TEXT">Flur</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <statement name="DO0">
                                                              <block type="control" id=";7jyou9f+V(`5**;CDV?">
                                                                <mutation delay_input="false"></mutation>
                                                                <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="variables_get" id="Q_k9kSJVNP5e%a8((xhe">
                                                                    <field name="VAR">Ausgabetext</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </statement>
                                                            <next>
                                                              <block type="comment" id="`?k8YL[;!mE5;-NddVTc">
                                                                <field name="COMMENT">Schlafzimmer</field>
                                                                <next>
                                                                  <block type="controls_if" id="zyeAn3wMc!;hYZDhK)hy">
                                                                    <value name="IF0">
                                                                      <block type="logic_compare" id="bq=B-rG}sw}7gG1{/Y-.">
                                                                        <field name="OP">EQ</field>
                                                                        <value name="A">
                                                                          <block type="get_value" id="Zr`S-l8E!}8.4{,qM9*i">
                                                                            <field name="ATTR">val</field>
                                                                            <field name="OID">alexa2.0.History.name</field>
                                                                          </block>
                                                                        </value>
                                                                        <value name="B">
                                                                          <block type="text" id="te+gSwhWiVR4,scYV%ca">
                                                                            <field name="TEXT">Schlafzimmer</field>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </value>
                                                                    <statement name="DO0">
                                                                      <block type="control" id="grH6#whY1.N-q[pLM5X.">
                                                                        <mutation delay_input="false"></mutation>
                                                                        <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                        <value name="VALUE">
                                                                          <block type="variables_get" id="[hMf^;p|,CaZVyd+qTm~">
                                                                            <field name="VAR">Ausgabetext</field>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </statement>
                                                                    <next>
                                                                      <block type="comment" id="N3@K2BRC7C5N9daBycv_">
                                                                        <field name="COMMENT">Keller-Flur</field>
                                                                        <next>
                                                                          <block type="controls_if" id="HPxOdxs4N%j2umWTfUNG">
                                                                            <value name="IF0">
                                                                              <block type="logic_compare" id="DX=kCQ/,E6kqYsQ}/=[e">
                                                                                <field name="OP">EQ</field>
                                                                                <value name="A">
                                                                                  <block type="get_value" id="XionPRa91nQ16NK(N9+.">
                                                                                    <field name="ATTR">val</field>
                                                                                    <field name="OID">alexa2.0.History.name</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="B">
                                                                                  <block type="text" id="ZB}mEWERKZ/fb~*Lwd1A">
                                                                                    <field name="TEXT">Keller-Flur</field>
                                                                                  </block>
                                                                                </value>
                                                                              </block>
                                                                            </value>
                                                                            <statement name="DO0">
                                                                              <block type="control" id="kPLG+9decg*iGUm87`-2">
                                                                                <mutation delay_input="false"></mutation>
                                                                                <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE">
                                                                                  <block type="variables_get" id="}.I+7-Frw4fjj1-N[AeP">
                                                                                    <field name="VAR">Ausgabetext</field>
                                                                                  </block>
                                                                                </value>
                                                                              </block>
                                                                            </statement>
                                                                            <next>
                                                                              <block type="comment" id="C~L9w[G_b.Hb*%7oT~aE">
                                                                                <field name="COMMENT">Werkstatt</field>
                                                                                <next>
                                                                                  <block type="controls_if" id="`;ot|i:*)I|EwW@zS,B2">
                                                                                    <value name="IF0">
                                                                                      <block type="logic_compare" id="H!ldSYtR|C|^VcqxS;Xt">
                                                                                        <field name="OP">EQ</field>
                                                                                        <value name="A">
                                                                                          <block type="get_value" id="I)o6A2U2(,A7e|4.8lo.">
                                                                                            <field name="ATTR">val</field>
                                                                                            <field name="OID">alexa2.0.History.name</field>
                                                                                          </block>
                                                                                        </value>
                                                                                        <value name="B">
                                                                                          <block type="text" id="s4owS.Ww){6ayek?VzFb">
                                                                                            <field name="TEXT">Werkstatt</field>
                                                                                          </block>
                                                                                        </value>
                                                                                      </block>
                                                                                    </value>
                                                                                    <statement name="DO0">
                                                                                      <block type="control" id="5Gh*aVl-x(IPCnF@5,5/">
                                                                                        <mutation delay_input="false"></mutation>
                                                                                        <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                        <value name="VALUE">
                                                                                          <block type="variables_get" id="dmO{yR;|g@(rZJE,HX4k">
                                                                                            <field name="VAR">Ausgabetext</field>
                                                                                          </block>
                                                                                        </value>
                                                                                      </block>
                                                                                    </statement>
                                                                                  </block>
                                                                                </next>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>
Licht Blockly.JPG
Licht Blockly.JPG (43.65 KiB) 856 mal betrachtet
Cloud Adapter.JPG
Licht-1.jpg
Licht-2.jpg
Licht-3.jpg
Licht-4.jpg
Licht-5.jpg

Benutzeravatar
Mic
professional
Beiträge: 184
Registriert: 18.04.2018, 18:59

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von Mic » 11.08.2018, 21:47

Kurze Info, falls es noch nicht hier war:
Es klappt hervorragend, mit dem Alexa-Adapter Spotify zu steuern, auch Multiroom.

Also angenommen das ist ein Multiroom: "alexa2.0.Echo-Devices.XXXXXXXXXX"
Dann könnt Ihr, falls ihr in der Playliste z.B. "Paradise Radio" habt, diese Playliste wie folgt abspielen:

Code: Alles auswählen

setState('alexa2.0.Echo-Devices.XXXXXXXXXX.Music-Provider.Spotify', 'Playlist Paradise Radio')
Getestet habe ich es bei mir nur mit "Playlists" in Spotify. Hierzu gilt es folgendes zu beachten, wenn ihr den State "Music-Provider.Spotify" setzt:
1) "Playlist " vorne hinzufügen
2) Minuszeichen etc. wegzulassen

D.h. aus "Paradise Radio" macht ihr "Playlist Paradise Radio", usw. Sonst findet Alexa diese nicht. Eben genauso Sonderzeichen etc. weglassen...
ioBroker auf Raspi, Alexas, Hue, Shelly 1, Osram Plugs, Magic Home LED Controller, FRITZ!Box, Synology, Denon AVR
Meine ioBroker-Skripte: Log-Datei filtern/aufbereiten für vis | Geofency-Skript: über PHP-Webspace an ioBroker

Blackeye
professional
Beiträge: 191
Registriert: 19.08.2015, 14:19

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von Blackeye » 12.08.2018, 11:18

Hallo zusammen,

da ich den tre Adapter nicht ans laufen bekomme, habe ich den Fritzbox Adapter genutzt um mir die Anrufernamen auszugeben.

Code: Alles auswählen

var telefonbuchRufnummerNichtBekannt = "ubekannter Rufnummer";


var telefonbuchRufnummer = {
    "0176467949975":
    {
        "name":         "Lars Handy",    // name zur Rufnummer
        "bemerkung":    "Reserve"           // optional
    },
    "0274533641":     {"name":"Mama zu Hause"},
    "0346346336":      {"name":"Oma"},
    "089123456789":     {"name":"Vanessa Müller"},
    "030200020001":     {"name":"Gabi Kösters"},
    
    "### ? ###":        {"name":"unterdrückter Rufnummer"}
};


function rufnummer2name (rufnummer) {
    var name = "";

    //rufnummer = rufnummer.replace("#","");
    //rufnummer = rufnummer.replace("*","");

    if (!telefonbuchRufnummer[rufnummer]) {                                     // undefinierte Rufnummern
        name = telefonbuchRufnummerNichtBekannt;                                // undefinierte Rufnummern
    } else {
        name = telefonbuchRufnummer[rufnummer].name;
    }
    return name;
}


var Anrufer = "fritzbox.0.calls.ringActualNumber"; // actual last ringing number


on ({id: Anrufer, valGe: 1}, AusgabeAnrufer);


function AusgabeAnrufer()
{

setState("alexa2.0.Echo-Devices.G000MW077342wetw7.Player.volume"/*volume*/, 90);
setState("alexa2.0.Echo-Devices.G070RQ11809wgw8H.Player.volume"/*volume*/, 90);
setState("alexa2.0.Echo-Devices.G090LB0ererd030P.Player.volume"/*volume*/, 90);    

setState("alexa2.0.Echo-Devices.G000MW077342wetw7.Commands.speak"/*speak*/, "Ein Anruf von. " + rufnummer2name(getState(Anrufer).val));
setState("alexa2.0.Echo-Devices.G070RQ11809wgw8H.Commands.speak"/*speak*/, "Ein Anruf von. " + rufnummer2name(getState(Anrufer).val));
setState("alexa2.0.Echo-Devices.G090LB0ererd030P.Commands.speak"/*speak*/, "Ein Anruf von. " + rufnummer2name(getState(Anrufer).val));

setState("alexa2.0.Echo-Devices.G000MW077342wetw7.Player.volume"/*volume*/, 33); 
setState("alexa2.0.Echo-Devices.G070RQ11809wgw8H.Player.volume"/*volume*/, 33);
setState("alexa2.0.Echo-Devices.G090LB0ererd030P.Player.volume"/*volume*/, 33);
}
Da Teil ist nicht von mir, sondern wurde hier nur etwas angepasst.
Das mit den Lautstärken habe ich noch nicht sauber geschafft. Eigentlich wollte ich die aktuelle Lautstärke auslesen, die Lautstärke auf 90% setzten, den Text ausgeben und dann wieder auf die alte Lautstärke setzten.
Mal sehen vielleicht klappt es ja später noch :-)

Gruß

Lars

PacGyver
Beiträge: 9
Registriert: 03.02.2018, 17:37

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von PacGyver » 12.08.2018, 14:36

Ich lasse mir die Termperaturen vorlesen
Spoiler: Show hidden text

Code: Alles auswählen

on({
    id: "data.0.Alexa.Wie_warm_ist_es",
    change: "any"
}, function(obj) {
    var temperaturen = [
        ["Draußen", "node-red.0.Tellstick.TempAussen" /*node-red.0.Tellstick.TempAussen*/ ],
        ["Im Wohnzimmer", "node-red.0.Tellstick.TempWohnzimmer" /*node-red.0.Tellstick.TempWohnzimmer*/ ],
        ["Im Schlafzimmer", "node-red.0.Tellstick.TempSchlafzimmer" /*node-red.0.Tellstick.TempSchlafzimmer*/ ]
    ]
    setState("alexa2.0.History.#trigger", true, false)
    var text = "";
    for (var i = 0; i < temperaturen.length; i++) {
        if (i == temperaturen.length - 1) text = text + " und ";
        text = text + temperaturen[i][0] + " ist es " + getState(temperaturen[i][1]).val;
        if (i == temperaturen.length - 1) text = text + " Grad";
    }
    text = text + ".       Heute werden bis zu " + getState("daswetter.0.NextDays.0d.Temperature_Max" /*Temperature_Max*/ ).val + " Grad erwartet";
    setTimeout(function() {
        var curdevice = getState("alexa2.0.History.serialNumber").val;
        setState("alexa2.0.Echo-Devices." + curdevice + ".Commands.speak" /*speak*/ , text, false)
    }, 500);
})
Ich würde gerne auf setTimout verzichten und das Script pausieren bis alexa2.0.History.serialNumber aktualisiert wurde, das klappt aber noch nicht (bzw. ich weiß nicht wie).

Benutzeravatar
modmax
professional
Beiträge: 204
Registriert: 24.08.2017, 23:43
Wohnort: Kiel

Re: Skriptsammlung: Wecke mit Radio und leisem Ansteigen der Lautstärke

Beitrag von modmax » 12.08.2018, 18:34

Hab ein Skript für einen Wecker erstellt, der mit Radio startet.
Dieses Skript läuft täglich um 7:20 Uhr, außer ich bin nicht anwensed, es ist ein Feiertag oder Urlaub ist eingestellt.

Dabei wird die Lautsärke langsam erhöht, so daß man nicht mit einem Rumms geweckt wird, sondern mit sanft ansteigener Lautstärke ... :-)
Spoiler: Show hidden text

Code: Alles auswählen

// Echo Schlafzimmer
const echoDeviceId = 'alexa2.0.Echo-Devices.ABCDEF';
const stationId = 's18353'; // R.SH

// immer werktags um 7:20
schedule('20 7 * * 1-5', function () {
    if (!getState('presence.Ich').val) {
        // kein Wecker wenn abwesend
    } else if (getState('feiertage.0.heute.boolean').val) {
        // kein Wecker an Feiertagen
    } else if (getState('controlCenter.Schalter.Urlaub').val) {
        // kein Wecker im Urlaub
    } else {
        // starte bei Lautstärke 10
        setStateDelayed(echoDeviceId+'.Player.volume', 10, 500);

        // schalte R.SH an
        setState(echoDeviceId+'.Player.controlPause', false);
        setState(echoDeviceId+'.Player.TuneIn-Direct', 's18353');
        setState(echoDeviceId+'.Player.controlPlay', true);

        // level ständig bis 70 erhöhen in 3 Sekunden-Schritten
        for (var i = 1; i <= 20; i++) {
            var vol = (10 + (i * 3));
            var ms  = (vol - 8) * 1000;
            setStateDelayed(echoDeviceId+'.Player.volume', vol, ms, false);
        }
        
        // stoppe nach 15 Minuten
        setStateDelayed(echoDeviceId+'.Player.controlPause', true, 900000);
    }
});

Blackeye
professional
Beiträge: 191
Registriert: 19.08.2015, 14:19

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von Blackeye » 12.08.2018, 19:59

Hi,

hier nochmal die Anruferansage mit Blockly und dem tre064 Adapter.
Hier wird zusätzlich die aktuelle Lautstärke der Geräte vorher ausgelesen und nach der Ansage wieder auf den ursprünglichen Wert gesetzt:

Code: Alles auswählen

<xml xmlns="http://www.w3.org/1999/xhtml">
  <block type="on_ext" id="EzngFtDf/j0zTSANQN7=" x="-862" y="-337">
    <mutation items="1"></mutation>
    <field name="CONDITION">ne</field>
    <field name="ACK_CONDITION"></field>
    <value name="OID0">
      <shadow type="field_oid" id="6i/pNayPyVE~lI#c)+5s">
        <field name="oid">tr-064.0.callmonitor.ringing</field>
      </shadow>
    </value>
    <statement name="STATEMENT">
      <block type="controls_if" id="@;OueA1}3ZkAhpm8_j+L">
        <value name="IF0">
          <block type="logic_operation" id="d}963/U9T|Jh@aoJI/9y">
            <field name="OP">AND</field>
            <value name="A">
              <block type="get_value" id="40P2`Ean^F(8W,`C6b5h">
                <field name="ATTR">val</field>
                <field name="OID">tr-064.0.callmonitor.ringing</field>
              </block>
            </value>
            <value name="B">
              <block type="logic_boolean" id="xVL)BPe/4n+*mVGh)F5-">
                <field name="BOOL">TRUE</field>
              </block>
            </value>
          </block>
        </value>
        <statement name="DO0">
          <block type="variables_set" id="8_z8_`(aMbJP3I`J,9{4">
            <field name="VAR">Lautstärke_Wohnzimer</field>
            <value name="VALUE">
              <block type="field_oid" id="o/i:Ma_TL%rusP[;wQ?[">
                <field name="oid">alexa2.0.Echo-Devices.G090LB097414030P.Player.volume</field>
              </block>
            </value>
            <next>
              <block type="variables_set" id="2J.Lh8h_b6tpIF@~lA8W">
                <field name="VAR">Lautstärke_Küche</field>
                <value name="VALUE">
                  <block type="field_oid" id="9f.7,c4p)xn(~C/Mdz0w">
                    <field name="oid">alexa2.0.Echo-Devices.G000MW0773420FA7.Player.volume</field>
                  </block>
                </value>
                <next>
                  <block type="variables_set" id="k(}b%tB~rLOe`*Wx:^/4">
                    <field name="VAR">Lautstärke_Lars</field>
                    <value name="VALUE">
                      <block type="field_oid" id="{VjwRLugSgSn{7=nyzv(">
                        <field name="oid">alexa2.0.Echo-Devices.G070RQ118097068H.Player.volume</field>
                      </block>
                    </value>
                    <next>
                      <block type="timeouts_settimeout" id="0FzXDtgmZ*oyI!44h+_=">
                        <field name="NAME">timeout4</field>
                        <field name="DELAY">500</field>
                        <field name="UNIT">ms</field>
                        <statement name="STATEMENT">
                          <block type="controls_if" id="ca)+E=xHBC%/NE:9}a)7">
                            <value name="IF0">
                              <block type="logic_compare" id="a{)8dM/s5*P5VUW2/)gE">
                                <field name="OP">NEQ</field>
                                <value name="A">
                                  <block type="get_value" id="++y#P+H,mT^Fhj4Fok9t">
                                    <field name="ATTR">val</field>
                                    <field name="OID">tr-064.0.callmonitor.inbound.callerName</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="text" id="L}^kPGDqdU{N=fwInD`[">
                                    <field name="TEXT"></field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="variables_set" id="j~m5nJy~6[=^U_~G(w/~">
                                <field name="VAR">Ausgabetext</field>
                                <value name="VALUE">
                                  <block type="text_join" id="(6p7BX#~~2P}xj7Wn1@;">
                                    <mutation items="3"></mutation>
                                    <value name="ADD0">
                                      <block type="text" id="M76-)zYehBG]!LdyeY5q">
                                        <field name="TEXT">Hallo,</field>
                                      </block>
                                    </value>
                                    <value name="ADD1">
                                      <block type="get_value" id="+23FeR%/`)Vy3Ni[(7za">
                                        <field name="ATTR">val</field>
                                        <field name="OID">tr-064.0.callmonitor.inbound.callerName</field>
                                      </block>
                                    </value>
                                    <value name="ADD2">
                                      <block type="text" id="h3zw.w5%hhgoy1:0?AYT">
                                        <field name="TEXT">ruft gerade an</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <next>
                              <block type="controls_if" id="O5wH)1^NlMW*dqhHD`A,">
                                <value name="IF0">
                                  <block type="logic_compare" id="C55@Vus4XJOJY6[+ziLN">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id="dFipC!^bmP=*.kydV?vo">
                                        <field name="ATTR">val</field>
                                        <field name="OID">tr-064.0.callmonitor.inbound.callerName</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="text" id="b#,~Np7(c;A-3KARZJ{R">
                                        <field name="TEXT"></field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="variables_set" id="fUa!*mqwos!-oUi?6hh[">
                                    <field name="VAR">Ausgabetext</field>
                                    <value name="VALUE">
                                      <block type="text_join" id="I/pf!JOkvITbMuQj4LuJ">
                                        <mutation items="3"></mutation>
                                        <value name="ADD0">
                                          <block type="text" id="-7ysPHsGv%hc=fRGgaDW">
                                            <field name="TEXT">Hallo,</field>
                                          </block>
                                        </value>
                                        <value name="ADD1">
                                          <block type="text" id="r;}O}7DeY5hGfB,m`63|">
                                            <field name="TEXT">unbekannter Teilnehmer</field>
                                          </block>
                                        </value>
                                        <value name="ADD2">
                                          <block type="text" id="P]x}F2Sd;(bXS4,#3SHG">
                                            <field name="TEXT">ruft gerade an</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                              </block>
                            </next>
                          </block>
                        </statement>
                        <next>
                          <block type="timeouts_settimeout" id="7;^i~IH^-RjbQ@?gSza2">
                            <field name="NAME">timeout</field>
                            <field name="DELAY">500</field>
                            <field name="UNIT">ms</field>
                            <statement name="STATEMENT">
                              <block type="update" id="W1FD}K5:+!TMEle6OEo@">
                                <mutation delay_input="false"></mutation>
                                <field name="OID">alexa2.0.Echo-Devices.G000MW0773420FA7.Player.volume</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="math_number" id="mJ!3g6sg5MmrWZ|iH%dh">
                                    <field name="NUM">90</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="update" id="-.JH(M;Qvc`)o1^aH;Ns">
                                    <mutation delay_input="false"></mutation>
                                    <field name="OID">alexa2.0.Echo-Devices.G090LB097414030P.Player.volume</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="math_number" id="eSnV9(6i3-b=2IwZg.7M">
                                        <field name="NUM">90</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="update" id="8.aqlJD|4|xV+HPD[9PS">
                                        <mutation delay_input="false"></mutation>
                                        <field name="OID">alexa2.0.Echo-Devices.G070RQ118097068H.Player.volume</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_number" id="N9dz9is@i0?juv_MIrUK">
                                            <field name="NUM">90</field>
                                          </block>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                            <next>
                              <block type="timeouts_settimeout" id="5h04#8}5%_uL=vb=c(kE">
                                <field name="NAME">timeout2</field>
                                <field name="DELAY">1000</field>
                                <field name="UNIT">ms</field>
                                <statement name="STATEMENT">
                                  <block type="control" id="?WB3cxnc1VW;,;wpT7.m">
                                    <mutation delay_input="false"></mutation>
                                    <field name="OID">alexa2.0.Echo-Devices.G000MW0773420FA7.Commands.speak</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="variables_get" id="52KT0A^kpeOw^bUV^uk{">
                                        <field name="VAR">Ausgabetext</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="control" id="CW9DJb~mu;7mJb{JP;#S">
                                        <mutation delay_input="false"></mutation>
                                        <field name="OID">alexa2.0.Echo-Devices.G090LB097414030P.Commands.speak</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="variables_get" id="c:WC*^n{Q~|Wu*!)t1Xz">
                                            <field name="VAR">Ausgabetext</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="control" id="Da6Tn}r_jOGFs/9S0DXX">
                                            <mutation delay_input="false"></mutation>
                                            <field name="OID">alexa2.0.Echo-Devices.G070RQ118097068H.Commands.speak</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="variables_get" id="BDRNI_Wg?t9~/{8^-nL,">
                                                <field name="VAR">Ausgabetext</field>
                                              </block>
                                            </value>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </statement>
                                <next>
                                  <block type="timeouts_settimeout" id="U6CR:r_U/E43(F)p`HdL">
                                    <field name="NAME">timeout3</field>
                                    <field name="DELAY">1500</field>
                                    <field name="UNIT">ms</field>
                                    <statement name="STATEMENT">
                                      <block type="update" id="r9LIyUmTAYS1a@Xf!EOx">
                                        <mutation delay_input="false"></mutation>
                                        <field name="OID">alexa2.0.Echo-Devices.G000MW0773420FA7.Player.volume</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="variables_get" id="og(G2:a.RKTJc8Tr8(Qa">
                                            <field name="VAR">Lautstärke_Küche</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="update" id="~UErQJ69MiBL#]`uzr%V">
                                            <mutation delay_input="false"></mutation>
                                            <field name="OID">alexa2.0.Echo-Devices.G070RQ118097068H.Player.volume</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="variables_get" id="!#WKN`#7o4F7h#rdjV`-">
                                                <field name="VAR">Lautstärke_Lars</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="update" id="U8?*Ed.Pn@H6zVRe)#yi">
                                                <mutation delay_input="false"></mutation>
                                                <field name="OID">alexa2.0.Echo-Devices.G090LB097414030P.Player.volume</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="variables_get" id="8~(Tv]99;IeR_00L-N3S">
                                                    <field name="VAR">Lautstärke_Wohnzimer</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </statement>
      </block>
    </statement>
  </block>
</xml>

Benutzeravatar
Sprite01
starter
Beiträge: 91
Registriert: 05.08.2014, 10:27

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von Sprite01 » 14.08.2018, 18:24

Schwer nachzuvollziehen, da ganz schön durcheinander hier: Temperaturen, Anrufer, Licht Fenster ...

Ich versuche mich gerade an dem Fensterscript.
Welcher Datenpukt bei name uns speak wird eingetragen wenn man mehrere Echo`s hat ?
Kann ich dann immer nur einen dort eintragen ?
blockly.JPG
Gruß
Dirk

http://www.DessauWetter.de
(ioBroker auf einem QNP TS-453 Pro und Ubuntu 14.04)

Benutzeravatar
dslraser
professional
Beiträge: 648
Registriert: 15.10.2017, 21:37

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von dslraser » 14.08.2018, 19:35

Sprite01 hat geschrieben:
14.08.2018, 18:24
Schwer nachzuvollziehen, da ganz schön durcheinander hier: Temperaturen, Anrufer, Licht Fenster ...

Ich versuche mich gerade an dem Fensterscript.
Welcher Datenpukt bei name uns speak wird eingetragen wenn man mehrere Echo`s hat ?
Kann ich dann immer nur einen dort eintragen ?
blockly.JPG
edit: das hier war falsch
Zuletzt geändert von dslraser am 14.08.2018, 19:35, insgesamt 1-mal geändert.

Benutzeravatar
Sprite01
starter
Beiträge: 91
Registriert: 05.08.2014, 10:27

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von Sprite01 » 15.08.2018, 16:07

Danke dslraser, es funktioniert schon mal.

Nun folgendes Problem:
Moment, ich schaue nach ... sagt der Echo den ich frage.
Die Räume mit offenen Fenstern sagen dann alle anderen Echos.
Nur der den ich frage bleibt dabei stumm. Das Verhalten ist bei allen gefragten Echos gleich.
Was habe ich falsch gemacht ? (In der Routine habe ich "Das Gerät zu dem sie sprechen" angehakt)
Gruß
Dirk

http://www.DessauWetter.de
(ioBroker auf einem QNP TS-453 Pro und Ubuntu 14.04)

Benutzeravatar
dslraser
professional
Beiträge: 648
Registriert: 15.10.2017, 21:37

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von dslraser » 15.08.2018, 16:32

Ist der History Trigger richtig drinn ?
Zeig mal Dein fertiges Blockly...

Benutzeravatar
Sprite01
starter
Beiträge: 91
Registriert: 05.08.2014, 10:27

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von Sprite01 » 15.08.2018, 16:59

Mit dem History-Trigger kann ich nichts anfangen, ich kann hier leider nur nachbauen und versuchen zu verstehen ... :oops:
blockly2.JPG
blockly3.JPG
Gruß
Dirk

http://www.DessauWetter.de
(ioBroker auf einem QNP TS-453 Pro und Ubuntu 14.04)

Benutzeravatar
dslraser
professional
Beiträge: 648
Registriert: 15.10.2017, 21:37

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von dslraser » 15.08.2018, 17:23

ich kann es leider so nicht sehen...Aber bei speak muss jeweils der ECHO drinn stehen vom jeweiligem Raum, hast Du das so ?
Also ein Klick auf speak und schauen ob es jeweils der richtige ECHO ist.

Benutzeravatar
Sprite01
starter
Beiträge: 91
Registriert: 05.08.2014, 10:27

Re: Skriptsammlung für den neuen ALEXA2.0 Adapter

Beitrag von Sprite01 » 15.08.2018, 17:45

name und speak sind immer dem selben Echo zugeordnet.
Es steht unter speak auch bei allen der Text drin. Im Moment sind ...
Gruß
Dirk

http://www.DessauWetter.de
(ioBroker auf einem QNP TS-453 Pro und Ubuntu 14.04)

Antworten