from idiotic.item import Toggle, Trigger, Number, Group, display_unit from idiotic import instance as c Toggle("Entertainment Room Light", bindings={"x10": { "code": "a13" }}, tags=("entertainment_room", "light")) Toggle("Entertainment Room Air Conditioner", tags=("entertainment_room", "ac", "climate")) Toggle("Entertainment Room Living Room Door", tags=("entertainment_room", "living_room", "door", "occupancy", "nyi")) Toggle("Entertainment Room Laundry Room Door", tags=("entertainment_room", "laundry_room", "door", "occupancy")) Trigger("Entertainment Room Motion", tags=("entertainment_room", "motion", "occupancy")) Number("Entertainment Room Temperature", display=display_unit("C"), bindings={"http": { "pull": (60, "vinyl:8081/temp", None, float) }}, tags=("entertainment_room", "temperature", "climate", "webui.show_sparkline", "webui.readonly")) Number("Entertainment Room Humidity", display=Number.DisplayWholePercent, bindings={"http": { "pull": (60, "vinyl:8081/hum", None, float) }}, tags=("entertainment_room", "humidity", "climate",
tags=("music_room", "light", "alexa.exclude_iot")) Dimmer("Music Room Lamp", bindings={"wink": {"name": "Music Desk Lamp"}}, tags=("music_room", "light")) Group("Music Room Lights", tags=("living_room", "light"), command_send=True, members=c.items.with_tags({'light', 'music_room'})) Trigger("Music Room Motion", tags=("music_room", "motion", "occupancy", "nyi")) Toggle("Music Room Door", display=Toggle.DisplayOpenClosed, tags=("music_room", "hallway", "door", "occupancy", "nyi")) Number("Music Room Temperature", display=display_unit("C"), bindings={"http": {"pull": "cheerilee:8081/temp"}}, tags=("music_room", "temperature", "climate", "webui.show_sparkline", "webui.readonly")) Number("Music Room Humidity", display=Number.DisplayWholePercent, bindings={"http": {"pull": "cheerilee:8081/hum"}}, tags=("music_room", "humidity", "climate", "webui.show_sparkline", "webui.readonly")) Toggle("Music Room Air Conditioner",
from idiotic.item import Toggle, Trigger, Number, Group, Motor Toggle("Garage Lights", bindings={"x10": { "code": "c8" }}, tags=("garage", "light")) Toggle("Garage Counter Lights", tags=("garage", "light", "nyi")) Toggle("Garage Purple Lights", tags=("garage", "light", "nyi")) Toggle("Garage Door", display=Toggle.DisplayOpenClosed, bindings={ "http": { "pull": (15, "thegreatandpowerfultrixie:8081/door?action=get", None, lambda s: s.startswith("OPEN")), "push": [("on", "thegreatandpowerfultrixie:8081/door?action=trigger"), ("off", "thegreatandpowerfultrixie:8081/door?action=close")] } }, tags=("garage", "external_door"), aliases={ "open": "on", "close": "off" }) Motor("Garage Projector Screen", display=Motor.DisplayDownUp,
people = [ ("Dylan", [ "dylanchromebook", "dylancell", ]), ("Mark", [ "dom", "dom-wired", "markcell", ]), ("Sasha", [ "mosaic", "sashacell", ]), ("Jerry", [ "jerry", "jerryphone", ]), ] for name, devices in people: Toggle(name + " Presence", bindings={ "network": { "action": "ping", "hosts": devices, "interval": 60 } }, tags=("presence", "presence_" + name.lower()))
from idiotic.item import Toggle, Number from idiotic import instance as c from idiotic.modutils import require_items require_items('living') require_items('office') require_items('bedroom') require_items('music') require_items('entertainment') require_items('hall') Toggle("Furnace", tags=("heat", "webui.show_disable"), bindings={"x10": { "code": "d1" }}) c.modules.thermostat.Thermostat( "Boiler", tags=( "webui.show_disable", "heat", ), heaters=[ c.items.furnace, ], temps={ c.items.living_room_temperature: 1, c.items.office_temperature: 1, c.items.bedroom_temperature: 1, c.items.music_room_temperature: 1,
from idiotic.item import Toggle, Trigger, Number, Group Toggle("Outside Side Light", tags=("outside", "light", "nightlight"), bindings={"x10": { "code": "a8" }}) Toggle("Outside Front Light", tags=("outside", "light", "nightlight"), bindings={"x10": { "code": "a9" }})
from idiotic.item import Toggle, Trigger, Number, Group, Dimmer, display_unit from idiotic import instance as c Toggle("Office Light", bindings={"x10": { "code": "b4" }}, tags=("office", "light")) Trigger("Office Motion", tags=("office", "motion", "occupancy")) Toggle("Office Door", display=Toggle.DisplayOpenClosed, tags=("office", "hallway", "door", "occupancy", "nyi")) Number("Office Temperature", display=display_unit("C"), bindings={"http": { "pull": "pinkie:8081/temp" }}, tags=("office", "temperature", "climate", "webui.show_sparkline", "webui.readonly")) Number("Office Humidity", display=Number.DisplayWholePercent, bindings={"http": { "pull": "pinkie:8081/hum" }}, tags=("office", "humidity", "climate", "webui.show_sparkline", "webui.readonly"))
from idiotic.item import Toggle, Trigger, Number, Group Toggle("Laundry Room Light", tags=("laundry_room", "light"), bindings={"x10": {"code": "a10"}}) Trigger("Laundry Room Motion", tags=("laundry_room", "motion", "occupancy")) Toggle("Laundry Room Door", display=Toggle.DisplayOpenClosed, tags=("laundry_room", "exterior_door", "occupancy", "nyi"))
from idiotic.item import Toggle, Trigger, Number, Group, Dimmer, display_unit from idiotic.scene import Scene from idiotic import instance as c Group("Living Room Lamp", display=Toggle.DisplayOnOff, tags=("living_room", "light", "nightlight"), commands=False, command_send=True) Toggle("Turtle Light", tags=("living_room", "light"), bindings={"x10": { "code": "a5" }}) livingRoomAC = Toggle( "Living Room Air Conditioner", bindings={"modlet": { "device": "garage", "control": True }}, tags=("living_room", "ac", "climate")) Toggle("Front Door", display=Toggle.DisplayOpenClosed, tags=("living_room", "exterior_door", "occupancy", "nyi")) Trigger("Living Room Motion", tags=("living_room", "motion", "occupancy")) Toggle("Alert Beacon", tags=("living_room", "light", "notification", "nyi")) Toggle("Lava Lamp", tags=("living_room", "light", "nyi")) Toggle("Black Light", tags=("living_room", "light", "nyi"))
from idiotic.item import Toggle, Trigger, Number, Group, Dimmer, display_unit from idiotic import instance as c Dimmer("Bedroom Desk Lamp", bindings={"wink": { "name": "Dylan Desk Lamp" }}, tags=("bedroom", "light", "alexa.exclude_iot")) Toggle("Bedroom Light", bindings={"http": { "push": "rarity:8081/downlight" }}, tags=("bedroom", "light"), ignore_redundant=True) Toggle("Bedroom Mood Light", tags=("bedroom", "light", "nyi")) Toggle("Bedroom Fan", bindings={ "http": { "push": [("on", "rarity:8081/high"), ("off", "rarity:8081/fanoff")] } }, tags=("bedroom", "fan", "climate")) Toggle("Bedroom Air Conditioner", tags=("bedroom", "ac", "climate"), bindings={"modlet": { "device": "bedroom",
from idiotic.item import Toggle, Trigger, Number, Group from idiotic.scene import Scene Toggle("Fog Machine", tags=("garage", ), bindings={ "http": { "push": [("on", "discord:8081/fog?state=0"), ("off", "discord:8081/fog?state=1")] } })
from idiotic.item import Toggle, Trigger, Number, Group, Text, display_unit Toggle("Kitchen Light", tags=("kitchen", "light", "nightlight"), bindings={"x10": { "code": "a2" }}) Toggle("Kitchen Counter Light", tags=("kitchen", "light"), bindings={"x10": { "code": "a4" }}) Toggle("Kitchen Table Light", tags=("kitchen", "light", "nightlight"), bindings={"x10": { "code": "a3" }}) Toggle("Kitchen Stove Light", tags=("kitchen", "light", "nyi"), bindings={"x10": { "code": "a7" }}) Toggle("Coffee Maker", tags=("kitchen", "food", "nyi")) Toggle("Kettle", tags=("kitchen", "food", "nyi"), bindings={ "http": { "push": [("on", "kimiko.hackafe.net/teakettle/hold/600"), ("off", "kimiko.hackafe.net/teakettle/hold/1")] } })
from idiotic.item import Toggle, Trigger, Number, Group Toggle("Bathroom Light", tags=("bathroom", "light"), bindings={"x10": { "code": "b3" }}) Toggle("Bathroom Door", display=Toggle.DisplayOpenClosed, tags=("bathroom", "door"), bindings={ "sign": { "commands": ("on", { "message": "Bathroom Occupied", "effects": ["bounce_x"] }, "off") } })