Hallo Leute,
ich habe das Problem das ich Zeitkritische Schaltvorgänge habe.
Als Beispiel in etwa so:
Bewässerung Start wird gedrückt
nach 5s schaltet Ventil1
nach weiteren 5s schaltet Ventil2
nach weiteren 5s schaltet die Brunnenpumpe ein.
usw
Wenn ich mir das auf dem SVG Plot anschaue sehe ich alles als einen Pampe da die Auflösung zu gering ist. Ich kann also nicht erkennen ob alles in der richtigen Reihenfolge abgearbeitet wird.
Wie habt Ihr das gelöst ? Wie testet Ihr die Richtigkeit der Programmierung?
Gruß
Zitat von: rhoffm34 am 25 Juni 2018, 20:12:51
Wie habt Ihr das gelöst ? Wie testet Ihr die Richtigkeit der Programmierung?
Gruß
Logausgaben...
Gruß, Joachim
Was genau meinst Du mit Logausgaben?
Ich möchte mir das gerne anhand eines Graphen anzeigen lassen...
Vielleicht hilft dir das:
attr <nameDeinesFilelogs> plotsize 760,300
Spiel einfach mal mit der Plotsize herum.
Zitat von: rhoffm34 am 25 Juni 2018, 22:11:58
Was genau meinst Du mit Logausgaben?
Ich möchte mir das gerne anhand eines Graphen anzeigen lassen...
Du wolltest wissen wie "wir" das lösen ;)
Indem ich zwischendrin eben Logausgaben mache.
Beispiel:
sub my_SignalDeadDevice($)
{
my ($Event) = @_;
my @EventPartsDev = split(/_/,$Event);
my $Index = 0;
my $DeviceEvtPartAct = "";
my $DeviceEvt = $EventPartsDev[1];
foreach $DeviceEvtPartAct (@EventPartsDev)
{
if($Index > 1)
{
$DeviceEvt = $DeviceEvt . "_" . $DeviceEvtPartAct;
}
$Index++;
}
Log3(undef, 1, "my_SignalDeadDevice DeviceEvt: $DeviceEvt");
my @DeviceParts = split(/:/,$DeviceEvt);
my $Device = $DeviceParts[0];
my @EventPartsStat = split(/ /,$Event);
my $State = $EventPartsStat[1];
my $SignalDevice = $Device . "_State";
my @DevicePartsParts = split(/_/, $Device);
Log3(undef, 1, "my_SignalDeadDevice Event: $Event Device: $Device State: $State");
# switch with power measurement are not always "under power"...
if(AttrVal($Device, "model", "na") eq "HM-ES-PMSw1-Pl")
{
Log3(undef, 1, "my_SignalDeadDevice ignoring Device: $Device");
return;
}
# check if Device was just defined, so wait until rename
if($DevicePartsParts[0] eq "HM")
{
Log3(undef, 1, "my_SignalDeadDevice ignoring Device: $Device");
return;
}
}
Gruß, Joachim