SageTV Community  

Go Back   SageTV Community > Hardware Support > Hardware Support
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

Hardware Support Discussions related to using various hardware setups with SageTV products. Anything relating to capture cards, remotes, infrared receivers/transmitters, system compatibility or other hardware related problems or suggestions should be posted here.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 06-10-2017, 03:33 PM
PulsedPower PulsedPower is offline
Sage User
 
Join Date: Aug 2014
Location: Buffalo
Posts: 19
Sage V9 replacement for EXEMultiTuner

Has anyone figured out how to ethernet tune a DirecTv box in Sage 9 under windows?
Upgrade from V7 to V9 went smoothly, but I can't figure out how to send tuning commands to my 4 DTV boxes.
On V7 I used EXEMultiTuner pointing at a batch file(using cURL), and worked perfectly. I can still point to EXEMultiTuner when adding a source, but the command doesn't seem to execute the batch file...
Any help or ideas would be greatly appreciated!
Reply With Quote
  #2  
Old 06-10-2017, 04:56 PM
PulsedPower PulsedPower is offline
Sage User
 
Join Date: Aug 2014
Location: Buffalo
Posts: 19
HTTP Tuning Question V9

Has anyone found a way to perform HTTP tuning in Sage 9 for Windows?
Reply With Quote
  #3  
Old 06-10-2017, 09:22 PM
BobPhoenix BobPhoenix is offline
SageTVaholic
 
Join Date: Oct 2004
Posts: 3,152
I'm using it now. I set it up just like I did for SageTV7.1.9 nothing special. Just got the DLL file from this post: https://forums.sagetv.com/forums/sho...9&postcount=28

Just follow the directions and you should be good to go with a DirecTV box.
__________________
"Keep your goals away from the trolls"
Reply With Quote
  #4  
Old 06-11-2017, 05:59 AM
PulsedPower PulsedPower is offline
Sage User
 
Join Date: Aug 2014
Location: Buffalo
Posts: 19
Are you using this with the H24 clients boxes as well? I ask because the clients all use the same IP address as the main box, and I don't see how to add the client id to this dll setup.
Reply With Quote
  #5  
Old 06-11-2017, 01:14 PM
BobPhoenix BobPhoenix is offline
SageTVaholic
 
Join Date: Oct 2004
Posts: 3,152
Quote:
Originally Posted by PulsedPower View Post
Are you using this with the H24 clients boxes as well? I ask because the clients all use the same IP address as the main box, and I don't see how to add the client id to this dll setup.
No. I have 4 separate DirecTV boxes. HR21, HR24 (this was a replacement for a H21 that died that DirecTV send me), H23, H24 all with separate IPs. So you are correct since it expects separate IPs. I imagine it could be written to handle what you want but no source code (that I know of anyway) makes that impossible.

I thought the client boxes for Genie were model H34 like the server HR34 or do you have something else not Genie? I know with Solid Signal (where I got my H24) they were individual units with tuners not clients and it looks like they still have some of those units: http://www.solidsignal.com/pview.asp...source=inhouse
__________________
"Keep your goals away from the trolls"
Reply With Quote
  #6  
Old 06-11-2017, 06:46 PM
PulsedPower PulsedPower is offline
Sage User
 
Join Date: Aug 2014
Location: Buffalo
Posts: 19
BobPhoenix,
Thanks for the info. Yes, I had the wrong model number (sorry for the confusion), it's actually an HR44-500. I installed the upgrade again today to try some more things. As soon as I upgraded, the EXEMultiTuner plugin stops working. I installed the DirecTVTuner.dll you mentioned, and it works fine, but only for the main box. There is no way to specify which of the client boxes I want the channel change to go to.

What really puzzles me is why the EXEMultiTuner no longer works. I thought maybe something to do with where the registry entry it uses might have changed, so I copied the key to a few other locations, but to no avail.

At least I can get by for now with tuning just one channel, so thanks for the help.

I wish I knew how to program in windows, as I'm sure this isn't too difficult a problem to solve. If there was a simple .dll that just called a .bat file, I'd be back in business.

For now, I might write something to run on a Raspberry Pi (already have one running a socket server I wrote a while back to run my home automation system), and point the DirecTVTuner.dll at that instead. I think I can probably do a binary edit of the DirecTVTuner.dll to make copies that will connect to different ports other that just 8080, and route the tuning commands that way.
Reply With Quote
  #7  
