Skip to content

Commit

Permalink
persistence exclude documentation
Browse files Browse the repository at this point in the history
Signed-off-by: Mark Herwege <[email protected]>
  • Loading branch information
mherwege committed Dec 8, 2024
1 parent 9b148b7 commit d28629f
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion configuration/persistence.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,12 +167,14 @@ where `<itemlist>` is a comma-separated list consisting of one or more of the fo

- `*` - this line should apply to all items in the system
- `<itemName>` a single Item identified by its name. This Item can be a group Item. But note that only the group value will be persisted. The value of the individual group members will not be persisted using this option.
- `!<itemName>` a single Item or group Item identified by its name, to be excluded from persistence defined by the other elements in this comma-separated `<itemList>`.
- `<groupName>*` - all members of this group will be persisted, but not the group itself.
Optionally, an alias may be provided if the persistence service requires special names (e.g. a table to be used in a database, a feed id for an IoT service, etc.)
Note that `*` is NOT a wildcard match character in this context.

- `!<groupName>*` all members of this group, but not the group itself, to be excluded from persistence defined by the other elements in this comma-separated `<itemList>`.
The entries are additive.
This means if one Item appears in more than one `<itemlist>` either directly or indirectly (e.g. `*` which includes all Items or as a member of a Group used in `<groupName>*`), all the strategies strategies listed on all those lines apply to that Item.
In the same way, an Item defined by a `!<itemName>` or `!<groupName>*` will be excluded after all addititive rules have been applied.

Below you will find a complete example persistence configuration file:

Expand All @@ -198,6 +200,9 @@ Items {

// additionally, persist all temperature and weather values every hour
Temperature*, Weather* : strategy = everyHour

// persist all items every day, except items in the weather group and the cellar temperature
*, !Weather*, !CellarTemperature: strategy = everyDay
}
```

Expand Down

0 comments on commit d28629f

Please sign in to comment.