First of all I can create the calculated item, however when I want to setup triggers I run into the math issue 
Most like scenarios:
A 3 host or 4 host setup. Where the original item values are: 2 = Ok, 1 = Warning, 0 = Error
I could change those values to something else but I just cant find the correct values where my calculation still works between a 3 or 4 node scenario.
example: (with original values) (values + sum)
1x error 2x OK = 0 2 2 = 4
2x warning 1x OK = 1 1 2 = 4
As you can see there is a difference between only 2 hosts in error state and 1 working fine, are 1 in Error state and 2 in warning (nothing is OK)
So my first approach was to change the original values and use a Macro in the calculation host to where I could specify how many host there should be {$HOSTCOUNT}, or a minimum of OK host(s) but somehow I just cant find the right setup.
I now resorted to Mersenne prime numbers but still cant find the correct combination
With Error = 127,
Warning = 31
OK = 3
Triggers: item = sum of all values, not written in actual trigger expression language
Ok expression = If item / {$HOSTCOUNT} = {$HOSTCOUNT}
1 item in error, 3 node setup = if item / {$HOSTCOUNT} < (17x {$HOSTCOUNT}) === 1 in error (127+3+3 = 133)/3 = 44.33 <51 (17x3)
1 item in error 4 node setup = if item / {$HOSTCOUNT} < (17x {$HOSTCOUNT}) === 1 in error (127+3+3+3 = 136)/4 = 34 <68 (17x4)
^^ both can be read as 1 host in error OR 2 hosts not in Error
However when you get a
1x Error , 2x Warn 1 OK = 127+31+31+3 = 192 / 4 = 48 That is not 2x OK
I could give a lot of other examples of states but you get the point.
I could ofcourse setup more Template Macro where you have to 'manually' setup the threshold values for the triggers and specify those in the description field. But maybe there is a better solution?

Most like scenarios:
A 3 host or 4 host setup. Where the original item values are: 2 = Ok, 1 = Warning, 0 = Error
I could change those values to something else but I just cant find the correct values where my calculation still works between a 3 or 4 node scenario.
example: (with original values) (values + sum)
1x error 2x OK = 0 2 2 = 4
2x warning 1x OK = 1 1 2 = 4
As you can see there is a difference between only 2 hosts in error state and 1 working fine, are 1 in Error state and 2 in warning (nothing is OK)
So my first approach was to change the original values and use a Macro in the calculation host to where I could specify how many host there should be {$HOSTCOUNT}, or a minimum of OK host(s) but somehow I just cant find the right setup.
I now resorted to Mersenne prime numbers but still cant find the correct combination
With Error = 127,
Warning = 31
OK = 3
Triggers: item = sum of all values, not written in actual trigger expression language
Ok expression = If item / {$HOSTCOUNT} = {$HOSTCOUNT}
1 item in error, 3 node setup = if item / {$HOSTCOUNT} < (17x {$HOSTCOUNT}) === 1 in error (127+3+3 = 133)/3 = 44.33 <51 (17x3)
1 item in error 4 node setup = if item / {$HOSTCOUNT} < (17x {$HOSTCOUNT}) === 1 in error (127+3+3+3 = 136)/4 = 34 <68 (17x4)
^^ both can be read as 1 host in error OR 2 hosts not in Error
However when you get a
1x Error , 2x Warn 1 OK = 127+31+31+3 = 192 / 4 = 48 That is not 2x OK
I could give a lot of other examples of states but you get the point.
I could ofcourse setup more Template Macro where you have to 'manually' setup the threshold values for the triggers and specify those in the description field. But maybe there is a better solution?