Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Script] Einkaufsliste –> Telegram

    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

    [Script] Einkaufsliste –> Telegram

    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User last edited by

      Hallo Zusammen,

      erstmal Danke an dna909 und tempestas für die Steilvorlage.

      Ich hab das Scipt mal für unsere Pferde LaWi erweitert.

      Erweiterungen sind im Bereich der Einkaufsliste, Mail wird unterstützt und eine weitere Ausgabeformatierung wurde eingefügt.

      Wir verwenden keine Bilder um die einzelnen Einkäufe zu selektieren, siehe Screenshots.

      Im Hauptdialog verwende ich das Note Widget um die Liste der selektierten Produkte anzuzeigen und auch bei Bedarf auch manuell was dazuschreiben zu können.

      Nochmals Danke und einen schönen Abend noch.

      Harald aka Equilora

      ! // Einkaufsliste
      ! //
      ! // Idee und Basis: dna909
      ! //
      ! // http://forum.iobroker.net/viewtopic.php?f=21&t=8766
      ! //
      ! // abgewandelt:
      ! // equilora, Datum 28.11.2017
      ! //tempestas, Datum 6.11.2017
      ! //
      ! // status: v 1.0 - stable
      ! // status: v 1.1 - regex trigger über state verzögert, da sonst bei erstmaligem Ausführen ständig getriggert wird und damit Warnungen im LOG stehen;
      ! // - state für VIS Kategorienumschaltung eingefügt; Fehler bei PurchList.length korrigiert, die -1 entfernt; counter eingefügt
      ! // status: v 1.2 - Ausbau der Einkaufsliste, Unterstützung Mail Versand, weitere Formatierungen fuer unterschiedliche Viewer und Dienste
      ! // SKRIPTEINSTELLUNGEN
      ! var debug = false;
      ! var force = true;
      ! var path = "javascript.0.Einkaufsliste."; // Pfad für generelle Variablen und States
      ! var pathItems = "javascript.0.Einkaufsliste.Items."; // Pfad für die zu kaufenden Gegenstände
      ! // ############################
      ! // ########## STATES ##########
      ! // ############################
      ! createState(path +'regex', false, force, {
      ! name: "Liste",
      ! type: 'boolean',
      ! role: 'state',
      ! });
      ! createState(path +'Liste', "", force, { // String, in dem die Einkaufsliste gespeichert wird
      ! name: "Liste",
      ! type: 'string',
      ! role: 'string',
      ! });
      ! createState(path +'regex', false, force, {
      ! name: "ListeVIS",
      ! type: 'boolean',
      ! role: 'state',
      ! });
      ! createState(path +'ListeVIS', "", force, { // String, in dem die Einkaufsliste fuer VIS gespeichert wird
      ! name: "ListeVIS",
      ! type: 'string',
      ! role: 'string',
      ! });
      ! createState(path +'clearBtn', false, force, { // löschen Button, damit man nicht alles manuell abwählen muss
      ! name: 'Clear Liste',
      ! desc: 'Löscht die Liste',
      ! type: 'boolean',
      ! role: 'state',
      ! unit: ''
      ! });
      ! createState(path +'telegramBtn', false, force, { // sendet die Liste via Telegram
      ! name: 'Send Telegram',
      ! desc: 'Sendet Telegram Einkaufsliste',
      ! type: 'boolean',
      ! role: 'state',
      ! unit: ''
      ! });
      ! createState(path +'mailBtn', false, force, { // sendet die Liste via E-Mail
      ! name: 'Send Mail',
      ! desc: 'Sendet Mail Einkaufsliste',
      ! type: 'boolean',
      ! role: 'state',
      ! unit: ''
      ! });
      ! createState(path +'visCategory',0, force, { // für die verschiedenen Kategorien
      ! name: 'VIS Einkaufsliste',
      ! type: 'number',
      ! min: '0',
      ! max: '9',
      ! states: '0:Obst; 1:Gemüse; 2:Wurst/Fleisch; 3:Käse/Milchprodukte; 4:Brot/Getreide; 5:Saucen/Gewürze; 6:Getränke; 7:Drogerie; 8:Tierfutter',
      ! desc: 'Status Alarmanlage'
      ! });
      ! createState(path +'visBtn', false, force, { // trigger für Anzeige der Gesamtliste in Vis
      ! name: 'Show Liste',
      ! desc: 'Zeigt die Gesamtliste in Vis',
      ! type: 'boolean',
      ! role: 'state',
      ! unit: ''
      ! });
      ! createState(path +'count',0, force, {
      ! name: 'VIS Einkaufsliste Anzahl Objekte',
      ! type: 'number',
      ! min: '0',
      ! max: '200',
      ! });
      ! // #########################################################
      ! // ARRAY MIT INHALT DER KAUFGEGENSTÄNDE
      ! // #########################################################
      ! // Obst
      ! var PurchList= [ "Ananas", "Apfel", "Aprikose_Pfirsich","Banane", "Birne", "Datteln", "Erdbeeren","Kirschen",
      ! "Kiwi", "Mandarine","Mango", "Melone", "Orange", "Waldbeeren", "Weintrauben", "Zitrone_Limette",
      ! // Gemüse
      ! "Chilis", "Chinakohl", "Erbsen", "Gurke","Karotten", "Kartoffeln", "Kohlrabi", "Kürbis", "Lauch", "Mais", "Paprika",
      ! "Pilze", "Radieschen", "Tomaten", "Zucchini", "Zwiebeln", "Lauchzwiebeln", "Lauch", "Rote Zwiebeln", "Spinat", "Knoblauch", "Ruccola", "Römer-Salat", "Feld-Salat",
      ! "Kren",
      ! // Fleisch, Wurst und Fisch
      ! "Aufschnitt", "Geflügel", "Geschnetzeltes", "Hackfleisch", "Kabanossi", "Rind", "Schwein", "Wiener","Fischstäbchen", "Garnelen", "Lachs", "Rotbarsch",
      ! "Bratwust", "Regensburger", "Salami", "Bauchspeck",
      ! // Andere Lebensmittel
      ! "Bratfix", "Butter", "Creme-Fraiche", "Dips", "Eier", "Frischkäse", "Joghurt", "Käse", "Kochsahne", "Kräuterquark", "Milch",
      ! "Mozzarella", "Quark", "Sauerrahm", "Schmelzkäse", "Sauerkraut", "Blaukraut", "Brühwürfel-Gemüse", "Brühwürfel-Fleisch", "Pommes Frites",
      ! "Mozzarella Kugeln", "Geriebener Käse", "Scheibenkäse", "Emmenthaler", "Camenbert", "Rösti", "Erdnuss Flips", "Eis",
      ! // Teigwaren
      ! "Brötchen", "Brot", "Couscous", "Haferflocken", "Kichererbsen", "Mehl", "Müsli", "Nudeln", "Pizzateig", "Reis", "Sonnenblumenkerne", "Vollkornnudeln",
      ! "Flammkuchenteig", "Baguette", "Strudelteig", "Spaghetti",
      ! // Brotaufstrich
      ! "Nutella", "Marmelade", "Honig",
      ! // Saucen und Gewürze
      ! "Asiasauce", "Brühe","BBQ-Sauce", "Chili-Sauce", "Essig", "Balsamico", "Ketchup", "Mayonaise", "Oliven Öl", "Sesam Öl", "Paprikapulver", "Pesto", "Pfeffer", "Salz",
      ! "Tomatenmark", "Tomatensauce", "Senf", "Zucker", "Kurkuma", "Chyenne Pfeffer", "Curry", "Sesam", "Pinienkerne",
      ! // Getränke
      ! "Saft", "Tonicwater", "Cola", "Fanta", "Sprite", "Malzbier", "Bier", "Bier-Alkoholfrei", "Spezi", "Edelstoff", "Holler", "Wasser",
      ! "Radler", "Weizenbier", "Sekt", "Energydrink", "Wein", "Tee", "Kaffee", "Kaffee-entkoffiniert", "Rotwein", "Weisswein", "RoseWein", "Prosecco",
      ! //Spirituosen
      ! "Aperol", "Ramazotti", "OakHeart", "Metaxa 5*", "Amarula", "Baileys", "Underberg", "Doppelkorn", "Bärwurz", "Blutwurz",
      ! // Drogerieartikel
      ! "Alufolie", "Backpapier", "Biomüllbeutel","Klopapier", "Küchenrolle", "Deo", "Tempos", "Haarkur", "Rasierklingen", "Rasierschaum",
      ! "Bartwichse", "Zahnbürste", "Zahnpasta","Duschgel", "Raumduft", "Shampoo",
      ! "Seife", "Schwamm", "Bürste", "Spüli", "Klarspüler", "Spülmaschinensalz", "Tabs","Badreiniger",
      ! "Rohrreiniger", "Glasreiniger","Fettlöser", "Bodenreiniger", "Ceranreiniger", "Weichspüler", "Waschmittel", "Fleckentferner",
      ! "Entkalker flüssig", "Entkalker Tabs (Calgon)", "Mückenschutz",
      ! // Tierfutter - Pferde
      ! "Bionic", "Heucobs", "Faserlight", "MSM", "Mönchspfeffer", "Ingwer(Pferd)", "Fohlenmüsli", "Zuchtmüsli", "Yeasacc",
      ! "Mineral Force", "Leinöl", "Mesh", "Atemkräuter", "Heu", "Rice-UP",
      ! // Tierfutter - Katzen
      ! "Katzenfutter-Stall", "Katzenfutter-Indoor", "Leckerlis Katzen",
      ! // Tierfutter - Hund
      ! "Hundefutter-Nass", "Hundefutter-Trocken", "Leckerlis Hund",
      ! // Apotheke
      ! "IbuProfen", "Hustensaft", "Pflaster", "Verbandsmaterial", "Cast", "Enzyme", "Halstabletten", "Telfast", "Symbicort Turbo", "Salbutamol-Inhalator", "Baldrian",
      ! // Apotheke Stall und anderer Stallbedarf
      ! "Rivanol", "Braunol", "Ballistol Spray", "Mückenschutz Pferd", "Wellcare Emulsion", "Zink Spray", "Blauspray", "Fliegenband",
      ! // Sonstiges Landwirtschaft und Hausbedarf
      ! "Diesel Traktor", "Motoröl VW 5W-30", "Frostschutz", "Scheibenreiniger", "Bremsflüssigkeit", "Kaminholz", "Anfeuerholz", "Anzünder",
      ! "Camping Gas 11Kg", "Gas Feuerzeug", "Destilliertes Wasser", "WD40", "Reissnägel", "Batterie CR3232", "Batterie LR44", "Batterie AA", "Batterie AAA", "Batterie Laterne",
      ! "Salz Entkalkungsanlage"];
      ! // ##################################################################
      ! // Variablen
      ! // ##################################################################
      ! var idRegex = path + 'regex';
      ! var idListe = path + 'Liste';
      ! var idListeVIS = path + 'ListeVIS';
      ! var idClear = path + 'clearBtn';
      ! var idTelegram = path + 'telegramBtn';
      ! var idmail = path + 'mailBtn';
      ! var idCount = path + 'count';
      ! var lengthListPurch=(PurchList.length); // Variablen für Auslesen wieviele Inhalte in den jeweiligen Arrays stehen
      ! var regexTrigger = /^javascript.0.Einkaufsliste.Items..$/;
      ! var listeTotal = [];
      ! // ################################################################
      ! // ###### STATES FÜR DIE GEGENSTÄNDE IN OBJEKTEN ERZEUGEN #######
      ! // ################################################################
      ! function createItems(){
      ! var i = 0;
      ! for (i = 0; i < lengthListPurch; i++){
      ! createState(pathItems +PurchList__, false, {
      ! name: 'Einkauf',
      ! desc: PurchList__,
      ! type: 'boolean',
      ! role: 'state',
      ! unit: ''
      ! });
      ! /

      ! createState(pathItems +(PurchList__) + ".Menge", 0, force, { // hier könnte man Mengenangaben mit einbeziehen, brauche ich jedoch nicht.
      ! name: 'Einkauf',
      ! desc: PurchList__,
      ! type: 'number',
      ! role: 'state',
      ! unit: ''
      ! });
      ! */
      ! }
      ! }
      ! // #############################################################
      ! // TRIGGER FÜR ERZEUGUNG, LÖSCHEN UND TELEGRAM
      ! // #############################################################
      ! on({ id:regexTrigger,
      ! change: 'ne'},
      ! function(data) { // regex trigger, löst immer aus sobald etwas an- oder abgewählt wird
      ! if(getState(idRegex).val === true) {
      ! purchlistCreate(); // if Bedingung, damit es nicht zu warnmeldungen kommt, wenn der regex trigger ausgeführt wird aber Objekte noch nicht angelegt sind
      ! count();
      ! }
      ! });
      ! on(idClear, function(obj){ // trigger fürs Löschen
      ! if(obj.state.val === true){
      ! clearPurch();
      ! }
      ! });
      ! on(idTelegram, function(obj){ // trigger für Telegram
      ! if(obj.state.val === true){
      ! sendTelegram();
      ! }
      ! });
      ! on(idmail, function(obj){ // trigger für e-mail
      ! if(obj.state.val === true){
      ! sendMail();
      ! }
      ! });
      ! // #################################################################
      ! // FUNCTIONS
      ! // #################################################################
      ! ///// Einkaufsliste erzeugen //////////////////////////////////////////////////////////////////
      ! function purchlistCreate(){
      ! var i = 0;
      ! var item;
      ! listeTotal = [];
      ! for (i = 0; i < lengthListPurch; i++){
      ! if(getState(pathItems +PurchList__).val === true) {
      ! item = PurchList__;
      ! listeTotal.push(item);
      ! if(debug) log(item + " zur Einkaufsliste hinzugefügt ");
      ! }
      ! }
      ! setState(idListe, listeTotal.join('
      ')); // Liste wird für VIS formatiert
      ! // Eine weitere Formatierung in eine Extra ID schreiben
      ! setState(idListeVIS, listeTotal.join(',\n')); // Liste wird für VIS formatiert
      ! }
      ! function count(){
      ! var n = listeTotal.length;
      ! setState(idCount, n);
      ! }
      ! function clearPurch(){
      ! var i = 0;
      ! for (i = 0; i < lengthListPurch; i++){
      ! if(getState(pathItems +PurchList__).val === true) {
      ! setState(pathItems +PurchList__, false);
      ! setState(idListe, "");
      ! setStateDelayed(idClear, false, 2000);
      ! }
      ! }
      ! }
      ! function sendTelegram() {
      ! var telegramtext = getState(idListeVIS).val.replace(/
      /g , "\n"); // telegram Liste formatieren, entfernt den Zeilenumbruch für vis und ersetze mit Zeilenumbruch Telegram
      ! sendTo('telegram.0', { // Nachricht per Telegram senden
      ! text: "Bitte mitbringen:\n\n" + telegramtext
      ! });
      ! setStateDelayed(idTelegram, false, 2000);
      ! }
      ! function sendMail() {
      ! var mailtext = getState(idListeVIS).val.replace(/
      /g , "\n"); // Liste formatieren, entfernt den Zeilenumbruch für vis und ersetze mit Zeilenumbruch e-mail
      ! sendTo('email.0', { // Nachricht per e-mail senden
      ! text: "Bitte mitbringen:\n\n" + mailtext,
      ! // Muss angepasset werden an die eigenen Mail Addys
      ! to: 'adresse1@mail.de, adresse2@mail.de'
      ! });
      ! setStateDelayed(idmail, false, 2000);
      ! }
      ! // Bei Start
      ! createItems();
      ! setStateDelayed(idRegex, true, 30000); // nachdem alle states angelegt sind, kann der regex trigger genutzt werden;________________ 4229_1.jpg
      4229_2.jpg
      4229_3.jpg

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

        Das manuelle hinzufügen via Notiz ist ein schöner Gedanke.

        Lustigerweise nutze ich dieses testweise in einer View, auf die Idee, es aber für die Einkaufsliste zu nutzen bin ich wieder nicht gekommen. Schöne Idee!

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

          Tolle Sache!!!

          Ich habe mir Gedanken darüber gemacht, ob es möglich ist, Via Telegram z.b. Mit dem Text (Zur liste XYZ) einen Artikel der Liste Hinzuzufügen vllt startet das dann auch ein Script, wo man einfach Via Klick die Artikel Auswählen kann.

          zudem wollte ich wissen ob es möglich ist via Telegram eine Naricht zu senden, damit der IO letztendlich die Einkaufsliste selbst erzeugt und mir wiederum per Telegram zusendet.

          wenn das möglich währe würde ich mich freuen, wenn mir da jemand Helfen könnte, da ich mit JS nicht wirklich viele Erfahrungen habe.

          Beispiel

          Telegram Messanger

          Zur Einkaufsliste Hinzufügen

          OK was möchtest du Hinzufügen?

          [Gruppe 1][Gruppe 2][Gruppe 3] ec

          Gruppe 1

          okay Wähle deine Produkte

          [Produkt 1 der Gruppe 1][Produkt 2 der Gruppe 1][Produkt 3 der Gruppe 1] ec

          [TEXT] Sind Button welche angezeigt werden, die einfach das Produkt in den Massager schreiben bzw z.b. Add.Car.1.1 Womit der IO weis welcher Artikel auf die Liste muss.

          Telegram Messanger

          Shoppen

          Okay Hier ist deine Einkaufsliste

          Liste

          Eier

          Mehl

          Zucker

          Salz

          Shampoo

          ec

          Danke schon mal im Voraus

          1 Reply Last reply Reply Quote 0
          • Jey Cee
            Jey Cee Developer last edited by

            Kennst du den Text2Command Adapter?

            Damit könnte das sogar ohne JS realisierbar sein.

            Gesendet von Unterwegs

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

              @dmohns:

              zudem wollte ich wissen ob es möglich ist via Telegram eine Naricht zu senden, damit der IO letztendlich die Einkaufsliste selbst erzeugt und mir wiederum per Telegram zusendet. `

              Zumindest diesen Teil tut mein Skript, wenn du das nachfolgende noch ergänzt. Denn durch den REGEX Auslöser wird bei mir die Liste ja ständig aktualisiert.

              Abholen kann ich sie aktiv via Telegram mit diesem Skript:

              var idListe = "javascript.0.Einkaufsliste.Liste"/*Liste*/;
              
              on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                  var stateval = getState('telegram.0.communicate.request').val;              // Statevalue in Variable schreiben
                  var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
                  var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren
              
                   if (befehl.search(/(?=.*(\Einkauf\b)).+/ig) != -1) {
              
                      var einkaufsliste; 
                      if(getState(idListe).val === "") {einkaufsliste = "Es muss nichts eingekauft werden";}
              
                          else {  einkaufsliste = "Bitte mitbringen:\n\n" + getState(idListe).val.replace(/
              /g , "\n");}
              
                      sendTo('telegram', {
                          user: benutzer,
                          text: einkaufsliste
                          });
                      }    
              });       
              
              
              1 Reply Last reply Reply Quote 0
              • D
                dmohns last edited by

                Hab ich versucht, aber irgendwie Klappt das bei mir nicht so ganz ;(

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

                  Wem hast du geantwortet? Jey Cee oder mir?

                  Meinst du, mit deiner detailierten Fehlerbeschreibung und der sehr umfassenden Darstellung dessen, was du getan hast, wird irgendwer in die Lage versetzt, dir zu helfen?

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

                    Sry XD

                    Also ivh habe versucht Das Script Zum laufen zu bekommen, sowie die Erweiterung mit dem Telegramm abruf leider ist es mir nicht gelungen, beides bzw eines davon zum laufen zu. bekommen 🙂

                    zudem hab ich das Problem das ivh nicht wüsste, wie ich das in die View hinzugefügt bekomme 😮 Nutze die Version ohne bilder sondern dem reinen Text Variante von

                    equilora

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

                      Wir helfen sicher gerne, aber die bisher gegebenen Hinweise sind absolut nicht ausreichend.

                      WAS funktioniert denn nicht, welche Meldungen bekommst du, was sagt das log? Was hast du bisher probiert, wie sehen deine States aus (screenshots)….

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

                        Ja das Problem ist, ich Bekomme es Weder in die Vis eingebunden noch kann ich via Telegram das Teil abrufen.

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

                          Sorry, aber auf der Basis sehe ich wirklich nicht, wie man dir helfen soll. Du wiederholst jetzt nur zum 3ten mal, dass es nicht geht bei dir ohne jeden weiteren Hinweis, ohne die angefragten Daten, ohne darzulegen, WAS du gemacht hast.

                          Das Skript erstellt Datenpunkte für die einzukaufenden Dinge. Die kannst du mittels z.B. metro tile toggle widgets auf true bzw false stellen und sie tauchen in der Liste auf. Das steht aber auch auf S. 2 dieses noch sehr überschaubaren Threads; war also nicht schwer zu finden.

                          1 Reply Last reply Reply Quote 0
                          • P
                            PyrAnja last edited by

                            Hallo zusammen,

                            wollte mir auch so eine schöne Einkaufs-View basteln und scheitere mal wieder kläglich 😞

                            Hab zuerst mit dem Skript von DNA909 experimentiert, dann aber das Skript von Equinox genommen, da mir die Idee mit dem manuellen Hinzufügen in die Liste sehr gut gefallen hat. Das funktioniert soweit, dass ich händisch über das Basic-Note-Widget einfügen kann. Auch der Versand per email und Telegram klappt.

                            Aber ich scheitere an den metro-tile-toggle-Widgets für die Auswahl der Artikel. Mit welchem Objekt muss ich das Widget verknüpfen? Wenn ich es mit dem Objekt EInkaufsliste.Items.Ananas,Apfel,Aprikose_Pfirsich… verknüpfe und das Widget drücke, dann kommen alle Artikel der Liste… Wie kann ich einzelne Artikel auswählen und zur Liste hinzufügen?

                            Ich stell mich grad mächtig blöd an...

                            Außerdem versteh ich nicht, wie man die Mengenangaben mit einbeziehen kann und in der Liste zeigt. Das ging mit dem Skript von DNA909 beides irgendwie einfacher

                            Könnt ihr mir vielleicht dabei helfen?

                            Viele Grüße, Anja

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

                              Hallo Anja,

                              das Skript von equilora sieht keine Mengenangaben vor.

                              F+ür die Widgets nimmst du ein metro tile toggle, das in der Objekt ID auf den jeweiliogen Datenpunkt des zu kaufenden Guts verweist. Dieser stellt dann einfach von false auf true und retour

                              1 Reply Last reply Reply Quote 0
                              • P
                                PyrAnja last edited by

                                Danke für die Hilfe,

                                das Problem war, dass das Skript von Equilora keine einzelnen Datenpunkte für die Produkte geschaffen hat. Mit Hilfe von deinem Skript hats jetzt geklappt.

                                Werd jetzt mal weiter dran rumwerkeln. Beim nächsten Problem meld ich mich dann wieder 😄

                                1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User last edited by

                                  Hallo Zusammen,

                                  jop, das mit den Mengenangaben habe ich erstmal ausgelassen…..

                                  Ein Softwareingenieur (Programmierer) und seine Frau.

                                  Sie: „Schatz, wir haben kein Brot mehr, könntest du bitte zum Supermarkt gehen und eins holen? Und wenn sie Eier haben, bring 6 Stück mit.“

                                  Er: „Klar Schatz, mach ich!“

                                  Nach kurzer Zeit kommt er wieder zurück und hat 6 Brote dabei.

                                  Sie: „Warum nur hast du 6 Brote gekauft?!?“

                                  Er: „Sie hatten Eier!“

                                  Eins ist sicher. Er hat alles richtig gemacht …! 🙂

                                  Eigentlich wäre eine kleine Datenbank das bessere Modell hinter der Einkaufsliste als die gesamten "Goods" über Skripte zu generieren.

                                  Ich hoffe ich finde mal Zeit das ganze auf eine SQL DB zu migrieren, dann sind zusätzliche Felder wie Mengenangaben kein größeres Problem.

                                  Schönen Sonntag noch

                                  Equilora aka Harald

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

                                    Hallo an alle,

                                    durch Suche und Recherche bin ich auf dieses Forum und den Beitrag gestossen. Interessiere mich für die Lösung, jedoch habe ich kaum Ahnung 🙂

                                    infos zu Setup: Raspi 3B+ mit iO-Broker, alles aktuell und telegram adapter. kann per telegram einiges schalten etc. nachdem ich einige Anleitungen befolgt und 1:1 umgesetzt habe. Habe die bisherige Beiträge durchgelesen, jedoch nicht schlau geworden, ob es nun funktioniert oder nicht? Wenn ja, was ich dafür machen muss. Gewünscht ist wie im ersten Beitrag angegeben eine stick normale Einkaufliste per telegram schicken zu lassen z.b. an frau oder umgekehrt durch ihr an mich.

                                    Grüße und besten Dank Vorab

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    825
                                    Online

                                    31.7k
                                    Users

                                    79.9k
                                    Topics

                                    1.3m
                                    Posts

                                    14
                                    50
                                    10928
                                    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