my.Elk 2.3

Posted 2.3, which includes the 'last change' fix. Let me know if the M1 shows HVAC activity.
 
I tried going to the link in the first entry of this thread and it says I'm not authorized. :( Can I please be authorized? ;)

Matt
 
Guys, if you have any requests for features that haven't been implemented yet, please post them now. Feedback would also be appreciated ;)
 
I had a question. in the zone_update routine, there is this line:

sDesc = "zone " & iZone & " " & iState & "update received, but is in an unknown state"

I don't see where iZone is coming from. It looks like it will always be 0. I don't see it used anywhere in the routine except this line, which is then used to make a log entry in HomeSeer, so it doesn't appear to affect functionality, just cosmetics.

Matt
 
zone_update was completely rewritten recently, so that's probably a left over, or a mistake. I will take a good look at it later and make it the way it is supposed to be. Thanks!
 
Just wanted to say that this script rocks! I'm using it to workaround the Elk not showing device status for UPB link issue. I've got homeseer statusing the Elk when it detects a change. I've barely scratched the surface but I can see the possibilities.
 
Electron - I am trying to write Thermostat/Keypad temperatures and TS setpoints to a text file for logging. It seems that your my.elk script only assigns "DeviceValues" for keypad temperatures, not TS temperatures. I can write the DeviceString for the TS, but the Values would be easier to work with. Any chance you could add Device values for the numeric values a thermostat would have.

Thanks,
lz
 
I still am without any HA hardware, so it will be a few weeks before I can get back into programming, but I will put it on my list.
 
This is how it handles keypads:
1182 hs.SetDeviceString sDevice, iTemp & "F", True
1183 hs.SetDeviceValue sDevice, iTemp

This is how it handles thermostats
455 If sTtemp <> "" Then hs.SetDeviceString sTtemp, sTemp, True Else d "thermostat_processor(): 'temp' has not been assigned to a device, ignoring update"

if you change that one line to a multi-line format, then add the desired DeviceValue command line, you get this:

If sTtemp <> "" Then
hs.SetDeviceString sTtemp, sTemp, True
hs.SetDeviceValue sTtemp, sTemp '*** added ***
Else
d "thermostat_processor(): 'temp' has not been assigned to a device, ignoring update"
End If

This should work, but I haven't tested it.
 
Thanks Wayne,

I will give that a try. I thought of attempting to make that change, but I figured I would let Electron make a released change so others could benefit as well.

And Thanks Electron for continuing the development.
 
Code it, verify it, then give it back to Electron for official sharing. That is how improvements get made. I have some other stuff to share with him before he releases the next version.
 
First, I wanted to say thanks for this great script.

I seem to be having good success with writing to the elk to turn coils on or off, and with the automatic updating of the status of zones to virtual x10 addresses.

I seem to be having some issues with the following senerio:

I have a virtual x10 address of x58 set up in HomeSeer to indicate the status of output 206 in the Elk M1G. I have the following in the "my.elk.ini" file located in "C:\Program Files\HomeSeer 2\Config":

[my.elk.outputs]
output007=x57
output206=x58

I have the following options set in "my.elk.txt"
' ini config file
sINIfile = "my.elk.ini"
'
' select serial port
iSerialPort = 5
'
' automatically attempt to open the serial port when sending commands
bAutoOpen = false
'
' enable debug level logging (WARNING: this can be very CPU intensive)
bDebug = false
'
' enable simulation (no data will be sent to the serial port, useful for debugging)
bSimulate = false
'
' enable/disable processing of incoming data
bReceive = true
'
' enable/disable automatically synchronizing the M1 on connect.
bAutoSync = true

It seems to update x58 on occasions to reflect the status of Elk output 206 bit not on a consistant basis. Does anybody have any thoughts on what I might be doing wrong?

I considered using the raw command to update x58 to reflect the contents of the Elkoutput 206 but the automatic updating seems like a much better approach if I can figure out what I am doing wrong.

Are others having good success in this area?

I would appreciate any thoughts anyone might have on the subject.

Thanks!
Brian
 
You'll have to turn on logging, and see what's going on. Does my.Elk see the command? If so, does it show it's trying to update the device status?
 
Back
Top