iCasa provides a set of functional gogo commands helping the manipulation of iCasa elements, such as devices, zones and persons.
Creates a new simulated device.
Scope -> icasa
Name-> create-device
Parameters:
> g! icasa:create-device iCasa.Thermometer therm-1
Gets the list of devices in the iCasa execution platform, this command shows the devices identifiers, and their position.
Scope -> icasa
Name -> show-devices
Parameters -> NONE
> g! icasa:show-devices
Devices:
Device Id: Pres-B1255D-D - Position: (413:185)
Device Id: BiLi-C7496W-S - Position: (58:427)
Device Id: Pres-A1255D-D - Position: (504:374)
Device Id: Toogle-B1286X-Y - Position: (599:38)
Device Id: Toogle-D1286X-Y - Position: (219:349)
Device Id: Pres-D1255D-D - Position: (166:24)
Device Id: Pres-C1255D-D - Position: (240:399)
Device Id: BiLi-D7496W-S - Position: (202:59)
Device Id: Toogle-C1286X-Y - Position: (97:384)
Device Id: Toogle-A1286X-Y - Position: (509:451)
Device Id: BiLi-A7496W-S - Position: (492:440)
Device Id: BiLi-B7496W-S - Position: (505:270)
Active a device.
Scope -> icasa
Name-> activate-device
Parameters->
> g! icasa:activate-device Pres-B1255D-D
Deactive a device.
Scope -> icasa
Name-> deactivate-device
Parameters->
> g! icasa:deactivate-device Pres-B1255D-D
Shows the list of properties of a device.
Scope -> icasa
Name-> show-device
Parameters->
> g! icasa:show-device Pres-B1255D-D
Properties:
Property: presenceSensor.sensedPresence - Value: false
Property: state - Value: activated
Property: Location - Value: livingroom
Property: fault - Value: no
Simulate a fail in a device.
Scope -> icasa
Name-> fault-device
Parameters->
> g! icasa:fault-device Pres-B1255D-D
Repair a device.
Scope -> icasa
Name-> repair-device
Parameters->
> g! icasa:repair-device Pres-B1255D-D
Move a device into new X,Y coordinates
Scope -> icasa
Name-> move-device
Parameters-
> g! icasa:move-device Pres-B1255D-D 60 80
Move a device into new X,Y coordinates
Scope -> icasa
Name-> move-device-zone
Parameters-
> g! icasa:move-device-zone Pres-B1255D-D kitchen
Set a new device property
Scope -> icasa
Name-> set-device-property
Parameters-
> g! icasa:set-device-property Pres-B1255D-D newProp newValue
Remove a simulated device
Scope -> icasa
Name-> remove-device
Parameters-
> g! icasa:remove-device Pres-A1255D-D
Attach or deatach a device from a person
Scope -> icasa
Name-> attach-device-person
Parameters-
> g! icasa:attach-device-person Pres-A1255D-D Philippe true
> g! icasa:attach-device-person Pres-A1255D-D Philippe false
Creates a new zone.
Scope -> icasa
Name-> create-zone
Parameters-
> g! icasa:create-zone kitchen 50 50 100 100
Show the existant zones.
Scope -> icasa
Name-> show-zones
Parameters-
> g! icasa:show-zones
Zones:
Zone livingroom : Zone: livingroom X: 410 Y: 20 Z: 0 X-Length: 245 Y-Length: 350 Z-Length: 100 Parent:Unset Use Parent: false
Zone kitchen : Zone: kitchen X: 410 Y: 370 Z: 0 X-Length: 245 Y-Length: 210 Z-Length: 100 Parent:Unset Use Parent: false
Zone bathroom : Zone: bathroom X: 55 Y: 20 Z: 0 X-Length: 260 Y-Length: 350 Z-Length: 100 Parent:Unset Use Parent: false
Zone bedroom : Zone: bedroom X: 55 Y: 370 Z: 0 X-Length: 259 Y-Length: 210 Z-Length: 100 Parent:Unset Use Parent: false
Move a zone to a new position
Scope -> icasa
Name-> move-zone
Parameters-
> g! icasa:move-zone livingroom 410 25
Resize a zone
Scope -> icasa
Name-> resize-zone
Parameters-
> g! icasa:resize-zone livingroom 245 300
Add a parent to a zone.
Scope -> icasa
Name-> set-zone-parent
Parameters-
Throws-> Exception when zone does not fit in the parent.
> g! icasa:set-zone-parent livingroom chair true
Add a variable to a zone.
Scope -> icasa
Name-> add-zone-variable
Parameters-
> g! icasa:add-zone-variable livingroom comfortable
Modifies a variable in a given zone.
Scope -> icasa
Name-> modify-zone-variable
Parameters-
> g! icasa:modify-zone-variable livingroom comfortable 100
Attach a zone to a device .
Scope -> icasa
Name-> attach-zone-device
Parameters-
> g! icasa:attach-zone-device Pres-A1255D-D chair true
> g! icasa:attach-zone-device Pres-A1255D-D chair false
Shows the information of a zone.
Scope -> icasa
Name-> show-zone
Parameters->
> g! icasa:show-zone livingroom
Variables:
Variable: Volume - Value: 10.0
Variable: Illuminance - Value: 5.0
Variable: Temperature - Value: 295.15
Creates a new simulated person.
Scope -> icasa
Name-> create-person
Parameters:
> g! icasa:create-person Pierre Boy
Get the zones where a given person is located.
Scope -> icasa
Name-> show-person-zones
Parameters:
> g! icasa:show-person-zones Pierre
Zones:
Zone : Zone: bedroom X: 55 Y: 370 -- Width: 259 Height: 210 - Parent: Unset - Use parent: false
Shows the list of persons.
Scope -> icasa
Name-> show-persons
Parameters->
> g! icasa:show-persons
Persons:
Person Person: Pierre - Position: (215:444) - Type: Boy
Move a person to new positions
Scope -> icasa
Name-> move-person
Parameters->
> g! icasa:move-person Pierre 100 100
Move a person to a zone.
Scope -> icasa
Name-> move-person-zone
Parameters->
> g! icasa:move-person-zone Pierre kitchen
Attach/detach a person to/from a zone.
Scope -> icasa
Name-> attach-person-zone
Parameters->
> g! icasa:attach-person-zone Pierre chair true
> g! icasa:attach-person-zone Pierre chair false
Clear the simulation context, it will remove all zones, simulated devices and persons.
Scope -> icasa
Name-> reset-context
Parameters->
> g! icasa:reset-context
Shows the list of available scripts
Scope -> icasa
Name-> show-scripts
Parameters->
> g! icasa:show-scripts
Scripts:
SetupHouse.bhv
SetupHouseWithLights.bhv
Execute a script. The scripts must be already loaded (available in the script directory)
Scope -> icasa
Name-> execute-script
Parameters->
> g! icasa:execute-script SetupHouseWithLights.bhv
Scope -> icasa
Name-> set-global-property
Parameters->
> g! icasa:set-global-property period 80.0 Float
Scope -> icasa
Name-> set-user-property
Parameters->
> g! icasa:set-user-property john period 80.0 Float
Scope -> icasa
Name-> set-app-property
Parameters->
> g! icasa:set-app-property LightFollowMe period 80.0 Float
Scope -> icasa
Name-> get-global-property
Parameters->
> g! icasa:get-global-property period
Property: period - Value: 80.0
80
Scope -> icasa
Name-> get-user-property
Parameters->
> g! icasa:get-user-property jhon period
Property: period - Value: 80.0
80
Scope -> icasa
Name-> get-app-property
Parameters->
> g! icasa:get-app-property LightFollowMe period
Property: period - Value: 80.0
80