Patrick Schurig 325409dd3f feat(i18n): prose traduite DE/EN et référence régénérée en anglais
82 pages .de.md et 82 .en.md. La volumétrie explique la forme : 95 % du volume
est GÉNÉRÉ (74 013 mots contre 3 506 rédigés, mesuré sur 107 pages). On ne
traduisait donc pas 77 500 mots — on traduit la prose, et le vocabulaire des
générateurs fait le reste.

Prose traduite à la main : accueil, installation (4), fonctionnalités (4),
tarifs, référence, dépannage, FAQ, intégrations (2), api/index, et les 6 fiches
appareils qui portent une vraie prose + compatibilite.md. Les blocs générés ne
sont JAMAIS recopiés dans une traduction : le script de pose les reprend
verbatim du fichier français via des placeholders, pour qu'une traduction ne
puisse pas désynchroniser un bloc généré.

Les 49 fiches légères n'ont rien à traduire : leur tagline vient d'amont et est
DÉJÀ en anglais (« Connects nymea to powerfox. »). Constat, pas renoncement.

Localisation ≠ traduction, et tarifs.md en est l'exemple à connaître : la
version FR parle de Tempo et du signal RTE, la DE de §14a EnWG et de SMARD,
l'EN des deux. Ce ne sont pas des traductions l'une de l'autre, et c'est
volontaire — les signaux tarifaires sont nationaux. Aucune des deux n'est
annoncée comme livrée : les deux sont Roadmap, et les pages le disent.

Référence régénérée : en-têtes et libellés en anglais (Field/Type/Notes,
Supported models, Settings, Read-only, Brand / Model…). Conséquence assumée et
signalée : les pages FR en ligne changent aussi.

README.md (il était VIDE) : la règle du 95 % généré en tête, la frontière de
décision du multi-langue avec sa mesure, pourquoi SCAFFOLD existe, et le piège
--strict/navigation.instant.

TODO : multi-langue clos, et trois points ouverts qui en restent — les tagline
vivent dans les meta.json de 5 autres dépôts (forme à ajouter : tagline_de /
tagline_en), les stubs traduits restent des stubs (la dette éditoriale a triplé
en surface, pas en fond), api/types.md n'a pas besoin de variante. Le P1
openmeteo est corrigé sur constat : il EST dans PORTING_STATUS depuis, et une
ligne commentée contradictoire y traîne encore.

Vérifié : mkdocs build --strict vert sur les trois langues, 322 pages HTML,
contenu traduit relu dans le HTML produit, et les deux générateurs rendent
« Doc à jour » en --check.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-13 06:39:20 +02:00

6.6 KiB

Rules

Methods

Rules.AddRule

CONFIGURE-RULES

Add a rule. You can describe rules by one or many EventDesciptors and a StateEvaluator. Note that only one of either eventDescriptor or eventDescriptorList may be passed at a time. A rule can be created but left disabled, meaning it won't actually be executed until set to enabled. If not given, enabled defaults to true. A rule can have a list of actions and exitActions. It must have at least one Action. For state based rules, actions will be executed when the system enters a state matching the stateDescriptor. The exitActions will be executed when the system leaves the described state again. For event based rules, actions will be executed when a matching event happens and if the stateEvaluator matches the system's state. ExitActions for such rules will be executed when a matching event happens and the stateEvaluator is not matching the system's state. A rule marked as executable can be executed via the API using Rules.ExecuteRule, that means, its actions will be executed regardless of the eventDescriptor and stateEvaluators.

Parameters:

Field Type Notes
actions RuleAction[]
name String
enabled Bool optional
eventDescriptors EventDescriptor[] optional
executable Bool optional
exitActions RuleAction[] optional
stateEvaluator StateEvaluator optional
timeDescriptor TimeDescriptor optional

Returns:

Field Type Notes
ruleId Uuid optional
ruleError RuleError

Rules.DisableRule

CONFIGURE-RULES

Disable a rule. The rule won't be triggered by it's events or state changes while it is disabled. If successful, the notification "Rule.RuleConfigurationChanged" will be emitted.

Parameters:

Field Type Notes
ruleId Uuid

Returns:

Field Type Notes
ruleError RuleError

Rules.EditRule

CONFIGURE-RULES

Edit the parameters of a rule. The configuration of the rule with the given ruleId will be replaced with the new given configuration. In ordert to enable or disable a Rule, please use the methods "Rules.EnableRule" and "Rules.DisableRule". If successful, the notification "Rule.RuleConfigurationChanged" will be emitted.

Parameters:

Field Type Notes
actions RuleAction[]
name String
enabled Bool optional
eventDescriptors EventDescriptor[] optional
executable Bool optional
exitActions RuleAction[] optional
stateEvaluator StateEvaluator optional
timeDescriptor TimeDescriptor optional
ruleId Uuid

Returns:

Field Type Notes
rule Rule optional
ruleError RuleError

Rules.EnableRule

CONFIGURE-RULES

Enabled a rule that has previously been disabled.If successful, the notification "Rule.RuleConfigurationChanged" will be emitted.

Parameters:

Field Type Notes
ruleId Uuid

Returns:

Field Type Notes
ruleError RuleError

Rules.ExecuteActions

EXECUTE

Execute the action list of the rule with the given ruleId.

Parameters:

Field Type Notes
ruleId Uuid

Returns:

Field Type Notes
ruleError RuleError

Rules.ExecuteExitActions

EXECUTE

Execute the exit action list of the rule with the given ruleId.

Parameters:

Field Type Notes
ruleId Uuid

Returns:

Field Type Notes
ruleError RuleError

Rules.FindRules

EXECUTE

Find a list of rules containing any of the given parameters.

Parameters:

Field Type Notes
thingId Uuid

Returns:

Field Type Notes
ruleIds Uuid[]

Rules.GetRuleDetails

EXECUTE

Get details for the rule identified by ruleId

Parameters:

Field Type Notes
ruleId Uuid

Returns:

Field Type Notes
rule Rule optional
ruleError RuleError

Rules.GetRules

EXECUTE

Get the descriptions of all configured rules. If you need more information about a specific rule use the method Rules.GetRuleDetails.

Parameters:

No parameters.

Returns:

Field Type Notes
ruleDescriptions RuleDescription[]

Rules.RemoveRule

CONFIGURE-RULES

Remove a rule

Parameters:

Field Type Notes
ruleId Uuid

Returns:

Field Type Notes
ruleError RuleError

Notifications

Rules.RuleActiveChanged

Emitted whenever the active state of a Rule changed.

Parameters:

Field Type Notes
active Bool
ruleId Uuid

Rules.RuleAdded

Emitted whenever a Rule was added.

Parameters:

Field Type Notes
rule Rule

Rules.RuleConfigurationChanged

Emitted whenever the configuration of a Rule changed.

Parameters:

Field Type Notes
rule Rule

Rules.RuleRemoved

Emitted whenever a Rule was removed.

Parameters:

Field Type Notes
ruleId Uuid