Autor Thema: fronthem Converter. ReadingsTimestamp anpassen  (Gelesen 923 mal)

Offline Kai-Alfonso

  • Sr. Member
  • ****
  • Beiträge: 744
fronthem Converter. ReadingsTimestamp anpassen
« am: 10 Oktober 2019, 13:28:07 »
Hi,

ich würde gerne einen neuen Converter auf Basis des ReadingsTimestamp Konverters nutzen, der statt den komplettem Timestamp nur das Datum zurückliefert.

so sieht der Original Konverter aus:

sub ReadingsTimestamp(@)
{
  my ($param) = @_;
  my $cmd = $param->{cmd};
  my $gad = $param->{gad};
  my $gadval = $param->{gadval};
  my $device = $param->{device};
  my $reading = $param->{reading};
  my $event = $param->{event};
  my @args = @{$param->{args}};
  my $cache = $param->{cache};

  if ($param->{cmd} eq 'get')
  {
    $param->{cmd} = 'send';
  }
  if ($param->{cmd} eq 'send')
  {
    $param->{gad} = $gad;
  $param->{gadval} = main::ReadingsTimestamp($device, $reading, 0);
    $param->{gads} = [];
    return undef;
  }
  elsif ($param->{cmd} eq 'rcv')
  {
    return 'done';
  }
  elsif ($param->{cmd} eq '?')
  {
    return 'usage: Readingstimestamp';
  }
  return undef;
}


Die Zeile $param->{gadval} = main::ReadingsTimestamp($device, $reading, 0); liefert ja den Timestring und irgendwie kann ich den ja per split trennen, aber ich bekomme das syntaktisch nicht richtig hin. Meine  erste Idee war:

    $param->{gadval} = split(' ',main::ReadingsTimestamp($device, $reading, 0))[0];

das scheint aber nicht zu gehen.

Hat jemand eine Idee?
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Offline Kai-Alfonso

  • Sr. Member
  • ****
  • Beiträge: 744
Antw:fronthem Converter. ReadingsTimestamp anpassen
« Antwort #1 am: 15 Oktober 2019, 14:29:53 »
Hi,

ich weiß, es ist unfein sich sich selbst zu antworten  8), aber ich habs hinbekommen und falls ich selber oder wer anders nach der Lösung sucht. Folgendes in die 99_fronthemUtils.pm eintragen:

sub ReadingsDate(@)
{
  my ($param) = @_;
  my $cmd = $param->{cmd};
  my $gad = $param->{gad};
  my $gadval = $param->{gadval};
  my $device = $param->{device};
  my $reading = $param->{reading};
  my $event = $param->{event};
  my @args = @{$param->{args}};
  my $cache = $param->{cache};

  if ($param->{cmd} eq 'get')
  {
    $param->{cmd} = 'send';
  }
  if ($param->{cmd} eq 'send')
  {
    $param->{gad} = $gad;
my $ts = main::ReadingsTimestamp($device, $reading, 0) =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;
my $ts_date = "$3.$2.$1";;

    $param->{gadval} =  $ts_date;
    $param->{gads} = [];
    return undef;
  }
  elsif ($param->{cmd} eq 'rcv')
  {
    return 'done';
  }
  elsif ($param->{cmd} eq '?')
  {
    return 'usage: Readingstimestamp';
  }
  return undef;
}

Was nicht geht (aber auch keiner der anderen converter aus der 99_fronthemUtils) ist, das der fronthem Editor den Converter kennt.  Weiß einer, wie ich ihm das beibringen kann?
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Offline Huntercover

  • New Member
  • *
  • Beiträge: 21
Antw:fronthem Converter. ReadingsTimestamp anpassen
« Antwort #2 am: 15 November 2019, 23:24:25 »
keine Ahnung was Du willst bzw. gemacht hast, aber hier wurde ein neuer Converter "Plotfile" samt Mode eingebaut:
https://forum.fhem.de/index.php/topic,86584

einfach die fronthemEditor.js gegen die originale aus SmartVisu2.9 vergleichen..

 

decade-submarginal