Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Alexa Shopping List mit Bring synchronisieren

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Alexa Shopping List mit Bring synchronisieren

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

      Hallo zusammen,

      leider wird demnächst die direkte Einbindung der Alexa Einkaufsliste in Bring abgeschaltet.
      Siehe folgender Beitrag:
      Drittanbieter können nicht mehr an die Listen andocken
      „Ab dem 1. Juli 2024 werden Sie nicht mehr in der Lage sein, Listen-Skills oder die List Management REST API zu verwenden, um in Ihren Skills oder Apps auf Alexa-Listen zuzugreifen, d.h. auf die Alexa-Einkaufs- und To-Do-Listen”, schreibt das Unternehmen. Gemeint sind damit Entwickler:innen. Aber auch auf Nutzer:innen hat das Auswirkungen. Sie können die Listen der To-do-Apps ab Stichtag nicht mehr per Sprachbefehl synchronisieren.

      Kann mir jemand sagen ob dann noch der Einkaufslisten Adapter von iob funktioniert und falls ja, hat jemand zufällig ein script mit dem ich die beiden Listen (Amazon/Bring) synchronisieren kann?
      Beide Adapter sind installiert.

      Danke und schönen Gruß
      Tom

      Dicken 1 Reply Last reply Reply Quote 0
      • Dicken
        Dicken @Oreider last edited by

        @oreider Da häng ich mich mal dran.

        Die selbe Meldung hab ich von Anylist und Todoist bekommen. Von Anylist gibt es zwar ein Workaround aber das ist nicht sehr WAF-Tauglich.... "Alexa sag Anylist sie soll Äpfel auf die Einkaufsliste setzen" soll dann zwar gehen, ist aber doch total dämlich....

        1 Reply Last reply Reply Quote 0
        • R
          Rushmed Most Active last edited by

          Ich bin bin hier auch an einer Lösung interessiert.

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

            Wenn hier die "normale" Einkaufsliste genutzt wird, dann verwendet doch den Alexa-Adapter. Ich habe mir ein Skript gebaut, mit dem ich eine JSON bekomme und kann damit dann alles in der VIS darstellen. Bei jeder Änderung via APP oder Sprache wird die Liste aktualisiert. Geht auch mit der ToDo-Liste.

            Ro75.

            R 1 Reply Last reply Reply Quote 0
            • R
              Rushmed Most Active @Ro75 last edited by

              @ro75 Ich stelle mal die Vermtung an dass auch der Alexa Adapter die Listen ab dem ersten Juli nichtmehr lesen kann.

              Dicken 1 Reply Last reply Reply Quote 1
              • Dicken
                Dicken @Rushmed last edited by

                @rushmed sagte in Alexa Shopping List mit Bring synchronisieren:

                @ro75 Ich stelle mal die Vermtung an dass auch der Alexa Adapter die Listen ab dem ersten Juli nichtmehr lesen kann.

                Genau das denke ich auch, leider...

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

                  @Rushmed @Dicken . Also mit den Vermutungen habe ich es nicht so. Mit dem Alexa-Adapter funktioniert alles so wie immer.

                  Hier mal meine JSON mit einem Auszug von heute (früh und eben).

                  [
                    {
                      "completed": false,
                      "createdDateTime": 1719844870288,
                      "customerId": "A2MXXXXXXXXXXX2ED",
                      "id": "eddf3bbe-CCCC-XXXX-YYYY-00000079fb37",
                      "listId": "A2MXXXXXXXXXXX2ED-SHOP",
                      "shoppingListItem": true,
                      "updatedDateTime": 1719844870288,
                      "value": "semmeln",
                      "version": 1
                    },
                    {
                      "completed": false,
                      "createdDateTime": 1719807991615,
                      "customerId": "A2MXXXXXXXXXXX2ED",
                      "id": "85b357a7-CCCC-XXXX-YYYY-00000000c9fa",
                      "listId": "A2MXXXXXXXXXXX2ED-SHOP",
                      "shoppingListItem": true,
                      "updatedDateTime": 1719807991615,
                      "value": "rasiergel",
                      "version": 1
                    },
                    {
                  

                  Ro75.

                  Dicken 1 Reply Last reply Reply Quote 0
                  • Dicken
                    Dicken @Ro75 last edited by

                    @ro75 grade getestet, bei mir funktionieren komischerweise auch nach wie vor die Anylist und Todoist integrationen.

                    Juergen Sußner 1 Reply Last reply Reply Quote 0
                    • Juergen Sußner
                      Juergen Sußner @Dicken last edited by

                      @dicken

                      Zumindest einen oneWay Sync mit todoist konnte ich bauen,

                      const axios = require('axios');
                      
                      // Überwachen der Änderung des JSON-Arrays
                      on({id: 'alexa2.0.Lists.SHOPPING_LIST.json', change: 'any'}, function (obj) {
                          try {
                              const jsonArray = JSON.parse(obj.state.val);
                              if (jsonArray && jsonArray.length > 0) {
                                  const currentTime = Date.now();
                                  const timeLimit = 30 * 60 * 1000; // 30 Minuten in Millisekunden
                      
                                  // Überprüfen, ob das erste Element innerhalb der letzten 30 Minuten erstellt wurde
                                  const createdDateTime = jsonArray[0].createdDateTime;
                                  const completed=jsonArray[0].completed;
                                  console.log(jsonArray[0]);
                                  if (currentTime - createdDateTime < timeLimit && !completed ) {
                                      const item = jsonArray[0].value;
                      
                                      const data = {
                                          content: item,
                                          project_id: '12345678'
                                      };
                      
                                      axios.post('https://api.todoist.com/rest/v2/tasks', data, {
                                          headers: {
                                              'Content-Type': 'application/json',
                                              'X-Request-Id': '598cee9a-cec2-44c0-9cc6-e3eae1608c53',
                                              'Authorization': 'Bearer $token'
                                          }
                                      })
                                      .then(response => {
                                          console.log('Task created successfully:', response.data);
                                      })
                                      .catch(error => {
                                          console.error('Error creating task:', error);
                                      });
                                  } else {
                                      console.log('The item is older than 30 minutes, no task created.');
                                  }
                              }
                          } catch (e) {
                              console.error('Error parsing JSON:', e);
                          }
                      });
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • Dicken
                        Dicken last edited by

                        @juergen-sußner das klappt aber auch nur solange der alexa Adapter auch noch Zugriff auf die amazon api hat.

                        Hab grad nochmal getestet, also die Synchronisierung mit todoist und anylist funktionieren heute leider nicht mehr direkt.

                        Hoffen wir mal das der Alexa Adapter für iobroker weiterhin funktioniert.

                        Ro75 1 Reply Last reply Reply Quote 0
                        • Ro75
                          Ro75 @Dicken last edited by

                          @dicken beim mir funktioniert der Alexa-Adapter wunderbar und die Shopping-Liste wird auch sofort aktualisiert.

                          Ro75.

                          Dicken 1 Reply Last reply Reply Quote 0
                          • Dicken
                            Dicken @Ro75 last edited by

                            @ro75 perfekt, danke für den Hinweis. Dann werd ich mir die Brücke über den alexa2 Adapter bauen 🙂

                            Ro75 1 Reply Last reply Reply Quote 0
                            • Ro75
                              Ro75 @Dicken last edited by Ro75

                              @dicken Warum Brücke? Kannst den Code gerne von mir nutzen.

                              const JSONEinkaufsliste = '0_userdata.0.Alexa.Einkaufsliste';
                              const JSONEToDoListe    = '0_userdata.0.Alexa.ToDoListe';
                              
                              createState(JSONEinkaufsliste, '[]', {read: true, write: true, desc: 'JSON String for Widget', type: 'string', def: '[]'});
                              createState(JSONEToDoListe, '[]', {read: true, write: true, desc: 'JSON String for Widget', type: 'string', def: '[]'});
                              
                              function ListCleaner(Eintrag='') {
                                  const arr = Eintrag.split(' ');
                                  for (let i = 0; i < arr.length; i++) {
                                      arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1);
                                  }
                                  return arr.join(' ');
                              }
                              
                              function ListenGenerator(sQuelle='', sDP=''){
                                  var ListeLeer = 1;
                                  let Liste = [];
                                  $(sQuelle).each(function(id, i){
                                      if(getState(id.replace("value","completed")).val === false) {
                                          ListeLeer = 0; //dient einfach nur als merkmal, das die Liste nicht leer ist
                                          Liste.push({
                                              Eintrag: ListCleaner(getState(id).val)
                                          })
                                      }
                                  });
                                  if(ListeLeer == 1) {
                                      Liste.push({
                                          Eintrag: "kein Eintrag"
                                      })
                                  }
                                  setState(sDP, JSON.stringify(Liste), true);
                                  Liste = [];
                              }
                              
                              function Einkaufsliste(){
                                  setTimeout(function(){
                                      ListenGenerator('alexa2.0.Lists.SHOPPING_LIST.items.*.value',JSONEinkaufsliste)
                                  },500);
                              }
                              
                              function TODO() {
                                  setTimeout(function(){
                                      ListenGenerator('alexa2.0.Lists.TO_DO.items.*.value',JSONEToDoListe)
                                  },500);
                              }
                              
                              on({id: 'alexa2.0.Lists.SHOPPING_LIST.json', change: 'any'}, Einkaufsliste);
                              on({id: 'alexa2.0.Lists.TO_DO.json', change: 'any'}, TODO);
                              

                              JSON-Liste (Einkauf, ToDo) für z.B. VIS wird bei jeder Änderung (Sprache, APP) aktualisiert.

                              Ro75.

                              Dicken 1 Reply Last reply Reply Quote 0
                              • Dicken
                                Dicken @Ro75 last edited by Dicken

                                @ro75 ich möchte das auch meine Todoist Liste mit aktualisiert wird.

                                Hintergrund: ich habe ein Todoist Widget als Seitenpanel auf meinem Android Handy.

                                PS: nich wundern über den scheiß der da drauf steht, meine Frau nutzt die Liste auch mit 😄

                                Screenshot_20240704_164950_Firefox.jpg

                                Ro75 1 Reply Last reply Reply Quote 0
                                • Ro75
                                  Ro75 @Dicken last edited by

                                  @dicken ja ist auch mit drin. Ist dann ebenfalls ein JSON.

                                  Ro75.

                                  Dicken 1 Reply Last reply Reply Quote 0
                                  • Dicken
                                    Dicken @Ro75 last edited by

                                    @ro75 Ich glaub wir reden aneinander vorbei 😄 Todoist ist eine App.

                                    Ro75 1 Reply Last reply Reply Quote 0
                                    • Ro75
                                      Ro75 @Dicken last edited by

                                      @dicken naja, so wie ich es verstanden habe, geht das nur mit so vielen Umwegen, dass es nicht wirklich Sinn macht. Was stört dich denn am direkten Weg? Oder was ist denn der Vorteil mit ToDoIst? Ich hatte für mich bei dem keinen Vorteil (als ich ToDoIst mal nutzte) gefunden.

                                      Ro75.

                                      Dicken 1 Reply Last reply Reply Quote 0
                                      • Dicken
                                        Dicken @Ro75 last edited by

                                        @ro75 @ro75 na das Widget in Seitenpanel auf dem Handy ist mein Vorteil den ich gerne nutzen möchte 🙂

                                        Ro75 1 Reply Last reply Reply Quote 0
                                        • Ro75
                                          Ro75 @Dicken last edited by

                                          @dicken also so was z.B.

                                          05f79b79-eeff-4b49-b786-5a66c184a56f-image.png

                                          Ro75.

                                          Dicken 2 Replies Last reply Reply Quote 0
                                          • Dicken
                                            Dicken @Ro75 last edited by

                                            @ro75 Au man, da hätt ich ja auch mal selber drauf kommen können nachzusehen. Wusste nicht das Alexa mittlerweile auch Widgets anbietet 😅. Danke für die Info 🙂

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            784
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            25
                                            144
                                            13210
                                            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