====CombineFrames==== Combines different sets of //timeframes// to delete or add them together. ===Parameters=== ^Name^Default^Meaning^ |with||The name added to a previous call to [[timeframes|timeframes]]| |method||Either **AND**, **OR** or **NOT**|| ===Description=== This combines time-frames in various ways. When you call [[timeframes|timeframes]], you can store the result in a //variable// instead of them replacing the current table of timeframes. Then with this layer, you can combine them together. In a **AND** combination, only the times that are common to //both// sets of timeframes are kept. In an **OR** combination, times when //either// time frames were active. And the //NOT// combination removes cuts out any times from the 'with' timeframe. ===Example=== Let's say you have the following rule... { "type": "timeframe", "condition": "{Running} > 0", } This gets a list of the times when the machine has been //running//. Next, we get a list of all of the scheduled //downtimes// (the times where the system is **expected** to stop) { "type": "get_events", "source": "Downtime", "variable": "downtime" } You can then //subtract// the downtimes from our running times with the following layer... { "type": "combineframes", "with": "downtime", "method": "not" } This will result in a list of running times that do **not** include any down-times.