Setting up MarcoPolo's rules
Rules in MarcoPolo are how MarcoPolo determines your context from different sources of evidence. Different types of rules for different types of evidence, but they are all combined mathematically to arrive at a final conclusion.
It is important to remember that evidence sources can generate different types of evidence, and that each type is matched by a different type of rule. For example, the WiFi evidence source generates SSID evidence (the SSID, or name, of the access point) as well as MAC evidence (the unique identifier for that piece of network hardware).
Each rule has the following properties:
- A type, specifying the type of evidence it matches,
- A parameter to determine what it matches,
- A context that it indicates,
- A confidence (0-100%), and
- A description (optional) for human readability.
For example, a rule might be:
< type=Bluetooth, parameter=00-00-6C-33-7A-2F, context=Home, confidence=80% >
This tells MarcoPolo that the presence of a Bluetooth device with a MAC of 00-00-6C-33-7A-2F means that we are at the Home context, and that we can be 80% confident of this. Ordinarily, you won't have to explicitly set the parameter, but it's sometimes useful to be able to tweak it.
MarcoPolo frequently evaluates all its rules, and finds the subset of rules that match. It combines all these rules to get a confidence for each context, and decides on the highest confidence context. If the confidence for that context is greater than a threshold (configurable in the Preferences window), and the context is not the current one, MarcoPolo changes to that context, and triggers any relevant actions.