Zwei HTTP Requests in einer Schleife

Guten Morgen,

ich will mir morgens meine Kalendereinträge von der Sonos vorlesen lassen. Die Kalendereinträge stehen in einem Array MyGCal. Über einen HTTP Requests schicke ich den Namen an die Sonosbox. Wenn es nur einen Eintrag gibt, wird dieser auch vorgelesen. Wenn es aber mehrere Einträge gibt, wird immer nur einer vorgelesen.

Hier mein Code:

 local jsonMyGCal = fibaro:getGlobal("GCalendar");
 local MyGCal     = json.decode(jsonMyGCal)
 for i = 1, #MyGCal do

   if os.date("%a %b %d") == os.date("%a %b %d", MyGCal[i].StartDate) then
        local Ereignisname = string.gsub(MyGCal[i].Name, " ", "%%20") 

        local http = net.HTTPClient()  
    	http:request('http://192.168.86.37:5005/wohnzimmer/say/' .. Ereignisname .. '/de-de', {
      	success = function(resp)
              if resp.status == 200 then
                fibaro:debug(resp.status)
                fibaro:debug('sollte gehen')
            	local status1 = resp.status
              else
                fibaro:debug(resp.status)
             	local status1 = resp.status
              end
            end
         }) 

        laufzeit = 4 -- Sekunden
        a = 1 -- Vergleichswert
        while a <= laufzeit do
            fibaro:debug('Timer läuft '..a..' Sekunden')
         	fibaro:debug(status1)
            a = a + 1
            fibaro:sleep(1000)
	end
         
        print "test123456"
        
       -- fibaro:sleep(15*1000)
    end

 end

Das Script durchläuft zunächst zwei mal die SChleife (zwei mal Ausgabe von “test123456”). Dann liest die Sonosbox einen Kalendereintrag vor. Zum Schluss kommt noch zwei mal der Status 200 vom HTTP Request. Es ist egal, wie lange ich die While Schleife einstelle.

Wie mache ich es, dass die Schleife zunächst einen HTTP Request abschickt und dann beim nächsten Durchlauf den nächsten HTTP Request absendet?

Vielen Dank

Sebastian