rules: # weather logic - group: weather match: type: room outdoor: true weather: clear chance: 0.1 set: weather: clouds - group: weather match: type: room outdoor: true weather: clouds chance: 0.1 set: weather: rain - group: weather match: type: room outdoor: true weather: rain chance: 0.1 set: weather: clear - group: weather match: type: room outdoor: true weather: clouds chance: 0.1 set: weather: clear # weather initial state - group: weather match: type: room outdoor: true 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.