mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-20 01:06:04 +00:00
98_GEOFANCY: add timestamp support for Locative
git-svn-id: https://svn.fhem.de/fhem/trunk@10457 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
566581b876
commit
9bb1cada7c
@ -259,6 +259,19 @@ sub GEOFANCY_CGI() {
|
|||||||
m/(19|20)\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])Z/
|
m/(19|20)\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])Z/
|
||||||
);
|
);
|
||||||
|
|
||||||
|
# validate timestamp
|
||||||
|
return (
|
||||||
|
"text/plain; charset=utf-8",
|
||||||
|
"NOK Specified timestamp '"
|
||||||
|
. $webArgs->{timestamp} . "'"
|
||||||
|
. " does not seem to be a valid Unix timestamp"
|
||||||
|
)
|
||||||
|
if (
|
||||||
|
defined( $webArgs->{timestamp} )
|
||||||
|
&& ( $webArgs->{timestamp} !~ m/^\d+(\.\d+)?$/
|
||||||
|
|| $webArgs->{timestamp} > time() + 300 )
|
||||||
|
);
|
||||||
|
|
||||||
# validate locName
|
# validate locName
|
||||||
return ( "text/plain; charset=utf-8",
|
return ( "text/plain; charset=utf-8",
|
||||||
"NOK No whitespace allowed in id '" . $webArgs->{locName} . "'" )
|
"NOK No whitespace allowed in id '" . $webArgs->{locName} . "'" )
|
||||||
@ -312,6 +325,12 @@ m/(19|20)\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([0-1][0-9]|2[0-3]):([0-5
|
|||||||
$lat = $webArgs->{latitude};
|
$lat = $webArgs->{latitude};
|
||||||
$long = $webArgs->{longitude};
|
$long = $webArgs->{longitude};
|
||||||
$device = $webArgs->{device};
|
$device = $webArgs->{device};
|
||||||
|
|
||||||
|
if ( defined( $webArgs->{timestamp} ) ) {
|
||||||
|
my ( $sec, $min, $hour, $d, $m, $y ) =
|
||||||
|
localtime( $webArgs->{timestamp} );
|
||||||
|
$date = timelocal( $sec, $min, $hour, $d, $m, $y );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Geofency.app
|
# Geofency.app
|
||||||
@ -319,7 +338,7 @@ m/(19|20)\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([0-1][0-9]|2[0-3]):([0-5
|
|||||||
$id = $webArgs->{id};
|
$id = $webArgs->{id};
|
||||||
$locName = $webArgs->{name};
|
$locName = $webArgs->{name};
|
||||||
$entry = $webArgs->{entry};
|
$entry = $webArgs->{entry};
|
||||||
$date = $webArgs->{date};
|
$date = GEOFANCY_ISO8601UTCtoLocal( $webArgs->{date} );
|
||||||
$lat = $webArgs->{latitude};
|
$lat = $webArgs->{latitude};
|
||||||
$long = $webArgs->{longitude};
|
$long = $webArgs->{longitude};
|
||||||
$address = $webArgs->{address}
|
$address = $webArgs->{address}
|
||||||
@ -446,9 +465,9 @@ m/(19|20)\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([0-1][0-9]|2[0-3]):([0-5
|
|||||||
|
|
||||||
readingsBeginUpdate($hash);
|
readingsBeginUpdate($hash);
|
||||||
|
|
||||||
# validate date
|
# use date for readings
|
||||||
if ( $date ne "" ) {
|
if ( $date ne "" ) {
|
||||||
$hash->{".updateTime"} = GEOFANCY_ISO8601UTCtoLocal($date);
|
$hash->{".updateTime"} = $date;
|
||||||
$hash->{".updateTimestamp"} = FmtDateTime( $hash->{".updateTime"} );
|
$hash->{".updateTimestamp"} = FmtDateTime( $hash->{".updateTime"} );
|
||||||
$time = $hash->{".updateTimestamp"};
|
$time = $hash->{".updateTimestamp"};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user