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

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

Community Forum

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

NEWS

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

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

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

Skriptsammlung für den neuen ALEXA2.0 Adapter

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

    @Nikoxx:

    Ich mach das mit einem komma `

    Danke schön - einwandfrei!

    VG

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      Semenchkare
      schrieb am zuletzt editiert von
      #53

      Hallo,

      grundsätzlich findie ich diese Skriptsammlung gut. Wäre es nicht noch etwas günstiger, wenn man hier nur die Links zu den einzeln "under-Threads" der jeweiligen Skripte anzeigt? Dann wäre das hier doch etwas geordneter.

      Mein Beispiel:

      Ich würde gerne mein bisher angewandtes Gehrig-Skript bzw. dessen Anwendungen "umziehen" und Skripte konkret auf ioBroker laufen lassen.

      Das sind

      1. das hier im skript angezeigte "alle Echos aus" Trigger soll jedoch nicht ein Parameter eines Datenpunktes, sondern einfach die Ansage: Alexa mache alle Echos aus sein. Wenn ich das skript hier in diesem Thread verwende, es im Smarthome ioBroker auswähle - läufts so nicht an.

      2. Starten eines Radiosenders

      Hier könntet Ihr fragen - wozu? Sage es doch direkt Alexa. Ja aber: jedesmal sagen "Alexa spiele tunein RadioXY in überall geht aufn sender. Ich habe mit dem Gehrig - Skript und der HA-Bridge ein Skript ausführen lassen bei: "Alexa starte RadioXY"

      3)Radiowecker auf mehreren Geräten, die nicht unbedingt Mitglied dergleichen Gruppe sind (muss nicht unbedingt synchron sein)

      hier habe ich das Skript von diesem Thread übernommen und angepasst (Datenpunkte).

      Problem: Das Skript funktioniert nur, wenn man kurz zuvor den Sender auf den entsprechenden Geräten (zB Dot oder Echo) aufgerufen und pausiert hat.

      Am nächsten Tag läuft der Sender nicht automatisch. Man hört zwar einen "Bestätigungston" (Kurzer Beep), wenn die Lautstärke sich automatisch einstellt. Der Sender jedoch läuft nicht…

      1. Gruppen kurzfristig verändern und auch wieder zurückstellen

      Da es leider nicht geht, dass ein Gerät in mehreren Gruppen sein kann, gibt es nur diesen Umweg.

      Bei Gehrig habe ich einfach ein Skript entworfen , welches mit Ändere Gruppe Alle funktioniert.

      Hier habe ich noch nichts gefunden.

      5)Anrufansagen via TRxx

      -Läuft die Ansage auch auf Gruppen? wäre genial

      Viele Grüße

      Semenchkare

      raspberry 5 8GB mit iobroker,
      raspberry 5 8GB mit Raspberrymatic

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

        @Semanchekare

        die Idee mit den einzelnen Threads pro Skript wäre sicherlich besser. Da gebe ich Dir recht … dann wären die Diskussionen nicht so durcheinander.

        Andererseits würde man sich dann den Wolf suchen, um ein bestimmtes Skript zu finden, wenn man nicht genau weiß wonach man suchen soll.

        Von daher ist das eher eine Ideensammlung hier ... 🙂

        Zu deinen kleineren Problemen:

        zu 1.) Ich denke Du willst das über eine Routine lösen so wie ich das verstehe, aber dann braucht die Routinen einen Datenpunbkt, der von Alexa getriggert wird, um im ioBroker irgendwas zu veranstalten. Wenn ich das so richtig verstanden habe.

        zu 2.) Damit habe ich keinbe Probleme: Bei mir statet jeder Sender auf TuneIn mit "Alexa, spiele Radio Schießmichtot", oder dergleichen. Von daher sehe ich persönlich keinen Bedarf an einem Skript.

        zu 3.) Bzgl.d es Radioweckers, da hat sich zwischen der 0.3.8 und de 0.5.1/0.5.2. irgendwann der Datenpunkt geändert. Ist jetzt nicht mehr TuneIn-Direkt, sondern TuneIn-Station. Damit geht es dann wieder.

        zu 4.) Habe ich keinen Plan von.

        zu 5.) Hier wäre der Adapter-Entwickler gefragt, also Apollon. Aber Gruppen werden vom alexa2-Adapter bisher nicht unterstützt.

        Aber man könnte das Skript ja dahingehend ändern, daß das "speak-Command an mehrere Echos gesendet wird; bedarf also nur einer Änderung am Skript.

        Irgendwie läßt sich einiges unproblematisch lösen; anderes geht enfach nicht oder wird von der API von Amazon nicht bereitgestellt oder ist einfach noch nicht im Adapter drin.

        Von daher darf man diese Skripte hier, nur als Ideen für eigene Umsetzungen verstehen. Out-of-the-box klappt eh nicht, weil die Datenpunkte eh fast überall anders lauten .. oder der eine lieber mit Blockly arbeitet und der andere mit Javascript. Nacharbeiten wird man bei allen Skripten müssen, damit es individuell auf einen paßt.

        MfG Markus

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          Semenchkare
          schrieb am zuletzt editiert von
          #55

          Vielen Dank für Deine Antworten, ich werde insbesondere den "Wecker-Tipp" sofort umsetzen/testen.

          insgesamt scheint das Gehrig-Script also noch etwas "weiter" zu sein als Alexa2.0 Adapter.

          Mein Problem ist eigentlich, dass ich nicht beides nebeneinander laufen lassen kann, ohne ständig den Cookie zu ändern, was "Amazon nicht gefällt". D.h. die schalten dann irgendwann auf 2Wege Authentifikation und dann ist aus mit allen Steuerungsmethoden…

          Zu diesem Thread:

          Es würde ja reichen, wenn wir nur einen Link zu dem jeweiligen Thread mit aussagefähiger Überschrift herein nimmt.

          Dann hat man alles:

          Sammlung und Gut sortierte Threads...

          Viele Grüße

          Semenchkare

          raspberry 5 8GB mit iobroker,
          raspberry 5 8GB mit Raspberrymatic

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

            Das ist doch ne gute Idee.

            Also der Aufruf an alle: Bei einem neuen Skript einen eigenen Thread dazu erstellen und darauf von hier aus verweisen … 🙂

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Semenchkare
              schrieb am zuletzt editiert von
              #57

              Am besten dann im 1. Post immer den aktuellsten Stand halten… (wenn's vom Mod aus geht...)

              Viele Grüße

              Semenchkare

              raspberry 5 8GB mit iobroker,
              raspberry 5 8GB mit Raspberrymatic

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                Semenchkare
                schrieb am zuletzt editiert von
                #58

                Hallo,

                da sich bisher hier nichts getan hat, auch zwecks Sortierung, hier meine Frage zum in diesem Thread vorgestellten Blockly-Script viewtopic.php?f=21&t=15722&start=20#p168895:

                1. Die Anruferansage erfolgt nur einmal. Wie kann ich im Blockly solange wiederholen zB nach 7 Sekunden etc. , bis der Anruf abbricht?

                Tipps meinerseits:

                a) Beim Check Callername empfehle ich "sonst falls mache" und kläre folgendes ab

                1. Callername ungleich leer, dann Callername ansagen

                sonst falls mache

                2. Caller ungleich leer, dann Caller Ansage (Dh wenn nicht im Telefonbuch wird Nr. angesagt.

                sonst falls mache

                3. Caller gleich leer, dann Ansage "unbekannter Teilnehmer"

                So habe ich Anrufe mit Nrn ohne Telefonbuch als Nr. angesagt.

                b) Die Steuerung des Textes habe ich auf die Multiroomgruppe veranlasst. Dann höre ich es überall.

                jetzt fehlt nur noch die Wiederholung…

                @Blackeye:

                Hi,

                hier nochmal die Anruferansage mit Blockly und dem tre064 Adapter.

                Hier wird zusätzlich die aktuelle Lautstärke der Geräte vorher ausgelesen und nach der Ansage wieder auf den ursprünglichen Wert gesetzt:

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

                Viele Grüße

                Semenchkare

                raspberry 5 8GB mit iobroker,
                raspberry 5 8GB mit Raspberrymatic

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

                  Seltsames Verhalten seit gestern, ich nutze ja das Fenster- und das Lichterscript.

                  Das beide funktionieren sehe ich unter Objekte an der Änderung meiner Datenpunkte.

                  Alexa mag nur mein Lichterscript nicht mehr.

                  Als Antwort kommt dann nur "Moment, ich schaue nach …" und dann ist Ruhe.

                  Das Fensterscript funktioniert nach wie vor.

                  In der App sind auch beide Routinen drin, die Scripte sind auch über Cloud als Gerät mit drin.

                  Diese habe ich schon bei Alexa gelöscht und noch mal neu angelegt.

                  Nun weiß ich nicht mehr wo ich nach Fehlern suchen soll.

                  Habt ihr Ideen ?

                  Gruß

                  Dirk

                  http://www.DessauWetter.de

                  (ioBroker auf IntelNuc und Proxmox)

                  1 Antwort Letzte Antwort
                  0
                  • ? Offline
                    ? Offline
                    Ein ehemaliger Benutzer
                    schrieb am zuletzt editiert von
                    #60

                    Das hatte ich auch, geholfen hat, den iobroker Skill in der Alexa App zu deaktivieren, und dann wieder zu aktivieren.

                    Danach geht's…

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

                      Problem gelöst.

                      Bei mir war in der App die Routine für die Abfrage Alexa antwortet Lichtabfrage nicht mehr gesetzt,

                      nur noch Moment, ich schaue nach stand noch drin.

                      Warum auch immer der 2. Teil verschwunden ist… :shock:

                      Gruß

                      Dirk

                      http://www.DessauWetter.de

                      (ioBroker auf IntelNuc und Proxmox)

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

                        das passiert eigentlich nur wenn man in der App Geräte verwirft und neu sucht.

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

                          @dslraser:

                          das passiert eigentlich nur wenn man in der App Geräte verwirft und neu sucht. `

                          OK, Danke. Dann weiß ich jetzt warum. 🙂

                          Gruß

                          Dirk

                          http://www.DessauWetter.de

                          (ioBroker auf IntelNuc und Proxmox)

                          1 Antwort Letzte Antwort
                          0
                          • E Offline
                            E Offline
                            einbeins
                            schrieb am zuletzt editiert von
                            #64

                            @dslraser:

                            Alexa, sind noch irgendwo Fenster auf…

                            Ich habe meine Ansage/Abfrage über das Gewerk Fenster verändert und lasse mir nun Raumnamen mit geöffneten Fenstern ansagen.

                            Das Gewerk für dieses Script heißt Fenster

                            Wenn bei Euch das Gewerk für Fensterkontakte anders heißt muss das im Script angepasst werden.

                            (mit der Ansage einzelner Fenster wurde bei mir das 250 Zeichen Limit von Alexa speak gesprengt.)

                            Bei mehreren Echos/Alexas wird die Anfrage an dem Gerät beantwortet wo sie gestellt wurde. Ich habe hier mehrere Echos in mehreren Räumen im Blockly, zu sehen an den gelben Kommentaren.

                            Script 1 zum Gewerk Fenster:

                            Script 2 unter global (doppelte Raumnamen entfernen)

                            Script 3 Fensterabfrage Blockly Export `

                            Hi,

                            ich würde mir das Script gerne "nachbauen" und auf meine Bedürfnisse anpassen. Leider bin ich noch blutiger Anfänger und hab daher ein paar Fragen:

                            1. was meinst du mit "Gewerk Fenster" oder "Gewerk Licht"? Ist das eine interne Gruppierung oder so?

                            2. Wo muss ich die ersten beiden Scripte einfügen damit es funktioniert? Blockly kriege ich hin, wo die ersten beiden hinkommen ist mir nicht klar.

                            Vielen Dank erstmal für die Hilfe!

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

                              Mit Gewerken (der Begriff kommt von Homematic CCU) meine ich Funktionen. Also unter Aufzählungen / Funktionen.

                              Das Fensterscript an sich kannst Du einfach ein neues leeres Script erstellen und den Inhalt dort einfügen.

                              Das 2.Script kommt in den vorhandenen Ordner global.![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 8e9ce9.jpg">https://uploads.tapatalk-cdn.com/20180904/5ecb55f201f45b7b22b12573fa8e9ce9.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 7f5ef1.jpg">https://uploads.tapatalk-cdn.com/20180904/373eed531332b65f67a804facc7f5ef1.jpg</link_text>" />~~~~

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                Mr.X
                                schrieb am zuletzt editiert von
                                #66

                                Hallo zusammen,

                                ich möchte meinen Briefkasten dazu bringen mir eine Nachricht an Alexa zu schicken mittels HM Fensterkontakt.

                                Ich möchte aber nicht, dass die Nachricht sofort ausgegeben wird, das habe ich schon hinbekommen, sondern dass

                                der Echo leuchtet und mir signalisiert, dass eine Nachricht zum abrufen bereit ist.

                                Ähnlich, wie es der Abfallkalender Skill macht.

                                Mit "Alexa, welche Benachrichtigung habe ich" wird dann erst die Ausgabe gemacht.

                                Geht das mit dem Alexa 2 Adapter?

                                1 Antwort Letzte Antwort
                                0
                                • haselchenH Offline
                                  haselchenH Offline
                                  haselchen
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #67

                                  Hi dslraser

                                  Ich krieg das Fensterscript auch nicht zum Laufen.

                                  Mein Gewerk heisst Verschluss. An welchen Stellen im Script muss ich das eintragen?

                                  Da ich nur 1 Echo habe habe ich das Blockly schrumpfen müssen.

                                  Objekte werden angelegt, komischerweise steht bei Ansage : Alle Fenster sind geschlossen. Aber unten zählt der die Offenen auf.
                                  3723_unbenannt8.png

                                  Und so sieht mein Blockly aus.
                                  3723_unbenannt9.png

                                  bei speak und device name habe ich die entsprechenden Datenpunkte ausgewählt.

                                  Du hast noch ein Script das sich Alexa antwortet Fensterabfrage nennt…..

                                  Fehlt das bei deinen Auflistungen hier?

                                  Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

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

                                    @haselchen:

                                    Hi dslraser

                                    Ich krieg das Fensterscript auch nicht zum Laufen.

                                    Mein Gewerk heisst Verschluss. An welchen Stellen im Script muss ich das eintragen?

                                    Da ich nur 1 Echo habe habe ich das Blockly schrumpfen müssen.

                                    Objekte werden angelegt, komischerweise steht bei Ansage : Alle Fenster sind geschlossen. Aber unten zählt der die Offenen auf.

                                    Unbenannt8.PNG

                                    Und so sieht mein Blockly aus.

                                    Unbenannt9.PNG

                                    bei speak und device name habe ich die entsprechenden Datenpunkte ausgewählt.

                                    Du hast noch ein Script das sich Alexa antwortet Fensterabfrage nennt…..

                                    Fehlt das bei deinen Auflistungen hier? `

                                    Ich habe den Fehler bei mir auch erst gestern bemerkt, ich habe das Script nochmal etwas abgeändert.

                                    //  Status Fenster. Das Script zählt alle Fenster im Gewerk Fenster (Aufzählungen-Funktion)
                                    //  Telegramnachricht bei Abwesenheit wenn sich der Fensterstatus ändert. Bei Anwesenheit in der Homezone keine Nachricht senden.
                                    //  Anwesenheit Datenpunkte separat erstellt und durch die Adapter google-sharedlocation und Places geschaltet
                                    
                                        var logging = true;
                                    
                                        var
                                        idAnzahlAuf = 'javascript.0.Status.Fenster.Anzahl_auf',
                                        idAnzahl = 'javascript.0.Status.Fenster.Anzahl',
                                        idText = 'javascript.0.Status.Fenster.Text',
                                        idRaum = 'javascript.0.Status.Fenster.Raum',
                                        idAnsage = 'javascript.0.Status.Fenster.Ansage';
                                    
                                    //  Ab hier nix mehr ändern
                                        createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Fenster
                                        type: 'number',
                                        name: 'Anzahl aller Fenster',
                                        min: 0,
                                        def: 0,
                                        role: 'value'
                                    });
                                        createState(idAnzahlAuf, { // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
                                        type: 'number',
                                        name: 'Anzahl der geoeffneten Fenster',
                                        min: 0,
                                        def: 0,
                                        role: 'value'
                                    });
                                        createState(idText, { // Anzahl der geoeffneten Fenster und deren Namen als Variable unter Javascript.0 anlegen
                                        type: 'string',
                                        name: 'geoeffnete Fenster',
                                        desc: 'Namen der geoeffneten Fenster',
                                        def: ' ',
                                        role: 'value'
                                    });
                                        createState(idAnsage, {
                                        type: 'string',
                                        name: 'geoeffnete Fenster (Ansage)',
                                        desc: 'Namen der geoeffneten Fenster (für Ansage aufbereitet)',
                                        def: ' ',
                                        role: 'value'
                                    });
                                        createState(idRaum, { // Räume, in denen Fenster geoeffnet sind
                                        type: 'string',
                                        name: 'Räume mit geoeffneten Fenster',
                                        desc: 'Namen der Räume, in denen Fenster geoeffnet sind',
                                        def: ' ',
                                        role: 'value'
                                    });
                                    
                                        var cacheSelectorState = $('channel[state.id=*.STATE](functions="Fenster")'); // Gewerk Fenster
                                    
                                        function checkDevices(obj) {
                                        // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fenster auf 0
                                        var anzahlFensterAuf = 0;
                                        var anzahlFenster = 0;
                                        var textFensterAuf = [];
                                        var textRaum = [];
                                        if (logging) {
                                        log('++++++ Fenster Anzahl ++++ ');
                                        log('#### SCHALTER ##### ');
                                    }
                                        cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster
                                        var obj = getObject(id);
                                        var name = getObject(id).common.name;
                                        var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
                                        var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen
                                        var raumname = getObject(id, "rooms");
                                    
                                        if (logging) {
                                        log('-------');
                                        log('Kanal: ' + name);
                                        log('Status: ' + status);
                                    }
                                        if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt
                                        ++anzahlFensterAuf;
                                        textFensterAuf.push(devicename); // Zu Array hinzufügen
                                        textRaum.push(raumname.enumNames); //
                                    }
                                        ++anzahlFenster; // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
                                    });
                                    
                                        textRaum = deleteDuplicates(textRaum); 
                                    
                                        // Array mit Fensternamen sortieren
                                        textFensterAuf.sort();
                                        textRaum.sort();
                                        // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon auf) ausgegeben
                                        if (logging) log("Text: " + textFensterAuf);
                                        if (logging) log("Anzahl Fenster: " + anzahlFenster + " # davon Fenster auf: " + anzahlFensterAuf);
                                        // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                                        setState(idText, textFensterAuf.join(',\nund\n')); // Schreibt die aktuelle Namen der geoeffneten Fenster
                                        setState(idAnzahlAuf, textFensterAuf.length); // Schreibt die aktuelle Anzahl der geoeffneten Fenster
                                        setState(idAnzahl, anzahlFenster); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fenster
                                        // setState(idRaum, textRaum.join(',
                                    ')); // Räume, in denen Fenster geoeffnet sind
                                        setState(idRaum, textRaum.join(',\nund\n')); // Räume, in denen Fenster geoeffnet sind
                                    }
                                    
                                    //  Trigger
                                        cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Fenster
                                        if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                        checkDevices();
                                    });
                                    
                                        function main() {
                                        setTimeout(function() {
                                        if (logging) log('Auslöser Skriptstart');
                                        checkDevices();
                                        }, 2000);
                                    }
                                    
                                        main(); // Skriptstart-Auslöser
                                    
                                    //  Aufbereitung für Ansage
                                        function strip_tags(data) {
                                        var rueckgabe = data.replace(/( |<([^>]+)>)/ig, " ");
                                        return (rueckgabe);
                                    }
                                    
                                    on(idText, function(obj) {
                                        var text = obj.state.val;
                                        text = (text.length > 1) ? ' ' + strip_tags(text) : 'Alle Fenster geschlossen';
                                        setState(idAnsage, text);
                                    });
                                    
                                    //  Bei Anwesenheit zu Hause keine Telegramnachricht---Bei Abwesenheit sendet Telegram eine Nachricht
                                    //    on({id: 'javascript.0.Status.Fenster.Ansage', change: "ne"}, function (obj) {
                                    //    var value = obj.state.val;
                                    //    var oldValue = obj.oldState.val;
                                    //    if (getState("javascript.0.Anwesenheit.Heiko.Home.Heiko_Home").val === false) {
                                    //    sendTo("telegram", "send", {
                                    //    text: getState("javascript.0.Status.Fenster.Ansage").val,
                                    //    disable_notification:   true // ohne Ton am Handy
                                    //});
                                    //}
                                    //});
                                    

                                    So passt es bei mir.
                                    3822_fenster.jpg

                                    Anpassen für Verschluss ist diese Zeile (bei mir steht da Fenster, Zeile 51)

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

                                    und eventuell mußt Du schauen ob bei Dir .STATE groß oder klein geschrieben werden muss, oder da sogar was anderes hin muss. (steht in den Objekten–-in der RAW Ansicht)

                                    Zum entfernen doppelter Raumnamen habe ich dieses Script unter global

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

                                    Alexa antwortet ist das Blockly.

                                    Wenn die Änderungen nicht laufen, dann starte mal den JS Adapter neu…

                                    Sage mal Bescheid ob das so bei Dir funktioniert. In Deinem Screenshot werden doch in den Datenpunkten schon Fenster angezeigt ? (oder hast Du zwei Gewerke, Fenster und Verschluss ?)

                                    1 Antwort Letzte Antwort
                                    0
                                    • haselchenH Offline
                                      haselchenH Offline
                                      haselchen
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #69

                                      Danke für deine Antwort.

                                      Die Ansage hat sich jetzt aktualisiert.
                                      3723_unbenannt7.png

                                      Aber nach Moment ich schaue mal nach kommt nix mehr.

                                      Ist denn das Blockly richtig was ich abgebildet habe?

                                      Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

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

                                        Dein Blockly sieht richtig aus, wie sieht Deine Routine in der App aus ?

                                        Welche Alexa2 Version hast Du installiert ?

                                        da liegt bei mir das Blockly (Alexa antwortet)
                                        3822_js.jpg
                                        3822_blockly.jpg

                                        und das dann in den Cloudadapter
                                        3822_cloud.jpg

                                        Dann neue Geräte bei Alexa suchen und das Gerät (Script) zur Routine hinzufügen.

                                        ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 5080c2.jpg">https://uploads.tapatalk-cdn.com/20180907/d0595679b09d8d69bab509a0415080c2.jpg</link_text>" />

                                        1 Antwort Letzte Antwort
                                        0
                                        • haselchenH Offline
                                          haselchenH Offline
                                          haselchen
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #71

                                          Hab es durch Zufall jetzt gepackt.

                                          Und zwar habe ich beim Blocky den Punkt Räume mit geöffneten Fenstern genommen aus den Objekten.

                                          Voreingestellt war geöffnete Fenster (Ansage).

                                          3723_unbenannt3.png

                                          Mag sein, dass das doppelt gemoppelt oder mega umständlich ist, aber so sagt sie mir alle offenen Fenster an.

                                          Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          724

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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