Add support for requesting device state change
This is just a matter of adding a JarvisCmd (probably an extension to iot()) to send a state change to the monitor, which forwards the request and returns an updated status.
The monitor-iot comm will be tracked separately.
Updated by Hammel over 5 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
This may be a little more work than originally envisioned. I have the stub in Jarvis to recognize an IoT command but it doesn't know what to do with it. Right now if I say
jarvis lights office
Jarvis will tell me how many lights it found and their states. But I need to tell it
jarvis lights office on
jarvis lights office enable
So it needs to know the difference between the query and the state command. On is an adverb and enable is a verb. So if we find a verb or an adverb we need to identify what we want to do with it. For now, these commands are sufficient because the query has no verbs or adverbs, but I'd eventually like to have it differentiate
Jarvis are the lights on in the office
Jarvis turn the lights on in the office
Updated by Hammel about 5 years ago
- Status changed from In Progress to Closed
- % Done changed from 10 to 100
This is now implemented. Jarvis understands the difference between
Jarvis office lights
which is a query for the state of the lights and
Jarvis office lights on
which is a command to change the state of the lights in the office. It also understands "enabled, off and disabled".
That's good enough for the Maker Faire. Right now the lights don't change because the code in imrest is not on the hardware, so that's a different test. If the command is malformed going to the monitor (so far it looks okay and gets back a 404 response) then I'll open separate issues for fixing that.
Code pushed. Closing issue.