Old 06-12-2017, 06:23 PM
BobPhoenix BobPhoenix is offline
SageTVaholic
 
Join Date: Oct 2004
Posts: 3,152
Quote:
Originally Posted by PulsedPower View Post
BobPhoenix,
Thanks for the info. Yes, I had the wrong model number (sorry for the confusion), it's actually an HR44-500. I installed the upgrade again today to try some more things. As soon as I upgraded, the EXEMultiTuner plugin stops working. I installed the DirecTVTuner.dll you mentioned, and it works fine, but only for the main box. There is no way to specify which of the client boxes I want the channel change to go to.

What really puzzles me is why the EXEMultiTuner no longer works. I thought maybe something to do with where the registry entry it uses might have changed, so I copied the key to a few other locations, but to no avail.

At least I can get by for now with tuning just one channel, so thanks for the help.

I wish I knew how to program in windows, as I'm sure this isn't too difficult a problem to solve. If there was a simple .dll that just called a .bat file, I'd be back in business.

For now, I might write something to run on a Raspberry Pi (already have one running a socket server I wrote a while back to run my home automation system), and point the DirecTVTuner.dll at that instead. I think I can probably do a binary edit of the DirecTVTuner.dll to make copies that will connect to different ports other that just 8080, and route the tuning commands that way.
Sounds like a plan. If it had source available I'm sure someone could do that too. I know it can be done on Linux if you want to switch away from Windows. I've got an unRAID/Docker instance of SageTV tuning two of my DirecTV boxes. It has a script with source so could likely be modified to work.
__________________
"Keep your goals away from the trolls"
Reply With Quote
  #8  
Old 06-19-2017, 12:06 PM
Intense Intense is offline
New Member
 
Join Date: Jun 2017
Location: Colorado
Posts: 3
Quote:
Originally Posted by PulsedPower View Post
Are you using this with the H24 clients boxes as well? I ask because the clients all use the same IP address as the main box, and I don't see how to add the client id to this dll setup.
I use HTTP tuner. I configured all my DTV boxes with static IP's.
Then in the C:\Program Files (x86)\SageTV\Common\RemoteCodes\Directv HTTP Tuning folder I have a .IR file with each IP listed.

Then when you go into the source setup you have to match the source to the box its controlling.

Under Tuner Control select directv HTTP Tuning, "Change tuning device", then select the appropriate DTV STB
Reply With Quote
  #9  
Old 06-19-2017, 02:27 PM
jchiso jchiso is offline
Sage Expert
 
Join Date: Nov 2003
Location: Columbus, OH
Posts: 674
So, is it official that the MultiTuner does not work in v9? I did an upgrade yesterday and cannot seem to get the tuning to work. This has also been the case for me with the Linux variant, but I digress. The upgrade becomes useless if it will only support one HTTP tuner per server ...
Reply With Quote
  #10  
Old 06-20-2017, 07:40 AM
wayner wayner is offline
SageTVaholic
 
Join Date: Jan 2008
Location: Toronto, ON
Posts: 7,491
Quote:
Originally Posted by jchiso View Post
So, is it official that the MultiTuner does not work in v9? I did an upgrade yesterday and cannot seem to get the tuning to work. This has also been the case for me with the Linux variant, but I digress. The upgrade becomes useless if it will only support one HTTP tuner per server ...
I am not so sure that this is the case. I think that I have had the MultiTuner working in V9 for firewire tuning, but I could be wrong.

For Linux have you tried gentuner? That is just a script so it should be easier to troubleshoot any problems with that.
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA
Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA
Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server
Reply With Quote
  #11  
Old 06-20-2017, 09:15 AM
SWKerr SWKerr is offline
Sage Icon
 
Join Date: Jun 2008
Posts: 1,178
I was using "Directv HTTP Tuning" on v9 in Windows.

Also: I just changed to the unRAID Docker for SageTV.
I was able to get my HDHR, HD-PVR working with the newest release.
I was not able to use the "Directv HTTP Tuning" in the Docker setup but I was able to use the Generic Tuner working with DirecTV (GenericTunerPlugin.so).

Using the script I found on the forum the Generic Tuner will change the channel via IP on the DirecTV STB. It appears to handle multiple tuners but I am only using one right now. I would also expect the Generic Tuner would work in Windows v9 but have not tested it.

For it to work in unRAID you must copy the script into a file called: "gentuner"
stored in: /mnt/user/appdata/sagetv/server/gentuner

Script:
Code:
#!/usr/bin/perl

#  This script controls my DirecTV Genie (hr44) STB.  Just update the IP addess 
#  below and you should be good to go.  You can also turn off debug if you don't
#  want the script to write to a log file.  


use strict;




#  List your STB's and IP addresses below.  I only have one STB to control so
#  I gave these three the same address while I tested multi-box support. Feel
#  free to comment out and tuners that you don't need.

my %stbs = (
	'DirecTV-Tuner-1' => '192.168.0.203',
	'DirecTV-Tuner-2' => '192.168.0.203',
	'DirecTV-Tuner-3' => '192.168.1.203',
);

my $log = '/var/log/gentuner.log';   	#  Location of logfile.
my $debug = 1;  			#  Set to 1 to turn logging on.
					#  Set to 0 to turn logging off.

my $micro_send = 0;   		        #  Set to 1 to send one digit at a time
					#  to the STB instead of the whole channel.
					#  Set to 0 to send the whole channel number.


my $command = $ARGV[0];
my $remote = $ARGV[1];
my $channel = $ARGV[2];


&logit( "Received COMMAND = $command | REMOTE = $remote | CHANNEL = $channel" );
&list_keys if ( $command eq "KEYS" );
&send_keys( $channel ) if ( $command eq "TUNE" );
&list_tuners if ( $command eq "REMOTES" );
print "OK\n" if ( $command eq "CAN_TUNE" );


sub list_tuners()
{
  foreach my $tuner ( keys %stbs )
  {
    print $tuner . "\n";
  }
}


sub list_keys()
{
  my @keys = (
	'1', '2', '3', '4',
	'5', '6', '7', '8',
	'9', '0', 'OK'
	     );

  foreach ( @keys )
  {
    print "$_\n";
  }
}
	
sub send_keys()
{
  my $keys = shift;
  chomp $keys;
  &logit( "$keys" );

  open ( CURL, "curl -s $stbs{$remote}:8080/remote/processKey?key=poweron |" );
    while (<CURL>)
    {
      my $output = $_;
      chomp $output;
      &logit( $output );
    }

  if ( $micro_send )
  {
    foreach my $char ( split //, $keys ) 
    {
      if ( $char =~ /\d/ ) 
      {
        open ( CURL, "curl -s $stbs{$remote}:8080/remote/processKey?key=$char |" );
        while (<CURL>) 
        {
          my $output = $_;
          chomp $output;
          &logit( $output );
        }
      }
    }
  } else {
    open ( CURL, "curl -s $stbs{$remote}:8080/tv/tune?major=$channel |" );
    while (<CURL>)
    {
      my $output = $_;
      chomp $output;
      &logit( $output );
    }
  }
}

sub logit()
{
  my $message = shift;
  my $timestamp = &getLoggingTime();
  if ( $debug ) 
  {
    open ( LOG, ">> $log" );
    print LOG "[$timestamp]\t$message\n";
    close LOG;
  }
}


sub getLoggingTime() 
{

  my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
  my $nice_timestamp = sprintf ( "%04d%02d%02d %02d:%02d:%02d",
                                   $year+1900,$mon+1,$mday,$hour,$min,$sec);
  return $nice_timestamp;
}
__________________

Retired SageTV in favor of Plex\Emby and YouTubeTV.

Last edited by SWKerr; 06-20-2017 at 09:17 AM.
Reply With Quote
  #12  
Old 06-20-2017, 09:31 AM
jchiso jchiso is offline
Sage Expert
 
Join Date: Nov 2003
Location: Columbus, OH
Posts: 674
Quote:
Originally Posted by wayner View Post
I am not so sure that this is the case ..
Nor, am I. That's why I posed it as a question. It seems like the MultiTuner plugin has become a casualty of the upgrade to 64-bit. It's odd that that would be the case, but I have not seen any posts in which someone has successfully run the tuner in v9 on a 32-bit system ...
Reply With Quote
  #13  
Old 06-20-2017, 09:35 AM
jchiso jchiso is offline
Sage Expert
 
Join Date: Nov 2003
Location: Columbus, OH
Posts: 674
Quote:
Originally Posted by SWKerr View Post
I was using "Directv HTTP Tuning" on v9 in Windows.

Also: I just changed to the unRAID Docker for SageTV.
I was able to get my HDHR, HD-PVR working with the newest release.
I was not able to use the "Directv HTTP Tuning" in the Docker setup but I was able to use the Generic Tuner working with DirecTV (GenericTunerPlugin.so).

Using the script I found on the forum the Generic Tuner will change the channel via IP on the DirecTV STB. It appears to handle multiple tuners but I am only using one right now. I would also expect the Generic Tuner would work in Windows v9 but have not tested it ...
I don't want to thread-jack, but I have not been able to get my script to work with v9 in Linux, either ...
Reply With Quote
  #14  
Old 06-20-2017, 10:25 AM
Tiki's Avatar
Tiki Tiki is offline
Sage Icon
 
Join Date: Feb 2005
Location: Southwest Florida, USA
Posts: 2,009
@Intense - are you using Sage on Windows or Linux?

If Windows and you are staying with the same version of Windows, I would expect anything that ran under Sage v7 should continue to work with Sage v9.

If moving from 32-bit Windows to 64-bit Windows, it is known that the Firewire drivers won't work (there are no 64-bit firewire drivers for Windows).

If moving from Windows to Linux you there are some things that don't work the same.
__________________
Server: Ryzen 2400G with integrated graphics, ASRock X470 Taichi Motherboard, HDMI output to Vizio 1080p LCD, Win10-64Bit (Professional), 16GB RAM
Capture Devices (7 tuners): Colossus (x1), HDHR Prime (x2)
,USBUIRT (multi-zone)
Source:
Comcast/Xfinity X1 Cable
Primary Client: Server Other Clients: (1) HD200, (1) HD300
Retired Equipment: MediaMVP, PVR150 (x2), PVR150MCE,
HDHR, HVR-2250, HD-PVR
Reply With Quote
  #15  
Old 06-20-2017, 11:16 AM
wayner wayner is offline
SageTVaholic
 
Join Date: Jan 2008
Location: Toronto, ON
Posts: 7,491
Quote:
Originally Posted by SWKerr View Post
Script:
Code:
my %stbs = (
	'DirecTV-Tuner-1' => '192.168.0.203',
	'DirecTV-Tuner-2' => '192.168.0.203',
	'DirecTV-Tuner-3' => '192.168.1.203',
);
How does it work that two STBs have the same IP and another one is on a different subnet?
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA
Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA
Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server
Reply With Quote
  #16  
Old 06-23-2017, 07:49 PM
jchiso jchiso is offline
Sage Expert
 
Join Date: Nov 2003
Location: Columbus, OH
Posts: 674
Has anyone made progress on this? I know the script still works, because I can run it from the command line. SageTV just seems to ignore the call altogether ...
Reply With Quote
  #17  
Old 06-23-2017, 10:07 PM
SWKerr SWKerr is offline
Sage Icon
 
Join Date: Jun 2008
Posts: 1,178
Quote:
Originally Posted by wayner View Post
How does it work that two STBs have the same IP and another one is on a different subnet?
When you setup a connection with the generic tuner you have the option to pick from a list of IPs based on what you put in the script. I only have one receiver so I just add the same IP for all entries in the script in case I want to add one later. But...if you had multiple you would list the IP of each. Once you setup the tuner you would go back an select the matching IP in the Generic tuner options.
__________________

Retired SageTV in favor of Plex\Emby and YouTubeTV.
Reply With Quote
  #18  
Old 06-24-2017, 09:34 AM
BobPhoenix BobPhoenix is offline
SageTVaholic
 
Join Date: Oct 2004
Posts: 3,152
Quote:
Originally Posted by jchiso View Post
Has anyone made progress on this? I know the script still works, because I can run it from the command line. SageTV just seems to ignore the call altogether ...
You might describe your setup - IPs of the STBs you want to change and their models. Also post your script.

Here is my setup:
DirecTV H23 192.168.0.30
DirecTV H24 192.168.0.31
DirecTV HR24 192.168.0.32

Code:
#!/usr/bin/perl

#  This script controls my DirecTV Genie (hr44) STB.  Just update the IP addess 
#  below and you should be good to go.  You can also turn off debug if you don't
#  want the script to write to a log file.  


use strict;




#  List your STB's and IP addresses below.  I only have one STB to control so
#  I gave these three the same address while I tested multi-box support. Feel
#  free to comment out and tuners that you don't need.

my %stbs = (
    'DirecTV-Tuner-1' => '192.168.0.30',
    'DirecTV-Tuner-2' => '192.168.0.31',
    'DirecTV-Tuner-3' => '192.168.0.32',
);

my $log = '/var/log/gentuner.log';       #  Location of logfile.
my $debug = 1;              #  Set to 1 to turn logging on.
                    #  Set to 0 to turn logging off.

my $micro_send = 0;                   #  Set to 1 to send one digit at a time
                    #  to the STB instead of the whole channel.
                    #  Set to 0 to send the whole channel number.


my $command = $ARGV[0];
my $remote = $ARGV[1];
my $channel = $ARGV[2];


&logit( "Received COMMAND = $command | REMOTE = $remote | CHANNEL = $channel" );
&list_keys if ( $command eq "KEYS" );
&send_keys( $channel ) if ( $command eq "TUNE" );
&list_tuners if ( $command eq "REMOTES" );
print "OK\n" if ( $command eq "CAN_TUNE" );


sub list_tuners()
{
  foreach my $tuner ( keys %stbs )
  {
    print $tuner . "\n";
  }
}


sub list_keys()
{
  my @keys = (
    '1', '2', '3', '4',
    '5', '6', '7', '8',
    '9', '0', 'OK'
         );

  foreach ( @keys )
  {
    print "$_\n";
  }
}
    
sub send_keys()
{
  my $keys = shift;
  chomp $keys;
  &logit( "$keys" );

  open ( CURL, "curl -s $stbs{$remote}:8080/remote/processKey?key=poweron |" );
    while (<CURL>)
    {
      my $output = $_;
      chomp $output;
      &logit( $output );
    }

  if ( $micro_send )
  {
    foreach my $char ( split //, $keys ) 
    {
      if ( $char =~ /\d/ ) 
      {
        open ( CURL, "curl -s $stbs{$remote}:8080/remote/processKey?key=$char |" );
        while (<CURL>) 
        {
          my $output = $_;
          chomp $output;
          &logit( $output );
        }
      }
    }
  } else {
    open ( CURL, "curl -s $stbs{$remote}:8080/tv/tune?major=$channel |" );
    while (<CURL>)
    {
      my $output = $_;
      chomp $output;
      &logit( $output );
    }
  }
}

sub logit()
{
  my $message = shift;
  my $timestamp = &getLoggingTime();
  if ( $debug ) 
  {
    open ( LOG, ">> $log" );
    print LOG "[$timestamp]\t$message\n";
    close LOG;
  }
}


sub getLoggingTime() 
{

  my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
  my $nice_timestamp = sprintf ( "%04d%02d%02d %02d:%02d:%02d",
                                   $year+1900,$mon+1,$mday,$hour,$min,$sec);
  return $nice_timestamp;
}
It is setup in SageTV like this:


Note I have my HDPVRs setup as network encoders because I was having problems with 5.1 audio on my HDPVRs and had to go with a Windows VM to get the Windows driver for the 5.1 audio. This is not necessary for most.
Attached Images
File Type: png SageTV Tuner Setup.png (183.9 KB, 442 views)
__________________
"Keep your goals away from the trolls"

Last edited by BobPhoenix; 06-24-2017 at 09:37 AM.
Reply With Quote
  #19  
Old 06-24-2017, 11:47 AM
jchiso jchiso is offline
Sage Expert
 
Join Date: Nov 2003
Location: Columbus, OH
Posts: 674
Quote:
Originally Posted by BobPhoenix View Post
You might describe your setup - IPs of the STBs you want to change and their models. Also post your script ...
I should have been more explicit with my use of the term "this". I meant the issue of the EXEMultituner in 32-bit Windows with v9 ...
Reply With Quote
  #20  
Old 06-28-2017, 08:29 PM
Steve52 Steve52 is offline
Sage Aficionado
 
Join Date: Dec 2005
Location: Middle Tennessee
Posts: 369
I am running windows 10 64 bit on my sage server. I have three directv H23 receivers each connected to an HDPVR. I use Ericvic's network tuning method. I used it for years on sage v7 and I am using it now on V9. Works great with v9.
__________________

Central Sage Server Win 10 64 Bit, Two HD200, Three HD300, & One PC Client 21 TB storage. SageTv 64 Bit
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Http tuning SteveD Hardware Support 4 12-21-2014 06:32 PM
Question about IP Tuning DirecTV freewheeling Hardware Support 14 04-19-2014 07:17 PM
Direct TV H23 and usb tuning question .. TechBill Hardware Support 14 10-28-2008 05:29 PM
Tuning timeout question NCAL SageTV Software 0 05-01-2008 06:41 AM
question about fine tuning beyond SageTV Software 1 11-13-2003 08:00 PM


All times are GMT -6. The time now is 02:11 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.