Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Unifi-Vouchers via Telg. WWW-Zeit Zuweisung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Unifi-Vouchers via Telg. WWW-Zeit Zuweisung

Geplant Angeheftet Gesperrt Verschoben JavaScript
templatejavascript
28 Beiträge 2 Kommentatoren 1.5k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    saeft_2003
    Most Active
    schrieb am zuletzt editiert von
    #19

    @liv-in-sky

    ich muss dich noch etwas zu dem skript fragen. Und zwar habe ich drei Kinder, dazu habe ich drei standard vouchers angelegt mit Kind1, Kind2 und Kind3.

    Jetzt hätte ich gerne wenn ein voucher fürs Kind1 erstellt wird das dann nur dieses den Code geschickt bekommt. Mit den User habe ich gerade getestet, sobald sich "jemand" an den bot anmeldet ist er ein user und man kann diesen im skript benennen. So funkionierts...

      sendTo(telegramInstanz, {
                 user: 'Patrick',
                 text: "Dein neues Voucher: "+arrTrigger[arrTrigger.length-1][0],
                 type: 'text'
                 });
                 setState(dpPrefix+"VoucherKinder.LastSend",arrTrigger[arrTrigger.length-1][0]+" an: "+arrTrigger[arrTrigger.length-1][2] )
    
    
    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • S saeft_2003

      @liv-in-sky

      ich muss dich noch etwas zu dem skript fragen. Und zwar habe ich drei Kinder, dazu habe ich drei standard vouchers angelegt mit Kind1, Kind2 und Kind3.

      Jetzt hätte ich gerne wenn ein voucher fürs Kind1 erstellt wird das dann nur dieses den Code geschickt bekommt. Mit den User habe ich gerade getestet, sobald sich "jemand" an den bot anmeldet ist er ein user und man kann diesen im skript benennen. So funkionierts...

        sendTo(telegramInstanz, {
                   user: 'Patrick',
                   text: "Dein neues Voucher: "+arrTrigger[arrTrigger.length-1][0],
                   type: 'text'
                   });
                   setState(dpPrefix+"VoucherKinder.LastSend",arrTrigger[arrTrigger.length-1][0]+" an: "+arrTrigger[arrTrigger.length-1][2] )
      
      
      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von liv-in-sky
      #20

      @saeft_2003
      wie melde ich mich bei deinem bot an - zum test bzw du bei meinem

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      S 1 Antwort Letzte Antwort
      0
      • liv-in-skyL liv-in-sky

        @saeft_2003
        wie melde ich mich bei deinem bot an - zum test bzw du bei meinem

        S Offline
        S Offline
        saeft_2003
        Most Active
        schrieb am zuletzt editiert von
        #21

        @liv-in-sky

        ich muss in telegram app nach deinen bot suchen der heißt xyz_bot dann starte ich diesen und werde nach einem passwort gefragt das du in der telegram instanz hinterlegt hast... schickst du mir dein passwort?

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • S saeft_2003

          @liv-in-sky

          ich muss in telegram app nach deinen bot suchen der heißt xyz_bot dann starte ich diesen und werde nach einem passwort gefragt das du in der telegram instanz hinterlegt hast... schickst du mir dein passwort?

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #22

          @saeft_2003

          habe ein neues script im ersten post und eine beschreibung wie du die notiz gestalten mußt im unifiscript

          in der notiz steht das aktivierungswort (www - kann geändert werden) und anschliessend ein bindestrich und der username

          bevor du das neue script startest lösche die datenpunkte unter VoucherKinder
          viel spaß beim testen

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          S 2 Antworten Letzte Antwort
          1
          • liv-in-skyL liv-in-sky

            @saeft_2003

            habe ein neues script im ersten post und eine beschreibung wie du die notiz gestalten mußt im unifiscript

            in der notiz steht das aktivierungswort (www - kann geändert werden) und anschliessend ein bindestrich und der username

            bevor du das neue script startest lösche die datenpunkte unter VoucherKinder
            viel spaß beim testen

            S Offline
            S Offline
            saeft_2003
            Most Active
            schrieb am zuletzt editiert von
            #23

            @liv-in-sky

            Super vielen Dank werde ich heute Abend testen 😊👍

            1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @saeft_2003

              habe ein neues script im ersten post und eine beschreibung wie du die notiz gestalten mußt im unifiscript

              in der notiz steht das aktivierungswort (www - kann geändert werden) und anschliessend ein bindestrich und der username

              bevor du das neue script startest lösche die datenpunkte unter VoucherKinder
              viel spaß beim testen

              S Offline
              S Offline
              saeft_2003
              Most Active
              schrieb am zuletzt editiert von
              #24

              @liv-in-sky

              Also... die Grundfunktion geht :+1: erstmal vielen Dank hierfür :-)

              Aber wenn ich statt www in der voucher Notiz z.B. voucher wähle (so hatte ich erst) dann geht es nicht. Ich hatte natürlich var aktWort="www" angepasst auf var aktWort="voucher". Weißt du an was das liegen könnte?

              liv-in-skyL 1 Antwort Letzte Antwort
              0
              • S saeft_2003

                @liv-in-sky

                Also... die Grundfunktion geht :+1: erstmal vielen Dank hierfür :-)

                Aber wenn ich statt www in der voucher Notiz z.B. voucher wähle (so hatte ich erst) dann geht es nicht. Ich hatte natürlich var aktWort="www" angepasst auf var aktWort="voucher". Weißt du an was das liegen könnte?

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #25

                @saeft_2003 ja - da habe ich im script etwas vergessen - vielleicht kan ich das morgen ausbessern - hauptsache es geht mit www - das ist schon mal was

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                S 1 Antwort Letzte Antwort
                0
                • liv-in-skyL liv-in-sky

                  @saeft_2003 ja - da habe ich im script etwas vergessen - vielleicht kan ich das morgen ausbessern - hauptsache es geht mit www - das ist schon mal was

                  S Offline
                  S Offline
                  saeft_2003
                  Most Active
                  schrieb am zuletzt editiert von
                  #26

                  @liv-in-sky

                  OK das wäre super

                  liv-in-skyL 1 Antwort Letzte Antwort
                  0
                  • S saeft_2003

                    @liv-in-sky

                    OK das wäre super

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    schrieb am zuletzt editiert von
                    #27

                    @saeft_2003 nur schnell gemacht - geht das

                    const dpPrefix = "javascript."+ instance +".";
                    const dpPrefixjava = "javascript.2.";
                    const telegramInstanz="telegram.0"
                    var aktWort="www"
                    var mySchedule=" */20  * * * * *";
                    
                    
                    // AB HIER NICHTS MEHR ÄNDERN
                    
                    
                    var arrTrigger=[];
                    var telegramAdresse;
                    
                    
                    
                    
                    createState("VoucherKinder.ArrayAlt"  ,"yyy", { name: 'VoucherKinder',  type: 'string', read:  true,  write: true,});
                    createState("VoucherKinder.LastSend"  , "noch nix gesendet",{ name: 'LastSend',  type: 'string', read:  true,  write: true,});
                    
                    
                    var timeout = setTimeout(function () { 
                    var arrTriggerAlt=getState(dpPrefix+"VoucherKinder.ArrayAlt").val.split(",");
                    
                    
                    schedule(mySchedule,  function () {
                     arrTrigger=[];
                     
                    // log("starte");
                     $(dpPrefixjava+'WLANUnifi.Wifi_Vouchers-CODES.*.notiz').each(function(id, i) {         
                           var ddd=id.replace("notiz","erstellt")
                           var timeRechner=getState(ddd).val
                           var ida = id.split('.');
                           telegramAdresse=getState(id).val;// log (telegramAdresse)
                           var val0= id.replace("notiz",ida[4].toLowerCase())                                          
                           timeRechner=  timeRechner.replace(/(\d\d).(\d\d).(\d\d\d\d) (\d\d):(\d\d)/,"$3-$2-$1T$4:$5:00.000Z")
                    
                           if (getState(id).val != "na")   {arrTrigger.push([getState(val0).val,Date.parse(timeRechner).toString(),telegramAdresse]) ;}
                     
                           });
                    
                      arrTrigger.sort(function (alpha, beta) {
                                 if (alpha[1] > beta[1])
                                    return 1;
                                 if (beta[1] > alpha[1])
                                    return -1;
                                 return 0;
                                });
                    
                    /*
                      log ("neuesArray: "+arrTrigger.toString())
                      log ("altesArray: "+arrTriggerAlt.toString())
                      log(arrTrigger.length.toString() +" -- " +arrTriggerAlt.length.toString())
                    */
                       if (arrTrigger.length > arrTriggerAlt.length-1)  {
                              arrTriggerAlt=["xxx"];
                              for (var i=0;i<arrTrigger.length;i++) {
                                   arrTriggerAlt.push(arrTrigger[i]);
                                   setState(dpPrefix+"VoucherKinder.ArrayAlt",arrTriggerAlt.toString());
                                   }
                           
                            // log("DER NEUE VOUCHER: "+arrTrigger[arrTrigger.length-1][0])
                                if (arrTrigger[arrTrigger.length-1][2].includes(aktWort))   {
                                                   //log("username: "+arrTrigger[arrTrigger.length-1][2].replace(/www-(.+) \d+.+/,"$1"));
                                                   log("Versende Voucher an: "+arrTrigger[arrTrigger.length-1][2].replace(/.+-(.+) \d+.+/,"$1") +" mit Nachricht: "+
                                                        arrTrigger[arrTrigger.length-1][2].replace(/.+-.+ (\d+.+)/,"$1")+": "+arrTrigger[arrTrigger.length-1][0]);
                                            sendTo(telegramInstanz, {
                                                                     user: arrTrigger[arrTrigger.length-1][2].replace(/.+-(.+) \d+.+/,"$1"),
                                                                     text: "Dein neues Voucher für "+arrTrigger[arrTrigger.length-1][2].replace(/.+-.+ (\d+.+)/,"$1")+": "+arrTrigger[arrTrigger.length-1][0],
                                                                     type: 'text'
                                                                      });
                                            setState(dpPrefix+"VoucherKinder.LastSend",arrTrigger[arrTrigger.length-1][0]+" an: "+arrTrigger[arrTrigger.length-1][2] )
                                    }
                           } else {
                                arrTriggerAlt=["na"];
                               for (var i=0;i<arrTrigger.length;i++) {
                                   arrTriggerAlt.push(arrTrigger[i])
                                   setState(dpPrefix+"VoucherKinder.ArrayAlt",arrTriggerAlt.toString())}
                    
                           }
                    
                    });
                    }, 2000);
                    
                    
                    
                    

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    S 1 Antwort Letzte Antwort
                    0
                    • liv-in-skyL liv-in-sky

                      @saeft_2003 nur schnell gemacht - geht das

                      const dpPrefix = "javascript."+ instance +".";
                      const dpPrefixjava = "javascript.2.";
                      const telegramInstanz="telegram.0"
                      var aktWort="www"
                      var mySchedule=" */20  * * * * *";
                      
                      
                      // AB HIER NICHTS MEHR ÄNDERN
                      
                      
                      var arrTrigger=[];
                      var telegramAdresse;
                      
                      
                      
                      
                      createState("VoucherKinder.ArrayAlt"  ,"yyy", { name: 'VoucherKinder',  type: 'string', read:  true,  write: true,});
                      createState("VoucherKinder.LastSend"  , "noch nix gesendet",{ name: 'LastSend',  type: 'string', read:  true,  write: true,});
                      
                      
                      var timeout = setTimeout(function () { 
                      var arrTriggerAlt=getState(dpPrefix+"VoucherKinder.ArrayAlt").val.split(",");
                      
                      
                      schedule(mySchedule,  function () {
                       arrTrigger=[];
                       
                      // log("starte");
                       $(dpPrefixjava+'WLANUnifi.Wifi_Vouchers-CODES.*.notiz').each(function(id, i) {         
                             var ddd=id.replace("notiz","erstellt")
                             var timeRechner=getState(ddd).val
                             var ida = id.split('.');
                             telegramAdresse=getState(id).val;// log (telegramAdresse)
                             var val0= id.replace("notiz",ida[4].toLowerCase())                                          
                             timeRechner=  timeRechner.replace(/(\d\d).(\d\d).(\d\d\d\d) (\d\d):(\d\d)/,"$3-$2-$1T$4:$5:00.000Z")
                      
                             if (getState(id).val != "na")   {arrTrigger.push([getState(val0).val,Date.parse(timeRechner).toString(),telegramAdresse]) ;}
                       
                             });
                      
                        arrTrigger.sort(function (alpha, beta) {
                                   if (alpha[1] > beta[1])
                                      return 1;
                                   if (beta[1] > alpha[1])
                                      return -1;
                                   return 0;
                                  });
                      
                      /*
                        log ("neuesArray: "+arrTrigger.toString())
                        log ("altesArray: "+arrTriggerAlt.toString())
                        log(arrTrigger.length.toString() +" -- " +arrTriggerAlt.length.toString())
                      */
                         if (arrTrigger.length > arrTriggerAlt.length-1)  {
                                arrTriggerAlt=["xxx"];
                                for (var i=0;i<arrTrigger.length;i++) {
                                     arrTriggerAlt.push(arrTrigger[i]);
                                     setState(dpPrefix+"VoucherKinder.ArrayAlt",arrTriggerAlt.toString());
                                     }
                             
                              // log("DER NEUE VOUCHER: "+arrTrigger[arrTrigger.length-1][0])
                                  if (arrTrigger[arrTrigger.length-1][2].includes(aktWort))   {
                                                     //log("username: "+arrTrigger[arrTrigger.length-1][2].replace(/www-(.+) \d+.+/,"$1"));
                                                     log("Versende Voucher an: "+arrTrigger[arrTrigger.length-1][2].replace(/.+-(.+) \d+.+/,"$1") +" mit Nachricht: "+
                                                          arrTrigger[arrTrigger.length-1][2].replace(/.+-.+ (\d+.+)/,"$1")+": "+arrTrigger[arrTrigger.length-1][0]);
                                              sendTo(telegramInstanz, {
                                                                       user: arrTrigger[arrTrigger.length-1][2].replace(/.+-(.+) \d+.+/,"$1"),
                                                                       text: "Dein neues Voucher für "+arrTrigger[arrTrigger.length-1][2].replace(/.+-.+ (\d+.+)/,"$1")+": "+arrTrigger[arrTrigger.length-1][0],
                                                                       type: 'text'
                                                                        });
                                              setState(dpPrefix+"VoucherKinder.LastSend",arrTrigger[arrTrigger.length-1][0]+" an: "+arrTrigger[arrTrigger.length-1][2] )
                                      }
                             } else {
                                  arrTriggerAlt=["na"];
                                 for (var i=0;i<arrTrigger.length;i++) {
                                     arrTriggerAlt.push(arrTrigger[i])
                                     setState(dpPrefix+"VoucherKinder.ArrayAlt",arrTriggerAlt.toString())}
                      
                             }
                      
                      });
                      }, 2000);
                      
                      
                      
                      

                      S Offline
                      S Offline
                      saeft_2003
                      Most Active
                      schrieb am zuletzt editiert von
                      #28

                      @liv-in-sky

                      Jo jetzt passts :blush:

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      992

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe