Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Alexa Adapter renewed (0.1.0+)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Alexa Adapter renewed (0.1.0+)

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

      Ich hab damit aber meine Rollläden im ganzen Haus 😛

      Und mithilfe einer Routine in Alexa kann ich nun sagen:

      Alexa, Rollladen runter

      und der/die Rollläden in dem Raum, in dem die angesprochene Alexa steht, fahren runter.

      Wenn es nicht ca. 10000 If verschachtelungen wären würde ich das Script umbasteln, meine Javascript Künste sind äußerst DÜNN 😄

      Grüße

      P.S

      Falls ein JS Guru das liest, wie ändere ich den Script, das er die Mapping Table mit einem Datenpunkt abgleicht, und nicht wie im script aus der Abfrage via Http Alexa History ?

      1 Reply Last reply Reply Quote 0
      • E
        Erti1337 last edited by

        @apollon77:

        Frag doch mal den Entwickler des verlinkten Skripts?! `

        Der is Spurlos verschwunden 😛

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

          Aktuellstes Skript ist das dort im ersten Post?

          1 Reply Last reply Reply Quote 0
          • E
            Erti1337 last edited by

            yo version 0.5

            1 Reply Last reply Reply Quote 0
            • T
              timboros last edited by

              @apollon77:

              @timboros:

              erstmal vielen Dank für all die Arbeit die du da reinsteckst. Ist ja nicht selbstverständlich 🙂 `

              Mit solchem Feedback noch viel lieber 🙂

              @timboros:

              Ich versuche gerade ein sonoff inching relay einzubinden damit ich meine Garage entsprechend über IObroker steuern kann. Da es mit Tasmota auf den neuen Geräten nicht so gut klappt und der Sonoff Adapter somit nicht funktioniert, wollte ich es über den alexa Adapter machen und mir die Smarthome Geräte abfragen.

              Ich habe mit dem Adapter vom SOEF rumprobiert, aber keinen Erfolg gehabt (es wurden mir letztlich keine Echo Devices angezeigt). Mit deinem geänderten Adapter habe ich zuerst das Thema captcha erhalten aber mit dem manuellen Auslesen des Tokens umgangen. Nun bekomme ich aber die Meldung Error: No JSON angezeigt. Kann dies mit GIT zu tun haben? `
              Ich verstehe zwar nicht wie das genau gehen soll, aber "No JSON" sagt das auf einen der Calls kein JSON als Antwort zurückkommt sondern ein Text.

              Hast Du denn Echo-Geräte in deinem Amazon-Account drin? Siehst Du die per Amazon Alexa App bzw Web?

              Wenn ja, dann am besten mal Logleel auf Debug und das Log schicken. Dann sehe ich bei welchem Request das passiert `

              Hallo Apollon,

              ja den echodot sehe ich in meiner App und auch im Netz. Hier der Auszug vom Log

              Gruß
              7151_screenshot_2018-07-17-19-09-27-843_com.android.chrome.png

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

                Auf nächste Version warten bitte 😉

                Gesendet vom Handy …

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

                  Kurzer Zwischenstand: Ich habe mich entschieden den Adapter grundlegen nochmal umzubauen um die "soef Library Magie" rauszubauen. Brauche daher noch etwas …

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

                    Hallo ,

                    nochmals danke für Deine Mühe !!

                    mfg

                    mikewolf

                    1 Reply Last reply Reply Quote 0
                    • N
                      nape1 last edited by

                      Da kann ich mich Mikewolf nur anschließen,

                      Danke für die Mühe

                      LG nape1

                      Gesendet von meinem RNE-L21 mit Tapatalk

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

                        Dankeschön auch von mir!

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

                          Grossen Dank und Anerkennung für deine Mühen @Apollon77.

                          Mfg Maggi

                          Gesendet von meinem SM-G955F mit Tapatalk

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

                            Adapter 0.2 ist online und funktioniert perfekt!

                            Vielen Dank für deine Mühen!

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

                              WARTEN!!!!!!!!

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

                                iobroker.alexa ist tod … es lebe iobroker.alexa2 ...

                                Weiter geht es -----> viewtopic.php?f=37&t=15547

                                Bitte iobroker.alexa als Instanzen und Adapter löschen und alexa2 neu installieren!

                                Have fun

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

                                  TAUSEND DANK! 😄

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

                                    @Erti1337:

                                    yo version 0.5 `

                                    Ok, hier mal ein (ungetesteter Versuch) den Adapter zu nutzen.

                                    `// 2\.  Mapping-Tabelle konfigurieren
                                    //
                                    // Mapping-Tabelle der Echo-Geräte zu den Smart Home Geräten (z.B. Lampen). 
                                    // Die SerialNr der Echo-Geräte sind in der Alexa-App unter 
                                    //     Settings->[Echo-Gerät]->Serial Number (vorletzter Eintrag)
                                    // zu finden.
                                    //
                                    // Die Object-IDs in der Aufzählung "deviceIDs" kommen aus ioBroker und können
                                    // direkt aus dem Objects-Reiter kopiert werden.
                                    //
                                    // Es können mehrere Smart Home Geräte jedem Echo zugeordnet werden. In der
                                    // Aufzählung "deviceIDs" mit Komma trennen.
                                    
                                    var mappingTable = [
                                        { "deviceSerialNr" : "G040FL60XXXXXXXX", "deviceIDs": ["hue.0.Philips_hue.Wohnzimmer_Stehlampe.level" ] },
                                        { "deviceSerialNr" : "G080FL20XXXXXXXX", "deviceIDs": ["hue.0.Philips_hue.Bad_Deckenlampe.level" ] } 
                                    ];
                                    
                                    // 3\.  Datenpunkt konfigurieren (optional)
                                    
                                    var forecreation = false;
                                    
                                    // Wenn gewünscht, Pfad und Name nach eigenen Vorstellungen anpassen.
                                    var idAlexaTrigger = 'productive.lichtan.alexa_trigger';
                                    
                                    // Wenn gewünscht, Name und desc für den Datenpunkt anpassen.
                                    // Außerdem kann der Smart Name im CloudAdapter angepasst werden.
                                    createState(idAlexaTrigger, 0, forecreation, {
                                         name: 'Trigger für Alexa',
                                         desc: 'Trigger mit Level für Alexa',
                                         type: 'number',
                                         unit: '',
                                         role: 'value',
                                         smartName:   {
                                           de: 'Licht',
                                           en: 'Licht'
                                        }
                                    });
                                    
                                    // 4\.   Logging konfigurieren (optional)
                                    //
                                    // true schreibt in den Log, was das Script macht.
                                    var logOn = true;
                                    
                                    // Ende der Einrichtung. 
                                    // Nachfolgend der eigentliche Source Code des Scripts.
                                    //------------------------------------------------------------------------------
                                    
                                    //------------------------------------------------------------------------------
                                    // Funktionen
                                    
                                    function main() {
                                    
                                        var serialNumber = getState('alexa2.0.history.serialNumber').val;
                                    
                                        // durchsuche Mapping-Table und schalte die verknüpften Geräte
                                        for (var i = 0; i < mappingTable.length; i++ ) {
                                            if (mappingTable[i].deviceSerialNr === serialNumber ) {
                                                for (var j = 0; j < mappingTable[i].deviceIDs.length; j++) {
                                                    if(logOn) log("Set new value for device " + mappingTable[i].deviceIDs[j]);
                                    
                                                    var oldValue = "" + getState(mappingTable[i].deviceIDs[j]).val;
                                                    if(logOn) log("Old Value: " + oldValue);
                                                    if (oldValue === 'true' || oldValue === 'false') {
                                                        var newValue = "" + getState("javascript."+instance+"."+idAlexaTrigger).val;
                                                        if(logOn) log("New Value: " + newValue);
                                                        if (newValue === '0') {
                                                            setState(mappingTable[i].deviceIDs[j], false);
                                                        } else {
                                                            setState(mappingTable[i].deviceIDs[j], true);
                                                        }
                                                    } else {
                                                        setState(mappingTable[i].deviceIDs[j], getState("javascript."+instance+"."+idAlexaTrigger));
                                                    }
                                                }
                                    
                                            }
                                        }
                                    }
                                    
                                    // Subscriptions
                                    // -----------------------------------------------------------------------------
                                    
                                    on({id: "javascript."+instance+"."+idAlexaTrigger ,change:'any'}, function (obj) {
                                        if(logOn) log("Alexa Trigger changed: " + obj.state.val);
                                    
                                        var triggerResult = on({id: 'alexa2.0.history.creationTime', change: 'ne', ack: true}, function(data) {
                                            unsubscribe(triggerResult);
                                            triggerResult = null;
                                            main(); 
                                        });
                                    
                                        setState('alexa2.0.history.#trigger', true, false);
                                        setTimeout(function() {
                                            //Wir warten nur 5 Sekunden auf neue Daten, dann brechen wir ab
                                            if (triggerResult) {
                                                unsubscribe(triggerResult);
                                                log('No update in history');
                                            }
                                        }, 10000);
                                        main();
                                    });` 
                                    
                                    die Logik registriert sich für Änderungen des creationTime Datenpunkts der sich ändert wenn es neue Nachrichten gab, dann triggert er die History-Abfrage. Wenn dann innerhalb von 10 Sekunden der creationTime geändert wurde dann gab es was und das kann ausgelesen werden. 
                                    
                                    Versuch mal ...  wenns nicht tu schick mal log wenn du für dias Skript log im javascript adapter einschaltest[/i][/i][/i][/i][/i][/i][/i]
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • E
                                      Erti1337 last edited by

                                      javascript.0 2018-07-20 12:58:00.817 warn at Object. <anonymous>(script.js.common.RolloTEST:153:5)

                                      javascript.0 2018-07-20 12:58:00.817 warn at main (script.js.common.RolloTEST:104:81)

                                      javascript.0 2018-07-20 12:58:00.812 warn getState "alexa2.0.history.serialNumber" not found (3)

                                      In dem Datenpunkt steht ja auch nichts 🙂

                                      muss da nicht vorher der update Trigger ausgelöst werden ?? oder bin ich blind 😄

                                      Grüße

                                      P.S

                                      Wenn ich z.b im Schlafzimmer LICHT an sage geht ja auch mein Licht an (hat null mit dem script zu tun).

                                      Und wenn ich nun update trigger drücke vom Alexa2 adapter unter History erscheint nichts,

                                      Ist doch nicht normal oder ?^^</anonymous>

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

                                        Du solltest vorher den Alexa2-Adapter installieren 🙂 oder falls Du noch "alexa" Adapter hast dann ändere die Datenpunkte in alexa.0

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          Erti1337 last edited by

                                          Doch der Datenpunkt ist da…... aber 0 inhalt 😛

                                          P.S

                                          alexa2.0 2018-07-20 12:44:02.903 warn setObject history (type=state) property common.role missing!

                                          kam bei der installation oder beim starten vom adapter.

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

                                            Restarte mal den Adapter

                                            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

                                            982
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            207
                                            27213
                                            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