Merge branch 'main' of https://git.innov.energy/Innovenergy/git_trunk
This commit is contained in:
commit
84097b340b
|
@ -54,6 +54,8 @@ public static class SessionMethods
|
|||
var user = session?.User;
|
||||
var installation = Db.GetInstallationById(installationId);
|
||||
var parent = Db.GetFolderById(parentId);
|
||||
|
||||
if(installation.ParentId == parentId) return false;
|
||||
|
||||
return user is not null
|
||||
&& installation is not null
|
||||
|
|
|
@ -46,8 +46,20 @@ public class S3Cmd
|
|||
|
||||
public async Task<Boolean> CreateBucket(String bucketName)
|
||||
{
|
||||
var cors = @"<?xml version=""1.0"" ?>
|
||||
<CORSConfiguration xmlns=""http://s3.amazonaws.com/doc/2006-03-01/"">
|
||||
<CORSRule>
|
||||
<AllowedOrigin>*</AllowedOrigin>
|
||||
<AllowedMethod>GET</AllowedMethod>
|
||||
<AllowedMethod>HEAD</AllowedMethod>
|
||||
<AllowedHeader>*</AllowedHeader>
|
||||
</CORSRule>
|
||||
</CORSConfiguration>";
|
||||
|
||||
var result = await Run(bucketName, "mb");
|
||||
return result.ExitCode == 0;
|
||||
var setCors = await Run(bucketName, "PutBucketCors", cors);
|
||||
|
||||
return result.ExitCode == 0 && setCors.ExitCode == 0;
|
||||
}
|
||||
|
||||
public async Task<Boolean> DeleteBucket(String bucketName)
|
||||
|
|
Binary file not shown.
|
@ -1,33 +1,34 @@
|
|||
#!/bin/bash
|
||||
|
||||
dotnet_version='net6.0'
|
||||
salimax_ip= '10.2.3.104'
|
||||
salimax_ip='10.2.3.104'
|
||||
username='ie-entwicklung'
|
||||
|
||||
set -e
|
||||
|
||||
echo -e "\n============================ Build ============================\n"
|
||||
|
||||
dotnet publish \
|
||||
dotnet publish \
|
||||
./SaliMax.csproj \
|
||||
-p:PublishTrimmed=false \
|
||||
-c Release \
|
||||
-r linux-x64
|
||||
|
||||
-r linux-x64
|
||||
|
||||
echo -e "\n============================ Deploy ============================\n"
|
||||
|
||||
rsync -v \
|
||||
./bin/Release/$dotnet_version/linux-x64/publish/* \
|
||||
ie-entwicklung@10.2.3.104:~/salimax
|
||||
$username@$salimax_ip:~/salimax
|
||||
|
||||
echo -e "\n============================ Restart Salimax sevice ============================\n"
|
||||
|
||||
ssh -tt \
|
||||
ie-entwicklung@10.2.3.104 \
|
||||
$username@$salimax_ip \
|
||||
sudo systemctl restart salimax.service
|
||||
|
||||
|
||||
echo -e "\n============================ Print service output ============================\n"
|
||||
|
||||
ssh -tt \
|
||||
ie-entwicklung@10.2.3.104 \
|
||||
$username@$salimax_ip \
|
||||
journalctl -f -u salimax.service
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
#!/bin/bash
|
||||
|
||||
dotnet_version='net6.0'
|
||||
salimax_ip='10.2.4.29'
|
||||
username='ie-entwicklung'
|
||||
|
||||
set -e
|
||||
|
||||
echo -e "\n============================ Build ============================\n"
|
||||
|
||||
dotnet publish \
|
||||
./SaliMax.csproj \
|
||||
-p:PublishTrimmed=false \
|
||||
-c Release \
|
||||
-r linux-x64
|
||||
|
||||
echo -e "\n============================ Deploy ============================\n"
|
||||
|
||||
rsync -v \
|
||||
./bin/Release/$dotnet_version/linux-x64/publish/* \
|
||||
$username@$salimax_ip:~/salimax
|
||||
|
||||
echo -e "\n============================ Restart Salimax sevice ============================\n"
|
||||
|
||||
ssh -tt \
|
||||
$username@$salimax_ip \
|
||||
sudo systemctl restart salimax.service
|
||||
|
||||
|
||||
echo -e "\n============================ Print service output ============================\n"
|
||||
|
||||
ssh -tt \
|
||||
$username@$salimax_ip \
|
||||
journalctl -f -u salimax.service
|
|
@ -6,7 +6,7 @@ public class RelaysRecord
|
|||
{
|
||||
private readonly Adam6360DRegisters _Regs;
|
||||
|
||||
public RelaysRecord(Adam6360DRegisters regs) => _Regs = regs;
|
||||
private RelaysRecord(Adam6360DRegisters regs) => _Regs = regs;
|
||||
|
||||
public Boolean K1GridBusIsConnectedToGrid => _Regs.DigitalInput6;
|
||||
public Boolean K2IslandBusIsConnectedToGridBus => !_Regs.DigitalInput4;
|
||||
|
|
|
@ -51,17 +51,9 @@ public class Config //TODO: let IE choose from config files (Json) and connect t
|
|||
AmptIp = new() { Host = "localhost", Port = 5005},
|
||||
RelaysIp = new() { Host = "localhost", Port = 5006},
|
||||
BatteryIp = new() { Host = "localhost", Port = 5007},
|
||||
BatteryNodes = new []{ 2, 3, 4, 5, 6 },
|
||||
BatteryNodes = new []{ 2, 3, 4, 5, 6 }
|
||||
},
|
||||
S3 = new()
|
||||
{
|
||||
Bucket = "saliomameiringen",
|
||||
Region = "sos-ch-dk-2",
|
||||
Provider = "exo.io",
|
||||
ContentType = "text/plain; charset=utf-8",
|
||||
Key = "EXO2bf0cbd97fbfa75aa36ed46f",
|
||||
Secret = "Bn1CDPqOG-XpDSbYjfIJxojcHTm391vZTc8z8l_fEPs"
|
||||
}
|
||||
S3 = null
|
||||
};
|
||||
#else
|
||||
public static Config Default => new()
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/bash
|
||||
|
||||
host=ie-entwicklung@10.2.4.29
|
||||
|
||||
tunnel() {
|
||||
name=$1
|
||||
ip=$2
|
||||
rPort=$3
|
||||
lPort=$4
|
||||
|
||||
echo -n "localhost:$lPort $name "
|
||||
ssh -nNTL "$lPort:$ip:$rPort" "$host" 2> /dev/null &
|
||||
|
||||
until nc -vz 127.0.0.1 $lPort 2> /dev/null
|
||||
do
|
||||
echo -n .
|
||||
sleep 0.3
|
||||
done
|
||||
|
||||
echo "ok"
|
||||
}
|
||||
|
||||
echo ""
|
||||
|
||||
tunnel "Trumpf Inverter (http) " 10.0.2.1 80 9001
|
||||
tunnel "Trumpf DCDC (http) " 10.0.3.1 80 9002
|
||||
tunnel "Ext Emu Meter (http) " 10.0.4.1 80 9003
|
||||
tunnel "Int Emu Meter (http) " 10.0.4.2 80 9004
|
||||
tunnel "AMPT (http) " 10.0.5.1 8080 9005
|
||||
|
||||
#tunnel "Trumpf Inverter (modbus)" 10.0.2.1 502 3001
|
||||
#tunnel "Trumpf DCDC (modbus) " 10.0.3.1 502 3002
|
||||
#tunnel "Ext Emu Meter (modbus) " 10.0.4.1 502 3003
|
||||
#tunnel "Int Emu Meter " 10.0.4.2 502 3004
|
||||
#tunnel "AMPT (modbus) " 10.0.5.1 502 3005
|
||||
#tunnel "Batteries " 127.0.0.1 6855 3007
|
||||
|
||||
|
||||
echo
|
||||
echo "press any key to close the tunnels ..."
|
||||
read -r -n 1 -s
|
||||
kill $(jobs -p)
|
||||
echo "done"
|
|
@ -33,7 +33,7 @@ tunnel "Trumpf DCDC (modbus) " 10.0.3.1 502 3002
|
|||
tunnel "Ext Emu Meter (modbus) " 10.0.4.1 502 3003
|
||||
tunnel "Int Emu Meter " 10.0.4.2 502 3004
|
||||
tunnel "AMPT (modbus) " 10.0.5.1 502 3005
|
||||
tunnel "Batteries " 127.0.0.1 6855 5007
|
||||
tunnel "Batteries " 127.0.0.1 6855 3007
|
||||
|
||||
|
||||
echo
|
||||
|
|
|
@ -26,7 +26,7 @@ public partial record SystemControlRegisters
|
|||
//[Coil(4002)]
|
||||
[HoldingRegister(4002)] public Boolean ResetAlarmsAndWarnings { get; set; }
|
||||
|
||||
[HoldingRegister(4007)] public UInt16 TargetSlave { get; set; }
|
||||
[HoldingRegister(4007)] public UInt16 TargetSlave { get; set; }
|
||||
|
||||
//[Coil(4011)]
|
||||
[HoldingRegister(4011)] public Boolean UseSlaveIdForAddressing { get; set; }
|
||||
|
|
|
@ -9,5 +9,6 @@ public enum InverterState : UInt16
|
|||
AcSyncToGrid = 4,
|
||||
AcCloseContactor = 5,
|
||||
AcConnected = 6,
|
||||
AcOpenContactor = 7,
|
||||
Alarm = 99
|
||||
}
|
|
@ -17,7 +17,7 @@ public class TruConvertAcDcDevices
|
|||
|
||||
public TruConvertAcDcDevices(Channel transport)
|
||||
{
|
||||
var modbusClient = new ModbusTcpClient(transport, 0);
|
||||
var modbusClient = new ModbusTcpClient(transport, slaveId: 0);
|
||||
|
||||
_SystemControl = new ModbusDevice<SystemControlRegisters>(modbusClient);
|
||||
|
||||
|
@ -57,21 +57,21 @@ public class TruConvertAcDcDevices
|
|||
|
||||
public void Write(AcDcDevicesRecord r)
|
||||
{
|
||||
if (r.SystemControl is not null)
|
||||
_SystemControl.Write(r.SystemControl); // must run BEFORE the attached devices
|
||||
|
||||
foreach (var (ctrl, device) in r.Devices.Zip(_AcDcs))
|
||||
try
|
||||
{
|
||||
try
|
||||
if (r.SystemControl is not null)
|
||||
_SystemControl.Write(r.SystemControl); // must run BEFORE the attached devices
|
||||
|
||||
foreach (var (ctrl, device) in r.Devices.Zip(_AcDcs))
|
||||
{
|
||||
device.Write(ctrl);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e);
|
||||
// TODO: log
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e);
|
||||
// TODO: log
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -23,7 +23,7 @@ public class TextBlock
|
|||
return new TextBlock(alignedLines);
|
||||
}
|
||||
|
||||
public static TextBlock AlignRight(IReadOnlyList<Object> things)
|
||||
private static TextBlock AlignRight(IReadOnlyList<Object> things)
|
||||
{
|
||||
var lines = things
|
||||
.SelectMany(GetLines)
|
||||
|
|
Loading…
Reference in New Issue