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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alexa Adapter renewed (0.1.0+)

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                • E
                  Erti1337 last edited by

                  OK, nun folgt der Langzeittest :)))

                  VIELEN VIELEN DANK !!

                  U MADE MY DAY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                  Grüße

                  Erti

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

                    Bug gefunden. 0.2.1. auf Github fixt das

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

                      Hallo,

                      leider werden bei mir die Geräte immer umbenannt…....

                      2858_screenshot__272__li.jpg

                      2858_screenshot__271_.png

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

                        Dann wie gesagt bitte Debug log her vom Adapter von einer Aktion wenn das passiert (wenn Du sagst "immer" dann sollte es ja nachvollziehbar sein" 🙂

                        ABe rbitte, wenn 0.2.0 und alexa2 im anderen Thread!!

                        1 Reply Last reply Reply Quote 0
                        • S
                          StyleForceOne last edited by

                          hallo,

                          erstmal sehr geil! wenn das alles so funktioniert kann ich entlich alles steuern 😉 🙂

                          leider habe ich bei smart-home-devices bei jedem gerät nur 2 punkte, einer davon ist löschen :!: leider habe ich das jetzt bei sehr vielen gemacht weil ich es nicht geschafft hab und ich gehofft habe so die steckdosen zu triggern.. meistens kann man die objekte ja ändern das schaffe ich leider nicht.. und es steht auch alles auf true obwohl nicht jede steckdose an ist, bzw nicht jeder sonoff an bzw aus…

                          ist vermutlich mein fehler.. hat wer eine idee?

                          lg
                          8042_alexa.png

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

                            Am besten im anderen Thread weiter. Stand heute ist aber das smart devices nur angezeigt werden ob sie aktiviert/deaktiviert sind oder sie zu löschen. Triggern steht. Ich auf der todo Liste. Müsste schon im GitHub ales request/issue stehen. Dort bitte Voten!!

                            Gesendet vom Handy …

                            1 Reply Last reply Reply Quote 0
                            • S
                              StyleForceOne last edited by

                              ok verstehe danke 🙂

                              wenn ich sie gelöscht hab wie bekomme ich sie wieder? habe unabsichtlich zu viel gelöscht .. durch das löschen und neu installieren des adapters kann ich die gelöschten leider nicht wiederherstellen…

                              alles klar danke werde ich machen und werde ab jetzt im neuen thread schreiben, hab den nicht gesehne...

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

                                In alexa App gehen und Neu devices suchen. Dann sollten sie wiederkommen

                                Gesendet vom Handy …

                                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

                                440
                                Online

                                31.8k
                                Users

                                80.0k
                                Topics

                                1.3m
                                Posts

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