Xantrex GT3.0 photovoltaic inverter code module

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Xantrex GT3.0 photovoltaic inverter code module

brian mckissick
I recently got my photovoltaic solar system installed and running, and
(of course) needed to be able to log data from it. Here is my first
version of a code file to support the Xantrex GT3.0 inverter - it has
been running for almost a month, so I wanted to throw it out in case
anyone else could use either it or a laugh :)
Eventually I want to redo it into a standalone daemon (ala gpsd) so
that multiple clients (local and remote) can access the data at the
same time, but lots of other projects in the works, and this at least
lets me log what I need for now...

Thanks Bruce and everyone for all the work on mh!!!
Brian

(XanGT3_0.pl follows:)
# Category=Solar

#@ This module allows MisterHouse to communicate with a Xantrex GT3.0
#@ grid-tied photovoltaic power inverter, allowing for home automation
#@ monitoring of generated solar power.
#@
#@ Set the following parameters in your mh.private.ini file
(serial_XanGT30_port will vary depending on OS/available ports):
#@ serial_XanGT30_port=/dev/ttyS0
#@ serial_XanGT30_baudrate=9600
#@ serial_XanGT30_handshake=none

=begin comment

XanGT3_0.pl

2005-Dec-26 Created by Brian McKissick (beanot(at)gmail(dot)com).

This module allows MisterHouse to communicate with a Xantrex GT3.0
grid-tied photovoltaic power inverter, allowing for home automation
monitoring of generated solar power.

Thanks to Bruce and everyone else for the continued work on this project!
=cut

my $command;
my $data;
my $ResponseParsed;
my $state;
my $value;
my $ROM_BVer;
my $ROM_MVer;
my $ROM_XVer;
my $ROM_PVer;
my $idn_ModelNo;
my $idn_X_No;
my $idn_SerNo;
my $custom11;
my $custom12;
my $custom21;
my $custom22;
my $TIMECtr;
my $MEASENGYSYS_SystemPower;
my $MEASENGYSYS_SystemTotal;
my $MEASENGYSYS_SystemLife;
my $whlife;
my $MEASIN_Voltage;
my $MEASIN_Current;
my $MEASIN_Power;
my $MEASOUT_Voltage;
my $MEASOUT_Current;
my $MEASOUT_Power;
my $MEASOUT_F_param;
my $MPPTSTAT_Voltage;
my $MPPTSTAT_TD_param;
my $MPPTSTAT_PL_param;
my $POWSEQ_ST_param;
my $POWSEQ_STS_param;
my $POWSEQ_FA_param;
my $RECTIME;
my $MEASENGY_UnitPower;
my $MEASENGY_UnitTotal;
my $MEASENGY_UnitLife;
my $DerateLimit;
my $MEASTEMP_HeatsinkTemp_degC;
my $MEASTEMP_HeatsinkTemp_degF;


$xangt30inv = new Serial_Item(undef, undef, 'serial_XanGT30');

if ( $Startup ) {
    $command = "";
    $ResponseParsed = 0;
}

if ( $data = said $xangt30inv ) {
    $data =~ s/\n//;
    $data =~ s/\r//;
#    print_log "XanGT3.0: $data";

    if ( $command eq "ROM" ) {
        if ( $data =~ /^B:([^ ]+) M:([^ ]+) X:([^ ]+) P:([^ ]+)$/ ) {
            $ROM_BVer = $1;
            $ROM_MVer = $2;
            $ROM_XVer = $3;
            $ROM_PVer = $4;
            $ResponseParsed = 1;
            print_log "XanGT3.0 ROM Versions: B=$ROM_BVer,
M=$ROM_MVer, X=$ROM_XVer, P=$ROM_PVer.";
            speak "XanGT3.0 ROM Versions: B=$ROM_BVer, M=$ROM_MVer,
X=$ROM_XVer, P=$ROM_PVer.";
        }
    }

    if ( $command eq "idn" ) {
        if ( $data =~ /^M:([^ ]+) X:([^ ]+) S:([^ ]+)$/ ) {
            $idn_ModelNo = $1;
            $idn_X_No = $2;
            $idn_SerNo = $3;
            $ResponseParsed = 1;
            print_log "XanGT3.0 IDs: Model=$idn_ModelNo, X=$idn_X_No,
Serial=$idn_SerNo.";
            speak "XanGT3.0 IDs: Model=$idn_ModelNo, X=$idn_X_No,
Serial=$idn_SerNo.";
        }
    }

    if ( $command eq "custom11" ) {
        if ( $data =~ /^................$/ ) {
            $custom11 = $data;
            $ResponseParsed = 1;
            print_log "XanGT3.0 custom screen 1 line 1=$custom11.";
            speak "XanGT3.0 custom screen 1 line 1=$custom11.";
        }
    }

    if ( $command eq "custom12" ) {
        if ( $data =~ /^................$/ ) {
            $custom12 = $data;
            $ResponseParsed = 1;
            print_log "XanGT3.0 custom screen 1 line 2=$custom12.";
            speak "XanGT3.0 custom screen 1 line 2=$custom12.";
        }
    }

    if ( $command eq "custom21" ) {
        if ( $data =~ /^................$/ ) {
            $custom21 = $data;
            $ResponseParsed = 1;
            print_log "XanGT3.0 custom screen 2 line 1=$custom21.";
            speak "XanGT3.0 custom screen 2 line 1=$custom21.";
        }
    }

    if ( $command eq "custom22" ) {
        if ( $data =~ /^................$/ ) {
            $custom22 = $data;
            $ResponseParsed = 1;
            print_log "XanGT3.0 custom screen 2 line 2=$custom22.";
            speak "XanGT3.0 custom screen 2 line 2=$custom22.";
        }
    }

    if ( $command eq "TIME" ) {
        $TIMECtr = $data;
        $ResponseParsed = 1;
        print_log "XanGT3.0 time=$TIMECtr sec.";
        speak "XanGT3.0 time=$TIMECtr sec.";
    }

    if ( $command eq "MEASENGYSYS" ) {
        if ( $data =~ /^P:([^ ]+) T:([^ ]+) L:([^ ]+)$/ ) {
            $MEASENGYSYS_SystemPower = $1;
            $MEASENGYSYS_SystemTotal = $2;
            $MEASENGYSYS_SystemLife = $3;
            $ResponseParsed = 1;
            print_log "XanGT3.0 system power=$MEASENGYSYS_SystemPower
W, daily total=$MEASENGYSYS_SystemTotal kWh,
life=$MEASENGYSYS_SystemLife kWh.";
            speak "XanGT3.0 system power=$MEASENGYSYS_SystemPower W,
daily total=$MEASENGYSYS_SystemTotal kWh, life=$MEASENGYSYS_SystemLife
kWh.";
        }
    }

    if ( $command eq "whlife" ) {
        $whlife = $data;
        $ResponseParsed = 1;
        print_log "XanGT3.0 whlife=$whlife.";
        speak "XanGT3.0 whlife=$whlife.";
    }

    if ( $command eq "MEASIN" ) {
        if ( $data =~ /^V:([^ ]+) I:([^ ]+) P:([^ ]+)$/ ) {
            $MEASIN_Voltage = $1;
            $MEASIN_Current = $2;
            $MEASIN_Power = $3;
            $ResponseParsed = 1;
            print_log "XanGT3.0 MEASIN voltage=$MEASIN_Voltage V,
current=$MEASIN_Current A, power=$MEASIN_Power W.";
            speak "XanGT3.0 MEASIN voltage=$MEASIN_Voltage V,
current=$MEASIN_Current A, power=$MEASIN_Power W.";
        }
    }

    if ( $command eq "MEASOUT" ) {
        if ( $data =~ /^V:([^ ]+) I:([^ ]+) P:([^ ]+) F:([^ ]+)$/ ) {
            $MEASOUT_Voltage = $1;
            $MEASOUT_Current = $2;
            $MEASOUT_Power = $3;
            $MEASOUT_F_param = $4;
            $ResponseParsed = 1;
            print_log "XanGT3.0 MEASOUT voltage=$MEASOUT_Voltage V,
current=$MEASOUT_Current A, power=$MEASOUT_Power W, F=$MEASOUT_F_param
Hz.";
            speak "XanGT3.0 MEASOUT voltage=$MEASOUT_Voltage V,
current=$MEASOUT_Current A, power=$MEASOUT_Power W, F=$MEASOUT_F_param
Hz.";
        }
    }

    if ( $command eq "MPPTSTAT" ) {
        if ( $data =~ /^V:([^ ]+) TD:([^ ]+) PL:([^ ]+)$/ ) {
            $MPPTSTAT_Voltage = $1;
            $MPPTSTAT_TD_param = $2;
            $MPPTSTAT_PL_param = $3;
            $ResponseParsed = 1;
            print_log "XanGT3.0 MPPTSTAT (peak power)
voltage=$MPPTSTAT_Voltage, TD=$MPPTSTAT_TD_param,
PL=$MPPTSTAT_PL_param.";
            speak "XanGT3.0 MPPTSTAT (peak power)
voltage=$MPPTSTAT_Voltage, TD=$MPPTSTAT_TD_param,
PL=$MPPTSTAT_PL_param.";
        }
    }

    if ( $command eq "POWSEQ" ) {
        if ( $data =~ /^ST:([^ ]+) STS:([^ ]+ [^ ]+ [^ ]+ [^ ]+)
FA:([^ ]+)$/ ) {
            $POWSEQ_ST_param = $1;
            $POWSEQ_STS_param = $2;
            $POWSEQ_FA_param = $3;
            $ResponseParsed = 1;
            print_log "XanGT3.0 POWSEQ ST=$POWSEQ_ST_param,
STS=$POWSEQ_STS_param, FA=$POWSEQ_FA_param.";
            speak "XanGT3.0 POWSEQ ST=$POWSEQ_ST_param,
STS=$POWSEQ_STS_param, FA=$POWSEQ_FA_param.";
        }
    }

    if ( $command eq "RECTIME" ) {
        $RECTIME = $data;
        $ResponseParsed = 1;
        print_log "XanGT3.0 RECTIME=$RECTIME.";
        speak "XanGT3.0 RECTIME=$RECTIME.";
    }

    if ( $command eq "MEASENGY" ) {
        if ( $data =~ /^P:([^ ]+) T:([^ ]+) L:([^ ]+)$/ ) {
            $MEASENGY_UnitPower = $1;
            $MEASENGY_UnitTotal = $2;
            $MEASENGY_UnitLife = $3;
            $ResponseParsed = 1;
            print_log "XanGT3.0 unit power=$MEASENGY_UnitPower W,
daily total=$MEASENGY_UnitTotal kWh, life=$MEASENGY_UnitLife kWh.";
            speak "XanGT3.0 unit power=$MEASENGY_UnitPower W, daily
total=$MEASENGY_UnitTotal kWh, life=$MEASENGY_UnitLife kWh.";
        }
    }

    if ( $command eq "DERATELIMIT" ) {
        $DerateLimit = $data;
        $ResponseParsed = 1;
        print_log "XanGT3.0 derate limit=$DerateLimit.";
        speak "XanGT3.0 derate limit=$DerateLimit.";
    }

    if ( $command eq "MEASTEMP" ) {
        if ( $data =~ /^C:([^ ]+) F:([^ ]+)$/ ) {
            $MEASTEMP_HeatsinkTemp_degC = $1;
            $MEASTEMP_HeatsinkTemp_degF = $2;
            $ResponseParsed = 1;
            print_log "XanGT3.0 heatsink
temp=$MEASTEMP_HeatsinkTemp_degF degF ($MEASTEMP_HeatsinkTemp_degC
degC).";
            speak "XanGT3.0 heatsink temp=$MEASTEMP_HeatsinkTemp_degF
degF ($MEASTEMP_HeatsinkTemp_degC degC).";
        }
    }


    if ( $ResponseParsed != 1 ) {
        print_log "XanGT3.0 serial input parsing error:
command=$command data=$data";
        speak "XanGT3.0 serial input parsing error: command=$command
data=$data";
    }
}

# Query commands
$v_xangt30_get_rom_ver = new Voice_Cmd("Get XanGT3.0 ROM versions");
if ($state = said $v_xangt30_get_rom_ver) {
  set $xangt30inv "ROM?";
  $command = "ROM";
}

$v_xangt30_get_ids = new Voice_Cmd("Get XanGT3.0 IDs");
if ($state = said $v_xangt30_get_ids) {
  set $xangt30inv "idn?";
  $command = "idn";
}

$v_xangt30_get_custom11 = new Voice_Cmd("Get XanGT3.0 custom screen 1 line 1");
if ($state = said $v_xangt30_get_custom11) {
  set $xangt30inv "custom11?";
  $command = "custom11";
}

$v_xangt30_get_custom12 = new Voice_Cmd("Get XanGT3.0 custom screen 1 line 2");
if ($state = said $v_xangt30_get_custom12) {
  set $xangt30inv "custom12?";
  $command = "custom12";
}

$v_xangt30_get_custom21 = new Voice_Cmd("Get XanGT3.0 custom screen 2 line 1");
if ($state = said $v_xangt30_get_custom21) {
  set $xangt30inv "custom21?";
  $command = "custom21";
}

$v_xangt30_get_custom22 = new Voice_Cmd("Get XanGT3.0 custom screen 2 line 2");
if ($state = said $v_xangt30_get_custom22) {
  set $xangt30inv "custom22?";
  $command = "custom22";
}

$v_xangt30_get_time = new Voice_Cmd("Get XanGT3.0 time");
if ($state = said $v_xangt30_get_time) {
  set $xangt30inv "TIME?";
  $command = "TIME";
}

$v_xangt30_get_system_stats = new Voice_Cmd("Get XanGT3.0 system stats");
if ($state = said $v_xangt30_get_system_stats) {
  set $xangt30inv "MEASENGYSYS?";
  $command = "MEASENGYSYS";
}

$v_xangt30_get_whlife = new Voice_Cmd("Get XanGT3.0 whlife");
if ($state = said $v_xangt30_get_whlife) {
  set $xangt30inv "whlife?";
  $command = "whlife";
}

$v_xangt30_get_measin = new Voice_Cmd("Get XanGT3.0 MEASIN");
if ($state = said $v_xangt30_get_measin) {
  set $xangt30inv "MEASIN?";
  $command = "MEASIN";
}

