From: Garry D. <gar...@sh...> - 2008-02-25 16:54:56
|
Thanks Gregg Replies below... -----Original Message----- From: mis...@li... [mailto:mis...@li...] On Behalf Of Gregg Liming Sent: Monday, February 25, 2008 5:15 AM To: The main list for the MisterHouse home automation program Subject: Re: [mh] zmxap and Zoneminder Hi Garry, Garry Doucette wrote: > I decided I'd try to get MH working with Zoneminder. I've got zmxap.pl > running as root from an init script. I set up zmxap.conf using the > sample and changed nohub = 1. >> From the log message below, setting nohhub = 1 may have been a mistake. More commented below. > Now I'm not sure where to go from here. I'm assuming that I have to > get zmxap.pl communicating with ZM before I can move onto getting MH > communicating with zmxap.pl. >>Yes > This is what I've got so far... > > root@Misterhouse:/usr/local/zmxap# tail -f /tmp/zmxap.log > 24/02/08 20:44:45 [WARN] (checkState) Can't read from shared memory: >>Do you have monitors defined? If so, what are their modes (e.g., modect)? Yes I do. I have one called "Office" with an ID No. 1. It's set to Modect. >>What version of zoneminder are you running? V1.23.1 >>Unfortunately, I've not "peppered" the code w/ lots of debug statements in case there is a problem. So, either I'll need to do that or I'll need for you to insert a few manually based upon your answers above. > ======= xAP server starting at 08/02/24 21:00:14======== > 24/02/08 21:00:14 [WARN] (xAP::Comm): Unable to create direct xAP > listen socket on port 3639! Reverting to hub mode >>Is mh and it's hub running on the same system? Yes >>Do you have another dedicated/stand-alone hub? No >>If yes to either, then you need to set nohub = 0. OK, I set it back now I get... root@Misterhouse:/usr/local/zmxap# tail -f /tmp/zmxap.log 24/02/08 22:55:55 [WARN] (checkState) Can't read from shared memory: 24/02/08 22:55:56 [WARN] (checkState) Can't read from shared memory: 24/02/08 22:55:56 [WARN] (checkState) Can't read from shared memory: 24/02/08 22:55:56 [WARN] (checkState) Can't read from shared memory: 24/02/08 22:55:57 [WARN] (checkState) Can't read from shared memory: 24/02/08 22:55:57 [WARN] (checkState) Can't read from shared memory: 24/02/08 22:55:57 [WARN] (checkState) Can't read from shared memory: 24/02/08 22:55:58 [WARN] (checkState) Can't read from shared memory: ======= xAP server starting at 08/02/25 08:49:53======== Looks better... If I trigger an event in ZM nothing is posted to the log. Garry |
From: Garry D. <gar...@sh...> - 2008-02-25 23:08:00
|
Gregg Thanks for the link to the MH docs. I made the changes to the code as you suggested and now I'm getting this... root@Misterhouse:/usr/local/zmxap# tail -f /tmp/zmxap.log 25/02/08 14:51:14 [WARN] (checkState) Can't read from shared memory: 25/02/08 14:51:14 [WARN] (checkState) Can't read from shared memory: 25/02/08 14:51:14 [WARN] (checkState) Can't read from shared memory: 25/02/08 14:51:14 [WARN] (checkState) Can't read from shared memory: 25/02/08 14:51:15 [WARN] (checkState) Can't read from shared memory: 25/02/08 14:51:15 [WARN] (checkState) Can't read from shared memory: ======= xAP server starting at 08/02/25 14:56:18======== Shmkey for 1 is 2053963777 Shmkey for 1 is 2053963777 Question: Does it matter what instance_name in zmxap.conf is set to? I didn't change that so it's still set to 'house'. Garry -----Original Message----- From: mis...@li... [mailto:mis...@li...] On Behalf Of Gregg Liming Sent: Monday, February 25, 2008 10:01 AM To: The main list for the MisterHouse home automation program Subject: Re: [mh] zmxap and Zoneminder Quoting Garry Doucette (2/25/08 11:54 AM): >>> Do you have monitors defined? If so, what are their modes (e.g., modect)? > > Yes I do. I have one called "Office" with an ID No. 1. It's set to Modect. > >>> What version of zoneminder are you running? > > V1.23.1 > >>> Unfortunately, I've not "peppered" the code w/ lots of debug >>> statements in > case there is a problem. So, either I'll need to do that or I'll need > for you to insert a few manually based upon your answers above. Let's do two things... (1) up the debug level in zm.conf to 4 log_level = 4 (2) add a print statement to the load method in the Monitor package just after the second if statement. In my zmxap.pl, it's line 425: if ($shmData->{ShmId}) { $self->{MonitorData}->{ShmId} = $shmData->{ShmId} } print "Shmkey for " . $self->{Id} . " is " . $shmData->{ShmKey} . "\n"; I included the second if statement for reference; it's only the print statement that needs to be added. The results after applying the above for me is: ======= xAP server starting at 08/02/25 13:00:21======== 02/25/2008 13:00:21 [INFO] (xAP::Comm): Created xAP send socket on port 3639 02/25/2008 13:00:21 [INFO] (xAP::Comm): Created xAP listen socket on port 49154 02/25/2008 13:00:21 [INFO] (main::loadMonitors): Loading monitors Shmkey for 1 is 2053963777 02/25/2008 13:00:21 [DEBUG] (main::Monitor) Loading monitor: n=front-porch, en=1 f=Modect Shmkey for 6 is 2053963782 02/25/2008 13:00:21 [DEBUG] (main::Monitor) Loading monitor: n=driveway, en=1 f=Modect ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ ________________________________________________________ To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 |
From: Garry D. <gar...@sh...> - 2008-02-27 03:09:18
|
OK I've got Zoneminder communicating with zmxap nicely. Thanks for your help offline Gregg! Now I'm trying to get the MH <--> zmxap part of the equation solved. Here's what I've done so far. Items.mht entries: ZM_MONITOR, office, office_monitor ZM_ZONE, office_window, office_window_zone, office_monitor ZM_ZONE, office_garry, office_garry_zone, office_monitor BSC, zm.zoneminder.house, zone_minder_manager zoneminder.pl code in my /opt/misterhouse/code directory: # manage the automatic image analysis on a per-monitor basis $motion_analysis_vc = new Voice_Cmd '[suspend,resume,stop,start] motion analysis'; if (defined($state = said $motion_analysis_vc)) { $office_monitor->start_motion_analysis() if $state eq 'start'; $office_monitor->stop_motion_analysis() if $state eq 'stop'; $office_monitor->suspend_motion_analysis() if $state eq 'suspend'; $office_monitor->resume_motion_analysis() if $state eq 'resume'; } # directly control whether an alarm occurs (perhaps triggered by a non-zoneminder alert # this is very useful if wanting to automatically trigger a zoneminder alarm if a security sensor # detects intrusion, etc. $office_vc = new Voice_Cmd '[stop,start,block] office alarm'; if (defined($state = said $office_vc)) { $office_monitor->start_alarm('mh alarm test') if $state eq 'start'; $office_monitor->stop_alarm() if $state eq 'stop'; $office_monitor->block_alarm() if $state eq 'block'; } ## report on state changes to the office zones $office_window_zone->tie_event('zone_hook($office_window_zone)'); $office_garry_zone->tie_event('zone_hook($office_garry_zone)'); sub zone_hook { my ($zone) = @_; if ($zone->state eq 'motion') { print "detected motion from zone: " . $zone->name . "\n"; } else { print "zone: " . $zone->name . " is now still\n"; } } ******************* I've activated bsc.pl, xAP_command.pl and xAP_send.pl in the Common Code Activation page. I started MH with /opt/misterhouse/mh/bin/mh -debug=xap and got this on startup (snipped). - creating xap_listen_x10_device on udp 49155 listen db xAP_Items open_port: p=49155 pn=xap_listen_x10_device l=1 s=IO::Socket::INET=GLOB(0x882f8cc) - creating xap_send_49155 on udp 49155 send db xAP_Items open_port: p=49155 pn=xap_send_49155 l=1 s=IO::Socket::INET=GLOB(0x99f42a4) - creating xap_listen_abstract_device on udp 49156 listen db xAP_Items open_port: p=49156 pn=xap_listen_abstract_device l=1 s=IO::Socket::INET=GLOB(0x99f45e0) - creating xap_send_49156 on udp 49156 send db xAP_Items open_port: p=49156 pn=xap_send_49156 l=1 s=IO::Socket::INET=GLOB(0x99f46e8) - creating xap_listen_presence on udp 49157 listen db xAP_Items open_port: p=49157 pn=xap_listen_presence l=1 s=IO::Socket::INET=GLOB(0x99f49a0) - creating xap_send_49157 on udp 49157 send db xAP_Items open_port: p=49157 pn=xap_send_49157 l=1 s=IO::Socket::INET=GLOB(0x99f4ac0) But there doesn't seem to be communication happening between MH and zmxap.pl. When an event is triggered, the code to print the state of zone doesn't get executed. I'm at a loss as to what to do next. Garry |
From: Gregg L. <gr...@li...> - 2008-02-27 06:08:22
|
Garry Doucette wrote: > Now I'm trying to get the MH <--> zmxap part of the equation solved. Here's > what I've done so far. > > Items.mht entries: > > ZM_MONITOR, office, office_monitor > ZM_ZONE, office_window, office_window_zone, office_monitor > ZM_ZONE, office_garry, office_garry_zone, office_monitor > BSC, zm.zoneminder.house, zone_minder_manager That looks fine. > zoneminder.pl code in my /opt/misterhouse/code directory: [...snip...] > > ## report on state changes to the office zones > $office_window_zone->tie_event('zone_hook($office_window_zone)'); > $office_garry_zone->tie_event('zone_hook($office_garry_zone)'); > > sub zone_hook { > my ($zone) = @_; > if ($zone->state eq 'motion') { > print "detected motion from zone: " . $zone->name . "\n"; > } else { > print "zone: " . $zone->name . " is now still\n"; > } > } The above also looks good. > ******************* > > I've activated bsc.pl, xAP_command.pl and xAP_send.pl in the Common Code > Activation page. None of those are relevant; not sure what may have prompted you to decide to select them (other than things with "xAP" in their name). > I started MH with /opt/misterhouse/mh/bin/mh -debug=xap and got this on > startup (snipped). > > - creating xap_listen_x10_device on udp 49155 listen > db xAP_Items open_port: p=49155 pn=xap_listen_x10_device l=1 > s=IO::Socket::INET=GLOB(0x882f8cc) > - creating xap_send_49155 on udp 49155 send > db xAP_Items open_port: p=49155 pn=xap_send_49155 l=1 > s=IO::Socket::INET=GLOB(0x99f42a4) > - creating xap_listen_abstract_device on udp 49156 listen > db xAP_Items open_port: p=49156 pn=xap_listen_abstract_device l=1 > s=IO::Socket::INET=GLOB(0x99f45e0) > - creating xap_send_49156 on udp 49156 send > db xAP_Items open_port: p=49156 pn=xap_send_49156 l=1 > s=IO::Socket::INET=GLOB(0x99f46e8) > - creating xap_listen_presence on udp 49157 listen > db xAP_Items open_port: p=49157 pn=xap_listen_presence l=1 > s=IO::Socket::INET=GLOB(0x99f49a0) > - creating xap_send_49157 on udp 49157 send > db xAP_Items open_port: p=49157 pn=xap_send_49157 l=1 > s=IO::Socket::INET=GLOB(0x99f4ac0) Yep--lots of excess xAP ports as a result of the original xAP UID limitation and your having selected bsc.pl (which will go away if you deselect bsc.pl). Regardless, the above is fine and doesn't suggest anything one way or the other. > But there doesn't seem to be communication happening between MH and > zmxap.pl. When an event is triggered, the code to print the state of zone > doesn't get executed. > > I'm at a loss as to what to do next. 1) Via the web page, navigate as follows: MrHouse Home -> Browse Items -> ZM Monitor Item 2) Now, locate "office monitor" (if it doesn't show, then problems!) 3) Click on what should be a link to the left of the name; a log of alarm/idle states should appear. If they don't *and* you know that you did generate a camera induced alarm, then a problem exists. Now, I'm also assuming that you're a semi-zoneminder expert and can confirm that specific motion alarm events occurred as a result of you (or some co-conspirator) moving through the cameras field of view sufficient to trigger a legitimate alarm. They will appear as Motion-caused alarms. If they don't exist, then there's a reason that you don't see anything. Likewise, web-induced alarms are ignored. Another option to correlate/confirm events is to watch zmxap's log in /tmp/zmxap.log to confirm that a alarm is detected and sent on. 4) If all of #3 checks out, then set debug=xap;zone_minder and post the log results when creating motion-induced zoneminder alarms. Gregg |
From: Gregg L. <gr...@li...> - 2008-02-27 14:52:17
|
Gregg Liming wrote: > 4) If all of #3 checks out, then set debug=xap;zone_minder and post the > log results when creating motion-induced zoneminder alarms. I also just noticed that zone name matching in a part of the logic was not case insensitive (which it should be). The update is now committed. But, it is possible that my tendency to make everything lcase may mean that some other case sensitive comparison is failing. So, assuming any of the above seems to work ok, perhaps consider making sure that the names that you use in ZoneMinder for monitor and zone names are lcase. If this is the issue, then let me know whether it is a monitor zone name case problem and I'll hunt it down. Gregg |
From: Garry D. <gar...@sh...> - 2008-02-27 23:50:02
Attachments:
Image1.png
|
Gregg wrote: 1) Via the web page, navigate as follows: MrHouse Home -> Browse Items -> ZM Monitor Item 2) Now, locate "office monitor" (if it doesn't show, then problems!) 3) Click on what should be a link to the left of the name; a log of alarm/idle states should appear. If they don't *and* you know that you did generate a camera induced alarm, then a problem exists. >The monitor and zone items are listed but there are no links (see attached image). Now, I'm also assuming that you're a semi-zoneminder expert and can confirm that specific motion alarm events occurred as a result of you (or some co-conspirator) moving through the cameras field of view sufficient to trigger a legitimate alarm. They will appear as Motion-caused alarms. If they don't exist, then there's a reason that you don't see anything. Likewise, web-induced alarms are ignored. >Yes this is working fine in Zoneminder. Another option to correlate/confirm events is to watch zmxap's log in /tmp/zmxap.log to confirm that a alarm is detected and sent on. >Legitamate alarm events are triggered in ZM. Zmxap.log is saying this... 02/27/08 15:38:04 [INFO] (checkState) office - initiating alarm state 02/27/08 15:38:05 [DEBUG] (checkState) office - current state: 2, new state: 3 02/27/08 15:38:06 [DEBUG] (checkState) office - current state: 3, new state: 0 02/27/08 15:38:06 [INFO] (checkState) office - resuming idle state 02/27/08 15:38:06 [DEBUG] (sendAlarmEvent) office - Event# 2377: duration: '0.90'; max-score:'9' 4) If all of #3 checks out, then set debug=xap;zone_minder and post the log results when creating motion-induced zoneminder alarms. >When I start MH with /opt/misterhouse/mh/bin/mh -debug=xap;zone_minder there's nothing useful in the log. When I quit MH there's an error message saying -bash: zone_minder: command not found. I think I'm stuck at #3. Hope I'm doing something dumb... Garry |
From: Gregg L. <gr...@li...> - 2008-02-28 04:07:35
|
Garry Doucette wrote: > 4) If all of #3 checks out, then set debug=xap;zone_minder and post the log > results when creating motion-induced zoneminder alarms. > >> When I start MH with /opt/misterhouse/mh/bin/mh -debug=xap;zone_minder Please set your *ini* parm--not the command line arg. |
From: Gregg L. <gr...@li...> - 2008-02-28 04:19:53
|
Gregg Liming wrote: > Garry Doucette wrote: > >> 4) If all of #3 checks out, then set debug=xap;zone_minder and post the log >> results when creating motion-induced zoneminder alarms. >> >>> When I start MH with /opt/misterhouse/mh/bin/mh -debug=xap;zone_minder > > Please set your *ini* parm--not the command line arg. Also, realize that many debug output (including xAP) only echoes to the console; so, you have to trap it there and not just rely on the print_log. Gregg |
From: Gregg L. <gr...@li...> - 2008-02-28 04:59:26
|
Gregg Liming wrote: > Gregg Liming wrote: >> Garry Doucette wrote: >> >>> 4) If all of #3 checks out, then set debug=xap;zone_minder and post the log >>> results when creating motion-induced zoneminder alarms. >>> >>>> When I start MH with /opt/misterhouse/mh/bin/mh -debug=xap;zone_minder >> Please set your *ini* parm--not the command line arg. > > Also, realize that many debug output (including xAP) only echoes to the > console; so, you have to trap it there and not just rely on the print_log. ... and, on a (near) final note, you did set the ini parms: ipaddress_xap and ipaddress_xap_broadcast as discussed in http://misterhouse.wikispaces.com/xAP+and+xPL+-+Getting+Started |
From: Garry D. <gar...@sh...> - 2008-02-27 23:56:07
|
Oops, I meant to say "Hope I'm 'not' doing something dumb..." <g> Garry |
From: Garry D. <gar...@sh...> - 2008-02-28 16:51:49
|
A little closer.. I've got debug working. Log messages... xAP renewing port=49152 to xAP client mhouse.mh.misterhouse.coredb xAP_Items open_port: p=49152 pn=xap_send_49152 l=1 s=IO::Socket::INET=GLOB(0x95f0294) db1 xap check: p=xAP s=mhouse.mh.misterhouse.core c=xap-hbeat.alive t= d=xap-hbeat { v=12 hop=1 uid=FFE90000 class=xap-hbeat.alive source=mhouse.mh.misterhouse.core interval=60 port=49152 pid=9414 } I've updated to the latest SVN and set the ipaddress_xap and ipaddress_xap_broadcast to correspond with my server where MH is installed. The results are the same. There's no reaction from MH when an event in ZM is triggered and there are no links in the web interface. Garry -----Original Message----- From: mis...@li... [mailto:mis...@li...] On Behalf Of Gregg Liming Sent: Wednesday, February 27, 2008 8:59 PM To: The main list for the MisterHouse home automation program Subject: Re: [mh] zmxap and Zoneminder Gregg Liming wrote: > Gregg Liming wrote: >> Garry Doucette wrote: >> >>> 4) If all of #3 checks out, then set debug=xap;zone_minder and post >>> the log results when creating motion-induced zoneminder alarms. >>> >>>> When I start MH with /opt/misterhouse/mh/bin/mh >>>> -debug=xap;zone_minder >> Please set your *ini* parm--not the command line arg. > > Also, realize that many debug output (including xAP) only echoes to > the console; so, you have to trap it there and not just rely on the print_log. ... and, on a (near) final note, you did set the ini parms: ipaddress_xap and ipaddress_xap_broadcast as discussed in http://misterhouse.wikispaces.com/xAP+and+xPL+-+Getting+Started ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ ________________________________________________________ To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 |
From: Gregg L. <gr...@li...> - 2008-02-28 18:22:28
|
Garry Doucette wrote: > A little closer.. > > I've got debug working. Log messages... > > xAP renewing port=49152 to xAP client mhouse.mh.misterhouse.coredb xAP_Items > open_port: p=49152 pn=xap_send_49152 l=1 s=IO::Socket::INET=GLOB(0x95f0294) > db1 xap check: p=xAP s=mhouse.mh.misterhouse.core c=xap-hbeat.alive t= > d=xap-hbeat > { > v=12 > hop=1 > uid=FFE90000 > class=xap-hbeat.alive > source=mhouse.mh.misterhouse.core > interval=60 > port=49152 > pid=9414 > } It that's the only thing that you're seeing, then it sounds like the mh hub (you are running a hub--right?) isn't seeing the zmxap traffic. Please post the log results at startup (i.e., all of it--not just what you think is relevant). Gregg |
From: Garry D. <gar...@sh...> - 2008-02-28 19:42:03
|
Gregg wrote: It that's the only thing that you're seeing, then it sounds like the mh hub (you are running a hub--right?) isn't seeing the zmxap traffic. Please post the log results at startup (i.e., all of it--not just what you think is relevant). I haven't specifically installed a hub. The wiki says: "Misterhouse has built-in xAP and xPL hubs that are enabled by default. For beginning users or users with low to moderate xAP and/or xPL traffic, the built-in hub is sufficient." So I assumed I didn't have to do anything in that regard since ZM is the only application I'm using xap with. Am I wrong about that? Here's my full log on start up. ******************************** root@Misterhouse:/opt/misterhouse/mh/bin# /opt/misterhouse/mh/bin/mh Command: mh Pgm path : /opt/misterhouse/mh/bin Pgm version: mh 2.104 R1382 Last updated: Wed Feb 27 14:50:23 2008 Perl version: 5.008007 OS version: linux linux Other : user=root pid=9551 box= cpu=- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Read parameter files: ./mh.ini ./mh.private.ini /opt/misterhouse/mh.private.ini Debugging for xap turned on Debugging for zone_minder turned on Code Directories: - /opt/misterhouse/code - ./../code/common Loading other modules Starting setup - using simple Text distance function - reading previous log files - archiving previous /opt/misterhouse/data/logs/*.log files .... - read 5 trigger entries - creating http on tcp 8080 buffered - creating server mhsend on tcp 8084 buffered - creating server telnet on tcp 1234 raw - creating xap_send on udp 3639 send db xAP_Items open_port: p=3639 pn=xap_send l=0 s=IO::Socket::INET=GLOB(0x93a3ae8) - creating xap_hub_listen on udp 3639 listen db xAP_Items open_port: p=3639 pn=xap_hub_listen l=0 s=IO::Socket::INET=GLOB(0x93a440c) - mh in xAP Hub mode - creating xap_listen_core on udp 49152 listen db xAP_Items open_port: p=49152 pn=xap_listen_core l=1 s=IO::Socket::INET=GLOB(0x93a458c) - creating xap_send_49152 on udp 49152 send db xAP_Items open_port: p=49152 pn=xap_send_49152 l=1 s=IO::Socket::INET=GLOB(0x93a4700) - creating xpl_send on udp 3865 send - creating xpl_listen on udp 49153 listen - creating xpl_hub_listen on udp 3865 listen - mh in xPL Hub mode - creating xpl_send_49153 on udp 49153 send 02/28/08 11:39:51 AM [Insteon_PLM] serial:/dev/ttyS6:19200 - creating Insteon PLM port on /dev/ttyS6 - process id 9551 written to /opt/misterhouse/data/mh.pid - external command file (xcmd_file): ./../house_cmd.txt - HTML file : ./../web/ia5/index.shtml Warning: password_file /opt/misterhouse/data/.password not found. Run mh/bin/set_password Done with setup 02/28/08 11:39:51 AM Reading /opt/misterhouse/mh.private.ini and mh.ini html_alias alias /rrd dir does not exist, dir=/opt/misterhouse/data/rrd html_alias alias /tv dir does not exist, dir=/opt/misterhouse/data/tv html_alias alias /email dir does not exist, dir=/opt/misterhouse/data/email Voice names: Microsoft Mary, Microsoft Mike, Microsoft Sam Read 4 entries from ./../data/pronouncable_words.list Error, could not find the caller id file /opt/misterhouse/data/phone/phone.caller_id.list: No such file or directory 02/28/08 11:39:51 AM Reading 1 .mht table files: items.mht 02/28/08 11:39:51 AM Translating items.mht -> /opt/misterhouse/code/items.mhp 02/28/08 11:39:51 AM Initialized read_table_A.pl Reading code_dirs: /opt/misterhouse/code ./../code/common 02/28/08 11:39:51 AM Reading 23 code files 02/28/08 11:39:51 AM Evaluating user code 02/28/08 11:39:51 AM [Insteon_PLM] setting default xmit delay to: 0.25 02/28/08 11:39:51 AM [Insteon_PLM] setting x10 xmit delay to: 0.5 02/28/08 11:39:51 AM Tieing to music database: /opt/misterhouse/data/mp3.dbm Good code saved running: aplay ./../sounds/sound_click1.wav Restoring object states Object states restored Activating voice commands Starting monitor commands loop Playing WAVE './../sounds/sound_click1.wav' : Unsigned 8 bit, Rate 22050 Hz, Mono Latitude: 49.233, Longitude: -124.800, Time Zone: -6 sunrise=9:04 AM sunset=8:01 PM sunrise twilight=8:32 AM sunset twilight=8:33 PM The moon is Half Waning, 55% bright, and 21 days old The next full moon is on Friday, March 21st xAP renewing port=49152 to xAP client mhouse.mh.misterhouse.coredb xAP_Items open_port: p=49152 pn=xap_send_49152 l=1 s=IO::Socket::INET=GLOB(0x881a4d0) 02/28/08 11:39:51 AM Generating Voice commands for all Insteon objects Warning, duplicate Voice_Cmd Text: office lamp status Cmd: Office Lamp [on,off,+40,-40,5%,30%,60%,100%,status,status,scan link table,log links,update onlevel/ramprate] 02/28/08 11:39:51 AM Rereading .menu code files. db1 xap check: p=xAP s=mhouse.mh.misterhouse.core c=xap-hbeat.alive t= d=xap-hbeat { v=12 hop=1 uid=FFE90000 class=xap-hbeat.alive source=mhouse.mh.misterhouse.core interval=60 port=49152 pid=9551 } 02/28/08 11:39:52 AM [Insteon_PLM] Processing message for $Office_Lamp 02/28/08 11:39:52 AM [Insteon_PLM] Processing message for $Under_Deck ****************************** Garry |
From: Gregg L. <gr...@li...> - 2008-02-28 19:52:23
|
Garry Doucette wrote: > Gregg wrote: > It that's the only thing that you're seeing, then it sounds like the mh hub > (you are running a hub--right?) isn't seeing the zmxap traffic. > Please post the log results at startup (i.e., all of it--not just what you > think is relevant). > > I haven't specifically installed a hub. The wiki says: > > "Misterhouse has built-in xAP and xPL hubs that are enabled by default. For > beginning users or users with low to moderate xAP and/or xPL traffic, the > built-in hub is sufficient." > > So I assumed I didn't have to do anything in that regard since ZM is the > only application I'm using xap with. Am I wrong about that? Nope--just checking. > Here's my full log on start up. [...snip...] > - creating xap_hub_listen on udp 3639 listen > db xAP_Items open_port: p=3639 pn=xap_hub_listen l=0 > s=IO::Socket::INET=GLOB(0x93a440c) > - mh in xAP Hub mode The above statements were what I was looking for. However, I eventually expected to see (an example from my log): --------------------------------------------------------- xAP registering port=49154 to xAP client zm.zoneminder.house - creating xap_send_49154 on udp 49154 send db xAP_Items open_port: p=49154 pn=xap_send_49154 l=1 s=IO::Socket::INET=GLOB(0x405bb60) db1 xap check: p=xAP s=zm.zoneminder.house c=xap-hbeat.alive t= d=xap-hbeat { v=12 hop=1 uid=FFEA0900 class=xap-hbeat.alive source=zm.zoneminder.house interval=60 port=49154 pid=18307 } -------------------------------------------------------- They won't be immediate (necessarily) since the interval is every 60 seconds. You never see any of these? Gregg |
From: Garry D. <gar...@sh...> - 2008-02-28 22:24:42
|
Gregg wrote: > - creating xap_hub_listen on udp 3639 listen db xAP_Items > open_port: p=3639 pn=xap_hub_listen l=0 > s=IO::Socket::INET=GLOB(0x93a440c) > - mh in xAP Hub mode The above statements were what I was looking for. However, I eventually expected to see (an example from my log): --------------------------------------------------------- xAP registering port=49154 to xAP client zm.zoneminder.house - creating xap_send_49154 on udp 49154 send db xAP_Items open_port: p=49154 pn=xap_send_49154 l=1 s=IO::Socket::INET=GLOB(0x405bb60) db1 xap check: p=xAP s=zm.zoneminder.house c=xap-hbeat.alive t= d=xap-hbeat { v=12 hop=1 uid=FFEA0900 class=xap-hbeat.alive source=zm.zoneminder.house interval=60 port=49154 pid=18307 } -------------------------------------------------------- They won't be immediate (necessarily) since the interval is every 60 seconds. You never see any of these? >No, I'm not getting any messages like that. I get: ************* xAP renewing port=49152 to xAP client mhouse.mh.misterhouse.coredb xAP_Items open_port: p=49152 pn=xap_send_49152 l=1 s=IO::Socket::INET=GLOB(0x99c9440) db1 xap check: p=xAP s=mhouse.mh.misterhouse.core c=xap-hbeat.alive t= d=xap-hbeat { v=12 hop=1 uid=FFE90000 class=xap-hbeat.alive source=mhouse.mh.misterhouse.core interval=60 port=49152 pid=9787 } ************* repeated over and over. Could it be a permissions issue? I'm kinda grasping at straws now... Garry |
From: Gregg L. <gr...@li...> - 2008-02-29 02:16:17
|
Hi Garry, I'm thinking that we may need to go off-list again as there are likely lots of "back and forth" via log files that might need to be tried. Other comments below: Garry Doucette wrote: > ************* > xAP renewing port=49152 to xAP client mhouse.mh.misterhouse.coredb xAP_Items > open_port: p=49152 pn=xap_send_49152 l=1 s=IO::Socket::INET=GLOB(0x99c9440) > db1 xap check: p=xAP s=mhouse.mh.misterhouse.core c=xap-hbeat.alive t= > d=xap-hbeat > { > v=12 > hop=1 > uid=FFE90000 > class=xap-hbeat.alive > source=mhouse.mh.misterhouse.core > interval=60 > port=49152 > pid=9787 > } > ************* > repeated over and over. > Ok--so definitely mh is operating as a hub and is servicing it's own port. Unfortunately, it's not seeing the zmxap hub. Now, just to confirm your setup, the following is mine (please note any differences): 1) mh, zoneminder and zmxap all running on the same system 2) using mh's xAP hub 3) disabled all aspects of firewall (e.g., ipchains) and (possibly more important) selinux 4) only one subnetwork (bound to an ethernet adapter); no presence of any other network-capable, UDP-routable interface (to include bluetooth). > Could it be a permissions issue? ... possibly; but, I somewhat doubt it. I thought you were running zmxap as root? I do likewise; and, run mh as a priv'd (but different from root) user. > I'm kinda grasping at straws now... Same here as I don't understand why yours doesn't just work. If you would, please reset your zmxap's log_level to 5 and send me (off-list as it should be large) the zmxap.log. It would also be good if you would try the following sequence: 1) ensure zoneminder is running 2) shutdown zmxap 3) shutdown mh 4) start mh 5) start zmxap Gregg |
From: Gregg L. <gr...@li...> - 2008-02-29 23:05:01
|
[... back to the list now that the problem is known ...] Garry Doucette wrote: > yes. There's two nics. Eth0 points to the internet and eth1 is my internal > network. That's the culprit. mh can properly bind to the right subnet via ipaddress_xap and ipaddress_xap_broadcast; but, zmxap was not created to be as flexible. As a result, mh is communicating to your internal subnet while zmxap is trying to shout to the Internet (because your system's default route isn't internal but rather out-facing). So, that means I'll need to make some changes to the xAP library that zmxap and the other connectors (e.g., psixc, axc, etc.) use to accommodate your desire to run everything on your firewall. FWIW: I've never encountered this type of a problem because until now, I've never known someone to run zoneminder on their firewall. Gregg |
From: Garry D. <gar...@sh...> - 2008-02-29 23:17:01
|
-----Original Message----- From: mis...@li... [mailto:mis...@li...] On Behalf Of Gregg Liming Sent: Friday, February 29, 2008 3:05 PM To: mis...@li... Subject: Re: [mh] zmxap and Zoneminder [... back to the list now that the problem is known ...] Garry Doucette wrote: >> yes. There's two nics. Eth0 points to the internet and eth1 is my >> internal network. >That's the culprit. mh can properly bind to the right subnet via ipaddress_xap and ipaddress_xap_broadcast; but, zmxap was not created to be as flexible. Alright (high five!), that's good news in terms of 'my' problem anyway. >As a result, mh is communicating to your internal subnet while zmxap is trying to shout to the Internet (because your system's default route isn't internal but rather out-facing). That doesn't sound like a good thing. >So, that means I'll need to make some changes to the xAP library that zmxap and the other connectors (e.g., psixc, axc, etc.) use to accommodate your desire to run everything on your firewall. FWIW: I've never encountered this type of a problem because until now, I've never known someone to run zoneminder on their firewall. Should I be concerned about my network configuration? Garry |
From: Gregg L. <gr...@li...> - 2008-02-25 18:01:18
|
Quoting Garry Doucette (2/25/08 11:54 AM): >>> Do you have monitors defined? If so, what are their modes (e.g., modect)? > > Yes I do. I have one called "Office" with an ID No. 1. It's set to Modect. > >>> What version of zoneminder are you running? > > V1.23.1 > >>> Unfortunately, I've not "peppered" the code w/ lots of debug statements in > case there is a problem. So, either I'll need to do that or I'll need for > you to insert a few manually based upon your answers above. Let's do two things... (1) up the debug level in zm.conf to 4 log_level = 4 (2) add a print statement to the load method in the Monitor package just after the second if statement. In my zmxap.pl, it's line 425: if ($shmData->{ShmId}) { $self->{MonitorData}->{ShmId} = $shmData->{ShmId} } print "Shmkey for " . $self->{Id} . " is " . $shmData->{ShmKey} . "\n"; I included the second if statement for reference; it's only the print statement that needs to be added. The results after applying the above for me is: ======= xAP server starting at 08/02/25 13:00:21======== 02/25/2008 13:00:21 [INFO] (xAP::Comm): Created xAP send socket on port 3639 02/25/2008 13:00:21 [INFO] (xAP::Comm): Created xAP listen socket on port 49154 02/25/2008 13:00:21 [INFO] (main::loadMonitors): Loading monitors Shmkey for 1 is 2053963777 02/25/2008 13:00:21 [DEBUG] (main::Monitor) Loading monitor: n=front-porch, en=1 f=Modect Shmkey for 6 is 2053963782 02/25/2008 13:00:21 [DEBUG] (main::Monitor) Loading monitor: n=driveway, en=1 f=Modect |