mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-22 02:10:32 +00:00
FULLY: Added HTTPS support
git-svn-id: https://svn.fhem.de/fhem/trunk@18074 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
300c3a9a7f
commit
965ef257fc
@ -1,5 +1,6 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||||
# Do not insert empty lines here, update check depends on it.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
|
- feature: 89_FULLY: Support for HTTPS added
|
||||||
- change: DOIFtools: add DOIF's weekday 9 to next timer
|
- change: DOIFtools: add DOIF's weekday 9 to next timer
|
||||||
- feature: 34_ESPEasy: improved deepsleep support
|
- feature: 34_ESPEasy: improved deepsleep support
|
||||||
- feature: 73_AutoShuttersControl: add maxBrightness for morning open
|
- feature: 73_AutoShuttersControl: add maxBrightness for morning open
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
#
|
||||||
# 89_FULLY.pm 0.9.001
|
# 89_FULLY.pm 0.9.002
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
@ -35,11 +35,22 @@ sub FULLY_Abort ($);
|
|||||||
sub FULLY_UpdateReadings ($$);
|
sub FULLY_UpdateReadings ($$);
|
||||||
sub FULLY_Ping ($$);
|
sub FULLY_Ping ($$);
|
||||||
|
|
||||||
my $FULLY_VERSION = "0.9.001";
|
my $FULLY_VERSION = "0.9.002";
|
||||||
|
|
||||||
|
# Timeout for Fully requests
|
||||||
my $FULLY_TIMEOUT = 4;
|
my $FULLY_TIMEOUT = 4;
|
||||||
|
|
||||||
|
# Polling interval
|
||||||
my $FULLY_POLL_INTERVAL = 3600;
|
my $FULLY_POLL_INTERVAL = 3600;
|
||||||
|
my @FULLY_POLL_RANGE = (10, 86400);
|
||||||
|
|
||||||
|
# Minimum version of Fully app
|
||||||
my $FULLY_REQUIRED_VERSION = 1.27;
|
my $FULLY_REQUIRED_VERSION = 1.27;
|
||||||
|
|
||||||
|
# Default protocol and port for Fully requests
|
||||||
|
my $FULLY_DEFAULT_PROT = 'http';
|
||||||
|
my $FULLY_DEFAULT_PORT = '2323';
|
||||||
|
|
||||||
my $FULLY_FHEM_COMMAND = qq(
|
my $FULLY_FHEM_COMMAND = qq(
|
||||||
function SendRequest(FHEM_Address, Devicename, Command) {
|
function SendRequest(FHEM_Address, Devicename, Command) {
|
||||||
var Port = "8085"
|
var Port = "8085"
|
||||||
@ -76,9 +87,9 @@ sub FULLY_Initialize ($)
|
|||||||
$readingFnAttributes;
|
$readingFnAttributes;
|
||||||
}
|
}
|
||||||
|
|
||||||
##################################################
|
######################################################################
|
||||||
# Define device
|
# Define device
|
||||||
##################################################
|
######################################################################
|
||||||
|
|
||||||
sub FULLY_Define ($$)
|
sub FULLY_Define ($$)
|
||||||
{
|
{
|
||||||
@ -86,12 +97,21 @@ sub FULLY_Define ($$)
|
|||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my $rc = 0;
|
my $rc = 0;
|
||||||
|
|
||||||
return "Usage: define devname FULLY IP_or_Hostname password [poll-interval]"
|
return "Usage: define devname [http|https]://IP_or_Hostname password [poll-interval]"
|
||||||
if (@$a < 4);
|
if (@$a < 4);
|
||||||
return "FULLY: polling interval must be in range 10 - 86400"
|
return "FULLY: polling interval must be in range 10 - 86400"
|
||||||
if (@$a == 5 && ($$a[4] !~ /^[1-9][0-9]+$/ || $$a[4] < 10 || $$a[4] > 86400));
|
if (@$a == 5 &&
|
||||||
|
($$a[4] !~ /^[1-9][0-9]+$/ || $$a[4] < $FULLY_POLL_RANGE[0] || $$a[4] > $FULLY_POLL_RANGE[1]));
|
||||||
|
|
||||||
$hash->{host} = $$a[2];
|
if ($$a[2] =~ /^(https?):\/\/(.+)/) {
|
||||||
|
$hash->{prot} = $1;
|
||||||
|
$hash->{host} = $2;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$hash->{prot} = $FULLY_DEFAULT_PROT;
|
||||||
|
$hash->{host} = $$a[2];
|
||||||
|
}
|
||||||
|
$hash->{port} = $FULLY_DEFAULT_PORT;
|
||||||
$hash->{version} = $FULLY_VERSION;
|
$hash->{version} = $FULLY_VERSION;
|
||||||
$hash->{onForTimer} = 'off';
|
$hash->{onForTimer} = 'off';
|
||||||
$hash->{fully}{password} = $$a[3];
|
$hash->{fully}{password} = $$a[3];
|
||||||
@ -116,9 +136,9 @@ sub FULLY_Define ($$)
|
|||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
|
||||||
#####################################
|
######################################################################
|
||||||
# Set or delete attribute
|
# Set or delete attribute
|
||||||
#####################################
|
######################################################################
|
||||||
|
|
||||||
sub FULLY_Attr ($@)
|
sub FULLY_Attr ($@)
|
||||||
{
|
{
|
||||||
@ -200,7 +220,7 @@ sub FULLY_Detail ($@)
|
|||||||
<table class="block wide">
|
<table class="block wide">
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td><div class="col1">
|
<td><div class="col1">
|
||||||
<a target="_blank" href="http://$hash->{host}:2323">Remote Admin</a>
|
<a target="_blank" href="$hash->{prot}://$hash->{host}:$hash->{port}">Remote Admin</a>
|
||||||
</div></td>
|
</div></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -432,7 +452,7 @@ sub FULLY_Execute ($$$$)
|
|||||||
my $ping = min (AttrVal ($name, 'pingBeforeCmd', 0), 2);
|
my $ping = min (AttrVal ($name, 'pingBeforeCmd', 0), 2);
|
||||||
|
|
||||||
my $response = '';
|
my $response = '';
|
||||||
my $url = "http://".$hash->{host}.":2323/?cmd=$command";
|
my $url = $hash->{prot}.'://'.$hash->{host}.':'.$hash->{port}."/?cmd=$command";
|
||||||
|
|
||||||
if (defined ($param)) {
|
if (defined ($param)) {
|
||||||
foreach my $parname (keys %$param) {
|
foreach my $parname (keys %$param) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user