hallo.
habe hier script in 99_myUtils.pm laufen, das läuft, aber der letzte teil nicht funktioniert. Script wird über at alle 10min. getriggert.
Wenn die Ladespg. 526V beträgt, und es nicht 17h ist, sollte eigentlich nichts passieren, es startet das script aber trotzdem wieder von vorne und Ladespg. 516V. Warum?
sub SOC_on {
my $mSOC=ReadingsVal("PylonTech_mSOC","mSOC",0);
my $Ladestrom_state=ReadingsVal("Ladestrom_2","state","");
my $Transfer_state=ReadingsVal("Transfer","state","");
my $Amp=ReadingsVal("balancing","state","");
my $Amp2=ReadingsNum("PylonTech_overview","Current",0);
my $Charge=ReadingsVal("Lader","state","");
my $Spg=ReadingsNum("Ladespg","state","");
#
if ($Ladestrom_state ne "disabled")
{
fhem("set Ladestrom_2 cmd_111");
fhem("set Ladestrom_2 disable");
fhem("set Ausgleichsladung on");
}
if ($Transfer_state ne "disabled")
{
# ein wenig Geduld zeigen - hier 500 msec
sleep(1);
fhem("set Transfer cmd_2");
fhem("set Transfer disable");
}
# Ladung starten
if ($Amp ne "inactive")
{
sleep(1);
fhem("\"python2 /usr/local/bin/516V.py\"");
fhem("set Ladespg 516");
# ein wenig Geduld zeigen - hier 500 msec
sleep(1);
fhem("{achtzig_A}");
fhem("set Ladestrom_balancing 80");
fhem("set balancing active");
}
# ein wenig Geduld zeigen - hier 1000 msec
sleep(1);
#
if ($Amp2 <=6)
{ if ($Spg ==516)
{
fhem("\"python2 /usr/local/bin/517V.py\"");
fhem("set Ladespg 517");
}
elsif ($Spg ==517)
{
fhem("\"python2 /usr/local/bin/518V.py\"");
fhem("set Ladespg 518");
}
elsif ($Spg ==518)
{
fhem("\"python2 /usr/local/bin/519V.py\"");
fhem("set Ladespg 519");
}
elsif ($Spg ==519)
{
fhem("\"python2 /usr/local/bin/520V.py\"");
fhem("set Ladespg 520");
}
elsif ($Spg ==520)
{
fhem("\"python2 /usr/local/bin/522V.py\"");
fhem("set Ladespg 522");
}
elsif ($Spg ==522)
{
fhem("\"python2 /usr/local/bin/524V.py\"");
fhem("set Ladespg 524");
}
elsif ($Spg ==524)
{
fhem("\"python2 /usr/local/bin/526V.py\"");
fhem("set Ladespg 526");
}
elsif (strftime("%H",localtime) >= 17)
{
if ($Spg ==526)
{
fhem("\"python2 /usr/local/bin/514V.py\"");
fhem("set Ladespg 514");
fhem("set Transfer enable");
fhem("set Ladestrom_2 enable");
fhem("set Ladestrom_2 cmd_111");
fhem("set DI_Ausgleichsladung cmd_2");
fhem("set Ladestrom_balancing 0");
fhem("set Ausgleichsladung off")
} }
}
}
gelöst, fehler in dieser Zeile
if ($Amp ne "inactive")
neu
if ($Amp eq "inactive")