diff --git a/presence/example/example.yaml b/presence/example/example.yaml
index aea0139..140e1ec 100644
--- a/presence/example/example.yaml
+++ b/presence/example/example.yaml
@@ -64,3 +64,20 @@
   rpolicy:
     type: fallback
 
+- name: Example Fan3
+  description: >
+    'Example fan with anyof redundancy policy.
+
+    The anyof algorithm reports true if any redundancy set
+    component sensors report true.'
+  path: /system/chassis/motherboard/fan3
+  methods:
+    - type: gpio
+      key: 125
+      physpath: /sys/devices/foo/bar
+    - type: tach
+      sensors:
+        - fan3
+  rpolicy:
+    type: anyof
+
diff --git a/presence/pfpgen.py b/presence/pfpgen.py
index 1e22ac7..00ba900 100755
--- a/presence/pfpgen.py
+++ b/presence/pfpgen.py
@@ -194,8 +194,26 @@
         self.fan = get_index(objs, 'fan', self.fan)
 
 
+class AnyOf(Rpolicy, Renderer):
+    '''Default policy handler (policy:type:anyof).'''
+
+    def __init__(self, *a, **kw):
+        kw['name'] = 'anyof-{}'.format(kw['fan'])
+        super(AnyOf, self).__init__(**kw)
+
+    def setup(self, objs):
+        super(AnyOf, self).setup(objs)
+
+    def construct(self, loader, indent):
+        return self.render(
+            loader,
+            'anyof.mako.hpp',
+            f=self,
+            indent=indent)
+
+
 class Fallback(Rpolicy, Renderer):
-    '''Default policy handler (policy:type:fallback).'''
+    '''Fallback policy handler (policy:type:fallback).'''
 
     def __init__(self, *a, **kw):
         kw['name'] = 'fallback-{}'.format(kw['fan'])
@@ -230,7 +248,7 @@
             factory = Everything.classmap(self.rpolicy['type'])
             rpolicy = factory(**self.rpolicy)
         else:
-            rpolicy = Fallback(fan=self.name)
+            rpolicy = AnyOf(fan=self.name)
 
         for m in self.methods:
             m['policy'] = rpolicy.name
@@ -252,6 +270,7 @@
         handler methods.'''
 
         class_map = {
+            'anyof': AnyOf,
             'fan': Fan,
             'fallback': Fallback,
             'gpio': Gpio,
diff --git a/presence/templates/anyof.mako.hpp b/presence/templates/anyof.mako.hpp
new file mode 100644
index 0000000..cc0ca09
--- /dev/null
+++ b/presence/templates/anyof.mako.hpp
@@ -0,0 +1,7 @@
+std::make_unique<AnyOf>(
+${indent(1)}ConfigFans::get()[${f.fan}],
+${indent(1)}std::vector<std::reference_wrapper<PresenceSensor>>{
+% for s in f.sensors:
+${indent(2)}*ConfigSensors::get()[${s}],
+% endfor
+${indent(1)}})\
diff --git a/presence/templates/generated.mako.hpp b/presence/templates/generated.mako.hpp
index 3afd29f..6ba18dc 100644
--- a/presence/templates/generated.mako.hpp
+++ b/presence/templates/generated.mako.hpp
@@ -5,6 +5,7 @@
 #include <array>
 #include <memory>
 #include <string>
+#include "anyof.hpp"
 #include "fallback.hpp"
 #include "fan.hpp"
 #include "gpio.hpp"
