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?
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?
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..