Release 2.201 (Beta with PLUGIN framework & Foscam IP Camera Support)

  • 191 Views
  • Last Post 25 February 2013
Ryan-Scott posted this 02 February 2013

Go pick up your copy of version 2.201 with support for plugins and Foscam IP Camera support.

Remember, this is a beta release; if you find any problems please report them here.

There is a new Android app (also in beta) to go along with this release. This new app sports a new navigation structure (I hated the Facebook style slide out!) I'd love to hear your feedback on the new menu as well as any problems issues you experience with the app.




Order By: Standard | Newest | Votes
Ryan-Scott posted this 25 February 2013

I believe you need "ProcessStartInfo.FileName" instead of "ProcessStartInfo.Filename"

MadSci posted this 23 February 2013

Thanks for the info. The code (below) runs without showing anything in the log file but nothing happens. Everything works if I put the vlc command into a shortcut (.lnk) file and execute it by clicking on it.

using System;
using System.Collections.Generic;
using System.Text;
using MLS.ZWave.Service.Rules;
using MLS.ZWave.BusinessObjects;

public class Recordxmin : ScriptBase, ScriptInterface {

///


/// ALWAYS MAKE COPIES OF SCRIPTS YOU INTEND TO CUSTOMIZE OR YOUR CHANGES
/// COULD BE LOST.
///

public void runScript() {
try {
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe";
psi.Arguments = "http://192.168.1.79:1111/videostream.asf?user=user&pwd=12345 --qt-start-minimized --no-qt-notification --run-time=15 :demux=dump :demuxdump-file=D:\IPCamera-1test.asf vlc://quit";
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
System.Diagnostics.Process.Start(psi);
} catch (Exception ex) {
// Log the exception here
var message = ex.Message;
}
}
}




I've also tried writing code to just execute the .lnk but that doesn't seem to work either. Log file says: "Script failed to compile with error: 'System.Diagnostics.ProcessStartInfo' does not contain a definition for 'Filename' and no extension method 'Filename' accepting a first argument of type 'System.Diagnostics.ProcessStartInfo' could be found (are you missing a using directive or an assembly reference?) on line 16."



using System;
using System.Collections.Generic;
using System.Text;
using MLS.ZWave.Service.Rules;
using MLS.ZWave.BusinessObjects;

public class Recordxmin : ScriptBase, ScriptInterface {

///
/// ALWAYS MAKE COPIES OF SCRIPTS YOU INTEND TO CUSTOMIZE OR YOUR CHANGES
/// COULD BE LOST.
///

public void runScript() {
try {
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.ProcessStartInfo.Filename = "D:\VLC
Record.lnk";
System.Diagnostics.Process.Start(psi);
} catch (Exception ex) {
// Log the exception here
var message = ex.Message;
}
}
}

Axial-User posted this 19 February 2013

Looks like you need to break up your parameters.

psi.FileName = "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe\" http://192.168.1.111:8000/videostream.asf?user=user&pwd=password --qt-start-minimized --no-qt-notification --run-time=15 :demux=dump :demuxdump-file=IPCamera-1test.asf vlc://quit";

I'm not familiar with VLC but I'm assuming all the http stuff is suppose to be the arguments. If so you should do this:

psi.FileName = "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe";
psi.Arguments = "http://192.168.1.111:8000/videostream.asf?user=user&pwd=password --qt-start-minimized --no-qt-notification --run-time=15 :demux=dump :demuxdump-file=IPCamera-1
test.asf vlc://quit";

-N

Ryan-Scott posted this 18 February 2013

I see it in the logs in the rules section of the GUI.


Could you link a screen shot to it for me so I can see the exact message?

MadSci posted this 17 February 2013

I see it in the logs in the rules section of the GUI.

Ryan-Scott posted this 16 February 2013

Getting error codes: ";" expected and invalid expression term ":"


Where do you see that error at?

MadSci posted this 16 February 2013

Getting error codes: ";" expected and invalid expression term ":"

using System;
using System.Collections.Generic;
using System.Text;
using MLS.ZWave.Service.Rules;
using MLS.ZWave.BusinessObjects;

