[seiscomp, scanloc] Install, add .gitignore

This commit is contained in:
2025-10-09 15:07:02 +02:00
commit 20f5301bb1
2848 changed files with 1315858 additions and 0 deletions

View File

@ -0,0 +1,57 @@
* Generated at $date - Do not edit!
* template: $template
[$seedlink.source.id]
* Settings for SunSaver MPPT
* Station ID (network/station code is set in seedlink.ini)
station=$seedlink.station.id
* Use the command 'serial_plugin -m' to find out which protocols are
* supported.
protocol=modbus
* Serial port
port=tcp://$sources.mppt.address:$sources.mppt.port
* Baud rate
bps=0
* Time interval in minutes when status information is logged, 0 (default)
* means "disabled". Status channels can be used independently of this
* option.
statusinterval=60
* Maximum number of consecutive zeros in datastream before data gap will be
* declared (-1 = disabled).
zero_sample_limit = -1
* Default timing quality in percents. This value will be used when no
* timing quality information is available. Can be -1 to omit the blockette
* 1001 altogether.
default_tq = -1
* Modbus base address
baseaddr = 8
* Keyword 'channel' is used to map input channels to symbolic channel
* names. Channel names are arbitrary 1..10-letter identifiers which should
* match the input names of the stream processing scheme in streams.xml,
* which is referenced from seedlink.ini
* Battery voltage
channel SA source_id=${sources.mppt.unit_id}.${sources.mppt.channels.a.sid} realscale=0.003052 realunit=V precision=2
* Array voltage
channel SB source_id=${sources.mppt.unit_id}.${sources.mppt.channels.b.sid} realscale=0.003052 realunit=V precision=2
* Load voltage
channel SC source_id=${sources.mppt.unit_id}.${sources.mppt.channels.c.sid} realscale=0.003052 realunit=V precision=2
* Charging current
channel SD source_id=${sources.mppt.unit_id}.${sources.mppt.channels.d.sid} realscale=0.002416 realunit=A precision=2
* Load current
channel SE source_id=${sources.mppt.unit_id}.${sources.mppt.channels.e.sid} realscale=0.002416 realunit=A precision=2

View File

@ -0,0 +1,7 @@
* template: $template
plugin $seedlink.source.id cmd = "$pkgroot/share/plugins/seedlink/serial_plugin$seedlink._daemon_opt -v -f $pkgroot/var/lib/seedlink/plugins.ini"
timeout = 600
start_retry = 60
shutdown_wait = 10
proc = "$sources.mppt.proc"

View File

@ -0,0 +1,40 @@
import os
'''
Plugin handler for SunSaver MPPT.
'''
class SeedlinkPluginHandler:
# Create defaults
def __init__(self): pass
def push(self, seedlink):
# Check and set defaults
address = 'localhost'
try: address = seedlink.param('sources.mppt.address')
except: seedlink.setParam('sources.mppt.address', address)
port = 502
try: port = int(seedlink.param('sources.mppt.port'))
except: seedlink.setParam('sources.mppt.port', port)
try: int(seedlink.param('sources.mppt.unit_id'))
except: seedlink.setParam('sources.mppt.unit_id', 1)
try: seedlink.param('sources.mppt.proc')
except: seedlink.setParam('sources.mppt.proc', 'mppt')
try:
mppt_chan = dict(zip(seedlink.param('sources.mppt.channels').lower().split(','), range(26)))
except:
mppt_chan = dict()
for letter in range(ord('a'), ord('z') + 1):
try: seedlink.param('sources.mppt.channels.%s.sid' % chr(letter))
except: seedlink.setParam('sources.mppt.channels.%s.sid' % chr(letter), mppt_chan.get(chr(letter), 256))
return address + ':' + str(port)
# Flush does nothing
def flush(self, seedlink):
pass

View File

@ -0,0 +1,10 @@
<proc name="mppt">
<tree>
<input name="SA" channel="A" location="" rate="1/10"/>
<input name="SB" channel="B" location="" rate="1/10"/>
<input name="SC" channel="C" location="" rate="1/10"/>
<input name="SD" channel="D" location="" rate="1/10"/>
<input name="SE" channel="E" location="" rate="1/10"/>
<node stream="AE"/>
</tree>
</proc>