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.
    • O
      ooooli last edited by

      @ltsalvatore:

      das kingt nach ner coolen idee..

      habe überlegt, dass wenn jemand nach hause kommt, und sich dann im wlan netz verbindet, alexa in der diele "guten abend xyz" wiedergibt..

      leider habe ich noch keine idee, wie ich das ganze etwas intuitiver umsetzen kann, sodass nicht bei jedem verbindungsabbruch, wenn man schon zu hause ist, alexa wieder anfängt "guten abend xyz" zu sagen…. `

      Hab's mit Geofency Anwesenheit (da kann man das Telefon auch mal zu Hause in Flugmodus schalten) gelöst und in Verbindung mit Hue Licht / Bewegungsmelder im Flur. Bei Ankunft im Homebereich passiert erstmal nix, sobald ich die Wohnung betrete plappert Alexa die Begrüßung.

      Hab gerade keinen Zugriff, kann aber das Blockly zur Verfügung stellen.

      1 Reply Last reply Reply Quote 0
      • C
        csamaggi last edited by

        Dazu habe ich folgendes noch gemacht per Bluetooth. Oder per geofence was bei mir leidet nicht hin hauen will.

        Mfg Maggi

        Gesendet von meinem SM-G955F mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • L
          ltsalvatore last edited by

          @ooooli:

          @ltsalvatore:

          das kingt nach ner coolen idee..

          habe überlegt, dass wenn jemand nach hause kommt, und sich dann im wlan netz verbindet, alexa in der diele "guten abend xyz" wiedergibt..

          leider habe ich noch keine idee, wie ich das ganze etwas intuitiver umsetzen kann, sodass nicht bei jedem verbindungsabbruch, wenn man schon zu hause ist, alexa wieder anfängt "guten abend xyz" zu sagen…. `

          Hab's mit Geofency Anwesenheit (da kann man das Telefon auch mal zu Hause in Flugmodus schalten) gelöst und in Verbindung mit Hue Licht / Bewegungsmelder im Flur. Bei Ankunft im Homebereich passiert erstmal nix, sobald ich die Wohnung betrete plappert Alexa die Begrüßung.

          Hab gerade keinen Zugriff, kann aber das Blockly zur Verfügung stellen. `

          das wäre mega, wenn du das machen könntest 😄

          1 Reply Last reply Reply Quote 0
          • L
            ltsalvatore last edited by

            @csamaggi:

            Dazu habe ich folgendes noch gemacht per Bluetooth. Oder per geofence was bei mir leidet nicht hin hauen will.

            Mfg Maggi

            Gesendet von meinem SM-G955F mit Tapatalk `

            ich versuche es mal mit geofencing.. was ich noch nicht eingerichtet habe bei mir, notfalls würde ich es über bluetooth testen

            thx

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

              Hier das Blocklyscript:

              4800_bildschirmfoto_2018-08-01_um_16.47.16.png

              Wenn mein Flurlicht (geschaltet via Hue Bewegungsmelder) angeht und ich nach Geofency Abwesenheit wieder anwesend bin begrüßt mich Alexa mit der Temperatur dem CO2 Wert der Netatmo Wetterstation.

              Hab das mit der Ansage erfolgt Funktion hier irgendwo im Forum übernommen.

              Ich glaube das man das noch etwas umbauen kann, die extra Ansageschleife braucht's eigentlich nicht.

              var Meldungstext;
              
              /**
               * Beschreibe diese Funktion …
               */
              function Ansage(Meldungstext) {
                setStateDelayed("alexa2.0.Echo-Devices.G090LV086765004S.Commands.speak"/*speak*/, Meldungstext, 5000, false);
              }
              
              on({id: "hue.0.Philips_hue.Flur.on"/*Philips_hue.Flur.on*/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                if (getState("hue.0.Philips_hue.Flur.on").val == true && getState("javascript.0.AnsageErfolgt").val == true) {
                  Ansage(['Hallo ! willkommen zu Hause!','Es sind',getState("netatmo.0.zu-Hause.Wetterstation.Temperature.Temperature").val,'Grad in der Wohnung und der Zehohzweiwert beträgt',getState("netatmo.0.zu-Hause.Wetterstation.CO2.CO2").val].join(''));
                  setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, false);
                }
              });
              
              createState("AnsageErfolgt", function () {
              });
              
              on({id: "geofency.0.Handy_[priv_].entry"/*entry*/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                if (getState("geofency.0.Handy_[priv_].entry").val == false) {
                  setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, false);
                } else if (getState("geofency.0.Handy_[priv_].entry").val == true) {
                  setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, true);
                }
              });
              
              
              1 Reply Last reply Reply Quote 0
              • L
                ltsalvatore last edited by

                @ooooli:

                Hier das Blocklyscript:

                Bildschirmfoto 2018-08-01 um 16.47.16.png

                Wenn mein Flurlicht (geschaltet via Hue Bewegungsmelder) angeht und ich nach Geofency Abwesenheit wieder anwesend bin begrüßt mich Alexa mit der Temperatur dem CO2 Wert der Netatmo Wetterstation.

                Hab das mit der Ansage erfolgt Funktion hier irgendwo im Forum übernommen.

                Ich glaube das man das noch etwas umbauen kann, die extra Ansageschleife braucht's eigentlich nicht.

                var Meldungstext;
                
                /**
                 * Beschreibe diese Funktion …
                 */
                function Ansage(Meldungstext) {
                  setStateDelayed("alexa2.0.Echo-Devices.G090LV086765004S.Commands.speak"/*speak*/, Meldungstext, 5000, false);
                }
                
                on({id: "hue.0.Philips_hue.Flur.on"/*Philips_hue.Flur.on*/, change: "ne"}, function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  if (getState("hue.0.Philips_hue.Flur.on").val == true && getState("javascript.0.AnsageErfolgt").val == true) {
                    Ansage(['Hallo ! willkommen zu Hause!','Es sind',getState("netatmo.0.zu-Hause.Wetterstation.Temperature.Temperature").val,'Grad in der Wohnung und der Zehohzweiwert beträgt',getState("netatmo.0.zu-Hause.Wetterstation.CO2.CO2").val].join(''));
                    setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, false);
                  }
                });
                
                createState("AnsageErfolgt", function () {
                });
                
                on({id: "geofency.0.Handy_[priv_].entry"/*entry*/, change: "ne"}, function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  if (getState("geofency.0.Handy_[priv_].entry").val == false) {
                    setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, false);
                  } else if (getState("geofency.0.Handy_[priv_].entry").val == true) {
                    setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, true);
                  }
                });
                
                ```` `  
                

                super danke, ich werde es später mal testen.

                gibt es auch die möglichkeit das blocky zu exportieren, damit ich das importieren und nur die werte ersetzen muss?

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

                  @ltsalvatore:

                  super danke, ich werde es später mal testen.

                  gibt es auch die möglichkeit das blocky zu exportieren, damit ich das importieren und nur die werte ersetzen muss? `

                  Klar. Machst einfach ein neues Script und nutzt den kleinen Pfeil nach oben (Blöcke importieren) über dem Script zum importieren des Codes aus meinem Beitrag.

                  1 Reply Last reply Reply Quote 0
                  • L
                    ltsalvatore last edited by

                    @ooooli:

                    @ltsalvatore:

                    super danke, ich werde es später mal testen.

                    gibt es auch die möglichkeit das blocky zu exportieren, damit ich das importieren und nur die werte ersetzen muss? `

                    Klar. Machst einfach ein neues Script und nutzt den kleinen Pfeil nach oben (Blöcke importieren) über dem Script zum importieren des Codes aus meinem Beitrag. `

                    hm..

                    das einzige, was ich dann angezeigt bekomme ist folgendes:
                    6497_screenshot_2018.08.01_18_00_12_001.jpg

                    das ist doch der code für das blockly script, was in deiner grafik weiter oben angezeigt wird, oder?

                    oder ist das ein java script?

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

                      Nö . Das ist Java

                      1 Reply Last reply Reply Quote 0
                      • L
                        ltsalvatore last edited by

                        @Chaot:

                        Nö . Das ist Java `

                        Hm….

                        Dann versteh ich die blockly Grafik zu dem Post nicht.

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

                          Ja, da hast du Recht.

                          Das scheint tatsächlich nur der Teil mit der Textmeldung zu sein. Der ganze Rest fehlt :?:

                          Edit: Quatsch. Ist alles da.

                          Du kannst Blockly als Java exportieren. Dann kommt sowas dabei raus.

                          1 Reply Last reply Reply Quote 0
                          • L
                            ltsalvatore last edited by

                            @Chaot:

                            Ja, da hast du Recht.

                            Das scheint tatsächlich nur der Teil mit der Textmeldung zu sein. Der ganze Rest fehlt :?:

                            Edit: Quatsch. Ist alles da.

                            Du kannst Blockly als Java exportieren. Dann kommt sowas dabei raus. `

                            ok.. verstanden.. und wie bekomme ich das ganze rückwärts wieder als blockly angezeigt?

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

                              Das geht leider nicht.

                              Dazu fehlen in dem Script die Bildinformationen.

                              Allerdings kann ich dir einen kleinen Trick verraten:

                              lege ein leeres Blockly script an und wähle dort einfach einen Befehl "steure XXXX mit XX".

                              in dem Befehl wählst du jetzt deinen Sensor aus und schaltest rechts oben auf "zeige Code".

                              Jetzt siehst du den Befehl in Javascript und kannst dir die genaue Sensorbezeichnung per Copy und Paste direkt in das andere Script kopieren. Immer die genauen Passagen vergleichen und passend ausschneiden.

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

                                Hier das Script nochmal als Export. Sollte nun iimportierbar sein…

                                 <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="RUoTzvo?H17}CcoV|M]y" x="-262" y="-137"><field name="NAME">AnsageErfolgt</field>
                                    <next><block type="on" id="|[-@.==-%lkD3p#NA/|D"><field name="OID">hue.0.Philips_hue.Flur.on</field>
                                        <field name="CONDITION">ne</field>
                                
                                        <statement name="STATEMENT"><block type="controls_if" id="@218=IkE/qsKmRu{pA[)"><value name="IF0"><block type="logic_operation" id="h;:?sO;C*QR++sFvwlmj"><field name="OP">AND</field>
                                                <value name="A"><block type="logic_compare" id="bEb2TgS_Vzfgrm4@YL,K"><field name="OP">EQ</field>
                                                    <value name="A"><block type="get_value" id="K.gTsCV12F:_5Ncs6-+#"><field name="ATTR">val</field>
                                                        <field name="OID">hue.0.Philips_hue.Flur.on</field></block></value> 
                                                    <value name="B"><block type="logic_boolean" id="M2k`x?^@ELd;?/_Yx!O?"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                <value name="B"><block type="logic_compare" id="G{)dWgjJ#+._~Hgk8mSQ"><field name="OP">EQ</field>
                                                    <value name="A"><block type="get_value" id="7=/x-BQ.v3Xa7@cb#N72"><field name="ATTR">val</field>
                                                        <field name="OID">javascript.0.AnsageErfolgt</field></block></value> 
                                                    <value name="B"><block type="logic_boolean" id=".k]H{IFel`:;,S)b)d%z"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                                            <statement name="DO0"><block type="control" id="?WB3cxnc1VW;,;wpT7.m"><mutation delay_input="true"></mutation>
                                                <field name="OID">alexa2.0.Echo-Devices.G090LV036445004S.Commands.speak</field>
                                                <field name="WITH_DELAY">TRUE</field>
                                                <field name="DELAY_MS">5</field>
                                                <field name="UNIT">sec</field>
                                                <field name="CLEAR_RUNNING">FALSE</field>
                                                <value name="VALUE"><block type="text_join" id="(6p7BX#~~2P}xj7Wn1@;"><mutation items="5"></mutation>
                                                    <value name="ADD0"><block type="text" id="M76-)zYehBG]!LdyeY5q"><field name="TEXT">Hallo! willkommen zu Hause!</field></block></value> 
                                                    <value name="ADD1"><block type="text" id="E|w.AEkyy_)gieFW[B1@"><field name="TEXT">Es sind</field></block></value> 
                                                    <value name="ADD2"><block type="get_value" id="+23FeR%/`)Vy3Ni[(7za"><field name="ATTR">val</field>
                                                        <field name="OID">netatmo.0.zu-Hause.Wetterstation.Temperature.Temperature</field></block></value> 
                                                    <value name="ADD3"><block type="text" id="7-:u)+Rn,a.REn{7XAl."><field name="TEXT">Grad in der Wohnung und der Zehohzweiwert beträgt</field></block></value> 
                                                    <value name="ADD4"><block type="get_value" id="ss#R)QpEW`@hPOuqB`[%"><field name="ATTR">val</field>
                                                        <field name="OID">netatmo.0.zu-Hause.Wetterstation.CO2.CO2</field></block></value></block></value> 
                                                <next><block type="control" id=":+sw;3]O*:2=m;}oY-`%"><mutation delay_input="false"></mutation>
                                                    <field name="OID">javascript.0.AnsageErfolgt</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE"><block type="logic_boolean" id="V:ezxxg{L.az[68LgO]E"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement> 
                                        <next><block type="on" id="5%2sw2vN~IUt?:~nLn56"><field name="OID">geofency.0.Handy_[priv_].entry</field>
                                            <field name="CONDITION">ne</field>
                                
                                            <statement name="STATEMENT"><block type="controls_if" id="2.o(9=pF;72dQLlZd{Z}"><mutation elseif="1"></mutation>
                                                <value name="IF0"><block type="logic_compare" id="n-3QfDqel51,DR:78:lE"><field name="OP">EQ</field>
                                                    <value name="A"><block type="get_value" id="[@ZAwx3Q~-5cnVrQn2e}"><field name="ATTR">val</field>
                                                        <field name="OID">geofency.0.Handy_[priv_].entry</field></block></value> 
                                                    <value name="B"><block type="logic_boolean" id="/LqU`_{.-!+4G?=ARrER"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                <statement name="DO0"><block type="control" id="+Kxc%`:x3XPxhj30^E:e"><mutation delay_input="false"></mutation>
                                                    <field name="OID">javascript.0.AnsageErfolgt</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE"><block type="logic_boolean" id="Klxp/+JSwFl*I#}Muk^Q"><field name="BOOL">FALSE</field></block></value></block></statement> 
                                                <value name="IF1"><block type="logic_compare" id="C!EKDYHnHg)X@@cAeOT{"><field name="OP">EQ</field>
                                                    <value name="A"><block type="get_value" id="pd4|+~n%5WOdi_QxvPsU"><field name="ATTR">val</field>
                                                        <field name="OID">geofency.0.Handy_[priv_].entry</field></block></value> 
                                                    <value name="B"><block type="logic_boolean" id="ZZkwi~iV+!bc0KV]7A)i"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                <statement name="DO1"><block type="control" id="EoUSPk1}^Oly6`[a[k^%"><mutation delay_input="false"></mutation>
                                                    <field name="OID">javascript.0.AnsageErfolgt</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE"><block type="logic_boolean" id="]PIxRNdgc/#6E`|nuw^B"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></next></block></next></block></xml> 
                                
                                1 Reply Last reply Reply Quote 0
                                • H
                                  hhilde last edited by

                                  @apollon77:

                                  Alte Version ist keine sinnvolle Option.

                                  Es hat sich glaube zwischen 0.2 und 0.3 der Name von history.#trigger nach History.#trigger geändert.

                                  Weiterhin wird jetzt strenger geprüft was in die datenpunkte reingeschrieben wird. Der Datentype muss stimmen. Da gibts debug im log.

                                  Bitte alexa2 Instanz loglevel auf debug. Dann bitte aus node red heraus ändern und log senden an der Änderung ein bissl.

                                  Bitte log nicht aus admin kopieren sondern von der Platte.

                                  Gesendet vom Handy … `

                                  Danke für die schnelle Antwort, und die Hinweise.

                                  Name war klar.

                                  Ich hab mir die Log-Datei mal angeschaut, und es lag tatsächlich an einem falschen Datentyp.

                                  Jetzt funktioniert es wieder.

                                  Danke!!!

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    ltsalvatore last edited by

                                    @ooooli:

                                    Hier das Script nochmal als Export. Sollte nun iimportierbar sein… `

                                    super, danke fürs hochladen.

                                    ich überlege gerade, ob ich anstatt mit dem geofencing das ganze mit dem tr-064 adapter umsetze.

                                    dort gibt es zu jedem device die beiden werte lastactive und lastinactive.

                                    so spare ich mir die installation eines weiteren adapters.

                                    müsste jetzt nur noch überlegen, wie die abfrage auszusehen hat. :roll: :?

                                    edit:

                                    ok,.. vielleicht habe ich mich doch zu früh gefreut?

                                    dachte die beiden werte würden anzeigen, wann das geräte das letzte mal erreichbar (lastactive) und das letzte mal bevor das gerät nicht mehr erreichbar war (lastinactive) anzeigen wüürde….

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      Lucky last edited by

                                      Sehr schöne Arbeit, vielen dank dafür !

                                      ich würde mir wünschen, (falls möglich) einen Datenpunkt der mit true oder false den jeweiligen Aktivzustand eines Device anzeigt.

                                      Also wenn ich "Alexa" sage und der Statusring am Gerät leuchtet, das der Datenpunkt auf true wechselt und wider zurück

                                      Ein nutzen wäre z.b. das kurzfristige Stumm schalten z.b. des Fernsehers oder Verstärkers zum besseren Verständnis des gesprochenen

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

                                        GitHub issue bitte … vielleicht geht sowas in der Art ... verspreche aber nichts.

                                        Und ich weiß auch nicht ob man das unbedingt will. So oft wie alexa bei uns beim Fernsehen oder auch mal nebenher an geht ... hm ...

                                        Gesendet vom Handy ...

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          Lucky last edited by

                                          @apollon77:

                                          GitHub issue bitte … vielleicht geht sowas in der Art ... verspreche aber nichts.

                                          Und ich weiß auch nicht ob man das unbedingt will. So oft wie alexa bei uns beim Fernsehen oder auch mal nebenher an geht ... hm ...

                                          Gesendet vom Handy ... `

                                          ok mach ich !

                                          wofür man es nutzt ist ja jedem selbst überlassen, man könnte damit auch z.b. das optische Feedback des Echo auf eine Hue Leute auslagern usw..

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            ltsalvatore last edited by

                                            @ltsalvatore:

                                            @ooooli:

                                            Hier das Script nochmal als Export. Sollte nun iimportierbar sein… `

                                            super, danke fürs hochladen.

                                            ich überlege gerade, ob ich anstatt mit dem geofencing das ganze mit dem tr-064 adapter umsetze.

                                            dort gibt es zu jedem device die beiden werte lastactive und lastinactive.

                                            so spare ich mir die installation eines weiteren adapters.

                                            müsste jetzt nur noch überlegen, wie die abfrage auszusehen hat. :roll: :?

                                            edit:

                                            ok,.. vielleicht habe ich mich doch zu früh gefreut?

                                            dachte die beiden werte würden anzeigen, wann das geräte das letzte mal erreichbar (lastactive) und das letzte mal bevor das gerät nicht mehr erreichbar war (lastinactive) anzeigen wüürde…. `

                                            so.. es scheint doch zu funktionieren bzw. aktualisieren sich die werte der objekte in dem tr-064 adapters wie gewünscht.

                                            meine idee nun, wenn das gerät 6 stunden inaktiv war, dann erst alexa befehlen, dass sie guten abend sagen soll.

                                            um das jetzt umzusetzen, würde es mich freuen, etwas hilfe von den blockly experten zu bekommen, auch wenn es eine einzige und evtl. recht simple abfrage ist.

                                            umsetzen wollte ich das ganze so:

                                            Wenn wert von "lastInactive-ts" - "lastActive-ts" >= 21600, dann "guten abend"

                                            danke schon mal

                                            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

                                            941
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            76
                                            581
                                            136856
                                            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