Ok so it finds the master event:
SELECT count(DISTINCT rpt.rp_id) as cnt
FROM jos_jevents_vevent as ev
LEFT JOIN jos_jevents_icsfile as icsf
ON icsf.ics_id=ev.icsid
LEFT JOIN jos_jevents_repetition as rpt
ON rpt.eventid = ev.ev_id
LEFT JOIN jos_jevents_rrule as rr
ON rr.eventid = ev.ev_id
LEFT JOIN jos_jevents_vevdetail as det
ON det.evdet_id = rpt.eventdetail_id
WHERE ev.catid IN(-1)
AND icsf.state=1
AND rpt.endrepeat >= '2018-05-01 00:00:00'
AND ev.state=1
But then doesn't find the repeats
SELECT ev.*, rpt.*, rr.*, det.*
, YEAR(rpt.startrepeat) as yup, MONTH(rpt.startrepeat ) as mup, DAYOFMONTH(rpt.startrepeat ) as dup
, YEAR(rpt.endrepeat ) as ydn, MONTH(rpt.endrepeat ) as mdn, DAYOFMONTH(rpt.endrepeat ) as ddn
, HOUR(rpt.startrepeat) as hup, MINUTE(rpt.startrepeat ) as minup, SECOND(rpt.startrepeat ) as sup
, HOUR(rpt.endrepeat ) as hdn, MINUTE(rpt.endrepeat ) as mindn, SECOND(rpt.endrepeat ) as sdn
FROM jos_jevents_vevent as ev
INNER JOIN jos_jevents_icsfile as icsf
ON icsf.ics_id=ev.icsid
INNER JOIN jos_jevents_repetition as rpt
ON rpt.eventid = ev.ev_id
LEFT JOIN jos_jevents_rrule as rr
ON rr.eventid = ev.ev_id
INNER JOIN jos_jevents_vevdetail as det
ON det.evdet_id = rpt.eventdetail_id
WHERE ev.catid IN(-1)
AND rpt.endrepeat >= '2018-05-01 00:00:00'
AND ev.state=1
AND icsf.state=1
AND ev.access IN (1,1,5)
GROUP BY rpt.rp_id
ORDER BY rpt.startrepeat asc, rpt.endrepeat ASC, det.summary ASC
because it's looking in catid -1. Which doesn't make any sense.
Can you provide FTP and super user logins to your site and I'll take a look.
Many thanks
Tony