Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Neuer Adapter: iobroker.alexa2

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Neuer Adapter: iobroker.alexa2

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 last edited by

      Bei den smart devices unterscheiden sich Version 1 und 2 nicht. Die Liste ist die gleiche die auch in der alexa app angezeigt wird. Wenn du da schon „Müll“ drin hast dann wird der auch da angezeigt. Also schau mal in die App. Und wenn musst du da aufräumen.

      Gesendet vom Handy …

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

        Hat mal Jemand ein kurzes Blockly Beispiel wie ich den History trigger sinnvoll nutze ?

        Ich möchte eine Abfrage an einem Echo starten und dann von genau dem gleichen Echo eine Antwort bekommen.

        PS: also Konkret frage ich einen Echo z.B. im Wohnzimmer ob alle Fenster geschlossen sind und bekomme dann aus einem bestehenden Datenpunkt (Fensterscript) die offenen Fenster angesagt. Nur wie steuere ich jetzt Speak, das die Rückmeldung auch vom gleichen Echo kommt, ohne das ich einen angeben muß ? Ich denke ich müsste den History trigger auf wahr triggern, aber wann bzw. an welcher Stelle ? Der angefragte Echo hat ja nicht zwangsläufig als letzter gesabbelt…

        PS: ich habe es nun hinbekommen. Falls es Jemand nachbauen möchte, hier einmal eine Temperaturabfrage und die Abfrage nach offenen Fenstern/ Türen (mit dem Fensterscript aus dem Forum)

        Bei mir reichen die 500 ms und Alexa antwortet brav an dem Echo wo sie gefragt wurde.

        3822_temperaturabfrage.jpg

        https://youtu.be/Zv1blw2ASF4

        3822_abfrage_offene_fenster.jpg

        https://youtu.be/8g6xmpQW8ew

        1 Reply Last reply Reply Quote 0
        • Matten Matten
          Matten Matten last edited by

          @csamaggi:

          Danke sigi das war wieder mal so nah und doch so fern die Funktion hatte ich nicht in betracht gezogen.

          Danke für den Antsoss.

          Was natürlich noch etwas geiler wäre wenn der IO prüft in einem Script und sie dann eben nur das jeweilige ausspricht mal sehen ob man dass hin bekommt.

          MFG Maggi `

          Hab ich wie folgt programmiert

          3476_sprachausgabe.jpg

          Gruß

          Matten Matten

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

            COOL 🙂

            Kannst du mir das exportieren?

            Wobei mir das Objekt noch nicht klar ist….

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

              na ja, da das Fensterscript hier aus dem Forum (ich glaube von Pix) über die Gewerke bei mir eh läuft, sind ja bei jeder Veränderung die geöffneten Fenster schon als Ausgabe vorhanden. Aufbereit als Texxt für Sayit und Telegram.

              Nur diese Punkte greife ich bei mir ab.

              1 Reply Last reply Reply Quote 0
              • Matten Matten
                Matten Matten last edited by

                @sigi234:

                COOL 🙂

                Kannst du mir das exportieren?

                Wobei mir das Objekt noch nicht klar ist…. `

                hab es noch etwas optimiert
                3476_blockly.txt

                1 Reply Last reply Reply Quote 0
                • B
                  Blackeye last edited by

                  Hallo zusammen,

                  ich habe den Adapter installiert, bekomme aber bei allen Geräte nur den Status (enable) und den Punkt delete.

                  Ich habe alle möglichen Geräte und bei allen gleiche Ergebnis. Ich wollte eigentlich nur die Geräte steuern die über den SmartHub des Echo2 direkt eingebunden sind um meine anderen Hubs in den Keller legen zu können.

                  Und mit der Sprachausgabe werde ich direkt testen wenn ich zu Hause bin, wäre super!!!!!

                  Danke

                  1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 last edited by

                    @Blackeye:

                    Hallo zusammen,

                    ich habe den Adapter installiert, bekomme aber bei allen Geräte nur den Status (enable) und den Punkt delete.

                    Ich habe alle möglichen Geräte und bei allen gleiche Ergebnis. Ich wollte eigentlich nur die Geräte steuern die über den SmartHub des Echo2 direkt eingebunden sind um meine anderen Hubs in den Keller legen zu können.

                    Und mit der Sprachausgabe werde ich direkt testen wenn ich zu Hause bin, wäre super!!!!!

                    Danke `

                    Steuern kommt noch im nächsten Update oder so. Im Github bitte für das Issue abstimmen.

                    Was ist denn dieser "SmartHub"?

                    Edit:

                    Aaahhhhh: Da im Plus-Modell ein Smart-Home-Hub implementiert ist, muss dieser nicht zusätzlich angeschafft und eingerichtet werden. Es unterstützt den Zigbee-Standard, so dass alle Komponenten nach diesem Standard damit genutzt werden können.

                    Da ich sowas nicht habe wird es interessant … SInd denn die Geräte die du per Smarthub angeschlossen hast bei den "Smart-Home-Devices" zu finden?

                    Wenn ja hätte ich bitte gern mal das Debug Log vom Adapter

                    1 Reply Last reply Reply Quote 0
                    • lobomau
                      lobomau last edited by

                      @dslraser:

                      na ja, da das Fensterscript hier aus dem Forum (ich glaube von Pix) über die Gewerke bei mir eh läuft, sind ja bei jeder Veränderung die geöffneten Fenster schon als Ausgabe vorhanden. Aufbereit als Texxt für Sayit und Telegram.

                      Nur diese Punkte greife ich bei mir ab. `
                      Ja, nutze ich auch. Ich kann leider deine Bilder oben nicht vergrößern. Kannst du dein Blockly als Export reinstellen?

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

                        @lobomau:

                        @dslraser:

                        na ja, da das Fensterscript hier aus dem Forum (ich glaube von Pix) über die Gewerke bei mir eh läuft, sind ja bei jeder Veränderung die geöffneten Fenster schon als Ausgabe vorhanden. Aufbereit als Texxt für Sayit und Telegram.

                        Nur diese Punkte greife ich bei mir ab. Ja, nutze ich auch. Ich kann leider deine Bilder oben nicht vergrößern. Kannst du dein Blockly als Export reinstellen?

                        Ich nutze zwei Gewerke, einmal Fensterdrehgriffe und einmal Fensterkontakte. (ich habe deshalb zwei Fensterscripte laufen, da kannst Du dann eins aus dem Blockly raus nehmen. Ich habe die einfachen Kontakte im Erdgeschoß und die Drehgriffe im Keller)

                        Ich habe dieses Blockly, bzw. das Script in den Cloud Adapter eingefügt, das kann dann heißen wie es will, danach dann in der Alexa App Geräte suchen lassen und über eine Routine das eingefügte Gerät(script) ansprechen.

                        Hier der Blockly Export für die Ansage über Alexa Speak

                        ! ````
                        <xml xmlns="http://www.w3.org/1999/xhtml"><block type="control" id="@J7@ob/rsR9OCYN+!hI7" x="-162" y="-188"><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="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="text_join" id="4?k[0reCRn.mjkxHg41~"><mutation items="3"></mutation>
                        <value name="ADD0"><block type="text" id="75Z)WnYF@;38~bIM;pA"><field name="TEXT">Im Moment 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.zählen_Fensterkontakte.textFensterkontakteaufAnsage</field></block></value> <value name="ADD2"><block type="get_value" id="E{tPb{Ec!is/-%_U9^ba"><field name="ATTR">val</field> <field name="OID">javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage</field></block></value></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="text_join" id="eE.L((.HuB3vE_4=e#-q"><mutation items="3"></mutation> <value name="ADD0"><block type="text" id="PRh;5QARrxn}K}cvS^"><field name="TEXT">Im Moment sind</field></block></value>
                        <value name="ADD1"><block type="get_value" id="[R~H:5)[.)a!9mnnr;U}"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterkontakte.textFensterkontakteaufAnsage</field></block></value>
                        <value name="ADD2"><block type="get_value" id="]DyrNm:29uG:o{IGwdq8"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage</field></block></value></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="text_join" id="oVpPd?8wyu_,Zl8uR
                        x"><mutation items="3"></mutation>
                        <value name="ADD0"><block type="text" id="5DQf2PxM}5U]YfhsCe!H"><field name="TEXT">Im Moment sind</field></block></value>
                        <value name="ADD1"><block type="get_value" id="xX/ccwLyk|@ksY}Zt=M^"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterkontakte.textFensterkontakteaufAnsage</field></block></value>
                        <value name="ADD2"><block type="get_value" id="l,u{D%[Ft^szW:RgT%"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage</field></block></value></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="text_join" id="-8@wDdu%@L++1NL0%kv"><mutation items="3"></mutation>
                        <value name="ADD0"><block type="text" id="u5JAG8YXkEe-WquJT-Cv"><field name="TEXT">Im Moment sind</field></block></value>
                        <value name="ADD1"><block type="get_value" id="Xh@YzGzw}dndnT!PR4,a"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterkontakte.textFensterkontakteaufAnsage</field></block></value>
                        <value name="ADD2"><block type="get_value" id="!;FYe%8oL9Phuo01s(o/"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage</field></block></value></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="text_join" id="Sr6ZKH|w+@i!r-:RGE5|"><mutation items="3"></mutation> <value name="ADD0"><block type="text" id="@WD{DbpE(L1Is#/Am]"><field name="TEXT">Im Moment sind</field></block></value> <value name="ADD1"><block type="get_value" id="PQ/N3,cUuzqo^LRP;a@)"><field name="ATTR">val</field> <field name="OID">javascript.0.zählen_Fensterkontakte.textFensterkontakteaufAnsage</field></block></value> <value name="ADD2"><block type="get_value" id="7Pq_Us,t=Z4jvPOSPzqp"><field name="ATTR">val</field> <field name="OID">javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage</field></block></value></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="text_join" id="_UREy=Dns%1
                        3p{#}QG%"><mutation items="3"></mutation>
                        <value name="ADD0"><block type="text" id="DS8D]@iPZ0H#VUlSn#?Q"><field name="TEXT">Im Moment sind</field></block></value>
                        <value name="ADD1"><block type="get_value" id=":h6wum1yXIpr!:hKJ3G7"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterkontakte.textFensterkontakteaufAnsage</field></block></value>
                        <value name="ADD2"><block type="get_value" id="g|Kl.rrqN3ZN;v8{1)0?"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage</field></block></value></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="text_join" id="IY=qE)N;}#H)@3FMX?."><mutation items="3"></mutation>
                        <value name="ADD0"><block type="text" id="RJC)ht0vVqRW(FvnbW"><field name="TEXT">Im Moment sind</field></block></value> <value name="ADD1"><block type="get_value" id="h1n!;q1L]DJlW{5:R2]"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterkontakte.textFensterkontakteaufAnsage</field></block></value>
                        <value name="ADD2"><block type="get_value" id="-80qQ]o?r@+~CQr7Oq]r"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage</field></block></value></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="text_join" id="Han]KF1f.0IrY!Qc3Enb"><mutation items="3"></mutation>
                        <value name="ADD0"><block type="text" id="PXcu~o={]-N^S0)SE=}"><field name="TEXT">Im Moment sind</field></block></value> <value name="ADD1"><block type="get_value" id="8vb98[j)NrH4+s7#|A@"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterkontakte.textFensterkontakteaufAnsage</field></block></value>
                        <value name="ADD2"><block type="get_value" id="-Zpr897`o1FR+Bo=|cFu"><field name="ATTR">val</field>
                        <field name="OID">javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage</field></block></value></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></xml>

                        
                        Und hier noch die Scripte dazu: Fensterdrehgriffe
                        
                        >! ````
                        /* System Zahl Fensterdrehgriffe
                        >! zählt die Fensterdrehgriffe in allen Räumen und meldet die offenen Fensterdrehgriffe namentlich
                        Daten kommen vom Gewerk 'Fensterdrehgriffe'
                        >! erstellt: 17.06.2015 nach diesem Vorbild: http://forum.iobroker.net/viewtopic.php?f=21&t=869&sid=f9ba5657489ff431a1990884f90779c1#p6564
                        05.08.2015 STATE aus der Ausgabe entfernt nach Idee von stephan61 http://forum.iobroker.org/viewtopic.php?f=21&t=473&start=20#p9267
                        02.12.2015 Fehler beseitigt bei Anzahl Fensterdrehgriffe, wenn offen (Unterscheidung RHS und TFK)
                                   Überprüfung des Zustandes (function Fensterdrehgriffestatus) und Übergabe an Text
                        25.01.2016 Fensterdrehgriffe Nummer in Log korrigiert (+1)
                        02.03.2016 Ansage für TTS aufbereitet
                        02.07.2016 Regulärer Ausdruck (gierig) bei Aufbereitung für Ansage
                        */
                        >! function Fensterdrehgriffestatus(zustand) {
                            var meldung;
                            switch (zustand) {
                                case 1:
                                    meldung = 'gekippt';
                                break;
                                case 2:
                                    meldung = 'offen';
                                break;
                                case true:
                                    meldung = 'TFK offen';
                                break;
                                default:
                                    meldung = 'geschlossen';
                                break;
                            }
                            return(meldung);
                        }
                        >! createState('zählen_Fensterdrehgriffe.anzahlFensterdrehgriffe', {     // wenn benötigt: Anzahl der vorhandenen Fensterdrehgriffe
                            type: 'number',
                            min: 0,
                            def: 0,
                            role: 'value'
                        });
                        createState('zählen_Fensterdrehgriffe.anzahlFensterdrehgriffeauf', {  // Anzahl der Fensterdrehgriffe, die auf sind als Variable unter Javascript.0 anlegen
                            type: 'number',
                            min: 0,
                            def: 0,
                            role: 'value'
                        });
                        createState('zählen_Fensterdrehgriffe.textFensterdrehgriffeauf', {      // Anzahl der offenen Fensterdrehgriffe und deren Namen als Variable unter Javascript.0 anlegen
                            type: 'string',
                            def: ' ',
                            role: 'value'
                        });    
                        >! var cacheSelectorState  = $('channel[state.id=*.STATE](functions="Fensterdrehgriffe")');
                        >! function countFensterdrehgriffe(obj) {
                             // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fensterdrehgriffe auf 0
                            var anzahlFensterdrehgriffe = 0;
                            var anzahlFensterdrehgriffeauf = 0;
                            var textFensterdrehgriffeauf = [];
                        >!     log('Auslösender Aktor: ' + obj.id + ': ' + obj.newState.val);              // Info im Log, welcher Zustand sich geändert hat
                        
                            cacheSelectorState.each(function (id, i) {                                  // Schleife für jedes gefundenen Element *.STATE im Gewerk Fensterdrehgriffe
                                var status = getState(id).val;                                          // Zustand *.STATE abfragen (jedes Element)
                                var obj    = getObject(id);
                                var name = getObject(id).common.name;
                                var devicename = name.substring(0, name.indexOf(".STATE"));             //.state aus Text entfernen
                                if (status /*TFK*/ || status === 1 || status === 2 /*RHS*/) {  // wenn Zustand offen, dann wird die Anzahl der Fensterdrehgriffe hochgezählt
                                     ++anzahlFensterdrehgriffeauf;
                                     textFensterdrehgriffeauf.push(devicename + ' (' + Fensterdrehgriffestatus(status) + ')');  // Name und Zustand zum Array hinzufügen
                                }                
                                log('Fensterdrehgriffe #' + (i+1) + ': ' + devicename + ' ' + Fensterdrehgriffestatus(status)/* + ' (' + status + ' / ' + typeof status + ')'*/);
                                ++anzahlFensterdrehgriffe;                                                        // Zählt die Anzahl der vorhandenen Fensterdrehgriffe unabhängig vom Status
                            }); 
                        
                            // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
                                log("Text: " + textFensterdrehgriffeauf);
                                log("Anzahl Fensterdrehgriffe: " + anzahlFensterdrehgriffe + " - davon Fensterdrehgriffe auf: " +  anzahlFensterdrehgriffeauf);
                        >!     // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                            setState("zählen_Fensterdrehgriffe.textFensterdrehgriffeauf", textFensterdrehgriffeauf.join(',\n'));    // Schreibt die aktuelle Namen der offenen Fensterdrehgriffe
                            setState("zählen_Fensterdrehgriffe.anzahlFensterdrehgriffeauf", textFensterdrehgriffeauf.length);         // Schreibt die aktuelle Anzahl der offenen Fensterdrehgriffe
                            setState("zählen_Fensterdrehgriffe.anzahlFensterdrehgriffe", anzahlFensterdrehgriffe);                    // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fensterdrehgriffe
                        }
                        >! cacheSelectorState.on(function(obj) {    // bei Zustandänderung *. STATE im Gewerk Fensterdrehgriffe
                            countFensterdrehgriffe(obj);
                        });
                        >! // Variable für Ansage aufbereiten
                        createState('zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage', {
                            type: 'string',
                            def: ' ',
                            role: 'value'
                        });  
                        // Anzahl der Fensterdrehgriffe, die auf sind, für Ansage aufbereitet
                        var idQuelle = 'javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeauf',
                            idAnsage = 'javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage';
                        >! on(idQuelle, function (obj) {
                            var text = obj.state.val;
                            //text = text.replace(/RHS/g, 'Fenster');
                            text = text.replace(/TFK/g, 'Reedkontakt');
                            text = (text.length > 1) ? 'Geöffnete Fenster im Keller: ' + text : 'Alle Fenster im Keller geschlossen';
                            setState(idAnsage, text);
                        });
                        >! //on({id: "javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage"/*zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage*/, change: "ne"}, function (obj) {
                        //  var value = obj.state.val;
                        //  var oldValue = obj.oldState.val;
                        //  sendTo("telegram", "send", {
                        //      text: getState("javascript.0.zählen_Fensterdrehgriffe.textFensterdrehgriffeaufAnsage").val,
                        //      disable_notification:   true
                        //  });
                        //});
                        

                        Fensterkontakte

                        ! ````
                        createState('zählen_Fensterkontakte.anzahlFensterkontakte', { // wenn benötigt: Anzahl der vorhandenen Fensterkontakte
                        type: 'number',
                        min: 0,
                        def: 0,
                        role: 'value'
                        });
                        createState('zählen_Fensterkontakte.anzahlFensterkontakteauf', { // Anzahl der Fensterkontakte, die auf sind als Variable unter Javascript.0 anlegen
                        type: 'number',
                        min: 0,
                        def: 0,
                        role: 'value'
                        });
                        createState('zählen_Fensterkontakte.textFensterkontakteauf', { // Anzahl der offenen Fensterkontakte und deren Namen als Variable unter Javascript.0 anlegen
                        type: 'string',
                        def: '',
                        role: 'value'
                        });
                        ! var cacheSelectorState = $('channelstate.id=*.STATE');
                        ! function countFensterkontakte(obj) {
                        // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fensterkontakte auf 0
                        var anzahlFensterkontakte = 0;
                        var anzahlFensterkontakteauf = 0;
                        var textFensterkontakteauf = [];
                        ! log('Auslösender Aktor: ' + obj.id + ': ' + obj.newState.val); // Info im Log, welcher Zustand sich geändert hat
                        ! cacheSelectorState.each(function (id, i) { // Schleife für jedes gefundenen Element .STATE im Gewerk Fensterkontakte
                        var status = getState(id).val; // Zustand .STATE abfragen (jedes Element)
                        var obj = getObject(id);
                        var name = getObject(id).common.name;
                        var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen
                        if ( status === 1 || status === 2) { // wenn Zustand offen, dann wird die Anzahl der Fensterkontakte hochgezählt
                        ++anzahlFensterkontakteauf;
                        textFensterkontakteauf.push(devicename ); // Name und Zustand zum Array hinzufügen
                        }
                        log('Fensterkontakte #' + (i+1) + ': ' + devicename + ' ' /
                        + ' (' + status + ' / ' + typeof status + ')'
                        /);
                        ++anzahlFensterkontakte; // Zählt die Anzahl der vorhandenen Fensterkontakte unabhängig vom Status
                        });
                        ! // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
                        log("Text: " + textFensterkontakteauf);
                        log("Anzahl Fensterkontakte: " + anzahlFensterkontakte + " - davon Fensterkontakte auf: " + textFensterkontakteauf.length);
                        ! // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                        setState("zählen_Fensterkontakte.textFensterkontakteauf", textFensterkontakteauf.join(', ')); // Schreibt die aktuelle Namen der offenen Fensterkontakte
                        setState("zählen_Fensterkontakte.anzahlFensterkontakteauf", textFensterkontakteauf.length); // Schreibt die aktuelle Anzahl der offenen Fensterkontakte
                        setState("zählen_Fensterkontakte.anzahlFensterkontakte", anzahlFensterkontakte); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fensterkontakte
                        }
                        ! cacheSelectorState.on(function(obj) { // bei Zustandänderung *. STATE im Gewerk Fensterkontakte
                        countFensterkontakte(obj);
                        });
                        ! // Variable für Ansage aufbereiten
                        createState('zählen_Fensterkontakte.textFensterkontakteaufAnsage', {
                        type: 'string',
                        def: '',
                        role: 'value'
                        });
                        // Anzahl der Fensterkontakte, die auf sind, für Ansage aufbereitet
                        var idQuelle = 'javascript.0.zählen_Fensterkontakte.textFensterkontakteauf',
                        idAnsage = 'javascript.0.zählen_Fensterkontakte.textFensterkontakteaufAnsage';
                        ! on(idQuelle, function (obj) {
                        var text = obj.state.val;
                        text = (text.length > 1) ? 'Geöffnete Fenster im Erdgeschoss: ' + text : 'Alle Fenster im Erdgeschoss geschlossen';
                        setState(idAnsage, text);
                        });
                        ! // on({id: "javascript.0.zählen_Fensterkontakte.textFensterkontakteaufAnsage"/zählen_Fensterkontakte.textFensterkontakteaufAnsage/, change: "ne"}, function (obj) {
                        // var value = obj.state.val;
                        // var oldValue = obj.oldState.val;
                        // sendTo("telegram", "send", {
                        // text: getState("javascript.0.zählen_Fensterkontakte.textFensterkontakteaufAnsage").val,
                        // disable_notification: true
                        // });
                        //});

                        
                        Telegram ist hier nur auskommentiert…
                        
                        PS: ich baue mir gerade die Ausgabe im Fensterscript (und auch Licht/Steckdosen usw.--- also auch für andere Gewerke) so um, das die Ausgabe für den Alexa2 Adapter für speak etwas schöner sind, habe ich bisher nur für Telegram genutzt)
                        1 Reply Last reply Reply Quote 0
                        • H
                          Hc-Yami last edited by

                          Guten Tag,

                          vielen Dank für diesen astreinen Adapter! 🙂

                          Wirklich tolle Arbeit!

                          Ich hätte jedoch die Frage, ob es möglich ist, zu erkennen ob der Wecker klingelt. Hintergrund ist, dass ich es gerne realisieren würde, dass wenn der Alexa Wecker klingelt, eine bestimmte WLAN-Glühbirne an geht.

                          Grüße!

                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 last edited by

                            @Hc-Yami:

                            Ich hätte jedoch die Frage, ob es möglich ist, zu erkennen ob der Wecker klingelt. Hintergrund ist, dass ich es gerne realisieren würde, dass wenn der Alexa Wecker klingelt, eine bestimmte WLAN-Glühbirne an geht. `

                            Wecker wird noch kommen, aber das "starten" eines Weckers habe ich bisher noch nicht hinbekommen. Das "mach Wecker aus" bekommen wir hin 🙂

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

                              Ich habe hier noch ein Beispiel für die Lichtabfrage und Ausgabe über speak gebaut. Ich habe nur Philips Hue und den Adapter dazu im Einsatz. Polling habe ich im Hue Adapter etwas kürzer gestellt. Die erstellten Hue Räume habe ich nur noch dem Gewerk Licht und dem Raum zugeordnet.

                              Scripte sind hier im Forum zusammengesucht und etwas an die Abfrage angepasst.

                              Vielleicht braucht es Jemand. Scripte schiebe ich gleich nach.

                              Script zum Licht prüfen (Philips Hue - level)

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

                              
                              Blockly Export Lichtabfrage und Ausgabe über speak (bei mehreren ECHOS kommt die Ausgabe am gefragten ECHO–-ich habe hier viele drinn :D )
                              
                              >! ````
                               <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> 
                              

                              https://youtu.be/vxMiJ5cwUF8

                              https://youtu.be/CvuJmIYVS8Y

                              ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... 2f092e.jpg">https://uploads.tapatalk-cdn.com/20180807/8cfed7977c53f7054827f338fb2f092e.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... 932052.jpg">https://uploads.tapatalk-cdn.com/20180807/b6c5485dbd0e6cb8553d4e4af3932052.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... eb5c2f.jpg">https://uploads.tapatalk-cdn.com/20180807/7c703a7f2040bcd2021d5bb5cdeb5c2f.jpg</link_text>" />~~~~

                              1 Reply Last reply Reply Quote 0
                              • B
                                Blackeye last edited by

                                Hi,

                                das kann ich dir leider nicht sagen, da die Geräte bei mir nicht alle mit einem Namen im Adapter zu sehen sind. Ich sehe viele Smart Geräte ohne Namen, also nur die ID Nummer. Falls du mir sagen kannst wie ich von der ID auf das Gerät schliessen kann, schaue ich gerne mal nach.

                                @apollon77:

                                Da ich sowas nicht habe wird es interessant … SInd denn die Geräte die du per Smarthub angeschlossen hast bei den "Smart-Home-Devices" zu finden?

                                Wenn ja hätte ich bitte gern mal das Debug Log vom Adapter `

                                1 Reply Last reply Reply Quote 0
                                • apollon77
                                  apollon77 last edited by

                                  Kannst Du Routinen in der App definieren die diese Smart-Hub-Geräte steuern können? Wenn ja leg mal so eine an.

                                  Dann stell bitte mal die Instanz den Loglevel auf Debug und schicke mir per PN das Log (aus dem Logfile auf der Platte unter /opt/iobroker/log… NICHT Admin!) vom Start des Adapters.

                                  Ich habe mit ein paar anderen gesprochen. Der Infostand ist das die Geräte da drin sind, aber wohl anders bedient werden als die "Skill-basierten" Geräte. Auch die Kontrolle scheint wohl anders zu laufen. Über Routinen könnte man ggf noch einen zweiten Weg sehen.

                                  Das log könnte das grob prüfen.

                                  Ansonsten wäre nur die Option:

                                  Ich brauche Zugriff auf so einen Echo habe (müsste also meine App auf meinem Handy mit diesem Amazon-Account verbinden und dann Dinge schalten damit ich die Kommandos abfangen kann um es dann ggf zu sehen wie es läuft.

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

                                    Hallo,

                                    der Adapter erkennt auch den Fire TV Stick…... 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      Hc-Yami last edited by

                                      @apollon77:

                                      Wecker wird noch kommen, aber das "starten" eines Weckers habe ich bisher noch nicht hinbekommen. Das "mach Wecker aus" bekommen wir hin 🙂 `

                                      Das wäre super, dann gedulde ich mich. 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • O
                                        ooooli last edited by

                                        @dslraser:

                                        Ich habe hier noch ein Beispiel für die Lichtabfrage und Ausgabe über speak gebaut. Ich habe nur Philips Hue und den Adapter dazu im Einsatz. Polling habe ich im Hue Adapter etwas kürzer gestellt. Die erstellten Hue Räume habe ich nur noch dem Gewerk Licht und dem Raum zugeordnet.

                                        Scripte sind hier im Forum zusammengesucht und etwas an die Abfrage angepasst.

                                        Vielleicht braucht es Jemand. Scripte schiebe ich gleich nach. `

                                        Sehr coole Idee, lässt sich schön ausbauen.

                                        Zwei Dinge: kannst du noch ein Bild von einem Hue Objekt machen? Habe meine Räume in den Hue Objekten zugewiesen (Wohnzimmer, Bad, Flur usw…) + Funktion Licht. Jedoch findet das Script keine Lichter. Hab bestimmt nur was kleines vergessen.

                                        4800_bildschirmfoto_2018-08-08_um_10.06.49.png

                                        Und verstehe ich richtig, dass man den Wert Ansage via Cloud Adapter an Alexa übergibt und dann als Smart Home Gerät in eine Routine einbauen kann?

                                        1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky last edited by

                                          hallo leute,

                                          BITTE nicht böse sein aber wäre es möglich eure skript ausführungen unter einen anderen thread aufzulisten. es gab schon jmd. der einen eröffnet hat.

                                          viewtopic.php?f=21&t=15722

                                          zur not könnte man ja in diesem thread einen link posten.

                                          ich finde den adapter super und möchte gerne über neues von apollon informiert werden - ich finde, dass momentan einfach zu viel info auf diesem kanal läuft :roll:

                                          ist nur so eine idee - wie gesagt - bitte nicht böse sein

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

                                            @liv-in-sky:

                                            hallo leute,

                                            BITTE nicht böse sein aber wäre es möglich eure skript ausführungen unter einen anderen thread aufzulisten. es gab schon jmd. der einen eröffnet hat.

                                            viewtopic.php?f=21&t=15722

                                            zur not könnte man ja in diesem thread einen link posten.

                                            ich finde den adapter super und möchte gerne über neues von apollon informiert werden - ich finde, dass momentan einfach zu viel info auf diesem kanal läuft :roll:

                                            ist nur so eine idee - wie gesagt - bitte nicht böse sein ` okay, hast Recht….

                                            @ooooli, hier der Link..., dann da weiter.

                                            viewtopic.php?p=167960#p167960

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            900
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            76
                                            581
                                            134201
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo