Feature, new version with homematic and different Buttons fuer FS20

git-svn-id: https://svn.fhem.de/fhem/trunk@1546 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nitroxmh 2012-05-08 09:06:39 +00:00
parent 9a1c118928
commit a654718211
45 changed files with 2125 additions and 1771 deletions

View File

@ -220,4 +220,5 @@ It is not necessary to tell fhem that there are other logs.
2012-05-07 2012-05-07
-- Bugfix: userdefs.php works with new gnuplot-version -- Bugfix: userdefs.php works with new gnuplot-version
2012-05-08
-- Feature: homematic added, FS20-Buttons now different depending of the state

View File

@ -122,3 +122,6 @@
- Martin 2012-05-07 - Martin 2012-05-07
-- bugfix: userdefs.php. Now wokrs with new Gnuplot (imagecopy) -- bugfix: userdefs.php. Now wokrs with new Gnuplot (imagecopy)
. Martin 2012-05-08
-- Feature: Homematic added, FS20-Buttons now depending of the state

View File

@ -1,428 +1,419 @@
<?php <?php
################################################################################## ##################################################################################
#### pgm3 -- a PHP-webfrontend for fhem.pl #### pgm3 -- a PHP-webfrontend for fhem.pl
### Look at http://www.fhemwiki.de for more information ### Look at http://www.fhemwiki.de for more information
###### required settings ###### required settings
$fhem="localhost"; #only php5 is supported! On which machine is fhem runnning?? #$fhem="fritz.box"; # only php5 is supported! On which machine is fhem runnning??
# it needs not to be on the same machine as fhem $fhem="localhost"; # only php5 is supported! On which machine is fhem runnning??
# if it is not localhost then the fhem.cfg must # it needs not to be on the same machine as fhem
# run global: "attr global port <nr> global" # if it is not localhost then the fhem.cfg must
$fhemport="7072"; # port of fhem.pl # run global: "attr global port <nr> global"
$logpath="/var/tmp/"; # where are your logs? Use a writabel nfs-share if pgm3 and fhem are not on the same machine $fhemport="7072"; # port of fhem.pl
$AbsolutPath="/var/www/"; # where ist your pgm3? #$logpath="/mnt/fritzbox/"; # where are your logs? Use a writabel nfs-share if pgm3 and fhem are not on the same machine
#mount your fritzbox with something like this in the /etc/fstab: //fritz.box/fritz.nas /mnt/fritzbox cifs guest 0 0
###### DBlog instead of Filelogs -- only for experienced Users! $logpath="/var/tmp/"; # where are your logs? Use a writabel nfs-share if pgm3 and fhem are not on the same machine
## Look at contrib/dblog and http://fhemwiki.de for further information $AbsolutPath="/var/www/"; # where ist your pgm3?
$DBUse="0"; # Wanna use DB-Logging instead of File-Logging? Use 1 for ye s and 0 for no.
$DBNode="localhost"; # On which machine is your db running? ###### DBlog instead of Filelogs -- only for experienced Users!
$DBName="fhem"; # Whats the name of your DB for fhem? ## Look at contrib/dblog and http://fhemwiki.de for further information
$DBUser="USER"; # Enter the username to connect to the DB. $DBUse="0"; # Wanna use DB-Logging instead of File-Logging? Use 1 for ye s and 0 for no.
$DBPass="PASSWD"; # Enter the password which is needed to connect to the DB $DBNode="localhost"; # On which machine is your db running?
$DBName="fhem"; # Whats the name of your DB for fhem?
$DBUser="USER"; # Enter the username to connect to the DB.
################################################################################## $DBPass="PASSWD"; # Enter the password which is needed to connect to the DB
###### nice to have
##################################################################################
###### nice to have
##### logrotate of hms, ks300, fht
# this is only possible, if the webserver (e.g.wwwrun) has the rights ro write the
# files from fhem.pl. If you want that then run fhem.pl as wwwrun too.
# if 'yes' then only the needed lines are in the logfiles, the rest will be deleted. ##### logrotate of hms, ks300, fht
$logrotate='yes'; # yes/no default='yes' # this is only possible, if the webserver (e.g.wwwrun) has the rights ro write the
# files from fhem.pl. If you want that then run fhem.pl as wwwrun too.
# if 'yes' then only the needed lines are in the logfiles, the rest will be deleted.
## Kioskmode. Only show but don't switch anything. Values: on/off $logrotate='yes'; # yes/no default='yes'
$kioskmode='off';
## Kioskmode. Only show but don't switch anything. Values: on/off
## Webcams $kioskmode='off';
$showwebcam=0; #shows webcam-Urls or other pictures (0/1)
$webcamwidth='150'; # the width of the shown picture
$wgetpath="/usr/bin/wget"; # you need the package wget for http, ftp... ## Webcams
$webcamroom='donthide'; # existing room. Otherwise it will either $showwebcam=0; #shows webcam-Urls or other pictures (0/1)
# be in ALL or wiht 'donthide' not hided $webcamwidth='150'; # the width of the shown picture
$webcam[0]='http://webcam/IMAGE.JPG'; $wgetpath="/usr/bin/wget"; # you need the package wget for http, ftp...
$webcam[1]='http://webcam2/IMAGE.JPG'; $webcamroom='donthide'; # existing room. Otherwise it will either
#$webcam[1]='http://www.bostream.nu/hoganas/OutsideTempHistory.gif'; # be in ALL or wiht 'donthide' not hided
#$webcam[1]='IMAGE.PNG'; # Supported are Webcams with http:// ftp:// .... #$webcam[0]='http://webcam/IMAGE.JPG';
# and Images wich must be copied to <pgm3>/tmp/ #$webcam[1]='http://webcam2/IMAGE.JPG';
#$webcam[1]='http://www.bostream.nu/hoganas/OutsideTempHistory.gif';
# $webcam[2]='http://...'; #$webcam[1]='IMAGE.PNG'; # Supported are Webcams with http:// ftp:// ....
# ... # and Images wich must be copied to <pgm3>/tmp/
# $webcam[2]='http://...';
# Weather # Google-Api. It requires an Internet Connection # ...
$enableweather=0; # show the google-weather?
$weathercity='Linden';
$weathercountry='Germany'; # Weather # Google-Api. It requires an Internet Connection
$weatherlang='de'; $enableweather=1; # show the google-weather?
#$weatherlang='en'; $weathercity='Butzbach';
$weatherroom='donthide'; # existing room. Otherwise it will either $weathercountry='Germany';
# be in ALL or with 'donthide' not hided $weatherlang='de';
#$weatherlang='en';
$weatherroom='donthide'; # existing room. Otherwise it will either
############################################################################################## # $weatherroom='(19)Garten'; # existing room. Otherwise it will either
## FHZ-DEVICES # be in ALL or with 'donthide' not hided
$show_general=1; #field to type FHZ1000-orders 0/1 Default:1
$show_fs20pulldown=1; #Pull-Down for the FS20 Devices 0/1 Default:1
$show_fhtpulldown=1; #Pull-Down for the FHT-Devices 0/1 Default:1 ##############################################################################################
$show_logpulldown=1; #Pull-Down for Log-files and FS20 (grep fhem.log) ## FHZ-DEVICES
$logsort='| sort -r'; #sort the Log-Output how you want; $show_general=1; #field to type FHZ1000-orders 0/1 Default:1
$show_fs20pulldown=1; #Pull-Down for the FS20 Devices 0/1 Default:1
############################################################################################## $show_hmpulldown=1; #Pull-Down for the HomeMatic Devices 0/1 Default:1
# ATTENTION: the changes of sizes only affects after the next build of pictures! $show_fhtpulldown=1; #Pull-Down for the FHT-Devices 0/1 Default:1
# or delete the old pictures: rm <pgm>/tmp/* $show_logpulldown=1; #Pull-Down for Log-files and FS20 (grep fhem.log)
############################################################################################## $logsort='| sort -r'; #sort the Log-Output how you want;
## FS20-Device, adjust it if you have e.g. long titles
$imgmaxxfs20=85; #Size of the pictures, default=85 ##############################################################################################
$imgmaxyfs20=85; # default=85 # ATTENTION: the changes of sizes only affects after the next build of pictures!
$fs20fontsizetitel=10; # default=10 # or delete the old pictures: rm <pgm>/tmp/*
$fs20maxiconperline=9; # default=9 ##############################################################################################
## FS20-Device, adjust it if you have e.g. long titles
#room. Write e.g. "attr rolowz room wzo"
#into your fhem.cfg and restart fhem.pl #$imgmaxxfs20=166; # Size of the pictures, default=85
# this will be marked on the FS20-Button. $imgmaxxfs20=115; # Size of the pictures, default=115
$txtroom=""; # default=""; example: $txtroom="room: "; $imgmaxyfs20=75; # default=75
# room hidden will not be shown $fs20fontsizetitel=10; # default=10
$fs20maxiconperline=7; # default=r79
##############################################################################################
## ROOMS adjust it if you have e.g. long titles # look at http://fhemwiki.de for explanations
$showroombuttons=1; #default 1 Values 0/1 $roomname='0'; # Show Roomname on Button [1|0]
$imgmaxxroom=$imgmaxxfs20; #Size of the pictures, default=$imgmaxxfs20 $roomcorr='5'; # Correction for Iconposition if roomname = 0 [n]
$imgmaxyroom=30; # default=30 $dategerman='1'; # Date in German Format (25.03.2012) [1|0]
$roomfontsizetitel=10; # default=9 $umlaute='1'; # Changes "ue" in "ü"... [1|0]
$roommaxiconperline=$fs20maxiconperline; # default=$fs20maxiconperline $namesortbutton='1'; # [1|0]
$namesortbuttonsign='_'; # If $namesortbutton = 1 the Sign "_" will replace with " " [x]
############################################################################################## $namereplacebutton='1'; # Changes "This_is_a_Test" in "This is a Test" [1|0]
$namereplacebuttonsign='_'; # If $namereplaceroom = 1 the Sign "_" will replace with " " [x]
## FHT-Devices
$imgmaxxfht=725; #Size of the pictures Default: 725 # room. Write e.g. "attr rolowz room wzo"
$imgmaxyfht=52; # into your fhem.cfg and restart fhem.pl
$show_desiredtemp=1; # show the desired_temp as a graphic (0/1) # this will be marked on the FS20-Button.
$desR='255'; $desG='255'; $desB='255'; # Color of desired-temp-line Red/Green/Blue (Default: 255/255/255) $txtroom=""; # default=""; example: $txtroom="room: ";
$show_actuator=1; # show the actuator-value as a graphic (0/1) # room hidden will not be shown
$actR='255'; $actG='247'; $actB='200'; # Color of Actuator-line Red/Green/Blue (Default: 255/247/200)
$FHTyrange='14:31'; # Temperature in gnuplot. Default 14 to 31 (Celsius) ##############################################################################################
$FHTy2range='0:70'; # Actuator in gnuplot. Default 0 to 70 (Percent) ## ROOMS adjust it if you have e.g. long titles
$maxcount='510'; # Maximum count of pixel (from right to left) (Default:460)
$XcorrectDate=380; # Text of e.g. Date from the right side (Default:380) $showroombuttons=1; # default 1 Values 0/1
$XcorrectMainText=32; # Text of main text from the right side (Default: 32) $imgmaxxroom=$imgmaxxfs20; # Size of the pictures, default=$imgmaxxfs20
$logrotateFHTlines=8200; # automatic Logrotate; $logrotate must be 'yes'. $imgmaxyroom=22; # default=30
# Default:8200 $roomfontsizetitel=10; # default=9
# read docs/logrotate if you want adjust it manually! $roommaxiconperline=$fs20maxiconperline; # default=$fs20maxiconperline
# otherwise the system will slow down
# pgm3 (user www-data) needs the rights to write the logs $namesortroom='1'; # [1|0]
# from fhem.pl (user = ???) $namesortroomsign=')'; # If $namesortroom = 1 the Sign ")" will replace with " " [x]
$namereplaceroom='1'; # Changes "This_is_a_Test" in "This is a Test" [1|0]
$namereplaceroomsign='_'; # If $namereplaceroom = 1 the Sign "_" will replace with " " [x]
##############################################################################################
##############################################################################################
## HMS-Devices ## FHT-Devices
$imgmaxxhms=725; #Size of the pictures. Default: 725 $imgmaxxfht=725; #Size of the pictures Default: 725
$imgmaxyhms=52; $imgmaxyfht=52;
$maxcountHMS='575'; # Maximum count of pixel (from right to left) (Default:575) $show_desiredtemp=1; # show the desired_temp as a graphic (0/1)
$XcorrectMainTextHMS=25; # Text of main text from the right side (Default:) $desR='255'; $desG='255'; $desB='255'; # Color of desired-temp-line Red/Green/Blue (Default: 255/255/255)
$showdewpoint='yes'; # Dewpoint (german: taupunkt) $show_actuator=1; # show the actuator-value as a graphic (0/1)
$logrotateHMSlines=1500; # automatic Logrotate; $logrotate must be 'yes'. $actR='255'; $actG='247'; $actB='200'; # Color of Actuator-line Red/Green/Blue (Default: 255/247/200)
# Default:1500 $FHTyrange='14:31'; # Temperature in gnuplot. Default 14 to 31 (Celsius)
# read docs/logrotate if you want adjust it manually! $FHTy2range='0:70'; # Actuator in gnuplot. Default 0 to 70 (Percent)
# otherwise the system will slow down $maxcount='510'; # Maximum count of pixel (from right to left) (Default:460)
# pgm3 (user www-data) needs the rights to write the logs $XcorrectDate=380; # Text of e.g. Date from the right side (Default:380)
# from fhem.pl (user = ???) $XcorrectMainText=32; # Text of main text from the right side (Default: 32)
$logrotateFHTlines=8200; # automatic Logrotate; $logrotate must be 'yes'.
############################################################################################## # Default:8200
## KS300-Device # read docs/logrotate if you want adjust it manually!
$imgmaxxks=725; #Size of the pictures Default: 725 # otherwise the system will slow down
# pgm3 (user www-data) needs the rights to write the logs
$imgmaxyks=52; # from fhem.pl (user = ???)
$showbft=1; # Display values additionaly in Beafort. Values: 0 /1 Default:1
$maxcountKS='575'; # Maximum count of pixel (from right to left) (Default:575)
$showdewpointks300='yes'; # Dewpoint (german: taupunkt)
$XcorrectMainTextKS=45; # Text of main text from the right side (Default: 35)
##############################################################################################
$logrotateKS300lines=13000; # automatic Logrotate; $logrotate must be 'yes'. ## HMS-Devices
# Default: 13000 $imgmaxxhms=725; #Size of the pictures. Default: 725
# read docs/logrotate if you want adjust it manually $imgmaxyhms=52;
# otherwise the system will slow down $maxcountHMS='575'; # Maximum count of pixel (from right to left) (Default:575)
# pgm3 (user www-data) needs the rights to write the logs $XcorrectMainTextHMS=25; # Text of main text from the right side (Default:)
# from fhem.pl (user = ???) $showdewpoint='yes'; # Dewpoint (german: taupunkt)
$logrotateHMSlines=1500; # automatic Logrotate; $logrotate must be 'yes'.
############################################################################################## # Default:1500
## USERDEF # read docs/logrotate if you want adjust it manually!
# # otherwise the system will slow down
# Create your own graphics! If you have separate Programs (e.g. wired devices) then create your own # pgm3 (user www-data) needs the rights to write the logs
# logfile and tell pgm3 to use it. # from fhem.pl (user = ???)
# We only need a data/time-field in the form <date>_<time>, e.g. 2007-10-13_13:45:14
# and a field with a numeric value e.g. 0.0 ##############################################################################################
## KS300-Device
#Example: $imgmaxxks=725; #Size of the pictures Default: 725
####################################################
# 2007-10-13_13:45:14 solarI Is: 0.0 Vs: 4.5 T: 22 $imgmaxyks=52;
#################################################### $showbft=1; # Display values additionaly in Beafort. Values: 0 /1 Default:1
# Field1: 2007-10-13_13:45:14 $maxcountKS='575'; # Maximum count of pixel (from right to left) (Default:575)
# Field2: solarI $showdewpointks300='yes'; # Dewpoint (german: taupunkt)
# Field3: Is: $XcorrectMainTextKS=45; # Text of main text from the right side (Default: 35)
# Field4: 0.0
#... $logrotateKS300lines=13000; # automatic Logrotate; $logrotate must be 'yes'.
# Field1 must be the date/time-field. Then tell pgm3 with $userdef[x]['valuefield'] (see below) # Default: 13000
# the field with the needed value. It is possible to create several graphics with one logfile. # read docs/logrotate if you want adjust it manually
# otherwise the system will slow down
# pgm3 (user www-data) needs the rights to write the logs
# Do you want user defined graphics? 1/0 Default: 0 # from fhem.pl (user = ???)
$UserDefs=0;
##############################################################################################
##################### ## USERDEF
## Userdef: 0 #
# Create your own graphics! If you have separate Programs (e.g. wired devices) then create your own
# the sortnumbers must be complete. eg. 0 1 2 3 or 2 0 3 1 and so on # logfile and tell pgm3 to use it.
#$sortnumber=0; # We only need a data/time-field in the form <date>_<time>, e.g. 2007-10-13_13:45:14
# and a field with a numeric value e.g. 0.0
# No blanks or other special signs!!
#$userdef[$sortnumber]['name']='SolarV'; #Example:
####################################################
#In which field are the values?? See the example above # 2007-10-13_13:45:14 solarI Is: 0.0 Vs: 4.5 T: 22
#$userdef[$sortnumber]['valuefield']=4; ####################################################
# Field1: 2007-10-13_13:45:14
#Type of Device [temperature | piri | fs20] pgm3 will try to generate a gnuplot picture # Field2: solarI
#$userdef[$sortnumber]['gnuplottype']='temperature'; # Field3: Is:
# Field4: 0.0
# example, path to the logfile with the entrys like above #...
#$userdef[$sortnumber]['logpath']=$logpath.'/lse_solarV.log'; # Field1 must be the date/time-field. Then tell pgm3 with $userdef[x]['valuefield'] (see below)
# the field with the needed value. It is possible to create several graphics with one logfile.
#$userdef[$sortnumber]['room']='garden';
# Semantic eg. Voltage # Do you want user defined graphics? 1/0 Default: 0
#$userdef[$sortnumber]['semlong']='Voltage'; $UserDefs=0;
# Semantic short e.g. V #####################
#$userdef[$sortnumber]['semshort']='V'; ## Userdef: 0
#Size of the pictures. Default: 725 # the sortnumbers must be complete. eg. 0 1 2 3 or 2 0 3 1 and so on
#$userdef[$sortnumber]['imagemax']=725; #$sortnumber=0;
#$userdef[$sortnumber]['imagemay']=52;
# No blanks or other special signs!!
# Maximum count of pixel (from right to left) (Default:575) #$userdef[$sortnumber]['name']='SolarV';
#$userdef[$sortnumber]['maxcount']=575;
#In which field are the values?? See the example above
# Text of main text from the right side (Default:) #$userdef[$sortnumber]['valuefield']=4;
#$userdef[$sortnumber]['XcorrectMainText']=25;
#Type of Device [temperature | piri | fs20] pgm3 will try to generate a gnuplot picture
# automatic Logrotate; $logrotate must be 'yes'. #$userdef[$sortnumber]['gnuplottype']='temperature';
# Default:2200
# read docs/logrotate if you want adjust it manually! # example, path to the logfile with the entrys like above
# otherwise the system will slow down #$userdef[$sortnumber]['logpath']=$logpath.'/lse_solarV.log';
# pgm3 (user www-data) needs the rights to write the logs
# of fhem.pl (user = ???) #$userdef[$sortnumber]['room']='garden';
#$userdef[$sortnumber]['logrotatelines']=2200;
# Semantic eg. Voltage
#$userdef[$sortnumber]['semlong']='Voltage';
########################
# example: # Semantic short e.g. V
#define solarpumpe.log FileLog /var/tmp/solarpumpe.log solarpumpe:.*(on|off).* #$userdef[$sortnumber]['semshort']='V';
$sortnumber=0;
$userdef[$sortnumber]['name']='PiriO'; #Size of the pictures. Default: 725
$userdef[$sortnumber]['name']='SolarPumpe'; #$userdef[$sortnumber]['imagemax']=725;
$userdef[$sortnumber]['valuefield']=3; #$userdef[$sortnumber]['imagemay']=52;
$userdef[$sortnumber]['gnuplottype']='fs20';
$userdef[$sortnumber]['logpath']='/mnt/fhz/solarpumpe.log'; # Maximum count of pixel (from right to left) (Default:575)
$userdef[$sortnumber]['room']='cellar'; #$userdef[$sortnumber]['maxcount']=575;
$userdef[$sortnumber]['semlong']='Solarpumpe';
$userdef[$sortnumber]['semshort']=''; # Text of main text from the right side (Default:)
$userdef[$sortnumber]['imagemax']=725; #$userdef[$sortnumber]['XcorrectMainText']=25;
$userdef[$sortnumber]['imagemay']=52;
$userdef[$sortnumber]['maxcount']=575; # automatic Logrotate; $logrotate must be 'yes'.
$userdef[$sortnumber]['XcorrectMainText']=25; # Default:2200
$userdef[$sortnumber]['logrotatelines']=50; # read docs/logrotate if you want adjust it manually!
# otherwise the system will slow down
# pgm3 (user www-data) needs the rights to write the logs
########################## # of fhem.pl (user = ???)
# example: #$userdef[$sortnumber]['logrotatelines']=2200;
#define rolu1.log FileLog /var/tmp/rolu1.log rolu1:.*(on|off|dimup|dimdown).*
#$sortnumber=2;
#$userdef[$sortnumber]['name']='Rolu1'; ########################
#$userdef[$sortnumber]['valuefield']=3; # example:
#$userdef[$sortnumber]['gnuplottype']='fs20'; #define solarpumpe.log FileLog /var/tmp/solarpumpe.log solarpumpe:.*(on|off).*
#$userdef[$sortnumber]['logpath']='/var/tmp/rolu1.log'; $sortnumber=0;
#$userdef[$sortnumber]['room']='wgu'; $userdef[$sortnumber]['name']='SolarPumpe';
#$userdef[$sortnumber]['semlong']='Rolladen'; #$userdef[$sortnumber]['name']='';
#$userdef[$sortnumber]['semshort']=''; $userdef[$sortnumber]['valuefield']=3;
#$userdef[$sortnumber]['imagemax']=725; $userdef[$sortnumber]['gnuplottype']='fs20';
#$userdef[$sortnumber]['imagemay']=52; $userdef[$sortnumber]['logpath']='/var/tmp/solarpumpe.log';
#$userdef[$sortnumber]['maxcount']=575; $userdef[$sortnumber]['room']='cellar';
#$userdef[$sortnumber]['XcorrectMainText']=25; $userdef[$sortnumber]['semlong']='Solarpumpe';
#$userdef[$sortnumber]['logrotatelines']=30; $userdef[$sortnumber]['semshort']='';
$userdef[$sortnumber]['imagemax']=725;
########################## $userdef[$sortnumber]['imagemay']=52;
# example: $userdef[$sortnumber]['maxcount']=575;
#define rolu1.log FileLog /var/tmp/rolu1.log rolu1:.*(on|off|dimup|dimdown).* $userdef[$sortnumber]['XcorrectMainText']=25;
$sortnumber=1; $userdef[$sortnumber]['logrotatelines']=50;
$userdef[$sortnumber]['name']='allight'; ##########################
$userdef[$sortnumber]['valuefield']=3; $sortnumber=1;
$userdef[$sortnumber]['gnuplottype']='fs20'; $userdef[$sortnumber]['name']='netbook';
$userdef[$sortnumber]['logpath']='/mnt/fhz/allight.log'; $userdef[$sortnumber]['valuefield']=3;
$userdef[$sortnumber]['room']='alarm'; $userdef[$sortnumber]['gnuplottype']='fs20';
$userdef[$sortnumber]['semlong']='Alarm light'; $userdef[$sortnumber]['logpath']='/var/tmp/netbook.User.log';
$userdef[$sortnumber]['semshort']=''; $userdef[$sortnumber]['room']='wgo';
$userdef[$sortnumber]['imagemax']=725; $userdef[$sortnumber]['semlong']='netbook';
$userdef[$sortnumber]['imagemay']=52; $userdef[$sortnumber]['semshort']='';
$userdef[$sortnumber]['maxcount']=575; $userdef[$sortnumber]['imagemax']=725;
$userdef[$sortnumber]['XcorrectMainText']=25; $userdef[$sortnumber]['imagemay']=52;
$userdef[$sortnumber]['logrotatelines']=30; $userdef[$sortnumber]['maxcount']=575;
########################## $userdef[$sortnumber]['XcorrectMainText']=25;
$userdef[$sortnumber]['logrotatelines']=2000;
##########################
#$sortnumber=2; $sortnumber=2;
#$userdef[$sortnumber]['name']='tARV'; $userdef[$sortnumber]['name']='PiriU';
#$userdef[$sortnumber]['valuefield']=3; $userdef[$sortnumber]['valuefield']=3;
#$userdef[$sortnumber]['gnuplottype']='temperature'; $userdef[$sortnumber]['gnuplottype']='piri';
#$userdef[$sortnumber]['logpath']='/mnt/fhz/t_arv.log'; $userdef[$sortnumber]['logpath']='/var/tmp/piriu.log';
##$userdef[$sortnumber]['logpath']='/mnt/fhz/allight.log'; $userdef[$sortnumber]['room']='wgu';
#$userdef[$sortnumber]['room']='Hautpg'; $userdef[$sortnumber]['semlong']='Piri unten';
#$userdef[$sortnumber]['semlong']='tARV'; $userdef[$sortnumber]['semshort']='';
#$userdef[$sortnumber]['semshort']='°C'; $userdef[$sortnumber]['imagemax']=725;
#$userdef[$sortnumber]['imagemax']=725; $userdef[$sortnumber]['imagemay']=52;
#$userdef[$sortnumber]['imagemay']=52; $userdef[$sortnumber]['maxcount']=575;
##$userdef[$sortnumber]['maxcount']=575; $userdef[$sortnumber]['XcorrectMainText']=25;
#$userdef[$sortnumber]['XcorrectMainText']=25; $userdef[$sortnumber]['logrotatelines']=500;
#$userdef[$sortnumber]['logrotatelines']=2200; ##########################
#$sortnumber=3;
#$userdef[$sortnumber]['name']='water';
#$userdef[$sortnumber]['valuefield']=4;
#$userdef[$sortnumber]['gnuplottype']='temperature';
# example: #$userdef[$sortnumber]['logpath']='/var/tmp/water.log';
#define rolu1.log FileLog /var/tmp/rolu1.log rolu1:.*(on|off|dimup|dimdown).* #$userdef[$sortnumber]['room']='cellar';
#$sortnumber=5; #$userdef[$sortnumber]['semlong']='Water';
#$userdef[$sortnumber]['name']='FS10'; #$userdef[$sortnumber]['semshort']='C';
#$userdef[$sortnumber]['valuefield']=2; #$userdef[$sortnumber]['imagemax']=725;
#$userdef[$sortnumber]['gnuplottype']='temperature'; #$userdef[$sortnumber]['imagemay']=52;
#$userdef[$sortnumber]['logpath']='/var/tmp/wspd_7.gnu'; #$userdef[$sortnumber]['maxcount']=575;
#$userdef[$sortnumber]['timeformat']='%Y/%m/%d %H:%M:%S'; #$userdef[$sortnumber]['XcorrectMainText']=25;
#$userdef[$sortnumber]['room']='hidden'; #$userdef[$sortnumber]['logrotatelines']=2000;
#$userdef[$sortnumber]['semlong']='FS10';
#$userdef[$sortnumber]['semshort']='°C';
#$userdef[$sortnumber]['imagemax']=725;
#$userdef[$sortnumber]['imagemay']=52; ########################
#$userdef[$sortnumber]['maxcount']=575;
#$userdef[$sortnumber]['XcorrectMainText']=25; ###### showgnuplot
#$userdef[$sortnumber]['logrotatelines']=3300; # Gnuplot will automatically show the pictures.
################# # There is no reason any more to deactivate Gnuplot. Values: 0/1
## Userdef: x $showgnuplot=1;
# $gnuplot='/usr/bin/gnuplot'; # location of gnuplot
#$userdef[x]['name']=''; $pictype='png';
#........
##############################################################################################
######################## ## misc
$taillog=1; #make shure to have the correct rights. Values: 0/1
###### showgnuplot $tailcount=30; #make shure to have the correct rights. Values: 0/1
# Gnuplot will automatically show the pictures. $tailpath="/usr/bin/tail";
# There is no reason any more to deactivate Gnuplot. Values: 0/1 #$taillogorder=$tailpath." -$tailcount $logpath/fhem.log ";
$showgnuplot=1; $taillogorder=$tailpath." -$tailcount $logpath/fhem-" . date("Y") . "-" . date("m") . ".log "; #if you have e.g. fhem-2009-02.log
$gnuplot='/usr/bin/gnuplot'; # location of gnuplot
$pictype='png';
## show Information at STARTUP.
$showLOGS='no'; #show the entrys of the LOGS in the
############################################################################################## #fhem.cfg at startup. Default: no Values: yes/no
## misc $showAT='no'; #show the AT_JOBS at startup. Default: yes Values: yes/no
$taillog=1; #make shure to have the correct rights. Values: 0/1 $showNOTI='no'; #show the NOTIFICATIONS at startup. Default: no Values: yes/no
$tailcount=30; #make shure to have the correct rights. Values: 0/1 $showHIST='yes'; #show the HISTORY (if taillog=1) at startup. Default: yes Values: yes/no
$tailpath="/usr/bin/tail"; #$showPICS='no'; #if shwowebcam=1 then initial the Pics will be shown. Default: yes
#$taillogorder=$tailpath." -$tailcount $logpath/fhem.log "; $showPICS='yes'; #if shwowebcam=1 then initial the Pics will be shown. Default: yes
$taillogorder=$tailpath." -$tailcount $logpath/fhem-" . date("Y") . "-" . date("m") . ".log "; #if you have e.g. fhem-2009-02.log $showWeath='yes'; # Show weather on startup? $enableweather must 1
$RSStitel='FHEM';
## show Information at STARTUP. $urlreload=60; # Automatic reloading page [sec]. Default fast: 60 slow:90
$showLOGS='no'; #show the entrys of the LOGS in the $titel="PHP-Webmachine for fhem :-)"; # feel free to create an own title
#fhem.cfg at startup. Default: no Values: yes/no #$timeformat="Y-m-d H:i:s"; # English
$showAT='no'; #show the AT_JOBS at startup. Default: yes Values: yes/no $timeformat="d.m.Y H:i:s"; # German
$showNOTI='no'; #show the NOTIFICATIONS at startup. Default: no Values: yes/no $winsize=800; # width of the pgm3
$showHIST='yes'; #show the HISTORY (if taillog=1) at startup. Default: yes Values: yes/no #$winsize="100%"; # width of the pgm3
$showPICS='no'; #if shwowebcam=1 then initial the Pics will be shown. Default: yes
$showWeath='yes'; # Show weather on startup? $enableweather must 1
$RSStitel='FHEM :-)'; ##########################
##### SKINS - change your colors
$urlreload=90; # Automatic reloading page [sec]. Default fast: 60 slow:90 # Look at http://www.farb-tabelle.de/de/farbtabelle.htm for colors
$titel="PHP-Webmachine for fhem :-)"; #feel free to create an own title ## DEFAULT
#$timeformat="Y-m-d H:i:s"; #English $bodybg="bgcolor='#F5F5F5'";
$timeformat="d.m.Y H:i:s"; # German $bg1="bgcolor='#6E94B7'"; # e.g. Header
$winsize=800; # width of the pgm3 $bg2="bgcolor='#AFC6DB'"; # e.g. behind the buttons
$bg4="bgcolor='#6394BD'"; # border around all
$bg5="bgcolor='#FFFFFF'"; # between the tables
$fontcolor1="color='#FFFFFF'";
########################## $fontcolor3="color='#143554'";
##### SKINS - change your colors # The Button needs decimal Code Instead Hex.
# Look at http://www.farb-tabelle.de/de/farbtabelle.htm for colors # Use the column left from the HEX.
## DEFAULT # You must delete the old graphics after the change. "rm <pgm3>/tmp/*"
$bodybg="bgcolor='#F5F5F5'"; $buttonBg_R='175';$buttonBg_G='198';$buttonBg_B='219';
$bg1="bgcolor='#6E94B7'"; # e.g. Header $bg1_R='110';$bg1_G='148';$bg1_B='181';
$bg2="bgcolor='#AFC6DB'"; # e.g. behind the buttons
$bg4="bgcolor='#6394BD'"; # border around all ##########################
$bg5="bgcolor='#FFFFFF'"; # between the tables ##ORANGE
$fontcolor1="color='#FFFFFF'"; #$bodybg="bgcolor='#FFDAB9'";
$fontcolor3="color='#143554'"; #$bg1="bgcolor='#FF8C00'";
# The Button needs decimal Code Instead Hex. #$bg2="bgcolor='#FFA500'";
# Use the column left from the HEX. #$bg4="bgcolor='#6394BD'";
# You must delete the old graphics after the change. "rm <pgm3>/tmp/*" #$bg5="bgcolor='#FFFFFF'";
$buttonBg_R='175';$buttonBg_G='198';$buttonBg_B='219'; #$fontcolor1="color='#000000'";
$bg1_R='110';$bg1_G='148';$bg1_B='181'; #$fontcolor3="color='#000000'";
########################## # The Button needs decimal Code Instead Hex.
##ORANGE # Use the column left from the HEX on
#$bodybg="bgcolor='#FFDAB9'"; # http://www.farb-tabelle.de/de/farbtabelle.htm
#$bg1="bgcolor='#FF8C00'"; # You must delete the old graphics after the change. "rm <pgm3>/tmp/*"
#$bg2="bgcolor='#FFA500'"; #$buttonBg_R='255';$buttonBg_G='165';$buttonBg_B='0';
#$bg4="bgcolor='#6394BD'"; #Dec-Code from $bg1:
#$bg5="bgcolor='#FFFFFF'"; #$bg1_R='255';$bg1_G='140';$bg1_B='0';
#$fontcolor1="color='#000000'";
#$fontcolor3="color='#000000'";
# The Button needs decimal Code Instead Hex.
# Use the column left from the HEX on
# http://www.farb-tabelle.de/de/farbtabelle.htm ##########################
# You must delete the old graphics after the change. "rm <pgm3>/tmp/*" $fontcol_grap_R=20;
#$buttonBg_R='255';$buttonBg_G='165';$buttonBg_B='0'; $fontcol_grap_G=53;
#Dec-Code from $bg1: $fontcol_grap_B=84;
#$bg1_R='255';$bg1_G='140';$bg1_B='0'; $fontttf="Vera";
$fontttfb="VeraBd"; ##copyright of the fonts: docs/copyright_font
## if there is now graphic try the following:
# $fontttf="Vera.ttf";
# $fontttfb="VeraBd.ttf";
########################## # or absolut:
$fontcol_grap_R=20; # $fontttf="/srv/www/htdocs/fhz/include/Vera.ttf";
$fontcol_grap_G=53; # $fontttfb="/srv/www/htdocs/fhz/include/VeraBd.ttf";
$fontcol_grap_B=84;
$fontttf="Vera";
$fontttfb="VeraBd"; ##copyright of the fonts: docs/copyright_font
## if there is now graphic try the following:
# $fontttf="Vera.ttf"; ############################### end of settings
# $fontttfb="VeraBd.ttf"; putenv('GDFONTPATH=' . realpath('.'));
# or absolut:
# $fontttf="/srv/www/htdocs/fhz/include/Vera.ttf";
# $fontttfb="/srv/www/htdocs/fhz/include/VeraBd.ttf";
### If DB-query is used, this is the only point of connect. ###
if ($DBUse=="1") {
@mysql_connect($DBNode, $DBUser, $DBPass) or die("Can't connect");
@mysql_select_db($DBName) or die("No database found");
############################### end of settings }
putenv('GDFONTPATH=' . realpath('.'));
?>
### If DB-query is used, this is the only point of connect. ###
if ($DBUse=="1") {
@mysql_connect($DBNode, $DBUser, $DBPass) or die("Can't connect");
@mysql_select_db($DBName) or die("No database found");
}
?>

View File

@ -0,0 +1,16 @@
<?php
##DB-Functions for pgm3
include "config.php";
### If DB-query is used, this is the only point of connect. ###
if ($DBUse=="1") {
@mysql_connect($DBNode, $DBUser, $DBPass) or die("Can't connect");
@mysql_select_db($DBName) or die("No database found");
}
?>

View File

@ -1,121 +1,161 @@
<?php <?php
################# Creates graphics for pgm3 ################# Creates graphics for pgm3
################ ################
include "../config.php"; include "../config.php";
$drawfs20=$_GET['drawfs20']; $drawfs20=$_GET['drawfs20'];
$statefs20=$_GET['statefs20']; $statefs20=$_GET['statefs20'];
$datefs20=$_GET['datefs20']; $datefs20=$_GET['datefs20'];
$room=$_GET['room']; $icon=$_GET['icon'];
$emap=$_GET['emap'];
$subType=$_GET['subType'];
## do we really need a new graphic?? $room=$_GET['room'];
#$execorder=$tailpath.' -1 '.$file;
#exec($execorder,$tail1); $img_path=$AbsolutPath."/include/img/";
#$parts = explode(" ", $tail1[0]);
#$date=$parts[0]; ## do we really need a new graphic??
#$execorder=$tailpath.' -1 '.$file;
#exec($execorder,$tail1);
$savefile=$AbsolutPath."/tmp/FS20.".$drawfs20.".log.".$datefs20.".png"; #$parts = explode(" ", $tail1[0]);
if (file_exists($savefile)) { #$date=$parts[0];
$im2 = @ImageCreateFromPNG($savefile);
header("Content-type: image/png"); $savefile=$AbsolutPath."/tmp/FS20.".$drawfs20.".log.".$datefs20.".png";
imagePng($im2); if (file_exists($savefile)) {
exit; # ;-)))
} $im2 = @ImageCreateFromPNG($savefile);
else #delete old pngs header("Content-type: image/png");
{ imagePng($im2);
$delfile=$AbsolutPath."/tmp/FS20.".$drawfs20.".log.*.png"; exit; # ;-)))
foreach (glob($delfile) as $filename) { }
unlink($filename); else #delete old pngs
} {
} $delfile=$AbsolutPath."/tmp/FS20.".$drawfs20.".log.*.png";
foreach (glob($delfile) as $filename) {
unlink($filename);
}
}
$im = ImageCreateTrueColor($imgmaxxfs20,$imgmaxyfs20); $im = ImageCreateTrueColor($imgmaxxfs20,$imgmaxyfs20);
$black = ImageColorAllocate($im, 0, 0, 0); $black = ImageColorAllocate($im, 0, 0, 0);
$bg1p = ImageColorAllocate($im, $bg1_R,$bg1_G,$bg1_B); $bg1p = ImageColorAllocate($im, $bg1_R,$bg1_G,$bg1_B);
$bg2p = ImageColorAllocate($im, $buttonBg_R,$buttonBg_G,$buttonBg_B); $bg2p = ImageColorAllocate($im, $buttonBg_R,$buttonBg_G,$buttonBg_B);
$bg3p = ImageColorAllocate($im, $fontcol_grap_R,$fontcol_grap_G,$fontcol_grap_B); $bg3p = ImageColorAllocate($im, $fontcol_grap_R,$fontcol_grap_G,$fontcol_grap_B);
$white = ImageColorAllocate($im, 255, 255, 255); $white = ImageColorAllocate($im, 255, 255, 255);
$gray= ImageColorAllocate($im, 133, 133, 133); $gray= ImageColorAllocate($im, 133, 133, 133);
$red = ImageColorAllocate($im, 255, 0, 0); $red = ImageColorAllocate($im, 255, 0, 0);
$green = ImageColorAllocate($im, 0, 255, 0); $green = ImageColorAllocate($im, 0, 255, 0);
$yellow= ImageColorAllocate($im, 255, 255, 0); $yellow= ImageColorAllocate($im, 255, 255, 0);
$orange= ImageColorAllocate($im, 255, 230, 25); $orange= ImageColorAllocate($im, 255, 230, 25);
ImageFill($im, 0, 0, $bg2p); ImageFill($im, 0, 0, $bg2p);
ImageRectangle($im, 0, 0, $imgmaxxfs20-1, $imgmaxyfs20-1, $white); ImageRectangle($im, 0, 0, $imgmaxxfs20-1, $imgmaxyfs20-1, $white);
if ((rtrim($statefs20)=="on" ) or (rtrim($statefs20)=="dimup") or (rtrim($statefs20)=="thermo-on")) $datefs20sep=explode(" ",$datefs20);
{ $statefs20sep=explode(" ",$statefs20);
$im2 = ImageCreateFromGIF("FS20.on.gif");
} if (($icon!='')) {
else if ((substr($statefs20sep[0],0,3)=='dim')) {
{ $statefs20tmp = 'on';
$im2 = ImageCreateFromGIF("FS20.off.gif"); }
}; else {
$w = imagesx($im2); $statefs20tmp = $statefs20sep[0];
$h = imagesy($im2); }
$im2 = ImageCreateFromPNG($img_path.$icon.".".$statefs20tmp.".png");
$datefs20sep=explode(" ",$datefs20); }
if ((substr($statefs20,0,12)=="on-for-timer" ) else {
or $im2 = ImageCreateFromPNG($img_path.$statefs20sep[0].".png");
($statefs20=="toggle")) }
{
$im2 = ImageCreateFromGIF("FS20.on.gif"); $w = imagesx($im2);
$im3 = ImageCreateFromGIF("FS20.off.gif"); $h = imagesy($im2);
Imagecopy($im,$im3,($imgmaxxfs20/2)-12,($imgmaxyfs20/2)-14,0,0,$w,$h);
Imagecopy($im,$im2,($imgmaxxfs20/2)-2,($imgmaxyfs20/2)-14,0,0,$w,$h); if ($roomname=='0') {
} $roomc=$roomcorr;
else }
{ else {
Imagecopy($im,$im2,($imgmaxxfs20/2)-8,($imgmaxyfs20/2)-14,0,0,$w,$h); $roomc='0';
}; }
###ttf
Imagecopy($im,$im2,($imgmaxxfs20/2)-20,($imgmaxyfs20/2)-7-$roomc,0,0,$w,$h);
$txtcolor=$bg3p;
$text=$statefs20;
$fontsize=7; $datefs20sep_1=explode(" ",$datefs20);
$box = @imageTTFBbox($fontsize,0, $fontttfb,$text); if (($dategerman == '1')) {
$textwidth = abs($box[4] - $box[0]); $datefs20_tmp_1 = $datefs20sep_1[0];
$textheight = abs($box[5] - $box[1]); $datefs20sep_2=explode("-",$datefs20_tmp_1);
$xcord = ($imgmaxxfs20/2)-($textwidth/2)-2; $date_button = $datefs20sep_2[2].".".$datefs20sep_2[1].".".$datefs20sep_2[0];
$ycord = ($imgmaxyfs20/2)+20; }
ImageTTFText ($im, $fontsize, 0, $xcord, $ycord, $txtcolor, $fontttfb, $text); else {
$date_button = $datefs20sep_1[0];
$text=$datefs20sep[0]; }
$box = @imageTTFBbox($fontsize,0, $fontttf,$text); $time_button = $datefs20sep_1[1];
$textwidth = abs($box[4] - $box[0]);
$textheight = abs($box[5] - $box[1]);
$xcord = ($imgmaxxfs20/2)-($textwidth/2)-2; if ($namesortbutton == '1') {
$ycord = ($imgmaxyfs20/2)+30; $pos_1 = strpos($drawfs20,$namesortbuttonsign);
ImageTTFText ($im, $fontsize, 0, $xcord, $ycord, $txtcolor, $fontttf, $text); if ($pos_1 > 0) {
$drawfs20=substr($drawfs20,$pos_1+1);
$text=$datefs20sep[1]; }
$box = @imageTTFBbox($fontsize,0, $fontttf,$text); }
$textwidth = abs($box[4] - $box[0]);
$textheight = abs($box[5] - $box[1]); if ($namereplacebutton == '1') {
$xcord = ($imgmaxxfs20/2)-($textwidth/2)-2; $drawfs20=str_replace($namereplacebuttonsign, " ", $drawfs20);
$ycord = ($imgmaxyfs20/2)+40; }
ImageTTFText ($im, $fontsize, 0, $xcord, $ycord, $txtcolor, $fontttf, $text);
$txtcolor=$bg3p;
###ttf
ImageTTFText ($im, $fs20fontsizetitel, 0, 5, 15, $txtcolor, $fontttfb, $drawfs20);
if ($room != '') {ImageTTFText ($im, 7, 0, 5, 26, $txtcolor, $fontttf, $txtroom.$room);}; if ($emap=='') {
$text=$statefs20;
}
imagePng($im,$savefile); else {
header("Content-type: image/png"); $text=$emap;
imagePng($im); }
?>
$txtcolor=$bg3p;
$fontsize=7;
$box = @imageTTFBbox($fontsize,0, $fontttfb,$text);
$textwidth = abs($box[4] - $box[0]);
$textheight = abs($box[5] - $box[1]);
$xcord = ($imgmaxxfs20/2)-($textwidth/2)-2;
$ycord = ($imgmaxyfs20/2)+23;
ImageTTFText ($im, $fontsize, 0, $xcord, $ycord, $txtcolor, $fontttfb, $text);
$text=$date_button;
$box = @imageTTFBbox($fontsize,0, $fontttf,$text);
$textwidth = abs($box[4] - $box[0]);
$textheight = abs($box[5] - $box[1]);
#$xcord = ($imgmaxxfs20/2)-($textwidth/2)+53;
$xcord = ($imgmaxxfs20)-($textwidth)-2;
$ycord = ($imgmaxyfs20/2)+33;
ImageTTFText ($im, $fontsize, 0, $xcord, $ycord, $txtcolor, $fontttf, $text);
$text=$time_button;
$box = @imageTTFBbox($fontsize,0, $fontttf,$text);
$textwidth = abs($box[4] - $box[0]);
$textheight = abs($box[5] - $box[1]);
#$xcord = ($imgmaxxfs20/2)-($textwidth/2)-58;
$xcord = 3;
$ycord = ($imgmaxyfs20/2)+33;
ImageTTFText ($im, $fontsize, 0, $xcord, $ycord, $txtcolor, $fontttf, $text);
$txtcolor=$bg3p;
ImageTTFText ($im, $fs20fontsizetitel, 0, 5, 15, $txtcolor, $fontttfb, $drawfs20);
if ($room != '' and $roomname=='1') {
ImageTTFText ($im, 7, 0, 5, 26, $txtcolor, $fontttf, $txtroom.$room);
};
imagePng($im,$savefile);
header("Content-type: image/png");
imagePng($im);
?>

View File

@ -1,80 +1,138 @@
<?php <?php
##Pulldown for FS20-Devices ##Pulldown for FS20-Devices
$orders=array("on","off","dimup","dimdown","on-for-timer","off-for-timer","dim06%","dim12%", $orders=array("on","off","dimup","dimdown","on-for-timer","off-for-timer","dim06%","dim12%",
"dim18%","dim25%","dim31%","dim37%","dim43%","dim50%","dim56%","dim62%","dim68%", "dim18%","dim25%","dim31%","dim37%","dim43%","dim50%","dim56%","dim62%","dim68%",
"dim75%","dim81%","dim87%","dim93%","dim100%","dimupdown","on-old-for-timer","reset", "dim75%","dim81%","dim87%","dim93%","dim100%","dimupdown","on-old-for-timer","reset",
"sendstate","timer","toggle"); "sendstate","timer","toggle");
echo " echo "
<tr> <tr>
<td colspan=1 align=right $bg2><font $fontcolor3>FS20: </font></td><td align=left $bg2><font $fontcolor3> <td colspan=1 align=right $bg2><font $fontcolor3>FS20: </font></td><td align=left $bg2><font $fontcolor3>
<form action=$forwardurl method='POST'> <form action=$forwardurl method='POST'>
<input type=hidden name=showfht value=$showfht> <input type=hidden name=showfht value=$showfht>
<input type=hidden name=showhms value=$showhms> <input type=hidden name=showhms value=$showhms>
<input type=hidden name=showmenu value=$showmenu> <input type=hidden name=showmenu value=$showmenu>
<input type=hidden name=Action value=exec2> <input type=hidden name=Action value=exec2>
<select name=atorder size=1> <select name=atorder size=1>
<option></option>; <option></option>;
<option>at</option></select> <option>at</option></select>
<select name=attime size=1> <select name=attime size=1>
<option></option>;"; <option></option>;";
for ($m=0; $m < 24; $m++) for ($m=0; $m < 24; $m++)
{ {
if ( $m < 10) $m = '0'.$m; if ( $m < 10) $m = '0'.$m;
for ($k=0; $k < 60; $k=$k+2) for ($k=0; $k < 60; $k=$k+2)
{ {
if ( $k < 10) $k = '0'.$k; if ( $k < 10) $k = '0'.$k;
echo "<option>$m:$k:00</option>"; echo "<option>$m:$k:00</option>";
} }
} }
echo"</select>"; echo"</select>";
echo" echo"
set set
<select name=fs20dev size=1> <select name=fs20dev size=1>
<option></option>"; <option></option>";
for ($m=0; $m < count($fs20devs); $m++) for ($m=0; $m < count($fs20devs); $m++)
{ {
echo $fs20dev; echo $fs20dev;
if ($fs20dev==$fs20devs[$m]) if ($fs20dev==$fs20devs[$m])
{ {
echo "<option selected>$fs20devs[$m]</option>"; echo "<option selected>$fs20devs[$m]</option>";
} else { } else {
echo "<option>$fs20devs[$m]</option>"; echo "<option>$fs20devs[$m]</option>";
} }
}; };
echo " echo "
</select><select name=orderpulldown size=1> </select><select name=orderpulldown size=1>
<option></option>"; <option></option>";
for ($m=0; $m < count($orders); $m++) for ($m=0; $m < count($orders); $m++)
{ {
if ($orderpulldown==$orders[$m]) if ($orderpulldown==$orders[$m])
{ {
echo "<option selected>$orders[$m]</option>"; echo "<option selected>$orders[$m]</option>";
} else { } else {
echo "<option>$orders[$m]</option>"; echo "<option>$orders[$m]</option>";
} }
}; };
echo "</select>
<select name=valuetime size=1> function mknullfs20($zahl,$stellen) {
<option></option>"; for($i=strlen($zahl);$i<$stellen;$i++){
for ($m=0; $m < 6000; $m++) $zahl="0" . $zahl;
{if ( $m > 20) $m = $m+4; }
if ( $m > 60) $m = $m+55; return $zahl;
echo "<option>$m</option>";} }
echo"</select> echo "</select>
<input type=submit value='go!'></form></td></tr>"; <select name=valuetime size=1> ### <------ valuetime muß eindeutig werden !!!
<option></option>";
?> echo "<option value=0>HH:MM:SS:MS</option>";
echo "<option value=0>00:00:00:00</option>";
echo "<option value=0.25>00:00:00:25</option>";
echo "<option value=0.5>00:00:00:50</option>";
echo "<option value=0.75>00:00:00:75</option>";
echo "<option value=1>00:00:01:00</option>";
echo "<option value=1.25>00:00:01:25</option>";
echo "<option value=1.5>00:00:01:50</option>";
echo "<option value=1.75>00:00:01:75</option>";
echo "<option value=2>00:00:02:00</option>";
echo "<option value=2.25>00:00:02:25</option>";
echo "<option value=2.5>00:00:02:50</option>";
echo "<option value=2.75>00:00:02:75</option>";
echo "<option value=3>00:00:03:00</option>";
echo "<option value=3.25>00:00:03:25</option>";
echo "<option value=3.5>00:00:03:50</option>";
echo "<option value=3.75>00:00:03:75</option>";
echo "<option value=4>00:00:04:00</option>";
echo "<option value=4.5>00:00:04:50</option>";
echo "<option value=5>00:00:05:00</option>";
echo "<option value=5.5>00:00:05:50</option>";
echo "<option value=6>00:00:06:00</option>";
echo "<option value=6.5>00:00:06:50</option>";
echo "<option value=7>00:00:07:00</option>";
echo "<option value=7.5>00:00:07:50</option>";
for ($m=8; $m < 15360; $m++) {
if ( $m > 16) $m = $m+1;
if ( $m > 32) $m = $m+2;
if ( $m > 64) $m = $m+4;
if ( $m > 128) $m = $m+8;
if ( $m > 256) $m = $m+16;
if ( $m > 512) $m = $m+32;
if ( $m > 1024) $m = $m+64;
if ( $m > 2048) $m = $m+128;
if ( $m > 4096) $m = $m+256;
if ( $m > 8192) $m = $m+512;
if ( $m > 7)
$sek=$m;
$std=floor($sek/3600);
$min=floor(($sek-$std*3600)/60);
$sec=$sek-$std*3600-$min*60;
$std=mknullfs20($std,2);
$min=mknullfs20($min,2);
$sec=mknullfs20($sec,2);
echo "<option value=$m>$std:$min:$sec</option>";}
echo"</select>
<input type=submit value='go!'></form></td></tr>";
# <select name=valuetime size=1>
# <option></option>";
# for ($m=0; $m < 6000; $m++)
# {if ( $m > 20) $m = $m+4;
# if ( $m > 60) $m = $m+55;
# echo "<option>$m</option>";}
#
# echo"</select>
?>

