ScottBot wrote: What do you have in mind that would require hex/binary data to be sent over the connection?
Actually, nothing in particular, all of my other PCs and microcontrollers can send/receive ASCII data just fine over TCP. Before submitting, I went back and added HEX for others that might would have a need. If there doesn't seem to be a need for it then I'm fine with ASCII only.
I agree that the simpler, the better. For me; as long as I can get/set properties, and maybe create/edit/destroy properties as well then it would fulfill my needs just fine. I do like the URL option and being able to process http responses.
Another V3 question - Are you looking at incorporating any client-side (swremote) processing capabilities? I ask because I'm working on replacing my thermostat with temp sensors and login in HouseBot. On my control panel, I have the typical UP/DOWN buttons and a "setpoint" display. To correctly increment/decrement the setpoint - I fire a task when one of the up/down buttons are pressed that launches a script to raise/lower the setpoint by 1. It works fine, I'm I have been impressed with the response, but I hate having to send so much traffic over the wire if I don't have to. It would be nice to have simple math and conditional logic on the swremote so I could raise/lower the setpoint, then send the final number to the server.
Oohh yeah, that made me think of something else - Math functions (C++ Operators would rock) in tasks for properties/variables other than time and the ability to have multiple top-level branches - something like:
(This example uses the raise/lower problem above, which wouldn't be needed if client-side process was introduced, but it was the first example off the top of my head - Hopefully you'll get my meaning
. There are tons of other uses for this)
All of this code would be in
one task:
If ('HVAC Control.Setpoint Request' is Equal 'Raise1') Then
Math 'HVAC Control.Setpoint'++
Change 'HVAC Control.Setpoint Request' to ''
End If
If ('HVAC Control.Setpoint Request' is Equal 'Raise5') Then
Math 'HVAC Control.Setpoint'+=5
Change 'HVAC Control.Setpoint Request' to ''
End If
If ('HVAC Control.Setpoint Request' is Equal 'Lower1') Then
Math 'HVAC Control.Setpoint'--
Change 'HVAC Control.Setpoint Request' to ''
End If
If ('HVAC Control.Setpoint Request' is Equal 'Lower5') Then
Math 'HVAC Control.Setpoint'-=5
Change 'HVAC Control.Setpoint Request' to ''
End If
Something like that would allow me to eliminate external external script and consolidate two tasks into one. Alone, either the Math function or the login consolidation would be a great addition. Both together would be phenomenal.
I better stop now, I have more ideas but it might scare you if I keep going.
Thanks,
Terry