As a hint in such cases, better stick to the (even old-?) English roots or other Germanic roots when in doubt about which word fits better.
"tri-hourly" is showing this at its best, neighboured to "tri" like in Triathlon is "bi" like in Biathlon:
- "bi-hourly", like "bi-monthly" likely already from the 1800s and perhaps even before, can nowadays mean both "every two hours" and "twice per hour"!
- and "semi-hourly" did not make it clearer but was misunderstood again after some time.
Taken from bimonthly.
This shows best that Greek/Latin rooted English words are often misunderstood over time. This blurs not only the roots of English but also the loan word itself in the end. Thus, if already the neighboured "bi-hourly" is mixed up, do not use "tri-hourly" either.
In German, it is like:
- "[each third hour]", "[three times hourly]", while the most often "[three times per hour]" has Latin roots and should not be taken when following old roots here;
- "[every three hours]", "[three-hourly]";
while "[every third hour]" is wrong in German.
"[]" = to be read as if it was German, this is not meant to be English!
Again, if you want to find out what could be right, take the neighboured "other" in German.
English has this nice thing in the middle: "every other week" with "other" meaning a kind of "next" or "on the other side" so that you do not need to say "each other week" :). In German, it would be wrong to say "[every other week]", and "each other week" does not say "second".
By the way, "second" is also Latin. English has just lost its "twey" for German "zwei", Dutch "twee" and does not make it "twey-th" for German "zwei-te", Dutch "twejde" to make it an 'English' "second", and "two-th" would sound like "tooth" :) while other Germanic branches can change from the -o to -e to get this done.
This "other" for "second" (brrrr) can also be found in other Germanic roots. It is very rare and happens almost never, but you could say both "[each other week]" and "[every other weeks(!)]" even sometimes in German when you want to say that of a choice of weeks, you take "the other side that is not chosen". This can happen when you plan the cleaning of the house with two people and one has already taken all of the even weeks. But it is not used as the normal "[second]" in German as "other week"="second week" is in English.
Unlike in English with its "each other", the German "[each other week]" does not stand against the German "each other", since there is no such "[each other]". In German, you do not have "each other" but "[against-sidely]" and "[each's-sidely]" and "[all's-sidely]" which all have other meanings :).
What is this all about? It is to show how to catch the right feeling of long forgotten roots. There is often a hidden rule that can be found. The rule here is to better drop anything that is wrong in another Germanic language. Thus, do not say "every other week" or "every second week". It goes without saying that this is also meant for "every third week". Even if it is right in nowadays English, it is wrong in German, and English was perhaps just blurred by centuries on that far foggy island outside in the waves :). Latin or Greek rooted words only make it worse. As in the other answer here, take "every three hours" and "three times per hour" and it would be right in German as well.
Needless to say: week, month, day, hour and so on are treated the same.