public class Recordxmin : ScriptBase, ScriptInterface {

///


/// This script finds any node that is above 80% and sets it to 80%.
///
/// ALWAYS MAKE COPIES OF SCRIPTS YOU INTEND TO CUSTOMIZE OR YOUR CHANGES
/// COULD BE LOST.
///

public void runScript() {
try {
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe\" http://192.168.1.111:8000/videostream.asf?user=user&pwd=password --qt-start-minimized --no-qt-notification --run-time=15 :demux=dump :demuxdump-file=IPCamera-1_test.asf vlc://quit";
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
System.Diagnostics.Process.Start(psi);
} catch (Exception ex) {
// Log the exception here
var message = ex.Message;
}
}
}

MadSci posted this 15 February 2013

Thanks. I'll give that a try.

Ryan-Scott posted this 15 February 2013


psi.FileName = @"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" http://cameraip:port/videostream.asf?user=""&pwd="" --qt-start-minimized --no-qt-notification --run-time=15 :demux=dump :demuxdump-file=IPCamera-1test.asf vlc://quit";


Change that line to read:

[code]
psi.FileName = "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe\" http://cameraip:port/videostream.asf?user=\"&pwd=\" --qt-start-minimized --no-qt-notification --run-time=15 :demux=dump :demuxdump-file=IPCamera-1
test.asf vlc://quit";
[/code]

MadSci posted this 15 February 2013


I was able to figure out how to do this by writing a batch file to execute VLC to record 30 second clips in the background via command line. You can also insert the command string into a shortcut .Lnk and execute it that way. .


MadSci, would you mind sharing your patch script that you used to start the recording using VLC?

I used this in a link ".lnk" file as a shortcut. It records for 15 sec minimized in the tray. It recorded the file in the same directly that the .lnk was in.

"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" http://cameraip:port/videostream.asf?user=""&pwd="" --qt-start-minimized --no-qt-notification --run-time=15 :demux=dump :demuxdump-file=IPCamera-1test.asf vlc://quit

VLC has a pretty extensive command link scripts which I don't understand. Maybe another user can help.



I'm trying to use this in a script, below. Any idea what I'm doing wrong? The script runs in InControl with no errors but nothing happens. The same .exe works as a .lnk.

using System;
using System.Collections.Generic;
using System.Text;
using MLS.ZWave.Service.Rules;
using MLS.ZWave.BusinessObjects;

public class Recordxmin : ScriptBase, ScriptInterface {

///
/// This script finds any node that is above 80% and sets it to 80%.
///
/// ALWAYS MAKE COPIES OF SCRIPTS YOU INTEND TO CUSTOMIZE OR YOUR CHANGES
/// COULD BE LOST.
///

public void runScript() {
try {
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = @"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" http://cameraip:port/videostream.asf?user=""&pwd="" --qt-start-minimized --no-qt-notification --run-time=15 :demux=dump :demuxdump-file=IPCamera-1
test.asf vlc://quit";

psi.CreateNoWindow = true;
psi.UseShellExecute = false;
System.Diagnostics.Process.Start(psi);
} catch (Exception ex) {
// Log the exception here
var message = ex.Message;
}
}
}

MadSci posted this 11 February 2013


I was able to figure out how to do this by writing a batch file to execute VLC to record 30 second clips in the background via command line. You can also insert the command string into a shortcut .Lnk and execute it that way. .


MadSci, would you mind sharing your patch script that you used to start the recording using VLC?


I used this in a link ".lnk" file as a shortcut. It records for 15 sec minimized in the tray. It recorded the file in the same directly that the .lnk was in.

"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" http://cameraip:port/videostream.asf?user=""&pwd="" --qt-start-minimized --no-qt-notification --run-time=15 :demux=dump :demuxdump-file=IPCamera-1_test.asf vlc://quit

VLC has a pretty extensive command link scripts which I don't understand. Maybe another user can help.

aoliva posted this 11 February 2013

i'm shocked win 8 is tolerating it ;) ]


LOL - that made me laugh

