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. [Gelöst] Unifi Voucher

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[Gelöst] Unifi Voucher

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
15 Beiträge 2 Kommentatoren 561 Aufrufe 2 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.
  • liv-in-skyL liv-in-sky

    @draexler

    siehe mal im chat

    ansonsten: in der function wird der voucher code selbst nicht abgefragt - nur die id des datenpunktes und das erstelldatum - könnte man aber dazufügen

    soweit ich das erkenne, wird im unterem blockly der dp rohdaten zerlegt - darin ist aber, wie erwähnt, der vouchercode nicht enthalten - den müßtest du extra ergänzen in der function

    Image 014.png

    beim zerlegen des return-wertes, also den rohdaten würde ich dann eine liste erzeugen und darin das 2te element nehmen - ungfähr so:

    Image 015.png

    das sollte dann der voucher code sein !!!

    das erste element ist die id (namen) des vouchers

    draexlerD Offline
    draexlerD Offline
    draexler
    schrieb am zuletzt editiert von draexler
    #6

    @liv-in-sky Wegen Chat...Komme ich gerne darauf zurück, bin nur die ganze Zeit sehr sporadisch vor dem Bildschirm.

    Ich bin jetzt auf jeden Fall einen Schritt weiter.
    Aber... Lasse ich ein einfaches Debug Log laufen sehe ich in dem Logs wunderbar das die Voucherdaten geliefert werden.
    Bildschirmfoto 2022-08-13 um 15.06.48.png
    Bildschirmfoto 2022-08-13 um 15.08.36.png
    Wobei ich mich frage sollte dann eigentlich dann nicht mehr die "0" geliefert werden solange ein Voucher existiert?

    Wenn ich jetzt aber diesen Wert mit diesen Blockly weiterverarbeiten will:
    Bildschirmfoto 2022-08-13 um 15.12.32.png
    wird in den „Rohdaten“ Datenpunkt immer nur die "0" geschrieben (sollte es tatsächlich die 0 sein, schreibt es wie gewünscht "NULL"

    Bildschirmfoto 2022-08-13 um 15.09.34.png

    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • draexlerD draexler

      @liv-in-sky Wegen Chat...Komme ich gerne darauf zurück, bin nur die ganze Zeit sehr sporadisch vor dem Bildschirm.

      Ich bin jetzt auf jeden Fall einen Schritt weiter.
      Aber... Lasse ich ein einfaches Debug Log laufen sehe ich in dem Logs wunderbar das die Voucherdaten geliefert werden.
      Bildschirmfoto 2022-08-13 um 15.06.48.png
      Bildschirmfoto 2022-08-13 um 15.08.36.png
      Wobei ich mich frage sollte dann eigentlich dann nicht mehr die "0" geliefert werden solange ein Voucher existiert?

      Wenn ich jetzt aber diesen Wert mit diesen Blockly weiterverarbeiten will:
      Bildschirmfoto 2022-08-13 um 15.12.32.png
      wird in den „Rohdaten“ Datenpunkt immer nur die "0" geschrieben (sollte es tatsächlich die 0 sein, schreibt es wie gewünscht "NULL"

      Bildschirmfoto 2022-08-13 um 15.09.34.png

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

      @draexler weiß nicht, ob ich das alles richtig verstehe

      entweder stimmt die falls abfrage nicht und es kommt immer "0" zurück

      falls wert von UNIFI.Voucherueberwachung = 0 kannste mal auf = "0" - also einen string vergleichen, nicht eine zahl - evtl ist da was falsch

      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

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

        @draexler weiß nicht, ob ich das alles richtig verstehe

        entweder stimmt die falls abfrage nicht und es kommt immer "0" zurück

        falls wert von UNIFI.Voucherueberwachung = 0 kannste mal auf = "0" - also einen string vergleichen, nicht eine zahl - evtl ist da was falsch

        draexlerD Offline
        draexlerD Offline
        draexler
        schrieb am zuletzt editiert von
        #8

        @liv-in-sky sorry wenn es kompliziert ist.

        Also ich will das in den „Rohdaten“ Datenpunkt der Return Wert deines „Abfrage“
        scripts eingetragen wird.
        Aber mein Blockly trägt immer „0“ ein. Außer der Return Wert deines „Abfrage“
        Scripts ist „0“ dann schreibt er „NULL“ gemäß des Blocklys.

        Ich hoffe das war verständlicher 😊

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • draexlerD draexler

          @liv-in-sky sorry wenn es kompliziert ist.

          Also ich will das in den „Rohdaten“ Datenpunkt der Return Wert deines „Abfrage“
          scripts eingetragen wird.
          Aber mein Blockly trägt immer „0“ ein. Außer der Return Wert deines „Abfrage“
          Scripts ist „0“ dann schreibt er „NULL“ gemäß des Blocklys.

          Ich hoffe das war verständlicher 😊

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

          @draexler ich glaube, das habe ich soweit verstanden - daher die falls abfrage ändern. die function gibt immer einen string zurück, du fragst aber eine zahl in der 2ten if abfrage ab- daher meine idee, dass mal zu ändern

          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

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

            @draexler ich glaube, das habe ich soweit verstanden - daher die falls abfrage ändern. die function gibt immer einen string zurück, du fragst aber eine zahl in der 2ten if abfrage ab- daher meine idee, dass mal zu ändern

            draexlerD Offline
            draexlerD Offline
            draexler
            schrieb am zuletzt editiert von
            #10

            @liv-in-sky Sicher das immer ein String zurückgeliefert wird?
            Ich habe den Datenpunkt mal auf Zahl geändert und habe nun das im Log:

            State value to set for "0_userdata.0.VIS_Datenpunkte.UNIFI.Voucherueberwachung" has to be type "string" but received type "number"
            
            liv-in-skyL 1 Antwort Letzte Antwort
            0
            • draexlerD draexler

              @liv-in-sky Sicher das immer ein String zurückgeliefert wird?
              Ich habe den Datenpunkt mal auf Zahl geändert und habe nun das im Log:

              State value to set for "0_userdata.0.VIS_Datenpunkte.UNIFI.Voucherueberwachung" has to be type "string" but received type "number"
              
              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von
              #11

              @draexler ok - das sollte dann schon stimmen - habe ich mich geirrt

              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

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

                @draexler ok - das sollte dann schon stimmen - habe ich mich geirrt

                draexlerD Offline
                draexlerD Offline
                draexler
                schrieb am zuletzt editiert von draexler
                #12

                @liv-in-sky Habe jetzt mal wieder ein bisschen getestet. Aber keine Chance. Er schreibt mir immer wieder nur die "0" als Return Wert.

                Ich habe jetzt mal unter dem Blockly ein Debug Output eingebaut:
                Bildschirmfoto 2022-08-14 um 00.47.00.png

                Man sieht also das das wenn der Return Wert der "Abfrage" ungleich "0" er die korrekte if Abfrage nimmt. Er schreibt aber trotzdem nur eine "0" ins Log.

                Bildschirmfoto 2022-08-14 um 00.52.01.png

                Lasse ich wie schon mal geschrieben vollkommen losgelöst einen Debug Output Trigger lassen schreibt er den gewünschten Wert
                Bildschirmfoto 2022-08-14 um 00.58.15.png Bildschirmfoto 2022-08-14 um 00.57.22.png

                Ich bin ratlos....

                Hier nochmal das Abfrage Skript:

                  const dpPrefix = "0_userdata.0.VIS_Datenpunkte.";
                  let arrTrigger=[];
                  let count=0
                
                 let alterWert=getState(dpPrefix+"UNIFI.Voucherueberwachung").val
                  $('unifi.0.default.vouchers.*.create_time').each(function(id, i) {
                      if(!id.includes("voucher_.create")){  
                        count++  
                
                      let erstellt=getState(id).val
                     arrTrigger.push([new Date(erstellt).getTime(),id,getState(id.replace("create_time","code")).val])
                
                  }
                        });
                    
                        setState(dpPrefix+"UNIFI.Voucherueberwachung",count)
                
                
                arrTrigger.sort(function (alpha, beta) {
                             
                              return  beta[0]- alpha[0];
                             });
                             
                    if  (alterWert<count) {return arrTrigger[0][1]+","+arrTrigger[0][2]; } else { return "0";} 
                    alterWert=count  
                

                Vielleicht ist hier ja doch ein Fehler drin :-(

                liv-in-skyL 1 Antwort Letzte Antwort
                0
                • draexlerD draexler

                  @liv-in-sky Habe jetzt mal wieder ein bisschen getestet. Aber keine Chance. Er schreibt mir immer wieder nur die "0" als Return Wert.

                  Ich habe jetzt mal unter dem Blockly ein Debug Output eingebaut:
                  Bildschirmfoto 2022-08-14 um 00.47.00.png

                  Man sieht also das das wenn der Return Wert der "Abfrage" ungleich "0" er die korrekte if Abfrage nimmt. Er schreibt aber trotzdem nur eine "0" ins Log.

                  Bildschirmfoto 2022-08-14 um 00.52.01.png

                  Lasse ich wie schon mal geschrieben vollkommen losgelöst einen Debug Output Trigger lassen schreibt er den gewünschten Wert
                  Bildschirmfoto 2022-08-14 um 00.58.15.png Bildschirmfoto 2022-08-14 um 00.57.22.png

                  Ich bin ratlos....

                  Hier nochmal das Abfrage Skript:

                    const dpPrefix = "0_userdata.0.VIS_Datenpunkte.";
                    let arrTrigger=[];
                    let count=0
                  
                   let alterWert=getState(dpPrefix+"UNIFI.Voucherueberwachung").val
                    $('unifi.0.default.vouchers.*.create_time').each(function(id, i) {
                        if(!id.includes("voucher_.create")){  
                          count++  
                  
                        let erstellt=getState(id).val
                       arrTrigger.push([new Date(erstellt).getTime(),id,getState(id.replace("create_time","code")).val])
                  
                    }
                          });
                      
                          setState(dpPrefix+"UNIFI.Voucherueberwachung",count)
                  
                  
                  arrTrigger.sort(function (alpha, beta) {
                               
                                return  beta[0]- alpha[0];
                               });
                               
                      if  (alterWert<count) {return arrTrigger[0][1]+","+arrTrigger[0][2]; } else { return "0";} 
                      alterWert=count  
                  

                  Vielleicht ist hier ja doch ein Fehler drin :-(

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

                  @draexler
                  du rufst die function öfter mal in einem if block auf - versuche mal eine neue variable zu erstellen und rufe dort die function auf - im if-block nutzt du dann die neue variable, anstatt immer wieder die function aufzurufen.

                  die function setzt bei einmaligen durchlaufen einen wert und merkt sich den für den nächstan aufruf - das könnte evtl das seltsame verhalten zeigen

                  hier ein beispiel:
                  Image 018.png

                  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

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

                    @draexler
                    du rufst die function öfter mal in einem if block auf - versuche mal eine neue variable zu erstellen und rufe dort die function auf - im if-block nutzt du dann die neue variable, anstatt immer wieder die function aufzurufen.

                    die function setzt bei einmaligen durchlaufen einen wert und merkt sich den für den nächstan aufruf - das könnte evtl das seltsame verhalten zeigen

                    hier ein beispiel:
                    Image 018.png

                    draexlerD Offline
                    draexlerD Offline
                    draexler
                    schrieb am zuletzt editiert von
                    #14

                    @liv-in-sky Das war es! Super Danke dir :-)

                    Jetzt bastel ich mal weiter.

                    liv-in-skyL 1 Antwort Letzte Antwort
                    0
                    • draexlerD draexler

                      @liv-in-sky Das war es! Super Danke dir :-)

                      Jetzt bastel ich mal weiter.

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

                      @draexler dann noch viel spaß beim "coden"

                      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

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


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      715

                      Online

                      32.6k

                      Benutzer

                      82.3k

                      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