dan

Crates.iodan
lib.rsdan
version0.1.1
sourcesrc
created_at2022-07-21 22:50:26.3102
updated_at2022-07-22 16:28:49.60863
descriptionDan is a home automation programming langauge
homepagehttps://github.com/nathanielc/dan
repositoryhttps://github.com/nathanielc/dan
max_upload_size
id629897
size96,216
Nathaniel Cook (nathanielc)

documentation

README

Dan

mqtt-smarthome

Dan is a home automation programming language. The langauge has native support for working with MQTT.

Dan Example

Lock all the doors at 10PM each night.

scene night {
    print "starting night scene"

    set zwave/Front/DoorLock/98/0/targetMode/set {value: 255}
    set zwave/Garage/DoorLock/98/0/targetMode/set {value: 255}

    set zwave/Kitchen/DoorLock/98/0/targetMode/set {value: 255}
}


at 10:00PM start night

Installing

Install the dan binary using cargo:

$ cargo install dan

Running

Place the above example in a directory ./dan.d and invoke dan:

$ dan --mqtt-url mqtt://localhost --dir ./dan.d
Commit count: 41

cargo fmt