Ryan - I have Toshiba cameras all over the place. I know the camera URL of the jpegs it creates. I'd like to write a plugin for them. Where can I get the plugin framework/docs?

Thanks.

-Alex


Nevermind this post - I just noticed the new Plugins forum.

-Alex

gmerin posted this 10 February 2013

4 cams are working fine [and under win 8 - i'm shocked win 8 is tolerating it ;) ]

jonfrance posted this 10 February 2013

Thanks. I found out the issue, there were some ghost services running in the background, presumably an old version, so the GUI showed the new version but I suspect I was still running the old service. I killed them all off and re-installed and everything looks good now.
Thanks for your help.

Ryan-Scott posted this 09 February 2013

Could you confirm the version you are seeing? It'll show up in the title bar and in the log file when you restart. The logs don't have the new items I added today, so it appears that you didn't actually get updated.

jonfrance posted this 09 February 2013

I've updated my version and here is snip of my log file:

2/9/2013 4:54:47 PM: Cloud: Attempting to connect to cloud server over chanId: 53de627f-9d31-4872-8f8f-c96625e2ed1e
2/9/2013 4:54:47 PM: Error with Cloud Connection: Object reference not set to an instance of an object. at SocketIOClient.Client.On(String eventName, Action1 action)<br> at MLS.ZWave.WCFService.InControlSocketClient.startSocketClient(String serverAddress) in z:\work\mls\MLS.ZWave.Controller\MLS.ZWave.WCFService\InControlSocketClient.cs:line 127<br>2/9/2013 4:55:07 PM: Cloud: Attempting to connect to cloud server over chanId: 53de627f-9d31-4872-8f8f-c96625e2ed1e<br>2/9/2013 4:55:07 PM: Error with Cloud Connection: Object reference not set to an instance of an object. at SocketIOClient.Client.On(String eventName, Action1 action)
at MLS.ZWave.WCFService.InControlSocketClient.startSocketClient(String serverAddress) in z:\work\mls\MLS.ZWave.Controller\MLS.ZWave.WCFService\InControlSocketClient.cs:line 127
2/9/2013 4:55:23 PM: Command has been queued up for sleeping device 5
2/9/2013 4:55:26 PM: Command has been queued up for sleeping device 5
2/9/2013 4:55:27 PM: Cloud: Attempting to connect to cloud server over chanId: 53de627f-9d31-4872-8f8f-c96625e2ed1e
2/9/2013 4:55:27 PM: Error with Cloud Connection: Object reference not set to an instance of an object. at SocketIOClient.Client.On(String eventName, Action1 action)<br> at MLS.ZWave.WCFService.InControlSocketClient.startSocketClient(String serverAddress) in z:\work\mls\MLS.ZWave.Controller\MLS.ZWave.WCFService\InControlSocketClient.cs:line 127<br>2/9/2013 4:55:29 PM: Command has been queued up for sleeping device 5<br>2/9/2013 4:55:33 PM: Command has been queued up for sleeping device 6<br>2/9/2013 4:55:37 PM: Command has been queued up for sleeping device 6<br>2/9/2013 4:55:39 PM: Command has been queued up for sleeping device 6<br>2/9/2013 4:55:47 PM: Cloud: Attempting to connect to cloud server over chanId: 53de627f-9d31-4872-8f8f-c96625e2ed1e<br>2/9/2013 4:55:47 PM: Error with Cloud Connection: Object reference not set to an instance of an object. at SocketIOClient.Client.On(String eventName, Action1 action)
at MLS.ZWave.WCFService.InControlSocketClient.startSocketClient(String serverAddress) in z:\work\mls\MLS.ZWave.Controller\MLS.ZWave.WCFService\InControlSocketClient.cs:line 127
2/9/2013 4:56:07 PM: Cloud: Attempting to connect to cloud server over chanId: 53de627f-9d31-4872-8f8f-c96625e2ed1e
2/9/2013 4:56:07 PM: Error with Cloud Connection: Object reference not set to an instance of an object. at SocketIOClient.Client.On(String eventName, Action1 action)<br> at MLS.ZWave.WCFService.InControlSocketClient.startSocketClient(String serverAddress) in z:\work\mls\MLS.ZWave.Controller\MLS.ZWave.WCFService\InControlSocketClient.cs:line 127<br>2/9/2013 4:56:27 PM: Cloud: Attempting to connect to cloud server over chanId: 53de627f-9d31-4872-8f8f-c96625e2ed1e<br>2/9/2013 4:56:27 PM: Error with Cloud Connection: Object reference not set to an instance of an object. at SocketIOClient.Client.On(String eventName, Action1 action)
at MLS.ZWave.WCFService.InControlSocketClient.startSocketClient(String serverAddress) in z:\work\mls\MLS.ZWave.Controller\MLS.ZWave.WCFService\InControlSocketClient.cs:line 127


Still getting that error message, I can use the app remotely most of the time, even with these messages, so they don't actually appear to be having an affect on that.
No Z drive here either.

Ryan-Scott posted this 09 February 2013

I get this error over and over in the log file as you can see.


Jon -

I'll be releasing a new beta update later this afternoon. When I do, I'd be interested in seeing your new logs. Hopefully the extra stuff I added will help track down the problem you are having.

Ryan-Scott posted this 09 February 2013


I was able to figure out how to do this by writing a batch file to execute VLC to record 30 second clips in the background via command line. You can also insert the command string into a shortcut .Lnk and execute it that way. .


MadSci, would you mind sharing your patch script that you used to start the recording using VLC?

jonfrance posted this 09 February 2013

I'm using release 2.203 and although I did experience some issues initially as described above I did get it working, however the connection to the cloud and therefore connection to the app doesn't seem too reliable.
I've extracted an example of an error in the log file which has been there since the update.

2/9/2013 9:53:44 AM: Cloud: Attempting to connect to cloud server over chanId: [...]
2/9/2013 9:53:44 AM: Error with Cloud Connection: Object reference not set to an instance of an object. at SocketIOClient.Client.On(String eventName, Action1 action)<br> at MLS.ZWave.WCFService.InControlSocketClient.startSocketClient(String serverAddress) in z:\work\mls\MLS.ZWave.Controller\MLS.ZWave.WCFService\InControlSocketClient.cs:line 127<br>2/9/2013 9:53:58 AM: Cloud: Cloud connected!<br>2/9/2013 9:53:59 AM: Cloud: Cloud connected!<br>2/9/2013 9:54:04 AM: Cloud: Attempting to connect to cloud server over chanId: [...]<br>2/9/2013 9:54:04 AM: Error with Cloud Connection: Object reference not set to an instance of an object. at SocketIOClient.Client.On(String eventName, Action1 action)
at MLS.ZWave.WCFService.InControlSocketClient.startSocketClient(String serverAddress) in z:\work\mls\MLS.ZWave.Controller\MLS.ZWave.WCFService\InControlSocketClient.cs:line 127
2/9/2013 9:54:24 AM: Cloud: Attempting to connect to cloud server over chanId: [...]
2/9/2013 9:54:24 AM: Error with Cloud Connection: Object reference not set to an instance of an object. at SocketIOClient.Client.On(String eventName, Action1 action)<br> at MLS.ZWave.WCFService.InControlSocketClient.startSocketClient(String serverAddress) in z:\work\mls\MLS.ZWave.Controller\MLS.ZWave.WCFService\InControlSocketClient.cs:line 127<br>2/9/2013 9:54:44 AM: Cloud: Attempting to connect to cloud server over chanId: [...]<br>2/9/2013 9:54:44 AM: Error with Cloud Connection: Object reference not set to an instance of an object. at SocketIOClient.Client.On(String eventName, Action1 action)
at MLS.ZWave.WCFService.InControlSocketClient.startSocketClient(String serverAddress) in z:\work\mls\MLS.ZWave.Controller\MLS.ZWave.WCFService\InControlSocketClient.cs:line 127


I get this error over and over in the log file as you can see.

MadSci posted this 08 February 2013

.

Show More Posts
Close