Diagramm zur Kontrolle höher auflösen

Begonnen von rhoffm34, 25 Juni 2018, 20:12:51

Vorheriges Thema - Nächstes Thema

rhoffm34

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ß

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

rhoffm34

#2
Was genau meinst Du mit Logausgaben?

Ich möchte mir das gerne anhand eines Graphen anzeigen lassen...

schwatter

Vielleicht hilft dir das:

attr <nameDeinesFilelogs> plotsize 760,300

Spiel einfach mal mit der Plotsize herum.

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)