rules: # weather logic - group: environment.weather match: type: room environment: outdoor weather: clear chance: 0.1 set: weather: clouds - group: environment.weather match: type: room environment: outdoor weather: clouds chance: 0.1 set: weather: rain - group: environment.weather match: type: room environment: outdoor weather: rain chance: 0.1 set: weather: clear - group: environment.weather match: type: room environment: outdoor weather: clouds chance: 0.1 set: weather: clear # weather initial state - group: environment.weather match: type: room environment: outdoor rule: | "weather" not in attributes set: weather: clear labels: - match: type: room weather: clear rule: | "time" not in attributes or attributes&.time in ["morning", "day"] backstory: The sun is shining brightly. description: The sun is shining brightly. - match: type: room weather: clear rule: | "time" in attributes and attributes&.time in ["evening", "night"] backstory: The moon is shining brightly. description: The moon is shining brightly. - match: type: room weather: clouds backstory: The sky is overcast. description: The sky is overcast. - match: type: room weather: rain backstory: Rain is falling from the cloudy sky. description: Rain is falling from the cloudy sky.