Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Skriptsammlung für den neuen ALEXA2.0 Adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

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

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

Skriptsammlung für den neuen ALEXA2.0 Adapter

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
184 Beiträge 45 Kommentatoren 45.3k Aufrufe 19 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #26

    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)![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... 6cd00f.jpg">https://uploads.tapatalk-cdn.com/20180810/896367f2bc68461bb9b1ca0f6a6cd00f.jpg</link_text>" />

    1 Antwort Letzte Antwort
    0
    • dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #27

      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:

      ! ````
      // 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 = $('channelstate.id=*.STATE'); // 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(',
      

      ')); // 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(/( |<([^>]+)>)/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)
      
      >! ````
      // 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

      ! ````
      <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)WnYF@;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@]2XrHBIz5h"><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~S0DeJ6sYrWhj1"><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="zvyyAWvaYdxt8YZt,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/,rcHdm3?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;8UT11wTdCQi#"><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="JSzfpqZ~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{ZMVBTc}A1!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="ZrS-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>

       ![3822_fenster_blockly.jpg](/assets/uploads/files/3822_fenster_blockly.jpg) 
      1 Antwort Letzte Antwort
      0
      • dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #28

        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)

        ! ````
        //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 = $('channelstate.id=*.level');//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(',
        ')); // 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(/( |<([^>]+)>)/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
        
        >! ````
        // 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

        ! ````
        <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)WnYF@;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@]2XrHBIz5h"><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~S0DeJ6sYrWhj1"><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="zvyyAWvaYdxt8YZt,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/,rcHdm3?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;8UT11wTdCQi#"><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="JSzfpqZ~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{ZMVBTc}A1!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="ZrS-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>

        
         ![3822_licht_blockly.jpg](/assets/uploads/files/3822_licht_blockly.jpg) 
         ![3822_cloud_adapter.jpg](/assets/uploads/files/3822_cloud_adapter.jpg) 
         ![3822_licht-1.jpg](/assets/uploads/files/3822_licht-1.jpg) 
         ![3822_licht-2.jpg](/assets/uploads/files/3822_licht-2.jpg) 
         ![3822_licht-3.jpg](/assets/uploads/files/3822_licht-3.jpg) 
         ![3822_licht-4.jpg](/assets/uploads/files/3822_licht-4.jpg) 
         ![3822_licht-5.jpg](/assets/uploads/files/3822_licht-5.jpg) 
        1 Antwort Letzte Antwort
        0
        • MicM Offline
          MicM Offline
          Mic
          Developer
          schrieb am zuletzt editiert von
          #29

          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:

          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…

          1 Antwort Letzte Antwort
          0
          • B Offline
            B Offline
            Blackeye
            schrieb am zuletzt editiert von
            #30

            Hallo zusammen,

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

            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

            1 Antwort Letzte Antwort
            0
            • P Offline
              P Offline
              PacGyver
              schrieb am zuletzt editiert von
              #31

              Ich lasse mir die Termperaturen vorlesen

              ! ```
              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).[/i][/i]

              1 Antwort Letzte Antwort
              0
              • modmaxM Offline
                modmaxM Offline
                modmax
                schrieb am zuletzt editiert von
                #32

                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 … :-)

                ! ````
                // 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);
                }
                

                });

                ! ````

                1 Antwort Letzte Antwort
                0
                • B Offline
                  B Offline
                  Blackeye
                  schrieb am zuletzt editiert von
                  #33

                  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:

                   <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>
                  
                      <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"></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"></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> 
                  
                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    Sprite01
                    schrieb am zuletzt editiert von
                    #34

                    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 ?
                    137_blockly.jpg

                    Gruß

                    Dirk

                    http://www.DessauWetter.de

                    (ioBroker auf IntelNuc und Proxmox)

                    1 Antwort Letzte Antwort
                    0
                    • dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #35

                      @Sprite01:

                      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

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        Sprite01
                        schrieb am zuletzt editiert von
                        #36

                        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 IntelNuc und Proxmox)

                        1 Antwort Letzte Antwort
                        0
                        • dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #37

                          Ist der History Trigger richtig drinn ?

                          Zeig mal Dein fertiges Blockly…

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            Sprite01
                            schrieb am zuletzt editiert von
                            #38

                            Mit dem History-Trigger kann ich nichts anfangen, ich kann hier leider nur nachbauen und versuchen zu verstehen … :oops:
                            137_blockly2.jpg

                            137_blockly3.jpg

                            Gruß

                            Dirk

                            http://www.DessauWetter.de

                            (ioBroker auf IntelNuc und Proxmox)

                            1 Antwort Letzte Antwort
                            0
                            • dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #39

                              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.

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                Sprite01
                                schrieb am zuletzt editiert von
                                #40

                                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 IntelNuc und Proxmox)

                                1 Antwort Letzte Antwort
                                0
                                • dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #41

                                  ich glaube ich habe es falsch erklärt…[emoji29] Ich bin unterwegs und melde mich später…

                                  1 Antwort Letzte Antwort
                                  0
                                  • dslraserD Offline
                                    dslraserD Offline
                                    dslraser
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #42

                                    @Sprite01:

                                    name und speak sind immer dem selben Echo zugeordnet.

                                    Es steht unter speak auch bei allen der Text drin. Im Moment sind … ` ich habe es falsch erklärt, nicht Deine Schuld….

                                    Bei echo device name kommt immer der history name hin.Bei speak der jeweilige ECHO des Raumes...

                                    Diese Werte werden verglichen.

                                    Ich hoffe so stimmt es, ich bin immer noch unterwegs und nur am Handy.

                                    ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... 577a6c.jpg">https://uploads.tapatalk-cdn.com/20180815/77cf9214a113c0091da1e61b96577a6c.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... 085b08.jpg">https://uploads.tapatalk-cdn.com/20180815/0340575b2e69c0a27bca8e5a46085b08.jpg</link_text>" />~~~~

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      Sprite01
                                      schrieb am zuletzt editiert von
                                      #43

                                      Alles klar.

                                      Geändert und es funktioniert.

                                      Nun habe ich gleich noch das Lichterscript mit eingebaut, funktioniert auch :)

                                      (Ich war mutig, habe aus level einfach state gemacht)

                                      Nochmals Danke für deine Unterstützung.

                                      Gruß

                                      Dirk

                                      http://www.DessauWetter.de

                                      (ioBroker auf IntelNuc und Proxmox)

                                      1 Antwort Letzte Antwort
                                      0
                                      • dslraserD Offline
                                        dslraserD Offline
                                        dslraser
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #44

                                        Prima, freut mich.

                                        Ich habe bei mir gestern noch eine Steckdosenabfrage auf die gleiche Weise eingebaut[emoji3]

                                        1 Antwort Letzte Antwort
                                        0
                                        • B Offline
                                          B Offline
                                          Blackeye
                                          schrieb am zuletzt editiert von
                                          #45

                                          Hi,

                                          das Script funktioniert leider nicht. Die Datenpunkte werden angelegt aber der Zähler zeigt immer Null.

                                          654_licht.jpg

                                          Gruß

                                          Lars

                                          @dslraser:

                                          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.

                                          Licht prüfen Script

                                          ! ````
                                          //Lichter 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 brennen
                                          type: 'string',
                                          name: 'Räume mit eingeschalteten Lichter',
                                          desc: 'Namen der Räume, in denen Lichter eingeschaltet sind',
                                          def: ' ',
                                          role: 'value'
                                          });
                                          ! var cacheSelectorState = $('channelstate.id=*.state'); // Gewerk Licht
                                          var cacheSelectorLevel = $('channelstate.id=*.level');
                                          ! function checkDevices(obj) {
                                          // Setzt die Zähler vor dem Durchlauf aller Elemente *.state im Gewerk Licht auf 0
                                          var anzahlLichterAn = 0;
                                          var anzahlLichter = 0;
                                          var textLichterAn = [];
                                          var textRaum = [];
                                          if (logging) {
                                          log('++++++ Lichter Anzahl ++++ ');
                                          log('#### SCHALTER ##### ');
                                          }
                                          cacheSelectorState.each(function (id, i) { // Schleife für jedes gefundenen Element *.state im Gewerk Licht
                                          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");
                                          ! // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                                          //if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) {
                                          if (logging) {
                                          log('-------');
                                          log('Kanal: ' + name);
                                          log('Status: ' + status);
                                          }
                                          if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
                                          ++anzahlLichterAn;
                                          textLichterAn.push(devicename); // Zu Array hinzufügen
                                          textRaum.push(raumname.enumNames);
                                          }
                                          ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                                          // } // ENDE VK-Abfrage
                                          });
                                          ! if (logging) log('#### DIMMER ##### ');
                                          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");
                                          ! //########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                                          if ( (devicename.search(/(CUX)|(K2)|(K3)|(V10)|(VK)|(:)/ig) == -1) ) { // Geräte mit diesen Strings im namen nicht beachten
                                          ! if (logging) {
                                          log('-------');
                                          log('Kanal: ' + name);
                                          log('Status: ' + status + '%');
                                          }
                                          if (parseFloat(status) > 0) { // Wenn Dimmwert über 0
                                          ++anzahlLichterAn;
                                          textLichterAn.push(devicename); // Zu Array hinzufügen
                                          textRaum.push(raumname.enumNames);
                                          }
                                          ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                                          } // Ende Abfrage VK
                                          });
                                          ! // Array mit Lichternamen sortieren
                                          textLichterAn.sort();
                                          textRaum.sort();
                                          // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
                                          if (logging) log("Text: " + textLichterAn);
                                          if (logging) log("Anzahl Lichter: " + anzahlLichter + " # davon Lichter an: " + anzahlLichterAn);
                                          // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                                          setState(idText, textLichterAn.join(', und ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
                                          setState(idAnzahlEin, textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
                                          setState(idAnzahl, anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
                                          //setState(idRaum, textRaum.join(',
                                          ')); // Räume, in denen Licht brennt
                                          setState(idRaum, textRaum.join(', und ')); // Räume, in denen Licht brennt
                                          }
                                          ! // Trigger
                                          cacheSelectorState.on(function(obj) { // bei Zustandänderung *.state im Gewerk Licht
                                          if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                          checkDevices();
                                          });
                                          cacheSelectorLevel.on(function(obj) { // bei Zustandänderung *.level im Gewerk Licht
                                          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(/( |<([^>]+)>)/ig, " ");
                                          //return(rueckgabe);
                                          //}
                                          ! on(idText, function (obj) {
                                          var text = obj.state.val;
                                          text = (text.length > 1) ? '' + text : 'alle Lampen ausgeschaltet';
                                          setState(idAnsage, text);
                                          });

                                          
                                          PS: das Licht-Script wird im Cloud Adapter als "Smart Gerät" hinzu gefügt.
                                          
                                          Blockly Export Ausgabe Ansage über speak:
                                          
                                          >! ````
                                           <xml xmlns="http://www.w3.org/1999/xhtml"><block type="control" id="@J7@ob/rsR9OCYN+!hI7" x="-187" y="-162"><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.XXXXXX.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.XXXXX.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.XXXXXX.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.XXXXX.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.XXXXXXX.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.XXXXXXXX.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.XXXXXXXXX.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.XXXXXX.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.XXXXXXXXXX.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.XXXXXXXXXX.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.XXXXX.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.XXXXXXXXXX.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.XXXXXXXXXXX.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.XXXXXXXXXXX.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> 
                                          

                                          Hier die Screenshots. `

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          338

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe