[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: Help needed with Sockets, using Mister House...



Hello,

And thank you for making the effort!

You've written in Perl, and I need it in Mister House... Similar..?

In MH there is a "Socket_Item" and it has Parameters O'plenty, separated
by commas - very much like your "socket" command, maybe more...

I suspect much of your code example will work. The definition of your
variables, etc. I tried putting them in quotes within the Socket_item
statement. Wasn't certain if I wanted Single (') or double (") quotes.

I found an example (earlier - for the RF portion) which I copied and
pasted into my code file. Bruce was kind enough to correct it for me.
The example used a "=" and it should have been an "eq". Who knew?!!

Currently Bruce is too busy to reply. I understand, but now I'm high and
dry!

Again; thanks for all of your efforts...

Sincerely,

Jack
;-)


rlsusenet@xxxxxxxxxxxxxxxxxxxxxxxx wrote:
 > You need to open and print to a socket.  I haven't actually tried
 > this, but adapting from some code in "Programming Perl", it might
 > go something like this...
 >
 > require 5.002;
 > use strict;
 > use Socket;
 > my $remote = "192.168.1.123";    # can be a domain name
 > my $port = 2101;
 > my $iaddr = inet_aton($remote);
 > my $paddr = sockaddr_in($port, $iaddr);
 > my $proto = getprotobyname('tcp');    # unless your device takes 'udp'
 > socket(MYSOCK, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
 > connect(SOCK, $paddr);
 > print SOCK "Mail\n";
 > close(SOCK);


> Jack Edin wrote:
>
>> Hello,
>>
>> Please excuse the newbie question...
>>
>> I want to send the word "Mail", followed by a CR over the Ethernet to
>> IP address 192.168.1.123 on Port 2101.
>>
>> I searched the MH Docs to no avail...
>>
>> I looked at various code examples, and tried many things.
>> I can't get it right!
>>
>> The code I use now looks like this:
>>
>>  # Window/Door sensor items
>>
>>  if ($state = state_now $Mailbox_sensor) {
>>    $state = "open"   if ($state =~ /^alert/i);
>>    $state = "closed" if ($state =~ /^normal/i);
>>    print_log "Mailbox's front door is now $state";
>>
>>    if ($state eq "open"){play(`file` => "GOTMAIL.wav")}
>>  }
>>
>> I'm using an X10 DS10A embedded into the door of my new plastic mailbox.
>>
>> Here is a picture:
>>
>> http://www.logicunlimited.com/images/sModdedDoor-Front&Back+.jpg
>>
>> I have an Elk M1 panel. It can listen to port 2101 on the Ethernet...
>>
>> I want Mister House to trigger the mighty M1, via Ethernet in this manor.
>>
>> Can anybody help?
>>
>> I'm such a newbie I may need you to show me where to insert it into my
>> code, too.
>>
>> Just get one "(" in the wrong place, or forget a "}" and you're not
>> getting there!
>>
>> Been doing alot of head scratchin. Please help!
>>
>> Thankx, in advance!
>>
>> Jack
>> :)


alt.home.automation Main Index | alt.home.automation Thread Index | alt.home.automation Home | Archives Home