View Full Version : Netcaller ID?
jwilson56
March 8th, 2007, 09:49 PM
Ok... I need to get Netcaller ID working. After playing around I think some files are missing from the Girder5A-514.exe install. There is no plugin for the Netcaller ID. Is this being worked on or is the file missing from the current install? Again this is a virgin install on a new system so there was no carry over files.
Thanks
John
Promixis
March 9th, 2007, 08:45 AM
John, component is broken as we update to the new G5 transport system.
Will be fixed for next release.
jwilson56
March 9th, 2007, 10:25 AM
When is the next release due out? ball park?
Thanks
John
Ron
March 9th, 2007, 10:26 AM
At the latest by Monday.
jwilson56
March 9th, 2007, 11:05 AM
Any chance will we get a Caller ID log and a Netremote example to view the current caller information and log using NR/G5? This is what I have in NR/Homeseer.
When the call comes in it:
1) Executes a vb program that was written to pause all the 'zones' withing JRMC
2) Searches a text file for a match and uses the name in that file to both announce the name of the caller with TTS and uses that name in the caller if ASCII log file which gets stored on the hard drive and also gets entered into a rotating buffer for the past 14 numbers which gets displayed on a NR popup.
3) After it announces the call with TTS it then changes the state on the NR screen which pops up the screen below which displays the current caller ID and the past 14 calls.
4) Sends out a YAC message (using the yactextsend.exe file) to all my PC's displaying the caller info (also works with MCE YAC and Tivo YAC).
I am hoping to duplicate this function in my next skin.
Thanks
John
Promixis
March 10th, 2007, 09:59 AM
the CID info is not yet integrated into the DM but will be shortly. this means all NR clients gets the data automatically. we will also be building the popup into the default flat ccf.
what graphics are you using for playingnow 2007?
jwilson56
March 10th, 2007, 12:29 PM
the CID info is not yet integrated into the DM but will be shortly. this means all NR clients gets the data automatically. we will also be building the popup into the default flat ccf.
what graphics are you using for playingnow 2007?
I am still in the planning stage for Now Playing 2007 doing research and looking around. I thought it best to try and get Now Playing 2005 converted over somewhat to G5 and off Homeseer then investigate what new function are available. Functionality might effect overall design.
John
jwilson56
March 12th, 2007, 11:38 AM
Did Netcaller ID get fixed in this latest release?
John
harleydude
March 12th, 2007, 01:22 PM
Ditto here.
Promixis
March 12th, 2007, 05:11 PM
It should have... checking with Ron
Ron
March 12th, 2007, 05:23 PM
Mike: Build 515 used revision 582
jwilson56
March 12th, 2007, 05:54 PM
Ok... rebooted and the basic function of announcing the caller now works... its a start...thanks
The Caller ID under Automation does not show up like G4 did and what shows up under Component Manager.
Would someone mind going over the basic functionality that it has right now.... what scripts are called, ect. I want to work with harleydude to see if we can get the functions I need. I just want to know where this stands.
Thanks
John
The G4 screen and the G5 screen for Caller ID
harleydude
March 12th, 2007, 06:52 PM
Just installed G5 515 to a clean system and the CID config screen is no longer available. How do we setup name/number translation and various other options?
Promixis
March 12th, 2007, 09:52 PM
Guys,
The CID stuff has moved over to components. The new structure is as follows.
1. CallerID Providers -> currently NetCallerID and CallerIDModem. You can have as many instances of theses devices as wanted. Enable the appropriate componets and then configure the correct ports.
2. CallerID Handler. Handlers all CID events from 1. Here you can select voice announcement and osd as needed.
There are certain to be a few bugs here as this code is mostly new.
jwilson56
March 12th, 2007, 10:09 PM
Guys,
The CID stuff has moved over to components. The new structure is as follows.
1. CallerID Providers -> currently NetCallerID and CallerIDModem. You can have as many instances of theses devices as wanted. Enable the appropriate componets and then configure the correct ports.
2. CallerID Handler. Handlers all CID events from 1. Here you can select voice announcement and osd as needed.
There are certain to be a few bugs here as this code is mostly new.
What I do not see Mike is #2.... the only screen under components I see is what I posted above.
Oh I understand about the bugs... I am just trying to make sure what you see is what I see as mine is a completely fresh install.
John
harleydude
March 14th, 2007, 06:19 AM
Any word on this?
harleydude
March 14th, 2007, 07:17 PM
Maybe this will help.
On my system when I open the Component Manager and enable NetCallerID, I see NetCallerID and Caller ID Handler show up in the Enabled Components list. When I select Misc. Components, an option to configure Caller ID is visible. When I select it, a screen shows up to allow me to select the serial port the NetCallerID box is connected to. I select the correct port and the status indication changes to Ok [Connected].
Now I want to setup the options for OSD, announcements and what not, but they are no where to be found. How do I configure these options?
Can someone confirm what me and jwilson are seeing?
Promixis
March 15th, 2007, 07:39 PM
I believe a file is misssing from your install. Next release :(
harleydude
March 15th, 2007, 07:42 PM
Ok, thanks for the response. Any idea on date of new release?
jwilson56
March 15th, 2007, 10:41 PM
Good to hear it was a simple fix... can't wait to test it.
John
jwilson56
March 19th, 2007, 02:19 PM
Ok... thanks for the fix... one question... I can't seem to get the "Start Announcement with:" working. Maybe I am not using it properly. Any suggestions?
Also when I exit and restart G5 the components in CM seem not to be there. If I add them again it all works.
John
jwilson56
March 20th, 2007, 06:36 PM
Anyone else having the problem with CM not saving its settings?
John
Ok I fixed it... renamed my G5 folder and re-installed G5. It all works now...
Promixis
March 21st, 2007, 04:01 PM
John, how were you installing G5 that it was doing the above?
jwilson56
March 22nd, 2007, 06:15 AM
John, how were you installing G5 that it was doing the above?
I just installed it over the previous version (which was the one prior to this version on a new PC). When I renamed the directory and installed it kept all my devices and everything seems to work ok now.
I will let you know if anything else pops up.
John
harleydude
March 23rd, 2007, 08:00 PM
Just updated my production system with 516.
Could not setup NetCallerID, serial port drop down was empty. Finally had to go into the config file and manually enter the serial port it was using before it would work. As John mentioned, CID settings do not appear to be saving.
I use a custom script to announce calls, before the call info was presented in the payload vars. Now I see this 'Main Line\CallerID:Calls=table: 05FC92A8' how do I extract the various pieces of info about the call?
Rob H
March 24th, 2007, 04:58 AM
In your script add
table.print(pld1)
Then you'll be able to see the fields of the table and can decide what to do with them.
harleydude
March 24th, 2007, 09:09 AM
Here is the script I am using
print ('CIDEvent')
print (pld1,pld2,pld3,pld4)
and the LUA output
CIDEvent
nil nil nil nil
Tried using table.print(pld1) and the throws an error about the table index being nil.
Rob H
March 24th, 2007, 12:28 PM
Ah, should probably wait for an answer from Mike in that case.
Promixis
March 26th, 2007, 08:53 PM
The event you are talking about in the logger is from the CallerID Device from the device manger NOT the calleridhandler component. There should be a 'NewCall' event from the component.
Alternatively, you could subscribe to the component to get events directly.
Promixis
March 26th, 2007, 08:54 PM
Anyone else having the problem with CM not saving its settings?
John
Ok I fixed it... renamed my G5 folder and re-installed G5. It all works now...
Other none sticking settings (preamble/postamble) fixed.
jwilson56
April 13th, 2007, 09:21 PM
I believe a file is misssing from your install. Next release :(
When are we going to see the next release??
John
Ron
April 14th, 2007, 06:33 PM
Soon, I have a bug in the licensing code that is crashing G when a license is entered....
jwilson56
April 19th, 2007, 12:48 PM
Mike, Ron or ?
Is there an example of a NR CCF that displays the Caller ID information around? I am on that part of my Now Playing 2007 and would like to migrate this function off of Homeseer. Currently I have a popup panel that displays the currently calling number as well as the previous 15.
If now could you steer me to some documentation as to how to do this?
Thanks
John
Ron
April 19th, 2007, 01:00 PM
Hmm it looks like the Caller ID component has a checkbox that says "Send to NetRemote Clients", this should do it. Sadly the only modem I have is an internal modem in my laptop and that doesn't seem to report an incoming call.
Promixis
April 19th, 2007, 01:49 PM
John,
I am assuming you are using the calleridmodem and calleridhandler components -> from the component manager?
If so, this data is in netremote in the devicemanager. We have been planning on adding a CallerID page to the flatstyle ccf and webserver to support viewing of CID info. Rob -> what do you think?
Rob H
April 19th, 2007, 02:38 PM
Shouldn't be too difficult, but I don't have any caller id hardware either.
If you can add caller id stuff to the test harness I'll see what I can do
jwilson56
April 19th, 2007, 04:53 PM
Thanks guys... I will be more than happy to test whatever you come up with using the NetcallerID box. I have it announcing the incoming calls right now with G5 and that works fine. Eventually I would like to have the Caller ID on a Netremote popup frame that is 'un-hidden' when a call comes in. I do this now with Homeseer. It actually runs a small VB app that harleydude wrote that also wakes up the monitor. So the chain of events that I currently do are:
1) A call comes in
2) Caller ID is looked up and substituted with with Name and Phone Number from database
3) Prefix and postfix announcement are appended (on the Homeseer plugin it also does this based on a group code assigned to the phone number so that when someone for my son calls it actually uses his own greeting... very handy to tell who should answer the phone)
4) Substituted Caller ID is announced using TTS voice (also on the Homeseer plugin the voice is kept quite based on what time of day for each group code and is separate for the voice's overall time and day limits)
5) Number is stored into a caller log (I actually store all calls into an ASCII file and only show the last 15). The caller log is cleaned out manually
6) The numbers are updated into the NR variables
7) A 'un-hide' NR variable is set to "1" that causes the Caller ID frames to popup
8) A timer is set to 45 (set-able) seconds to 're-hide' the popups
9) A VB application is run from a NR LUA script that 'wakes' up the monitor (works on Fujitsu 3400 tablets)
Things to add:
A red flashing LED image that can be put onto any NR page to show that there was a call. The LED flashing image would go green when the Caller ID panel has been viewed and closed.
Just some ideas to think about
John
Promixis
April 19th, 2007, 06:07 PM
Shouldn't be too difficult, but I don't have any caller id hardware either.
If you can add caller id stuff to the test harness I'll see what I can do
On SVN now.
Rob H
April 20th, 2007, 03:52 AM
Thanks Mike, I'll see what I can come up with this weekend.
jwilson56
April 24th, 2007, 09:37 PM
Hey Rob did you get a chance to work on the Caller ID stuff this weekend?
Getting close to working on that part of my new skin.
John
Rob H
April 25th, 2007, 05:26 AM
I'm afraid not :( I'll try to get to it this week
jwilson56
April 27th, 2007, 01:45 PM
Well I would really appreciate it. I am trying to move this project over to Girder and get off of Homeseer.
John
jwilson56
April 30th, 2007, 05:37 PM
Well I have all my Slink-e IR stuff running off G5 and have shutdown Homeseer. The only thing that I am missing is the Caller ID log popup. Any chance you will getting to it this week?
Thanks
John
Rob H
April 30th, 2007, 06:29 PM
I should be yes, I made a start on it yesterday, but didn't really get too far.
jwilson56
May 1st, 2007, 03:20 PM
In the meantime is it possible to come up with a quick LUA script that would put the last caller info into the NR variable {NP.CallerID.1}? I tested the Event for CID and it worked fine, its just that I have no idea what the LUA variable is for the CID info.
At least that way I can have that working for now (since I took Homeseer offline).
Also I am looking for a way to pause all active zones for JRMC.
Thanks
John
Promixis
May 1st, 2007, 03:33 PM
John, in the logger, when a new call comes in, you will see both the callerid handler event and the callerid device manager events. You can use either of these to pause JRMC using whatever method you want.
The callerid handler also will set a NR variable (cannot remember the name right now) when a new call comes in.
jwilson56
May 1st, 2007, 04:10 PM
Yeah I play tested the Caller event just need the LUA variable. I can't seem to find anything in the Variable viewer..lol
I don't see any MediaBridge commands in the Action tree which I find surprising. I would hope that you should be able to control MediaBridge with G5.
John
Promixis
May 1st, 2007, 07:22 PM
Yeah I play tested the Caller event just need the LUA variable. I can't seem to find anything in the Variable viewer..lol
I don't see any MediaBridge commands in the Action tree which I find surprising. I would hope that you should be able to control MediaBridge with G5.
John
Controlling MB is on the todo list....
jwilson56
May 1st, 2007, 08:31 PM
Well I decided to use the small VB application written for me by harleydude a few years back. It will pause any active JRMC zones that are playing.
I just used the OS/File Execute and the call event
MonitorCtrl.exe jrmcpause
Thanks again harleydude
John
PS anyone know the LUA variable for the caller name and number for the last call?
Berg
May 1st, 2007, 08:35 PM
Controlling MB is on the todo list....
That would be great ! Do you know if this is something that will make the cut for the first final release of G5, or is this on the drawing board for a future release ?
TIA.
jwilson56
May 1st, 2007, 08:52 PM
Ok... got the last caller and number to work in NR. Found the problem was I did not have the send to NR checked off so wasn't seeing the variables.
John
jwilson56
May 1st, 2007, 09:32 PM
Ok... added a YAC message sender.... great little app to send messages to any PC. harleydude once again helped me big time with the syntax.
local s_yac_msg = string.format("Incoming call from %s at %s", (pld1 or 'Unknown'),(pld2 or 'Unknown'))
win.ShellExecuteEx("c:\\mount\\YACTextSend.exe", s_yac_msg, nil, win.SW_SHOWNORMAL)
This was in a Script action in the CallerID event Macro
This would also work with YAC Tivo or YACMCE
John
Rob H
May 2nd, 2007, 04:51 AM
Here are a couple of updates - one to NetRemote.lua (goes in the luascript folder) and one to ConnectionManager.lua (goes in luascript\DeviceManager).
With these in place you'll be able to access the most recent call.
The variable names are based on the device path e.g. on my machine using the test harness the caller id path is
cordelia\TestHarness\Test Harness CallerID
Below this I find
Calls.Values_1_Date,
Calls.Values_1_Name,
Calls.Values_1_Number,
Calls.Values_1_Time
There are similar variables for older calls, but the most recent is always numbered 1.
jwilson56
May 2nd, 2007, 10:06 PM
I appreciate this...and have it working.... is there anyway to format the Date and Time string to use 05/04 instead of 0504 and 10:33 instead of 1033 when its put into the table? Right now I am using the variables in a loop in NR like this
{Fordrat8\CallerID\NetcallerID\Calls.Values_<LoopIndex>_Date}
and being a LUA newbie I am not sure it would be too easy to format there.
Thanks
John
Rob H
May 3rd, 2007, 04:19 AM
Simplest (!) thing would be to use my ListManager code to manage the call list, then you could use custom OnPaint and OnGetItem handlers, but that might be a bit ambitious for you at the moment.
You'd change the labels in the CCF to something like {CallerId.<LoopIndex>_Name} etc. then create a ListManager as follows:
CallerIdManager = ListManager:New('CallerId', -- base label
5, -- number of items to display
{}, -- dummy table since we don't have a real lua
table
{ -- supply any overrides and event handlers
root = [[Fordrat8\CallerID\NetcallerID\Calls.Values_]],
OnGetItemCount = function(lm)
local findlast
findlast = function(min, max)
if min == max then
return min
end
-- do a binary chop to find the last value set
local testValue = math.floor(min + (max - min) / 2)
if NetRemote.GetVariable(lm.root .. testValue..'.Number') == "" then
-- we have no value at this point so look downwards
return findlast(min, testvalue)
else
-- there is a value here so let's look upwards
return findlast(testvalue, max)
end
end
return findlast(1, 100) -- caller id only goes up to 100 by default
-- to be really smart here we would cache the value of findlast and use that next time as the minimum the next time we call it
end,
OnGetItem = function(lm, index)
local basestring = lm.root .. index .. '_'
local datenum = tonumber(NetRemote.GetVariable(basestring..'Date') )
local month = math.floor(datenum / 100)
local day = datenum - 100 * month
datenum = string.format('%.2d/%.2d', month, day)
local timenum = tonumber(NetRemote.GetVariable(basestring..'Time') )
local hour = math.floor(timenum/ 100)
local min = timenum - 100 * hour
timenum = string.format('%.2d:%.2d', hour, min)
local entry = {
Name = NetRemote.GetVariable(basestring..'Name'),
Date = datenum,
Time = timenum,
Number = NetRemote.GetVariable(basestring..'Number'),
}
return entry
end,
OnPaint = function(lm, entry, index)
local base = lm.baselabel..'_'..index
NetRemote.SetVariable(base .. 'Name', entry.Name)
NetRemote.SetVariable(base .. 'Date', entry.Date)
NetRemote.SetVariable(base .. 'Time, entry.Time)
NetRemote.SetVariable(base .. 'Number', entry.Number)
end,
})
This would of course go in your CCF's .lua file - or in a separate file loaded from your CCF's lua file using a require statement.
Note that this code is off the top of my head and is untested, but if you have any problems with it let me know.
harleydude
May 4th, 2007, 09:49 AM
Rob,
I have tried the script above and am encounter errors in the OnGetItemCount method. How can I copy the NRD LUA Console so I can paste it here?
Rob H
May 4th, 2007, 10:26 AM
You can't unfortunately :(
However, you can use DebugView from www.sysinternals.com
Promixis
May 4th, 2007, 10:27 AM
That would be great ! Do you know if this is something that will make the cut for the first final release of G5, or is this on the drawing board for a future release ?
TIA.
hopefully basic support in G5 final
harleydude
May 4th, 2007, 10:35 AM
Here is debug
[1416] 10:39:14.734] ScriptEngine] Creating CCF object
[1416] 10:39:14.734] ScriptEngine] Enabling callbacks
[1416] 10:39:14.734] ScriptEngine] Initializing lua
[1416] Loading GAC.lua
[1416]
[1416] Loaded GAC.lua
[1416]
[1416] Loading GirderReady.lua
[1416]
[1416] Loaded GirderReady.lua
[1416]
[1416] Loading PanelWatch.lua
[1416]
[1416] Loaded PanelWatch.lua
[1416]
[1416] Loading Lua File
[1416]
[1416] OnGetItem Index = 1
[1416]
[1416] OnPaint
[1416]
[1416] OnGetItem Index = 2
[1416]
[1416] OnPaint
[1416]
[1416] OnGetItem Index = 3
[1416]
[1416] OnPaint
[1416]
[1416] OnGetItem Index = 4
[1416]
[1416] OnPaint
[1416]
[1416] OnGetItem Index = 5
[1416]
[1416] OnPaint
[1416]
[1416] X10_2Way:OnGetItemCount()
[1416]
[1416] X10_2Way:OnGetItemCount()1100
[1416]
[1416] X10_2Way:OnGetItemCount() we have no value at this point so look downwards
[1416]
[1416] X10_2Way:OnGetItemCount()1max=nil
[1416]
[1416] Loading group HOME and page X10-Remote
[1416]
[1416] 10:39:17.484] ScriptEngine] Total time : 31
[1416] 10:39:17.484] ScriptEngine] Calling OnCCFLoad
[1416] Loaded group HOME and page X10-Remote
[1416]
and script:
require ('ListManager')
print ('Loading Lua File')
--Add your Lua code below
CallerIdManager = ListManager:New(
'CallerId', -- base label
5, -- number of items to display
{}, -- dummy table since we don't have a real lua table
{ -- supply any overrides and event handlers
root = [[ncc-1701\CallerID\Main Line\Calls.Values_]],
OnGetItemCount = function(lm)
print ('X10_2Way:OnGetItemCount()')
local findlast
findlast = function(min, max)
if min == max then
return min
end
-- do a binary chop to find the last value set
print ('X10_2Way:OnGetItemCount()'..(min or 'min=nil')..(max or 'max=nil'))
local testValue = math.floor(min + (max - min) / 2)
if NetRemote.GetVariable(lm.root .. testValue..'_Number') == "" then
print ('X10_2Way:OnGetItemCount() we have no value at this point so look downwards')
return findlast(min, testvalue)
else
print ('X10_2Way:OnGetItemCount() there is a value here so lets look upwards')
return findlast(testvalue, max)
end
end
return findlast(1, 100) -- caller id only goes up to 100 by default
-- to be really smart here we would cache the value of findlast and use that next time as the minimum the next time we call it
end,
OnGetItem = function(lm, index)
print ('OnGetItem Index = '..index)
local basestring = lm.root .. index .. '_'
local datenum = tonumber(NetRemote.GetVariable(basestring..'Date') )
local month = math.floor(datenum / 100)
local day = datenum - 100 * month
datenum = string.format('%.2d/%.2d', month, day)
local timenum = tonumber(NetRemote.GetVariable(basestring..'Time') )
local hour = math.floor(timenum/ 100)
local min = timenum - 100 * hour
timenum = string.format('%.2d:%.2d', hour, min)
local entry = {
Name = NetRemote.GetVariable(basestring..'Name'),
Date = datenum,
Time = timenum,
Number = NetRemote.GetVariable(basestring..'Number'),
}
return entry
end,
OnPaint = function(lm, entry, index)
print ('OnPaint')
local base = lm.baseLabel..'.'..index
NetRemote.SetVariable(base .. '_Name', entry.Name)
NetRemote.SetVariable(base .. '_Date', entry.Date)
NetRemote.SetVariable(base .. '_Time', entry.Time)
NetRemote.SetVariable(base .. '_Number', entry.Number)
end,
})
CallerIdManager:RefreshList()
NetRemote:RegisterVariableWatch('CallerID.Name',Ca llerIdManager:RefreshList())
Rob H
May 4th, 2007, 10:58 AM
Ah, there's a typo - testValue and testvalue, these should be the same.
harleydude
May 4th, 2007, 11:14 AM
Thanks Rob that one is fixed, now for the next error below. [4092] OnGetItem Index = datenum=nil
[4092] 11:11:44.640] ScriptEngine] Creating CCF object
[4092] 11:11:44.640] ScriptEngine] Enabling callbacks
[4092] 11:11:44.640] ScriptEngine] Initializing lua
[4092] Loading GAC.lua
[4092]
[4092] Loaded GAC.lua
[4092]
[4092] Loading GirderReady.lua
[4092]
[4092] Loaded GirderReady.lua
[4092]
[4092] Loading PanelWatch.lua
[4092]
[4092] Loaded PanelWatch.lua
[4092]
[4092] Loading Lua File
[4092]
[4092] OnGetItem Index = 1
[4092]
[4092] OnGetItem Index = datenum=nil
[4092]
[4092] Loading group HOME and page X10-Remote
[4092]
[4092] 11:11:52.328] ScriptEngine] Total time : 47
[4092] 11:11:52.328] ScriptEngine] Calling OnCCFLoad
[4092] Loaded group HOME and page X10-Remote
[4092]
Also, is there any examples for ListManager anywhere? I looked thru some of the LUA files for other CCF 's and did not find anything.
Rob H
May 4th, 2007, 11:47 AM
Hmm... just to check, are you using the new NetRemote.lua and ConnectionManager.lua that I posted earlier in this thread?
The code looks okay to me, so you may want to check that you have the appropriate variables showing in NRD - try printing the value of
basestring..'Date'
in OnGetItem and make sure that you have a corresponding NR variable.
I use ListManager extensively in the flatstyle CCF - see the luascript\DM directory.
harleydude
May 4th, 2007, 12:00 PM
I reloaded the files posted above and restarted G5. Now the CID variables are showing up in the NRD Varaible Viewer. When I click Send Interface to NR to reset NR, both NR & NRD freeze and DebugView shows the following:
[4680] OnGetItem Index = 1
[4680]
[4680] OnGetItem datenum = 503
[4680]
[4680] OnPaint
[4680]
[4680] OnGetItem Index = 2
[4680]
[4680] OnGetItem datenum = 503
[4680]
[4680] OnPaint
[4680]
[4680] OnGetItem Index = 3
[4680]
[4680] OnGetItem datenum = 503
[4680]
[4680] OnPaint
[4680]
[4680] OnGetItem Index = 4
[4680]
[4680] OnGetItem datenum = 503
[4680]
[4680] OnPaint
[4680]
[4680] OnGetItem Index = 5
[4680]
[4680] OnGetItem datenum = 503
[4680]
[4680] OnPaint
[4680]
[4680] X10_2Way:OnGetItemCount()
[4680]
[4680] X10_2Way:OnGetItemCount()1-100
[4680]
[4680] X10_2Way:OnGetItemCount() we have no value at this point so look downwards
[4680]
[4680] X10_2Way:OnGetItemCount()1-50
[4680]
[4680] X10_2Way:OnGetItemCount() we have no value at this point so look downwards
[4680]
[4680] X10_2Way:OnGetItemCount()1-25
[4680]
[4680] X10_2Way:OnGetItemCount() there is a value here so lets look upwards
[4680]
[4680] X10_2Way:OnGetItemCount()13-25
[4680]
[4680] X10_2Way:OnGetItemCount() we have no value at this point so look downwards
[4680]
[4680] X10_2Way:OnGetItemCount()13-19
[4680]
[4680] X10_2Way:OnGetItemCount() we have no value at this point so look downwards
[4680]
[4680] X10_2Way:OnGetItemCount()13-16
[4680]
[4680] X10_2Way:OnGetItemCount() we have no value at this point so look downwards
[4680]
[4680] X10_2Way:OnGetItemCount()13-14
[4680]
[4680] X10_2Way:OnGetItemCount() there is a value here so lets look upwards
[4680]
[4680] X10_2Way:OnGetItemCount()13-14
[4680]
[4680] X10_2Way:OnGetItemCount() there is a value here so lets look upwards
[4680]
[4680] X10_2Way:OnGetItemCount()13-14
[4680]
[4680] X10_2Way:OnGetItemCount() there is a value here so lets look upwards
[4680]
[4680] X10_2Way:OnGetItemCount()13-14
[4680]
[4680] X10_2Way:OnGetItemCount() there is a value here so lets look upwards
[4680]
[4680] X10_2Way:OnGetItemCount()13-14
[4680]
[4680] X10_2Way:OnGetItemCount() there is a value here so lets look upwards
[4680]
[4680] X10_2Way:OnGetItemCount()13-14
[4680]
[4680] X10_2Way:OnGetItemCount() there is a value here so lets look upwards
[4680]
[4680] X10_2Way:OnGetItemCount()13-14
[4680]
[4680] X10_2Way:OnGetItemCount() there is a value here so lets look upwards
NR appears to be caught in a loop.
harleydude
May 4th, 2007, 12:36 PM
I changed to code to the following and the loop is now gone, not sure if it is the best way to handle, but it works.
if min == max or max - min == 1 then
return min
end
I still get this error, [4092] OnGetItem Index = datenum=nil, on startup, could it be that the CID variables have not reached NR yet?
harleydude
May 4th, 2007, 02:16 PM
Now something really crazy is going on. My times/dates started looking funny in NR. As I looked at it more closely it appears the date and time values have swapped. I have confirmed that is in fact what happened, see CID device print below.
Device: Main Line
Location: Main Line
Name: CallerID
Description: Caller ID Information
Provider: CallerID
Path: ncc-1701\CallerID\Main Line
Type: CallerID
Publish Device: true
Controls:
ID: Calls
Name: Calls
Type: Records
Path: ncc-1701\CallerID\Main Line\Calls
Record: 1 of max 100
Name xxxxxxxxxxxxx
Number xxxxxxxxxx
Time 0504
Date 1410
Record: 2 of max 100
Name xxxxxxxxxxxxx
Number xxxxxxxxxx
Time 0504
Date 1405
Record: 3 of max 100
Name -UNKNOWN CALLER-
Number
Time 0504
Date 1337
Record: 4 of max 100
Name xxxxxxxxxxxxx
Number xxxxxxxxxx
Time 0504
Date 1332
Record: 5 of max 100
Name xxxxxxxxxxxxx
Number xxxxxxxxxx
Time 1910
Date 0503
Record: 6 of max 100
Name xxxxxxxxxxxxx
Number xxxxxxxxxx
Time 1913
Date 0503
Records 5 & 6 are correct, 1-4 have the date/time data switched.
Any clues?
harleydude
May 4th, 2007, 03:22 PM
Well here is the revised script and a sample ccf file. Look at the lua file and set up the 4 variables near the top and reset NR.
Let me know if anyone has any problems.
Rob H
May 4th, 2007, 04:00 PM
No idea why date and time are switched - is this using a real caller id device or the test harness?
Is everything working okay otherwise?
harleydude
May 4th, 2007, 04:01 PM
I am using a NetCallerID box and this just started happening, not sure why. Everything else seems fine.
Promixis
May 4th, 2007, 04:24 PM
I am using a NetCallerID box and this just started happening, not sure why. Everything else seems fine.
There is a *chance* I screwed this up in the component. It would be the NetCaller ID or CallerID Handler component publishing the data/time in the wrong order. Not able to check at this moment.
jwilson56
May 4th, 2007, 06:31 PM
Well here is the revised script and a sample ccf file. Look at the lua file and set up the 4 variables near the top and reset NR.
Let me know if anyone has any problems.
didn't work for me....
John
Rob H
May 5th, 2007, 04:08 AM
Did you change the ncc1701 path to suit your setup?
harleydude
May 9th, 2007, 07:12 AM
Mike,
Any work on the Date/Time mixup?
Rob,
I looked at the CCF that I posted earlier in this tread to help with Johns problem of it not working and now it is not working for me. Could you look at the code and see if there is anything wrong?
Error from DebugView
[7560] [string "C:\Documents and Settings\RickJr\My Documen..."]:39: attempt to perform arithmetic on local `datenum' (a nil value)
Screenshot below
jwilson56
May 9th, 2007, 07:32 AM
Did you change the ncc1701 path to suit your setup?
Yes I went over it with harleydude and could never get it work.
John
Rob H
May 9th, 2007, 09:10 AM
Hmm.. well, from the thumbnail the variable ncc-1701\CallerID\Main Line\Calls.Values_1_Date is clearly empty, which seems a bit strange. What's in the CallerID variable tree?
After the line
local datenum = tonumber(NetRemote.GetVariable(basestring..'Date') )
I'd recommend adding a test for datenum being non-nil, similarly for timenum a bit later. - just return an empty table from the function in this case for now.
harleydude
May 9th, 2007, 09:40 AM
By adding the test for nil I have the following debug.
[5996] basestring = ncc-1701\CallerID\Main Line\Calls.Values_1_
[5996]
[5996] datenum nil
[5996]
[5996] basestring = ncc-1701\CallerID\Main Line\Calls.Values_2_
[5996]
[5996] datenum nil
[5996]
[5996] basestring = ncc-1701\CallerID\Main Line\Calls.Values_3_
[5996]
[5996] datenum nil
[5996]
[5996] basestring = ncc-1701\CallerID\Main Line\Calls.Values_4_
[5996]
[5996] datenum nil
[5996]
[5996] basestring = ncc-1701\CallerID\Main Line\Calls.Values_5_
[5996]
[5996] datenum nil
[5996]
[5996] basestring = ncc-1701\CallerID\Main Line\Calls.Values_6_
[5996]
[5996] datenum nil
[5996]
[5996] basestring = ncc-1701\CallerID\Main Line\Calls.Values_7_
[5996]
[5996] datenum nil
[5996]
[5996] basestring = ncc-1701\CallerID\Main Line\Calls.Values_8_
[5996]
[5996] datenum nil
[5996]
[5996] basestring = ncc-1701\CallerID\Main Line\Calls.Values_9_
[5996]
[5996] datenum nil
[5996]
[5996] basestring = ncc-1701\CallerID\Main Line\Calls.Values_10_
[5996]
[5996] datenum nil
I think the problem is the are never being sent from G5. Do I need to include DMSupport in my CallerID.Lua file?
Rob H
May 9th, 2007, 01:22 PM
Yes, you'll need to use
require 'DMSupport'
which will prompt G5 to send the devices to NR
jwilson56
May 21st, 2007, 06:35 PM
Well I got the Listmanager working from harleydude but we both have noticed that the date and time variables are reversed. Rob could you look into that please?
Thanks
John
Rob H
May 22nd, 2007, 03:31 AM
Ah, I see what the problem is - luascript\classes\NetCallerID.lua is publishing an event like this :-
self:Event (Events.CallerID,Name,Number,Date,Time)
But the CallerID provider is processing the event like this :
local time = arg [3]
local date = arg [4]
I'll have to wait for Mike to check that it's okay to reverse the time and date in the provider - it looks as though it is (from looking at the CallerIDHandler component), but I don't want to break anything. In the meantime you can make a local fix by editing luascript\DeviceManager\Providers\CallerID.lua and changing lines 133 and 134 to
local date = arg [3]
local time = arg [4]
Promixis
May 22nd, 2007, 07:33 AM
Ah, I see what the problem is - luascript\classes\NetCallerID.lua is publishing an event like this :-
self:Event (Events.CallerID,Name,Number,Date,Time)But the CallerID provider is processing the event like this :
local time = arg [3]
local date = arg [4]
I'll have to wait for Mike to check that it's okay to reverse the time and date in the provider - it looks as though it is (from looking at the CallerIDHandler component), but I don't want to break anything. In the meantime you can make a local fix by editing luascript\DeviceManager\Providers\CallerID.lua and changing lines 133 and 134 to
local date = arg [3]
local time = arg [4]
Rob, its a bug. Thanks for the fix.
jwilson56
May 22nd, 2007, 08:37 AM
Well my CID is finished...
Thanks for the help
http://www.promixis.com/forums/showthread.php?p=115634#post115634
John
I do have one request for a huge improvement though. I would like to see the CallerID Component to have a TTS name added as well as the Name. That way you could phonetically spell the name so that the TTS engine gets it close. Right now for instance Franchesca gets slaughtered by TTS. "Fran chesca" is much closer... but thats what also gets displayed. Like this mockup screen.
Rob H
May 22nd, 2007, 12:53 PM
That sounds like a good idea.
Promixis
May 22nd, 2007, 07:57 PM
Well my CID is finished...
Thanks for the help
http://www.promixis.com/forums/showthread.php?p=115634#post115634
John
I do have one request for a huge improvement though. I would like to see the CallerID Component to have a TTS name added as well as the Name. That way you could phonetically spell the name so that the TTS engine gets it close. Right now for instance Franchesca gets slaughtered by TTS. "Fran chesca" is much closer... but thats what also gets displayed. Like this mockup screen.
done -> next release
jwilson56
May 22nd, 2007, 08:47 PM
Thanks...it will come in handy
John
jwilson56
May 24th, 2007, 09:27 PM
Any idea as to when the next release it due out?
John
jwilson56
May 30th, 2007, 04:01 AM
Ron, Mike, Rob? Any idea when the next G5 release is?
John
Rob H
May 30th, 2007, 05:08 AM
Not sure if this change made it into build 520 which was released on the 25th.
Beyond that, I have no say in when releases happen.
Promixis
May 31st, 2007, 08:43 AM
I believe this made the .520 cut. If not, I will post the files here.
jwilson56
June 11th, 2007, 08:20 AM
Could we get this resolved and fixed for the next release. Somehow this got broke again with my temp fix. Thanks
John
Ah, I see what the problem is - luascript\classes\NetCallerID.lua is publishing an event like this :-
self:Event (Events.CallerID,Name,Number,Date,Time)
But the CallerID provider is processing the event like this :
local time = arg [3]
local date = arg [4]
I'll have to wait for Mike to check that it's okay to reverse the time and date in the provider - it looks as though it is (from looking at the CallerIDHandler component), but I don't want to break anything. In the meantime you can make a local fix by editing luascript\DeviceManager\Providers\CallerID.lua and changing lines 133 and 134 to
local date = arg [3]
local time = arg [4]
Promixis
June 12th, 2007, 06:59 AM
Could we get this resolved and fixed for the next release. Somehow this got broke again with my temp fix. Thanks
John
done - thought rob had committed the change
Rob H
June 12th, 2007, 08:53 AM
And I thought you had! :)
jwilson56
June 12th, 2007, 05:31 PM
Thanks...
John
jburgess88
June 19th, 2007, 10:21 PM
The idea of this functionality is interesting... Would it work with a modem?
Where is the best place to get lua documentation?
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.