View File

@ -51,7 +51,7 @@ function drawgnuplot($gnudraw,$gnutyp,$gnuplot,$pictype,$logpath,$FHTyrange,$FHT
$OUT2="set output 'tmp/$gnudraw1.$pictype'"; $OUT2="set output 'tmp/$gnudraw1.$pictype'";
$gplothdr=" $gplothdr="
set terminal $pictype set terminal $pictype crop
set xdata time set xdata time
set timefmt '%Y-%m-%d_%H:%M:%S' set timefmt '%Y-%m-%d_%H:%M:%S'
set xlabel ' ' set xlabel ' '

View File

@ -0,0 +1,131 @@
<?php
##Pulldown for HomeMatic-Devices
$order1=array("on","off","toggle","on-for-timer");
$order2=range(0, 100, 1);
$order3=array("pair","unpair","statusRequest","sign","raw","reset");
$order8=array("-- Dim in % --");
$order9=array("---------------");
$orders=array_merge($order1, $order9, $order8, $order2, $order9, $order3);
echo "
<tr>
<td colspan=1 align=right $bg2><font $fontcolor3>HomeMatic: </font></td><td align=left $bg2><font $fontcolor3>
<form action=$forwardurl method='POST'>
<input type=hidden name=showfht value=$showfht>
<input type=hidden name=showhms value=$showhms>
<input type=hidden name=showmenu value=$showmenu>
<input type=hidden name=Action value=exec4>
<select name=atorder size=1>
<option></option>;
<option>at</option></select>
<select name=attime size=1>
<option></option>;";
for ($m=0; $m < 24; $m++)
{
if ( $m < 10) $m = '0'.$m;
for ($k=0; $k < 60; $k=$k+2)
{
if ( $k < 10) $k = '0'.$k;
echo "<option>$m:$k:00</option>";
}
}
echo"</select>";
echo"
set
<select name=culhmdev size=1>
<option></option>";
for ($m=0; $m < count($culhmdevs); $m++)
{
echo $culhmdev;
if ($culhmdev==$culhmdevs[$m])
{
echo "<option selected>$culhmdevs[$m]</option>";
} else {
echo "<option>$culhmdevs[$m]</option>";
}
};
echo "
</select><select name=orderpulldown size=1>
<option></option>";
for ($m=0; $m < count($orders); $m++)
{
if ($orderpulldown==$orders[$m])
{
echo "<option selected>$orders[$m]</option>";
} else {
echo "<option>$orders[$m]</option>";
}
};
function mknullhm($zahl,$stellen) {
for($i=strlen($zahl);$i<$stellen;$i++){
$zahl="0" . $zahl;
}
return $zahl;
}
echo "</select>
<select name=valuetime size=1> ### <------ valuetime muß eindeutig werden !!!
<option></option>";
echo "<option value=0>HH:MM:SS:MS</option>";
echo "<option value=0>00:00:00:00</option>";
echo "<option value=0.25>00:00:00:25</option>";
echo "<option value=0.5>00:00:00:50</option>";
echo "<option value=0.75>00:00:00:75</option>";
echo "<option value=1>00:00:01:00</option>";
echo "<option value=1.25>00:00:01:25</option>";
echo "<option value=1.5>00:00:01:50</option>";
echo "<option value=1.75>00:00:01:75</option>";
echo "<option value=2>00:00:02:00</option>";
echo "<option value=2.25>00:00:02:25</option>";
echo "<option value=2.5>00:00:02:50</option>";
echo "<option value=2.75>00:00:02:75</option>";
echo "<option value=3>00:00:03:00</option>";
echo "<option value=3.25>00:00:03:25</option>";
echo "<option value=3.5>00:00:03:50</option>";
echo "<option value=3.75>00:00:03:75</option>";
echo "<option value=4>00:00:04:00</option>";
echo "<option value=4.5>00:00:04:50</option>";
echo "<option value=5>00:00:05:00</option>";
echo "<option value=5.5>00:00:05:50</option>";
echo "<option value=6>00:00:06:00</option>";
echo "<option value=6.5>00:00:06:50</option>";
echo "<option value=7>00:00:07:00</option>";
echo "<option value=7.5>00:00:07:50</option>";
for ($m=8; $m < 15360; $m++) {
if ( $m > 16) $m = $m+1;
if ( $m > 32) $m = $m+2;
if ( $m > 64) $m = $m+4;
if ( $m > 128) $m = $m+8;
if ( $m > 256) $m = $m+16;
if ( $m > 512) $m = $m+32;
if ( $m > 1024) $m = $m+64;
if ( $m > 2048) $m = $m+128;
if ( $m > 4096) $m = $m+256;
if ( $m > 8192) $m = $m+512;
if ( $m > 7)
$sek=$m;
$std=floor($sek/3600);
$min=floor(($sek-$std*3600)/60);
$sec=$sek-$std*3600-$min*60;
$std=mknullhm($std,2);
$min=mknullhm($min,2);
$sec=mknullhm($sec,2);
echo "<option value=$m>$std:$min:$sec</option>";}
echo"</select>
<input type=submit value='go!'></form></td></tr>";
?>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

File diff suppressed because it is too large Load Diff