$v_xangt30_get_measout = new Voice_Cmd("Get XanGT3.0 MEASOUT");
if ($state = said $v_xangt30_get_measout) {
  set $xangt30inv "MEASOUT?";
  $command = "MEASOUT";
}

$v_xangt30_get_mpptstat = new Voice_Cmd("Get XanGT3.0 MPPTSTAT");
if ($state = said $v_xangt30_get_mpptstat) {
  set $xangt30inv "MPPTSTAT?";
  $command = "MPPTSTAT";
}

$v_xangt30_get_powseq = new Voice_Cmd("Get XanGT3.0 POWSEQ");
if ($state = said $v_xangt30_get_powseq) {
  set $xangt30inv "POWSEQ?";
  $command = "POWSEQ";
}

$v_xangt30_get_rectime = new Voice_Cmd("Get XanGT3.0 RECTIME");
if ($state = said $v_xangt30_get_rectime) {
  set $xangt30inv "RECTIME?";
  $command = "RECTIME";
}

$v_xangt30_get_unit_stats = new Voice_Cmd("Get XanGT3.0 unit stats");
if ($state = said $v_xangt30_get_unit_stats) {
  set $xangt30inv "MEASENGY?";
  $command = "MEASENGY";
}

$v_xangt30_get_deratelimit = new Voice_Cmd("Get XanGT3.0 derate limit");
if ($state = said $v_xangt30_get_deratelimit) {
  set $xangt30inv "DERATELIMIT?";
  $command = "DERATELIMIT";
}

$v_xangt30_get_heatsink_temp = new Voice_Cmd("Get XanGT3.0 heatsink temp");
if ($state = said $v_xangt30_get_heatsink_temp) {
  set $xangt30inv "MEASTEMP?";
  $command = "MEASTEMP";
}


if ($Startup) {
  run_after_delay 2, "run_voice_cmd 'Get XanGT3.0 ROM versions'";
  run_after_delay 4, "run_voice_cmd 'Get XanGT3.0 IDs'";
}


# These are the commands I found by logging serial traffic between an
inverter and the GTView client provided by Xantrex.
# I can only assume that this is only a subset of the total available commands.
# If anyone should find any additional info as to the complete serial
protocol spec, I would greatly appreciate updates! Thanks!
#
# Command Description
#
# ROM? Get ROM Versions
# idn? Get Model No., Serial No.(?)
# custom11? Get custom display 1 line 1
# custom12? Get custom display 1 line 2
# custom21? Get custom display 2 line 1
# custom22? Get custom display 2 line 2
# TIME? Get time (?)
# MEASENGYSYS? Get current system power, total (daily) system power,
total system life (accum power)
# whlife? Get unit life (accum power) ???
# MEASIN? Get current array supply voltage, current, and power
# MEASOUT? Get V, I, P, F (output voltage, current, power, and frequency)
# MPPTSTAT? Get V, TD, PL (???)
# POWSEQ? Get ST, STS, FA (???)
# RECTIME? Get ???
# MEASENGY? Get current power, total (daily) power, and unit life
(accum power)
# DERATELIMIT? Get limit above which derating occurs (?)
# MEASTEMP? Get heatsink temp in degC and degF
# custom11abcdefghijklmnop Set custom display 1 line 1 to
'abcdefghijklmnop' (16 chars)
# custom12abcdefghijklmnop Set custom display 1 line 2 to
'abcdefghijklmnop' (16 chars)
# custom21abcdefghijklmnop Set custom display 2 line 1 to
'abcdefghijklmnop' (16 chars)
# custom22abcdefghijklmnop Set custom display 2 line 2 to
'abcdefghijklmnop' (16 chars)
# custom11erase Clear custom display 1 line 1
# custom12erase Clear custom display 1 line 2
# custom21erase Clear custom display 2 line 1
# custom22erase Clear custom display 2 line 2
# Backlight 0 Turn off LCD backlight
# Backlight 1 Turn on LCD backlight (WARNING - backlight will stay
ON until turned OFF!)


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
<a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
________________________________________________________
To unsubscribe from this list, go to: <a href="http://sourceforge.net/mail/?group_id65">http://sourceforge.net/mail/?group_id65

Reply | Threaded
Open this post in threaded view
|

Re: Xantrex GT3.0 photovoltaic inverter code module

J D-2
That is *AWESOME*, Brian.  Terrific job.  Let us know how it goes!

How much power are you making on average?

--- brian mckissick <[hidden email]> wrote:

> I recently got my photovoltaic solar system installed and running,
> and
> (of course) needed to be able to log data from it. Here is my first
> version of a code file to support the Xantrex GT3.0 inverter - it has
> been running for almost a month, so I wanted to throw it out in case
> anyone else could use either it or a laugh :)
> Eventually I want to redo it into a standalone daemon (ala gpsd) so
> that multiple clients (local and remote) can access the data at the
> same time, but lots of other projects in the works, and this at least
> lets me log what I need for now...
>
> Thanks Bruce and everyone for all the work on mh!!!
> Brian
>
> (XanGT3_0.pl follows:)
> # Category=Solar
>
> #@ This module allows MisterHouse to communicate with a Xantrex GT3.0
> #@ grid-tied photovoltaic power inverter, allowing for home
> automation
> #@ monitoring of generated solar power.
> #@
> #@ Set the following parameters in your mh.private.ini file
> (serial_XanGT30_port will vary depending on OS/available ports):
> #@ serial_XanGT30_port=/dev/ttyS0
> #@ serial_XanGT30_baudrate=9600
> #@ serial_XanGT30_handshake=none
>
> =begin comment
>
> XanGT3_0.pl
>
> 2005-Dec-26 Created by Brian McKissick (beanot(at)gmail(dot)com).
>
> This module allows MisterHouse to communicate with a Xantrex GT3.0
> grid-tied photovoltaic power inverter, allowing for home automation
> monitoring of generated solar power.
>
> Thanks to Bruce and everyone else for the continued work on this
> project!
> =cut
>
> my $command;
> my $data;
> my $ResponseParsed;
> my $state;
> my $value;
> my $ROM_BVer;
> my $ROM_MVer;
> my $ROM_XVer;
> my $ROM_PVer;
> my $idn_ModelNo;
> my $idn_X_No;
> my $idn_SerNo;
> my $custom11;
> my $custom12;
> my $custom21;
> my $custom22;
> my $TIMECtr;
> my $MEASENGYSYS_SystemPower;
> my $MEASENGYSYS_SystemTotal;
> my $MEASENGYSYS_SystemLife;
> my $whlife;
> my $MEASIN_Voltage;
> my $MEASIN_Current;
> my $MEASIN_Power;
> my $MEASOUT_Voltage;
> my $MEASOUT_Current;
> my $MEASOUT_Power;
> my $MEASOUT_F_param;
> my $MPPTSTAT_Voltage;
> my $MPPTSTAT_TD_param;
> my $MPPTSTAT_PL_param;
> my $POWSEQ_ST_param;
> my $POWSEQ_STS_param;
> my $POWSEQ_FA_param;
> my $RECTIME;
> my $MEASENGY_UnitPower;
> my $MEASENGY_UnitTotal;
> my $MEASENGY_UnitLife;
> my $DerateLimit;
> my $MEASTEMP_HeatsinkTemp_degC;
> my $MEASTEMP_HeatsinkTemp_degF;
>
>
> $xangt30inv = new Serial_Item(undef, undef, 'serial_XanGT30');
>
> if ( $Startup ) {
>     $command = "";
>     $ResponseParsed = 0;
> }
>
> if ( $data = said $xangt30inv ) {
>     $data =~ s/\n//;
>     $data =~ s/\r//;
> #    print_log "XanGT3.0: $data";
>
>     if ( $command eq "ROM" ) {
>         if ( $data =~ /^B:([^ ]+) M:([^ ]+) X:([^ ]+) P:([^ ]+)$/ ) {
>             $ROM_BVer = $1;
>             $ROM_MVer = $2;
>             $ROM_XVer = $3;
>             $ROM_PVer = $4;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 ROM Versions: B=$ROM_BVer,
> M=$ROM_MVer, X=$ROM_XVer, P=$ROM_PVer.";
>             speak "XanGT3.0 ROM Versions: B=$ROM_BVer, M=$ROM_MVer,
> X=$ROM_XVer, P=$ROM_PVer.";
>         }
>     }
>
>     if ( $command eq "idn" ) {
>         if ( $data =~ /^M:([^ ]+) X:([^ ]+) S:([^ ]+)$/ ) {
>             $idn_ModelNo = $1;
>             $idn_X_No = $2;
>             $idn_SerNo = $3;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 IDs: Model=$idn_ModelNo, X=$idn_X_No,
> Serial=$idn_SerNo.";
>             speak "XanGT3.0 IDs: Model=$idn_ModelNo, X=$idn_X_No,
> Serial=$idn_SerNo.";
>         }
>     }
>
>     if ( $command eq "custom11" ) {
>         if ( $data =~ /^................$/ ) {
>             $custom11 = $data;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 custom screen 1 line 1=$custom11.";
>             speak "XanGT3.0 custom screen 1 line 1=$custom11.";
>         }
>     }
>
>     if ( $command eq "custom12" ) {
>         if ( $data =~ /^................$/ ) {
>             $custom12 = $data;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 custom screen 1 line 2=$custom12.";
>             speak "XanGT3.0 custom screen 1 line 2=$custom12.";
>         }
>     }
>
>     if ( $command eq "custom21" ) {
>         if ( $data =~ /^................$/ ) {
>             $custom21 = $data;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 custom screen 2 line 1=$custom21.";
>             speak "XanGT3.0 custom screen 2 line 1=$custom21.";
>         }
>     }
>
>     if ( $command eq "custom22" ) {
>         if ( $data =~ /^................$/ ) {
>             $custom22 = $data;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 custom screen 2 line 2=$custom22.";
>             speak "XanGT3.0 custom screen 2 line 2=$custom22.";
>         }
>     }
>
>     if ( $command eq "TIME" ) {
>         $TIMECtr = $data;
>         $ResponseParsed = 1;
>         print_log "XanGT3.0 time=$TIMECtr sec.";
>         speak "XanGT3.0 time=$TIMECtr sec.";
>     }
>
>     if ( $command eq "MEASENGYSYS" ) {
>         if ( $data =~ /^P:([^ ]+) T:([^ ]+) L:([^ ]+)$/ ) {
>             $MEASENGYSYS_SystemPower = $1;
>             $MEASENGYSYS_SystemTotal = $2;
>             $MEASENGYSYS_SystemLife = $3;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 system power=$MEASENGYSYS_SystemPower
> W, daily total=$MEASENGYSYS_SystemTotal kWh,
> life=$MEASENGYSYS_SystemLife kWh.";
>             speak "XanGT3.0 system power=$MEASENGYSYS_SystemPower W,
> daily total=$MEASENGYSYS_SystemTotal kWh,
> life=$MEASENGYSYS_SystemLife
> kWh.";
>         }
>     }
>
>     if ( $command eq "whlife" ) {
>         $whlife = $data;
>         $ResponseParsed = 1;
>         print_log "XanGT3.0 whlife=$whlife.";
>         speak "XanGT3.0 whlife=$whlife.";
>     }
>
>     if ( $command eq "MEASIN" ) {
>         if ( $data =~ /^V:([^ ]+) I:([^ ]+) P:([^ ]+)$/ ) {
>             $MEASIN_Voltage = $1;
>             $MEASIN_Current = $2;
>             $MEASIN_Power = $3;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 MEASIN voltage=$MEASIN_Voltage V,
> current=$MEASIN_Current A, power=$MEASIN_Power W.";
>             speak "XanGT3.0 MEASIN voltage=$MEASIN_Voltage V,
> current=$MEASIN_Current A, power=$MEASIN_Power W.";
>         }
>     }
>
>     if ( $command eq "MEASOUT" ) {
>         if ( $data =~ /^V:([^ ]+) I:([^ ]+) P:([^ ]+) F:([^ ]+)$/ ) {
>             $MEASOUT_Voltage = $1;
>             $MEASOUT_Current = $2;
>             $MEASOUT_Power = $3;
>             $MEASOUT_F_param = $4;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 MEASOUT voltage=$MEASOUT_Voltage V,
> current=$MEASOUT_Current A, power=$MEASOUT_Power W,
> F=$MEASOUT_F_param
> Hz.";
>             speak "XanGT3.0 MEASOUT voltage=$MEASOUT_Voltage V,
> current=$MEASOUT_Current A, power=$MEASOUT_Power W,
> F=$MEASOUT_F_param
> Hz.";
>         }
>     }
>
>     if ( $command eq "MPPTSTAT" ) {
>         if ( $data =~ /^V:([^ ]+) TD:([^ ]+) PL:([^ ]+)$/ ) {
>             $MPPTSTAT_Voltage = $1;
>             $MPPTSTAT_TD_param = $2;
>             $MPPTSTAT_PL_param = $3;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 MPPTSTAT (peak power)
> voltage=$MPPTSTAT_Voltage, TD=$MPPTSTAT_TD_param,
> PL=$MPPTSTAT_PL_param.";
>             speak "XanGT3.0 MPPTSTAT (peak power)
> voltage=$MPPTSTAT_Voltage, TD=$MPPTSTAT_TD_param,
> PL=$MPPTSTAT_PL_param.";
>         }
>     }
>
>     if ( $command eq "POWSEQ" ) {
>         if ( $data =~ /^ST:([^ ]+) STS:([^ ]+ [^ ]+ [^ ]+ [^ ]+)
> FA:([^ ]+)$/ ) {
>             $POWSEQ_ST_param = $1;
>             $POWSEQ_STS_param = $2;
>             $POWSEQ_FA_param = $3;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 POWSEQ ST=$POWSEQ_ST_param,
> STS=$POWSEQ_STS_param, FA=$POWSEQ_FA_param.";
>             speak "XanGT3.0 POWSEQ ST=$POWSEQ_ST_param,
> STS=$POWSEQ_STS_param, FA=$POWSEQ_FA_param.";
>         }
>     }
>
>     if ( $command eq "RECTIME" ) {
>         $RECTIME = $data;
>         $ResponseParsed = 1;
>         print_log "XanGT3.0 RECTIME=$RECTIME.";
>         speak "XanGT3.0 RECTIME=$RECTIME.";
>     }
>
>     if ( $command eq "MEASENGY" ) {
>         if ( $data =~ /^P:([^ ]+) T:([^ ]+) L:([^ ]+)$/ ) {
>             $MEASENGY_UnitPower = $1;
>             $MEASENGY_UnitTotal = $2;
>             $MEASENGY_UnitLife = $3;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 unit power=$MEASENGY_UnitPower W,
> daily total=$MEASENGY_UnitTotal kWh, life=$MEASENGY_UnitLife kWh.";
>             speak "XanGT3.0 unit power=$MEASENGY_UnitPower W, daily
> total=$MEASENGY_UnitTotal kWh, life=$MEASENGY_UnitLife kWh.";
>         }
>     }
>
>     if ( $command eq "DERATELIMIT" ) {
>         $DerateLimit = $data;
>         $ResponseParsed = 1;
>         print_log "XanGT3.0 derate limit=$DerateLimit.";
>         speak "XanGT3.0 derate limit=$DerateLimit.";
>     }
>
>     if ( $command eq "MEASTEMP" ) {
>         if ( $data =~ /^C:([^ ]+) F:([^ ]+)$/ ) {
>             $MEASTEMP_HeatsinkTemp_degC = $1;
>             $MEASTEMP_HeatsinkTemp_degF = $2;
>             $ResponseParsed = 1;
>             print_log "XanGT3.0 heatsink
> temp=$MEASTEMP_HeatsinkTemp_degF degF ($MEASTEMP_HeatsinkTemp_degC
> degC).";
>             speak "XanGT3.0 heatsink temp=$MEASTEMP_HeatsinkTemp_degF
> degF ($MEASTEMP_HeatsinkTemp_degC degC).";
>         }
>     }
>
>
>     if ( $ResponseParsed != 1 ) {
>         print_log "XanGT3.0 serial input parsing error:
> command=$command data=$data";
>         speak "XanGT3.0 serial input parsing error: command=$command
> data=$data";
>     }
> }
>
> # Query commands
> $v_xangt30_get_rom_ver = new Voice_Cmd("Get XanGT3.0 ROM versions");
> if ($state = said $v_xangt30_get_rom_ver) {
>   set $xangt30inv "ROM?";
>   $command = "ROM";
> }
>
> $v_xangt30_get_ids = new Voice_Cmd("Get XanGT3.0 IDs");
> if ($state = said $v_xangt30_get_ids) {
>   set $xangt30inv "idn?";
>   $command = "idn";
> }
>
> $v_xangt30_get_custom11 = new Voice_Cmd("Get XanGT3.0 custom screen 1
> line 1");
> if ($state = said $v_xangt30_get_custom11) {
>   set $xangt30inv "custom11?";
>   $command = "custom11";
> }
>
> $v_xangt30_get_custom12 = new Voice_Cmd("Get XanGT3.0 custom screen 1
> line 2");
> if ($state = said $v_xangt30_get_custom12) {
>   set $xangt30inv "custom12?";
>   $command = "custom12";
> }
>
> $v_xangt30_get_custom21 = new Voice_Cmd("Get XanGT3.0 custom screen 2
> line 1");
> if ($state = said $v_xangt30_get_custom21) {
>   set $xangt30inv "custom21?";
>   $command = "custom21";
> }
>
> $v_xangt30_get_custom22 = new Voice_Cmd("Get XanGT3.0 custom screen 2
> line 2");
> if ($state = said $v_xangt30_get_custom22) {
>   set $xangt30inv "custom22?";
>   $command = "custom22";
> }
>
> $v_xangt30_get_time = new Voice_Cmd("Get XanGT3.0 time");
> if ($state = said $v_xangt30_get_time) {
>   set $xangt30inv "TIME?";
>   $command = "TIME";
> }
>
> $v_xangt30_get_system_stats = new Voice_Cmd("Get XanGT3.0 system
> stats");
> if ($state = said $v_xangt30_get_system_stats) {
>   set $xangt30inv "MEASENGYSYS?";
>   $command = "MEASENGYSYS";
> }
>
> $v_xangt30_get_whlife = new Voice_Cmd("Get XanGT3.0 whlife");
> if ($state = said $v_xangt30_get_whlife) {
>   set $xangt30inv "whlife?";
>   $command = "whlife";
> }
>
> $v_xangt30_get_measin = new Voice_Cmd("Get XanGT3.0 MEASIN");
> if ($state = said $v_xangt30_get_measin) {
>   set $xangt30inv "MEASIN?";
>   $command = "MEASIN";
> }
>
> $v_xangt30_get_measout = new Voice_Cmd("Get XanGT3.0 MEASOUT");
> if ($state = said $v_xangt30_get_measout) {
>   set $xangt30inv "MEASOUT?";
>   $command = "MEASOUT";
> }
>
> $v_xangt30_get_mpptstat = new Voice_Cmd("Get XanGT3.0 MPPTSTAT");
> if ($state = said $v_xangt30_get_mpptstat) {
>   set $xangt30inv "MPPTSTAT?";
>   $command = "MPPTSTAT";
> }
>
> $v_xangt30_get_powseq = new Voice_Cmd("Get XanGT3.0 POWSEQ");
> if ($state = said $v_xangt30_get_powseq) {
>   set $xangt30inv "POWSEQ?";
>   $command = "POWSEQ";
> }
>
> $v_xangt30_get_rectime = new Voice_Cmd("Get XanGT3.0 RECTIME");
> if ($state = said $v_xangt30_get_rectime) {
>   set $xangt30inv "RECTIME?";
>   $command = "RECTIME";
> }
>
> $v_xangt30_get_unit_stats = new Voice_Cmd("Get XanGT3.0 unit stats");
> if ($state = said $v_xangt30_get_unit_stats) {
>   set $xangt30inv "MEASENGY?";
>   $command = "MEASENGY";
> }
>
> $v_xangt30_get_deratelimit = new Voice_Cmd("Get XanGT3.0 derate
> limit");
> if ($state = said $v_xangt30_get_deratelimit) {
>   set $xangt30inv "DERATELIMIT?";
>   $command = "DERATELIMIT";
> }
>
> $v_xangt30_get_heatsink_temp = new Voice_Cmd("Get XanGT3.0 heatsink
> temp");
> if ($state = said $v_xangt30_get_heatsink_temp) {
>   set $xangt30inv "MEASTEMP?";
>   $command = "MEASTEMP";
> }
>
>
> if ($Startup) {
>   run_after_delay 2, "run_voice_cmd 'Get XanGT3.0 ROM versions'";
>   run_after_delay 4, "run_voice_cmd 'Get XanGT3.0 IDs'";
> }
>
>
> # These are the commands I found by logging serial traffic between an
> inverter and the GTView client provided by Xantrex.
> # I can only assume that this is only a subset of the total available
> commands.
> # If anyone should find any additional info as to the complete serial
> protocol spec, I would greatly appreciate updates! Thanks!
> #
> # Command Description
> #
> # ROM? Get ROM Versions
> # idn? Get Model No., Serial No.(?)
> # custom11? Get custom display 1 line 1
> # custom12? Get custom display 1 line 2
> # custom21? Get custom display 2 line 1
> # custom22? Get custom display 2 line 2
> # TIME? Get time (?)
> # MEASENGYSYS? Get current system power, total (daily) system
> power,
> total system life (accum power)
> # whlife? Get unit life (accum power) ???
> # MEASIN? Get current array supply voltage, current, and power
> # MEASOUT? Get V, I, P, F (output voltage, current, power, and
> frequency)
> # MPPTSTAT? Get V, TD, PL (???)
> # POWSEQ? Get ST, STS, FA (???)
> # RECTIME? Get ???
> # MEASENGY? Get current power, total (daily) power, and unit life
> (accum power)
> # DERATELIMIT? Get limit above which derating occurs (?)
> # MEASTEMP? Get heatsink temp in degC and degF
> # custom11abcdefghijklmnop Set custom display 1 line 1 to
> 'abcdefghijklmnop' (16 chars)
> # custom12abcdefghijklmnop Set custom display 1 line 2 to
> 'abcdefghijklmnop' (16 chars)
> # custom21abcdefghijklmnop Set custom display 2 line 1 to
> 'abcdefghijklmnop' (16 chars)
> # custom22abcdefghijklmnop Set custom display 2 line 2 to
> 'abcdefghijklmnop' (16 chars)
> # custom11erase Clear custom display 1 line 1
> # custom12erase Clear custom display 1 line 2
> # custom21erase Clear custom display 2 line 1
> # custom22erase Clear custom display 2 line 2
> # Backlight 0 Turn off LCD backlight
> # Backlight 1 Turn on LCD backlight (WARNING - backlight will stay
> ON until turned OFF!)
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through
> log files
> for problems?  Stop!  Download the new AJAX search engine that makes
> searching your log files as easy as surfing the  web.  DOWNLOAD
> SPLUNK!
> <a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
> ________________________________________________________
> To unsubscribe from this list, go to:
> <a href="http://sourceforge.net/mail/?group_id65">http://sourceforge.net/mail/?group_id65
>
>


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com 


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
________________________________________________________
To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365

Reply | Threaded
Open this post in threaded view
|

Re: Xantrex GT3.0 photovoltaic inverter code module

brian mckissick
In reply to this post by brian mckissick
> That is *AWESOME*, Brian.  Terrific job.  Let us know how it goes!
>
> How much power are you making on average?
>

Thanks - so far, so good. I have ~6.2 kW of panels (36 Sharp
208V-rated modules), going to a pair of 3 kW inverters.
Worst day so far (heavy rain all day long) gave 3 kWh, best day so far
gave 26 kWh.
I expect by May or so I should be getting ~35 kWh or so... (s/expect/hope/)
January total so far is 472 kWh. Still need final inspection signoff,
but local utility is requiring me to upgrade my service from 100A to
200A because of marginal buss bar overloading. PG&E is almost as
efficient as the DMV, so the service upgrade is taking 10x longer than
the solar installation did :\ ... Oh well, almost done.

FWIW I also threw an iButton temp sensor in the attic last summer to
see what if any difference there would be in attic temp (panels cover
~75% of south-facing roof area). Hopefully it will be a little cooler
during the summer (last summer peak attic temp ~135 degF during hot
days (e.g. 90-100 degF outside temp), ~120 degF during normal/warm
days (75-90 degF outside temp)). My WAG is it will be ~5-10 degF
cooler in the attic, but we'll see...

Anyone else gone solar yet?
Cheers, Brian

> --- brian mckissick <beanot <at> gmail.com> wrote:
>
>> I recently got my photovoltaic solar system installed and running,
>> and
>> (of course) needed to be able to log data from it. Here is my first
>> version of a code file to support the Xantrex GT3.0 inverter - it has
>> been running for almost a month, so I wanted to throw it out in case
>> anyone else could use either it or a laugh :)
>> Eventually I want to redo it into a standalone daemon (ala gpsd) so
>> that multiple clients (local and remote) can access the data at the
>> same time, but lots of other projects in the works, and this at least
>> lets me log what I need for now...
>>
>> Thanks Bruce and everyone for all the work on mh!!!
>> Brian
>>
>> (XanGT3_0.pl follows:)
(snipped)


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
<a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
________________________________________________________
To unsubscribe from this list, go to: <a href="http://sourceforge.net/mail/?group_id65">http://sourceforge.net/mail/?group_id65

Reply | Threaded
Open this post in threaded view
|

Re: Re: Xantrex GT3.0 photovoltaic inverter code module

John Murphy-2
My dad just had his inverters delivered.  He's installing 6KW in the next month or so, and then adding 4kw to it after they finish building the house.  I've offered to write his misterhouse modules... :)

Reply | Threaded
Open this post in threaded view
|

RE: Re: Xantrex GT3.0 photovoltaic inverter code module

Benny Miller
In reply to this post by brian mckissick
I know this is a bit off topic, but I would like to hear more information
from those using solar power, especially grid tied systems. If the off-topic
is a problem, email directly. [hidden email]

Ben


-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of brian
mckissick
Sent: Friday, January 27, 2006 17:18
To: [hidden email]
Subject: [mh] Re: Xantrex GT3.0 photovoltaic inverter code module


Anyone else gone solar yet?
Cheers, Brian





-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
<a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
________________________________________________________
To unsubscribe from this list, go to: <a href="http://sourceforge.net/mail/?group_id65">http://sourceforge.net/mail/?group_id65

Reply | Threaded
Open this post in threaded view
|

Re: Xantrex GT3.0 photovoltaic inverter code module

brian mckissick
In reply to this post by brian mckissick
> My dad just had his inverters delivered.  He's installing 6KW in the next month or so, and
> then adding 4kw to it after they finish building the house.  I've offered to write his
> misterhouse modules... :)

What make/model inverter? If different (and esp. if there is more
widespread interest) maybe we could throw together a more generic
Solar_Inverter_Item or something, to abstract away the lower level
comm differences, and have common RRD performance charting or ???. For
starters, I just wanted logging ability, so that is all I did so far,
but eventually dressing it up and getting possibly a calendar view
with output data would be pretty awesome! Let me know if there is any
interest in this...
Brian


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
<a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
________________________________________________________
To unsubscribe from this list, go to: <a href="http://sourceforge.net/mail/?group_id65">http://sourceforge.net/mail/?group_id65

Reply | Threaded
Open this post in threaded view
|

RE: Re: Xantrex GT3.0 photovoltaic inverter code module

Carl Friedberg
In reply to this post by brian mckissick
Benny Miller said

> I know this is a bit off topic, but I would like to hear more
> information
> from those using solar power, especially grid tied systems.
> If the off-topic
> is a problem, email directly. [hidden email]
 

In my opinion, this is way ON topic, as solar co-generation is
likely to become an increasingly valuable option. In theory,
you could end up generating enough power in the summer to pay
for electric heat in the winter. Wouldn't that be a hoot?

Those of us on the list are more likely than average homeowners
to understand the cost/benefit tradeoffs and tech. issues.

I'm sure MisterHouse will figure in this in multiple ways.

Carl Friedberg
[hidden email]
+1.212.233.5470
www.comets.com


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
________________________________________________________
To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365

Reply | Threaded
Open this post in threaded view
|

RE: Re: Xantrex GT3.0 photovoltaic inverter code module

J D-2
Here's a random question.

Would it not be more efficient to store and use the DC power generated
by the panels directly rather than converting it to AC (and often back
again in the case of something like a computer)?

I guess what I'm asking is, would it be possible to create a custom 12V
DC power supply for, say, your computer's motherboard, and drive it
directly off the solar panels?

Or, really, directly off a battery/fuel cell arrangement which is
charged by the solar panels.

Thoughts?

--- Carl Friedberg <[hidden email]> wrote:

> Benny Miller said
>
> > I know this is a bit off topic, but I would like to hear more
> > information
> > from those using solar power, especially grid tied systems.
> > If the off-topic
> > is a problem, email directly. [hidden email]
>  
>
> In my opinion, this is way ON topic, as solar co-generation is
> likely to become an increasingly valuable option. In theory,
> you could end up generating enough power in the summer to pay
> for electric heat in the winter. Wouldn't that be a hoot?
>
> Those of us on the list are more likely than average homeowners
> to understand the cost/benefit tradeoffs and tech. issues.
>
> I'm sure MisterHouse will figure in this in multiple ways.
>
> Carl Friedberg
> [hidden email]
> +1.212.233.5470
> www.comets.com
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through
> log files
> for problems?  Stop!  Download the new AJAX search engine that makes
> searching your log files as easy as surfing the  web.  DOWNLOAD
> SPLUNK!
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
> ________________________________________________________
> To unsubscribe from this list, go to:
> http://sourceforge.net/mail/?group_id=1365
>
>


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com 


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
________________________________________________________
To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365

Reply | Threaded
Open this post in threaded view
|

Re: Re: Xantrex GT3.0 photovoltaic inverter code module

David Lynch Jr.
In reply to this post by brian mckissick


brian mckissick wrote:

>Thanks - so far, so good. I have ~6.2 kW of panels (36 Sharp
>208V-rated modules), going to a pair of 3 kW inverters.
>Worst day so far (heavy rain all day long) gave 3 kWh, best day so far
>gave 26 kWh.
>I expect by May or so I should be getting ~35 kWh or so... (s/expect/hope/)
>January total so far is 472 kWh. Still need final inspection signoff,
>but local utility is requiring me to upgrade my service from 100A to
>200A because of marginal buss bar overloading. PG&E is almost as
>efficient as the DMV, so the service upgrade is taking 10x longer than
>the solar installation did :\ ... Oh well, almost done.
>  
>
    What area of the country ?
    What was the cost ?
    Is this a commercial system or did you put it together yourself ?

>FWIW I also threw an iButton temp sensor in the attic last summer to
>see what if any difference there would be in attic temp (panels cover
>~75% of south-facing roof area). Hopefully it will be a little cooler
>during the summer (last summer peak attic temp ~135 degF during hot
>days (e.g. 90-100 degF outside temp), ~120 degF during normal/warm
>days (75-90 degF outside temp)). My WAG is it will be ~5-10 degF
>cooler in the attic, but we'll see...
>  
>
    Solar energy falls on your roof all the time.
    Whatever you convert to electricity is not being converted to heat.



--
Dave Lynch DLA Systems
Software Development:       Embedded Linux
717.627.3770 [hidden email] http://www.dlasys.net:8888



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
________________________________________________________
To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365

Reply | Threaded
Open this post in threaded view
|

Re: Re: Xantrex GT3.0 photovoltaic inverter code module

Thomas Harding-2
In reply to this post by J D-2
They now have 12v PC power supplys. I have a PC I built for my vehicle, but
use an inverter right now, but the 12v power supplies can be wired into the
vehicle to allow the PC to boot whenever the vehicle is started, and shut
down after a determined amount of time after the vehicle is shut off. This
should work fine with a solar arrangment.


----- Original Message -----
From: "J D" <[hidden email]>
To: <[hidden email]>
Sent: Friday, January 27, 2006 9:18 PM
Subject: RE: [mh] Re: Xantrex GT3.0 photovoltaic inverter code module


> Here's a random question.
>
> Would it not be more efficient to store and use the DC power generated
> by the panels directly rather than converting it to AC (and often back
> again in the case of something like a computer)?
>
> I guess what I'm asking is, would it be possible to create a custom 12V
> DC power supply for, say, your computer's motherboard, and drive it
> directly off the solar panels?
>
> Or, really, directly off a battery/fuel cell arrangement which is
> charged by the solar panels.
>
> Thoughts?
>
> --- Carl Friedberg <[hidden email]> wrote:
>
>> Benny Miller said
>>
>> > I know this is a bit off topic, but I would like to hear more
>> > information
>> > from those using solar power, especially grid tied systems.
>> > If the off-topic
>> > is a problem, email directly. [hidden email]
>>
>>
>> In my opinion, this is way ON topic, as solar co-generation is
>> likely to become an increasingly valuable option. In theory,
>> you could end up generating enough power in the summer to pay
>> for electric heat in the winter. Wouldn't that be a hoot?
>>
>> Those of us on the list are more likely than average homeowners
>> to understand the cost/benefit tradeoffs and tech. issues.
>>
>> I'm sure MisterHouse will figure in this in multiple ways.
>>
>> Carl Friedberg
>> [hidden email]
>> +1.212.233.5470
>> www.comets.com
>>
>>
>> -------------------------------------------------------
>> This SF.net email is sponsored by: Splunk Inc. Do you grep through
>> log files
>> for problems?  Stop!  Download the new AJAX search engine that makes
>> searching your log files as easy as surfing the  web.  DOWNLOAD
>> SPLUNK!
>>
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
>> ________________________________________________________
>> To unsubscribe from this list, go to:
>> http://sourceforge.net/mail/?group_id=1365
>>
>>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log
> files
> for problems?  Stop!  Download the new AJAX search engine that makes
> searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
> ________________________________________________________
> To unsubscribe from this list, go to:
> http://sourceforge.net/mail/?group_id=1365
>



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
________________________________________________________
To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365

Reply | Threaded
Open this post in threaded view
|

RE: Re: Xantrex GT3.0 photovoltaic inverter code module

Jim Serack
Part of the answer to the question about "more efficient to use DC" -  is
the transporting of the power around inside the home. 12 volt DC
distribution would require heavy enough wire to transport it without too
much resistive loss (even the PC with an average wattage of 100W on a 300W
peak power supply would need about 9 or 10 Amps at 12V) - the telecomm
industry solved that with -48VDC Nominal power distribution which many early
Solar installations used since they could get standardized components - but
it got pretty complicated.

I think that you might find with modern invertors feeding mostly switching
supplies on electronics equipment that the efficiency is not that bad going
up to 120V for distribution and then back down.

Jim

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Thomas
Harding
Sent: January 28, 2006 11:08 AM
To: [hidden email]
Subject: Re: [mh] Re: Xantrex GT3.0 photovoltaic inverter code module


They now have 12v PC power supplys. I have a PC I built for my vehicle, but
use an inverter right now, but the 12v power supplies can be wired into the
vehicle to allow the PC to boot whenever the vehicle is started, and shut
down after a determined amount of time after the vehicle is shut off. This
should work fine with a solar arrangment.


----- Original Message -----
From: "J D" <[hidden email]>
To: <[hidden email]>
Sent: Friday, January 27, 2006 9:18 PM
Subject: RE: [mh] Re: Xantrex GT3.0 photovoltaic inverter code module


> Here's a random question.
>
> Would it not be more efficient to store and use the DC power generated
> by the panels directly rather than converting it to AC (and often back
> again in the case of something like a computer)?
>
> I guess what I'm asking is, would it be possible to create a custom
> 12V DC power supply for, say, your computer's motherboard, and drive
> it directly off the solar panels?
>
> Or, really, directly off a battery/fuel cell arrangement which is
> charged by the solar panels.
>
> Thoughts?
>
> --- Carl Friedberg <[hidden email]> wrote:
>
>> Benny Miller said
>>
>> > I know this is a bit off topic, but I would like to hear more
>> > information from those using solar power, especially grid tied
>> > systems. If the off-topic
>> > is a problem, email directly. [hidden email]
>>
>>
>> In my opinion, this is way ON topic, as solar co-generation is
>> likely to become an increasingly valuable option. In theory,
>> you could end up generating enough power in the summer to pay
>> for electric heat in the winter. Wouldn't that be a hoot?
>>
>> Those of us on the list are more likely than average homeowners
>> to understand the cost/benefit tradeoffs and tech. issues.
>>
>> I'm sure MisterHouse will figure in this in multiple ways.
>>
>> Carl Friedberg
>> [hidden email]
>> +1.212.233.5470
>> www.comets.com
>>
>>
>> -------------------------------------------------------
>> This SF.net email is sponsored by: Splunk Inc. Do you grep through
>> log files
>> for problems?  Stop!  Download the new AJAX search engine that makes
>> searching your log files as easy as surfing the  web.  DOWNLOAD
>> SPLUNK!
>>
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
>> ________________________________________________________
>> To unsubscribe from this list, go to:
>> http://sourceforge.net/mail/?group_id=1365
>>
>>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log
> files
> for problems?  Stop!  Download the new AJAX search engine that makes
> searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
> ________________________________________________________
> To unsubscribe from this list, go to:
> http://sourceforge.net/mail/?group_id=1365
>



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
________________________________________________________
To unsubscribe from this list, go to:
http://sourceforge.net/mail/?group_id=1365



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
<a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
________________________________________________________
To unsubscribe from this list, go to: <a href="http://sourceforge.net/mail/?group_id65">http://sourceforge.net/mail/?group_id65

Reply | Threaded
Open this post in threaded view
|

Re: Re: Xantrex GT3.0 photovoltaic inverter code module

John Murphy-2
In reply to this post by brian mckissick
He(we) is using the  Outback 3648'  inverters, 2x.  We are building a 1-dimension solar tracker, and then using a linear actuator to adjust the angle of the panels each day, which he expects will boost overall output 10-15%.  We didn't like the strength/cost of the 2d trackers, we have really high winds.

Misterhouse will be monitoring the inverters, hopefully graphing everything, and then commanding a new angle each day.  I want to try running it on a linksys NSLU2 with the unslung firmware.



On 1/27/06, brian mckissick <[hidden email]> wrote:
> My dad just had his inverters delivered.  He's installing 6KW in the next month or so, and
> then adding 4kw to it after they finish building the house.  I've offered to write his
> misterhouse modules... :)

What make/model inverter? If different (and esp. if there is more
widespread interest) maybe we could throw together a more generic
Solar_Inverter_Item or something, to abstract away the lower level
comm differences, and have common RRD performance charting or ???. For
starters, I just wanted logging ability, so that is all I did so far,
but eventually dressing it up and getting possibly a calendar view
with output data would be pretty awesome! Let me know if there is any
interest in this...
Brian


Reply | Threaded
Open this post in threaded view
|

Re: Xantrex GT3.0 photovoltaic inverter code module

brian mckissick
In reply to this post by brian mckissick
Sorry Dave - missed your questions for a bit...

Dave Lynch wrote:

    What area of the country ?
    What was the cost ?
    Is this a commercial system or did you put it together yourself ?

South San Francisco Bay area (San Jose) CA.
Cost: ~52k before 17k rebate, also not counting ~3.5k state tax credit
(basically I pay next 10 years of electricity bills up front, then
next (~30 year life - 10 years paid) = free (in theory, based on
current rates. Yep, my AC bill is not cheap. Too many toys :) I
suppose I could try to spread some of the blame for that to some of
y'all for abetting my automation habit...)
I went with a local installer to streamline all the beaurocracy. It
ended up not being too bad, and if I had to do it over again, I might
consider doing it myself. (BTW if anyone local is looking for a
company to go with, I would recommend the one who did mine; they were
great. (Offlist))

    (I earlier wrote):
    >FWIW I also threw an iButton temp sensor in the attic last summer to
    >see what if any difference there would be in attic temp (panels cover
    >~75% of south-facing roof area). Hopefully it will be a little cooler
    >during the summer (last summer peak attic temp ~135 degF during hot
    >days (e.g. 90-100 degF outside temp), ~120 degF during normal/warm
    >days (75-90 degF outside temp)). My WAG is it will be ~5-10 degF
    >cooler in the attic, but we'll see...
    >
    >
    Solar energy falls on your roof all the time.
    Whatever you convert to electricity is not being converted to heat.

Yep, which is why I anticipate a ~5-10 degF lower peak attic temp now
that the panels are blocking a large fraction of the radiation :)
I just wanted to quantify the actual difference, for curiousity's sake.
Cheers, Brian


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
<a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
________________________________________________________
To unsubscribe from this list, go to: <a href="http://sourceforge.net/mail/?group_id65">http://sourceforge.net/mail/?group_id65

Reply | Threaded
Open this post in threaded view
|

Re: Re: Xantrex GT3.0 photovoltaic inverter code module

David H. Lynch Jr.


brian mckissick wrote:

>Yep, which is why I anticipate a ~5-10 degF lower peak attic temp now
>that the panels are blocking a large fraction of the radiation :)
>I just wanted to quantify the actual difference, for curiousity's sake.
>Cheers, Brian
>  
>
    The theoretical reduction is the electricity you generate - conver
watt hours to btuh, plus a bit extra from shading - heat gain from solar
pannels that is radiated back into the air instead of your roof. As long
as we are not doing anything nuclear, the law of conservation of energy
still applies, and we do not have to worry about e=mc^2.

    If Y amount of energy/m^2 falls on your roof. And X is converted to
electricity, and W is reradiated into the atmosphere., then the amount
onverted to heat in your attice will be Y-(X+W).



>
>-------------------------------------------------------
>This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
>for problems?  Stop!  Download the new AJAX search engine that makes
>searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
><a href="http://sel.as-us.falkag.net/sel?cmd=k&kid3432&bid#0486&dat1642">http://sel.as-us.falkag.net/sel?cmd=k&kid3432&bid#0486&dat1642
>________________________________________________________
>To unsubscribe from this list, go to: <a href="http://sourceforge.net/mail/?group_id65">http://sourceforge.net/mail/?group_id65
>
>
>  
>

--
Dave Lynch DLA Systems
Software Development:       Embedded Linux
717.627.3770 [hidden email] http://www.dlasys.net:8888



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
________________________________________________________
To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365