Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Script "LichtAn": Erkennt von welchem Echo-Gerät Befehl kommt

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Script "LichtAn": Erkennt von welchem Echo-Gerät Befehl kommt

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

      Erstmal hallo Arnulf,

      kurz zu meinem Problem ich habe den Fehler selbst gefunden.

      Es war wieder so einfach dass ich selbst zu kompliziert gedacht habe.

      Dann nun zu dir Arnulf erstmal willkommen in der ioBroker Welt.

      Was dieses Script angeht wenn man wie meinem Fall einmal richtig geschaut hätte wäre es klar gewesen.

      So dann also du kopierst dir das Script so wie es Stefan im ersten Post gepostet hat.

      Dann gehst du in deinen IO rein oben im Reiter Skripte (Voraussetzung ist natürlich dass du auch den Javascript Adapter installiert hast) dort gehst du dann Links

      auf das kleine Symbol um ein neues Skript anzulegen dann erscheint auf der rechten Seite die Auswahl Blockly oder Java dort wählst du dann Java aus und kannst dann im

      rechten Bereich das Script rein kopieren.

      Und dann wie dort im Script beschrieben alles anpassen, wie gesagt die Voraussetzung dafür ist dass du das LOGON Script am laufen hast.

      Hoffe ich konnte dir weiterhelfen.

      Nachtrag: Ja das war das Problem Stefan die Klammern. Ich habe das ganze mal weiter gesponen und probiert es lassen sich damit auch Datenpunkte schalten was richtig gut ist.

      Denn in meinem Fall konnte ich so noch meine Sonos aus der Küche mit einbinden die ich über eine kleines Zusatzscript in dem nur PLAY/STOP und Volume geregelt wird, eben in der Abhängigkeit ob der Datenpunkt True oder false ist.

      MFG

      Maggi

      1 Reply Last reply Reply Quote 0
      • S
        Stefan.Franke last edited by

        @Arnulf:

        ich fühle mich so doof….

        gerade bin ich über diesen Beitrag gestolpert.

        Ich bin noch ganz neu in dem Thema ioBroker und relativ neu mit meinen Alexas unterwegs.

        Ich habe ja schon einiges gelernt, aber hier bin ich noch überfordert.

        wo und wie muss man denn das Skript speichern bzw. aufrufen?

        Da ich genau nach DIESER Möglichkeit, also gleiche Befehle steuern Zimmerabhängig ähnliche geräte (Licht, TV...), bin ich extrem daran interessiert, dass das auch bei mir funktioniert.

        🙂 `

        Helfe gerne 😉

        Welche Art von Lampen hast Du? Für manche Lampen funktioniert die zimmerabhängige Steuerung von Alexa mittlerweile direkt über die Gruppen in der App, z.B. Philips Hue.

        Wenn Du nur Hue verwendest, dann würde ich es zunächst mit dem direkten Weg in der App versuchen.

        Für alles exotischere, oder Zwischenschalter verschiedener Hersteller etc. oder Sonderlogik, die Du vor hast, eignet sich das Script.

        Für TV, PCs oder andere Geräte, die zimmerabhängig gesteuert werden sollen, gibt es derzeit von Amazon keine Möglichkeit.

        Hier geht nur das Script, mit entsprechender Anpassung des Smart-Gerät-Names im Konfigurationsteil.

        Maggi hat gerade gepostet, wie Du mit dem Script dann weiter kommst 🙂

        Schreib einfach, wenn Du weitere Fragen hast.

        1 Reply Last reply Reply Quote 0
        • S
          Stefan.Franke last edited by

          @csamaggi:

          Nachtrag: Ja das war das Problem Stefan die Klammern. Ich habe das ganze mal weiter gesponen und probiert es lassen sich damit auch Datenpunkte schalten was richtig gut ist.

          Denn in meinem Fall konnte ich so noch meine Sonos aus der Küche mit einbinden die ich über eine kleines Zusatzscript in dem nur PLAY/STOP und Volume geregelt wird, eben in der Abhängigkeit ob der Datenpunkt True oder false ist. `

          Cool, sowas meinte ich gerade mit Sonderlogik, die jeder gerne für seine Situation dazu haben möchte.

          1 Reply Last reply Reply Quote 0
          • A
            Arnulf last edited by

            Stefan, danke für das Angebot.

            Ich verwende gerade einen ganzen Zoo von Geräten mit unterschiedlichen Herstellern. Gefühlt ist jedes Gerät anders.

            zwei Dots, ein Plus.

            Dann Lampe von IKEA.

            Sonoff Schalter. Mit alternativer Firmware und original.

            TP-Link Steckdose

            HUE Lampe

            Fritzbox

            Samsung-TV

            Harmony Hub

            RM3 Mini von Broadlink

            Demnächst sollen noch Temparatur-Sensoren und Strommess-Steckdosen hinzu kommen….

            Der ioBroker läuft auf einem Raspi 3+

            Bin schon sehr storlz, dass ich das alles seit Weihnachten zum Fliegen gebracht habe, da eigentlich ALLES für mich neu war.

            Aber primär geht es mir zunächst darum, den Samsung im Schlafzimmer mit meinem RM3 Mini und den Samsung im Wohnzimmer über den harmony Hub so zu steuern, dass die Sprachbefehle gleich und bei der Harmony nicht immer mit dem Zusatz "mit Harmony" funktionieren.

            Später sollen meine Schalter Zimmerabhängig funktionieren....

            Im Grunde aber brauche ich erst mal ein grundverständnis, wie ich die JS-Module in ioBroker einbaue und wie ich die aufrufe.

            Den Code werde ich dann wahrscheinlich schon verstehen (komme aus der IT) und ihn dann für meine Zwecke modifizieren.

            1 Reply Last reply Reply Quote 0
            • S
              Stefan.Franke last edited by

              Hört sich nach einen hübschen Zoo an 😉

              Für die TV-Anbindung musst Du in der Tat das Script entsprechend anpassen, so dass je nach Echo, die Aktivitäten in der Harmony oder in Broadlink gestartet werden.

              Solltest Du dann aber mit IT-Kenntnissen hinbekommen.

              Grundlegend ist es so im JS-Module verwaltest Du die Scripte, also Anlegen, Editieren, Löschen. Du kannst die Scripte in Ordner strukturieren und vieles mehr.

              Zusätzlich fungiert die Oberfläche aber auch als Operationsbasis für die Scripte. Du kannst sie starten und stoppen und das Log einsehen, wenn sie laufen.

              In ioBroker ist der Objekt-Reiter die zentrale Anlaufstelle für die Kommunikation von Daten zwischen zwei Scripen bzw. zwischen IoT-Gerät und Scripten.

              Ergo, kannst Du in einem Script Datenpunkte im Objektreiter anlegen (siehe LichtAn-Script im Konfigurationsteil).

              Diese Datenpunkte werden dort normalerweise unter dem Eintrag "javascript…" erzeugt. Im Script-Code kann darauf mit setState() und getState() zugegriffen werden.

              Außerdem können Scripte auch auf Änderungen von Datenpunkte lauschen und bei einer Änderung Code ausführen.

              Das können sowohl Statusänderungen von IoT-Geräten sein (Licht an/aus) oder durch Scripte generierte Änderungen.

              1 Reply Last reply Reply Quote 0
              • A
                Arnulf last edited by

                Krass.

                kurz und knapp.

                Habe nach deiner Beschreibung mal das AlexaLogOn-Script eingebaut, konfiguriert, gestartet ==> läuft

                Vielen Dank.

                Jetzt bin ich schon wieder einen großen Schritt weiter gekommen… und mus erst mal verstehen, was hier passiert ist 😉

                [Nachtrag]: Unglaublich. Auch das Licht-An-Skript läuft (nach dem zweiten Versuch) einwandfrei

                Auch wenn ich es zunächst mal nur mit Lampen ausprobiert habe

                Riesiges DANKE!

                1 Reply Last reply Reply Quote 0
                • S
                  Stefan.Franke last edited by

                  @Arnulf:

                  Riesiges DANKE! `

                  Freut mich 🙂

                  1 Reply Last reply Reply Quote 0
                  • W
                    Wuast94 last edited by

                    könnte man das ganze spektakel nicht auch mit in den Cloud adapter paken ? wäre doch schön wenn man es für alle einfacher macht

                    1 Reply Last reply Reply Quote 0
                    • S
                      Stefan.Franke last edited by

                      @Wuast94:

                      könnte man das ganze spektakel nicht auch mit in den Cloud adapter paken ? wäre doch schön wenn man es für alle einfacher macht `

                      Da musst Du die Entwickler des Cloud-Adapters fragen, ob sie das wollen, ob das technisch überhaupt möglich/sinnvoll ist. Keine Ahnung…

                      Ich stimme Dir aber zu, dass ein Adapter (muss ja nicht im Cloud-Adapter sein) es für Anfänger zunächst einmal einfacher machen würde.

                      Auf der anderen Seite ist das schöne an einem Script, dass jeder, der ein bisschen Coding-Erfahrung hat, hier ganz einfach seine Sonderlogik hinzucoden kann (wie bei Maggi vorhin z.B.).

                      1 Reply Last reply Reply Quote 0
                      • M
                        myiob last edited by

                        Hallo zusammen,

                        herzlichen Dank für die sehr guten Scripts von Stefan!

                        Habe Alexa erst seit Weihnachten und bin leider noch ein Newcomer.

                        Meine Frage: wie / was muß ich in iobroker tun, damit Alexa Licht an triggert.

                        Mit cloud kann ich das Licht über Alexa schalten, aber nicht mit dem Skript.

                        cloud möchte ich aber nicht weiter nutzen.

                        Cookie ist vorhanden und gültig. Aber in Alexa bekomme ich kein Gerät und somit auch keinen Trigger um das Skript Alexa_Licht_ein (main) zu starten.

                        Vielleicht kann mir jemand den entscheidenden Tip geben, wie ich das in Alexa hin bekomme!?

                        Besten Dank im Voraus.

                        1 Reply Last reply Reply Quote 0
                        • S
                          Stefan.Franke last edited by

                          @myiob:

                          Meine Frage: wie / was muß ich in iobroker tun, damit Alexa Licht an triggert.

                          Mit cloud kann ich das Licht über Alexa schalten, aber nicht mit dem Skript.

                          cloud möchte ich aber nicht weiter nutzen. `

                          Bin mir jetzt nicht ganz sicher, was Du mit cloud meinst.

                          Geht es um den cloud-Adapter in iobroker? -> für das Script unbedingt erforderlich, weil er dafür sorgt, dass der Trigger für das Script befüllt wird.

                          Oder meinst Du, dass Du die Gruppenzuordnung in der Alexa App nicht nutzen willst? -> Dafür kann das Script als Ersatz dienen

                          Generell sollte aber klar sein, dass die Spracherkennung und Verteilung an den ensprechenden Skill (hier ioBroker Skill) immer in der Cloud bei Amazon passiert.

                          Du kannst Dir zum Beispiel mein Script zum Löschen der Sprachbefehle aus der Cloud ansehen: http://forum.iobroker.net/viewtopic.php?f=37&t=9770

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

                            @Dirk:

                            Tag und Nacht andere Level zu haben, kann ich nachvollziehen. ` Moin Dirk,

                            ich bin gerade über diese Anforderung gestolpert.

                            Du könntest dass Umsetzen in dem Du separate Scripte anlegst, die das Einschalten der Lampe beobachten und dann bei bestimmten Uhrzeiten entweder sofort dimmen, oder anders herum - den abgedimmten Wert als Standard ganze nicht an und zu bestimmten Uhrzeiten hellt das Script dann auf (ähnlich eines Softstarts).

                            Dann muss das nicht über die Alexa Steuerung abgebildet werden.

                            1 Reply Last reply Reply Quote 0
                            • M
                              myiob last edited by

                              Hallo Stefan,

                              danke für die rasche Antwort.

                              Ja, ich meinte den cloud-Adapter in Biobroker. Auf den ich gerne ganz verzichten würde, so wie ich aus Deinem Script 'Lichtein' interpretiert habe.

                              Scheinbar geht das aber Doch nur mit dem cloud-Adapter um den Trigger zu bekommen. Damit hatte ich auch schon Erfolg.

                              Der cloud-Adapter ist bei mir sehr instabil und die Verbindung mal da und mal nicht.

                              Besten Dank nochmals für Deine Erläuterung.

                              1 Reply Last reply Reply Quote 0
                              • D
                                Dirk last edited by

                                @BBTown:

                                @Dirk:

                                Tag und Nacht andere Level zu haben, kann ich nachvollziehen. ` Moin Dirk,

                                ich bin gerade über diese Anforderung gestolpert.

                                Du könntest dass Umsetzen in dem Du separate Scripte anlegst, die das Einschalten der Lampe beobachten und dann bei bestimmten Uhrzeiten entweder sofort dimmen, oder anders herum - den abgedimmten Wert als Standard ganze nicht an und zu bestimmten Uhrzeiten hellt das Script dann auf (ähnlich eines Softstarts).

                                Dann muss das nicht über die Alexa Steuerung abgebildet werden. ` Hallo BBTown, das ist auch eine gute Idee. Ich probiere das mal aus.

                                Danke für die Anregungen

                                Dirk

                                Gesendet von meinem SM-G920F mit Tapatalk

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Stefan.Franke last edited by

                                  @BBTown:

                                  @Dirk:

                                  Tag und Nacht andere Level zu haben, kann ich nachvollziehen. ` Moin Dirk,

                                  ich bin gerade über diese Anforderung gestolpert.

                                  Du könntest dass Umsetzen in dem Du separate Scripte anlegst, die das Einschalten der Lampe beobachten und dann bei bestimmten Uhrzeiten entweder sofort dimmen, oder anders herum - den abgedimmten Wert als Standard ganze nicht an und zu bestimmten Uhrzeiten hellt das Script dann auf (ähnlich eines Softstarts).

                                  Dann muss das nicht über die Alexa Steuerung abgebildet werden. `

                                  Stimmt, das macht es wirklich einfacher. So muss man nicht alles in ein Script packen und ist flexibler. Und es würde auch für Schaltungen unabhängig von Alexa funktionieren.

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Stefan.Franke last edited by

                                    @myiob:

                                    Der cloud-Adapter ist bei mir sehr instabil und die Verbindung mal da und mal nicht. `

                                    Das Problem habe ich in letzter Zeit leider auch. Zusätzlich gibt es jetzt auch noch die Probleme mit geblockten Accounts.

                                    Bin ich auch betroffen, ohne zu wissen warum…

                                    Insofern kann ich nachvollziehen, dass Du da eine andere Lösung haben möchtest.

                                    Aber im Moment ist der Adapter die einzige mir bekannte Möglichkeit.

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      Arnulf last edited by

                                      ich spiele gerade noch an der Möglichkeit, dem Skript eine Erkennungsfunktion zu spendieren, die erkennt, welcher Befehl gesprochen wurde.

                                      Leider ist mir bis jetzt nicht ganz klar, was die Rückgabewerte im body aussagen.

                                      Der text in der Summary listet zwar den erkannten Text auf, allerdings der gesprochene Text und nicht der SmartName.

                                      Und dann manchmal mit und manchmal ohne "alexa"

                                      Und dann gibt es noch den Parameter "firstUtteranceId" der schein immer konstant zu sein. Damit schon einmal ein Kandidat. Aber was bedeutet er?

                                      Eine Idee?

                                      [Edit]

                                      ich habe gerade gesehen, dass ich vielleicht gar nicht den Body dafür brauche. Der Body ist vielleicht wirklich nur wichtig, woher der Request kam.

                                      Im Objekt cloud.0.smart.last*** steht alles, was von Alexa zurück kam. Also auch welches Script/Device angesprochen wurde, der Wert und das Ergebnis.

                                      Seltsamerweise gibt es dort auch ein lastRoom. Nur steht da nix drin.

                                      Mit diesen Informationen kann ich aber vielleicht schon weiter arbeiten

                                      [Edit 2]

                                      Leider erkennt das Skript nur den letzten Smart-Namen. Warum?

                                      cloud.0 bekommt alle Befehle korrekt zurück geliefert. und Alexa meldet auch OK

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        Stefan.Franke last edited by

                                        @Arnulf:

                                        Im Objekt cloud.0.smart.last*** steht alles, was von Alexa zurück kam. Also auch welches Script/Device angesprochen wurde, der Wert und das Ergebnis.

                                        Seltsamerweise gibt es dort auch ein lastRoom. Nur steht da nix drin. `

                                        Bei mir sind alle diese Einträge leer.

                                        Vielleicht ist hier für die Zunkunft eine Funktion vorgesehen… frag am besten bei den Entwicklern dieses Adapters nach

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          Arnulf last edited by

                                          🙂

                                          ich glaube, ich habe jetzt eine Lösung gefunden….

                                          Teil 1: Dei Skript stekkt einen universellen Connector zur Verfügung. Der heißt dann vielleicht nicht "Licht" sondern "universal"

                                          Das bedeutet, dass nur ein neues Objekt angelegt wird.

                                          Im Cloud-Adapter wird dann dieser Universaladapter ausgewählt, ihm aber alle Gerätenamen/Sender oder was auch immer als Komma-separierte Liste eingetragen. (Apfel, Birne, Licht, TV....)

                                          Teil2: Dei Skript empfängt wie vorher beim Licht im Body der Antwort von Alexa den Namen des Echo-Gerätes.

                                          Jetzt aber wird nicht geschaut, was in deinem Skript als Funktion hinterlegt wird, sondern in cloud.o.lastObjektID geprüft, ob im Cloud-Adapter ein Kommando erkannt wurde.

                                          Wenn ja, steht das Bezugsgerät in lastResponse und der Wert in lastCommand

                                          Aus diesem Informationsmix kann man nun beliebige Dinge tun.....

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            Stefan.Franke last edited by

                                            @Arnulf:

                                            🙂

                                            Teil 1: Dei Skript stekkt einen universellen Connector zur Verfügung. Der heißt dann vielleicht nicht "Licht" sondern "universal"

                                            Im Cloud-Adapter wird dann dieser Universaladapter ausgewählt, ihm aber alle Gerätenamen/Sender oder was auch immer als Komma-separierte Liste eingetragen. (Apfel, Birne, Licht, TV….) `

                                            Das kannst Du jetzt schon machen. Halt nur manuell.

                                            Dann im Script den zurückgegebenen Text nach den Schlüsselworten durchsuchen und je Schlüsselwort und Raum eine Funktion starten.

                                            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

                                            889
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            24
                                            104
                                            16628
                                            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