mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 06:39:11 +00:00
96845eb5fb
git-svn-id: https://svn.fhem.de/fhem/trunk@1572 2b470e98-0d58-463d-a4d8-8e2adae1ed80
420 lines
19 KiB
PHP
420 lines
19 KiB
PHP
<?php
|
||
|
||
##################################################################################
|
||
#### pgm3 -- a PHP-webfrontend for fhem.pl
|
||
|
||
### Look at http://www.fhemwiki.de for more information
|
||
|
||
|
||
###### required settings
|
||
#$fhem="fritz.box"; # only php5 is supported! On which machine is fhem runnning??
|
||
$fhem="localhost"; # only php5 is supported! On which machine is fhem runnning??
|
||
# it needs not to be on the same machine as fhem
|
||
# if it is not localhost then the fhem.cfg must
|
||
# run global: "attr global port <nr> global"
|
||
$fhemport="7072"; # port of fhem.pl
|
||
#$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
|
||
$logpath="/var/tmp/"; # where are your logs? Use a writabel nfs-share if pgm3 and fhem are not on the same machine
|
||
$AbsolutPath="/var/www/"; # where ist your pgm3?
|
||
|
||
###### DBlog instead of Filelogs -- only for experienced Users!
|
||
## Look at contrib/dblog and http://fhemwiki.de for further information
|
||
$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?
|
||
$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
|
||
|
||
|
||
|
||
|
||
|
||
##### 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='yes'; # yes/no default='yes'
|
||
|
||
|
||
## Kioskmode. Only show but don't switch anything. Values: on/off
|
||
$kioskmode='off';
|
||
|
||
|
||
## Webcams
|
||
$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...
|
||
$webcamroom='donthide'; # existing room. Otherwise it will either
|
||
# be in ALL or wiht 'donthide' not hided
|
||
#$webcam[0]='http://webcam/IMAGE.JPG';
|
||
#$webcam[1]='http://webcam2/IMAGE.JPG';
|
||
#$webcam[1]='http://www.bostream.nu/hoganas/OutsideTempHistory.gif';
|
||
#$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=1; # show the google-weather?
|
||
$weathercity='Butzbach';
|
||
$weathercountry='Germany';
|
||
$weatherlang='de';
|
||
#$weatherlang='en';
|
||
$weatherroom='donthide'; # existing room. Otherwise it will either
|
||
# $weatherroom='(19)Garten'; # existing room. Otherwise it will either
|
||
# be in ALL or with 'donthide' not hided
|
||
|
||
|
||
##############################################################################################
|
||
## FHZ-DEVICES
|
||
$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
|
||
$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)
|
||
$logsort='| sort -r'; #sort the Log-Output how you want;
|
||
|
||
##############################################################################################
|
||
# ATTENTION: the changes of sizes only affects after the next build of pictures!
|
||
# or delete the old pictures: rm <pgm>/tmp/*
|
||
##############################################################################################
|
||
## FS20-Device, adjust it if you have e.g. long titles
|
||
|
||
#$imgmaxxfs20=166; # Size of the pictures, default=85
|
||
$imgmaxxfs20=115; # Size of the pictures, default=115
|
||
$imgmaxyfs20=75; # default=75
|
||
$fs20fontsizetitel=10; # default=10
|
||
$fs20maxiconperline=7; # default=r79
|
||
|
||
# look at http://fhemwiki.de for explanations
|
||
$roomname='0'; # Show Roomname on Button [1|0]
|
||
$roomcorr='5'; # Correction for Iconposition if roomname = 0 [n]
|
||
$dategerman='1'; # Date in German Format (25.03.2012) [1|0]
|
||
$umlaute='1'; # Changes "ue" in "<22>"... [1|0]
|
||
$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]
|
||
|
||
# room. Write e.g. "attr rolowz room wzo"
|
||
# into your fhem.cfg and restart fhem.pl
|
||
# this will be marked on the FS20-Button.
|
||
$txtroom=""; # default=""; example: $txtroom="room: ";
|
||
# room hidden will not be shown
|
||
|
||
##############################################################################################
|
||
## ROOMS adjust it if you have e.g. long titles
|
||
|
||
$showroombuttons=1; # default 1 Values 0/1
|
||
$imgmaxxroom=$imgmaxxfs20; # Size of the pictures, default=$imgmaxxfs20
|
||
$imgmaxyroom=22; # default=30
|
||
$roomfontsizetitel=10; # default=9
|
||
$roommaxiconperline=$fs20maxiconperline-1; # default=$fs20maxiconperline
|
||
|
||
$namesortroom='1'; # [1|0]
|
||
$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]
|
||
|
||
##############################################################################################
|
||
|
||
## FHT-Devices
|
||
$imgmaxxfht=725; #Size of the pictures Default: 725
|
||
$imgmaxyfht=52;
|
||
$show_desiredtemp=1; # show the desired_temp as a graphic (0/1)
|
||
$desR='255'; $desG='255'; $desB='255'; # Color of desired-temp-line Red/Green/Blue (Default: 255/255/255)
|
||
$show_actuator=1; # show the actuator-value as a graphic (0/1)
|
||
$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)
|
||
$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)
|
||
$XcorrectMainText=32; # Text of main text from the right side (Default: 32)
|
||
$logrotateFHTlines=8200; # automatic Logrotate; $logrotate must be 'yes'.
|
||
# Default:8200
|
||
# 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
|
||
# from fhem.pl (user = ???)
|
||
|
||
|
||
|
||
|
||
##############################################################################################
|
||
## HMS-Devices
|
||
$imgmaxxhms=725; #Size of the pictures. Default: 725
|
||
$imgmaxyhms=52;
|
||
$maxcountHMS='575'; # Maximum count of pixel (from right to left) (Default:575)
|
||
$XcorrectMainTextHMS=25; # Text of main text from the right side (Default:)
|
||
$showdewpoint='yes'; # Dewpoint (german: taupunkt)
|
||
$logrotateHMSlines=1500; # automatic Logrotate; $logrotate must be 'yes'.
|
||
# Default:1500
|
||
# 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
|
||
# from fhem.pl (user = ???)
|
||
|
||
##############################################################################################
|
||
## KS300-Device
|
||
$imgmaxxks=725; #Size of the pictures Default: 725
|
||
|
||
$imgmaxyks=52;
|
||
$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'.
|
||
# Default: 13000
|
||
# 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
|
||
# from fhem.pl (user = ???)
|
||
|
||
##############################################################################################
|
||
## USERDEF
|
||
#
|
||
# Create your own graphics! If you have separate Programs (e.g. wired devices) then create your own
|
||
# logfile and tell pgm3 to use it.
|
||
# 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
|
||
|
||
#Example:
|
||
####################################################
|
||
# 2007-10-13_13:45:14 solarI Is: 0.0 Vs: 4.5 T: 22
|
||
####################################################
|
||
# Field1: 2007-10-13_13:45:14
|
||
# Field2: solarI
|
||
# Field3: Is:
|
||
# Field4: 0.0
|
||
#...
|
||
# 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.
|
||
|
||
|
||
# Do you want user defined graphics? 1/0 Default: 0
|
||
$UserDefs=0;
|
||
|
||
#####################
|
||
## Userdef: 0
|
||
|
||
# the sortnumbers must be complete. eg. 0 1 2 3 or 2 0 3 1 and so on
|
||
#$sortnumber=0;
|
||
|
||
# No blanks or other special signs!!
|
||
#$userdef[$sortnumber]['name']='SolarV';
|
||
|
||
#In which field are the values?? See the example above
|
||
#$userdef[$sortnumber]['valuefield']=4;
|
||
|
||
#Type of Device [temperature | piri | fs20] pgm3 will try to generate a gnuplot picture
|
||
#$userdef[$sortnumber]['gnuplottype']='temperature';
|
||
|
||
# example, path to the logfile with the entrys like above
|
||
#$userdef[$sortnumber]['logpath']=$logpath.'/lse_solarV.log';
|
||
|
||
#$userdef[$sortnumber]['room']='garden';
|
||
|
||
# Semantic eg. Voltage
|
||
#$userdef[$sortnumber]['semlong']='Voltage';
|
||
|
||
# Semantic short e.g. V
|
||
#$userdef[$sortnumber]['semshort']='V';
|
||
|
||
#Size of the pictures. Default: 725
|
||
#$userdef[$sortnumber]['imagemax']=725;
|
||
#$userdef[$sortnumber]['imagemay']=52;
|
||
|
||
# Maximum count of pixel (from right to left) (Default:575)
|
||
#$userdef[$sortnumber]['maxcount']=575;
|
||
|
||
# Text of main text from the right side (Default:)
|
||
#$userdef[$sortnumber]['XcorrectMainText']=25;
|
||
|
||
# automatic Logrotate; $logrotate must be 'yes'.
|
||
# Default:2200
|
||
# 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 = ???)
|
||
#$userdef[$sortnumber]['logrotatelines']=2200;
|
||
|
||
|
||
########################
|
||
# example:
|
||
#define solarpumpe.log FileLog /var/tmp/solarpumpe.log solarpumpe:.*(on|off).*
|
||
$sortnumber=0;
|
||
$userdef[$sortnumber]['name']='SolarPumpe';
|
||
#$userdef[$sortnumber]['name']='';
|
||
$userdef[$sortnumber]['valuefield']=3;
|
||
$userdef[$sortnumber]['gnuplottype']='fs20';
|
||
$userdef[$sortnumber]['logpath']='/var/tmp/solarpumpe.log';
|
||
$userdef[$sortnumber]['room']='cellar';
|
||
$userdef[$sortnumber]['semlong']='Solarpumpe';
|
||
$userdef[$sortnumber]['semshort']='';
|
||
$userdef[$sortnumber]['imagemax']=725;
|
||
$userdef[$sortnumber]['imagemay']=52;
|
||
$userdef[$sortnumber]['maxcount']=575;
|
||
$userdef[$sortnumber]['XcorrectMainText']=25;
|
||
$userdef[$sortnumber]['logrotatelines']=50;
|
||
##########################
|
||
$sortnumber=1;
|
||
$userdef[$sortnumber]['name']='netbook';
|
||
$userdef[$sortnumber]['valuefield']=3;
|
||
$userdef[$sortnumber]['gnuplottype']='fs20';
|
||
$userdef[$sortnumber]['logpath']='/var/tmp/netbook.User.log';
|
||
$userdef[$sortnumber]['room']='wgo';
|
||
$userdef[$sortnumber]['semlong']='netbook';
|
||
$userdef[$sortnumber]['semshort']='';
|
||
$userdef[$sortnumber]['imagemax']=725;
|
||
$userdef[$sortnumber]['imagemay']=52;
|
||
$userdef[$sortnumber]['maxcount']=575;
|
||
$userdef[$sortnumber]['XcorrectMainText']=25;
|
||
$userdef[$sortnumber]['logrotatelines']=2000;
|
||
##########################
|
||
$sortnumber=2;
|
||
$userdef[$sortnumber]['name']='PiriU';
|
||
$userdef[$sortnumber]['valuefield']=3;
|
||
$userdef[$sortnumber]['gnuplottype']='piri';
|
||
$userdef[$sortnumber]['logpath']='/var/tmp/piriu.log';
|
||
$userdef[$sortnumber]['room']='wgu';
|
||
$userdef[$sortnumber]['semlong']='Piri unten';
|
||
$userdef[$sortnumber]['semshort']='';
|
||
$userdef[$sortnumber]['imagemax']=725;
|
||
$userdef[$sortnumber]['imagemay']=52;
|
||
$userdef[$sortnumber]['maxcount']=575;
|
||
$userdef[$sortnumber]['XcorrectMainText']=25;
|
||
$userdef[$sortnumber]['logrotatelines']=500;
|
||
##########################
|
||
#$sortnumber=3;
|
||
#$userdef[$sortnumber]['name']='water';
|
||
#$userdef[$sortnumber]['valuefield']=4;
|
||
#$userdef[$sortnumber]['gnuplottype']='temperature';
|
||
#$userdef[$sortnumber]['logpath']='/var/tmp/water.log';
|
||
#$userdef[$sortnumber]['room']='cellar';
|
||
#$userdef[$sortnumber]['semlong']='Water';
|
||
#$userdef[$sortnumber]['semshort']='C';
|
||
#$userdef[$sortnumber]['imagemax']=725;
|
||
#$userdef[$sortnumber]['imagemay']=52;
|
||
#$userdef[$sortnumber]['maxcount']=575;
|
||
#$userdef[$sortnumber]['XcorrectMainText']=25;
|
||
#$userdef[$sortnumber]['logrotatelines']=2000;
|
||
|
||
|
||
|
||
########################
|
||
|
||
###### showgnuplot
|
||
# Gnuplot will automatically show the pictures.
|
||
# There is no reason any more to deactivate Gnuplot. Values: 0/1
|
||
$showgnuplot=1;
|
||
$gnuplot='/usr/bin/gnuplot'; # location of gnuplot
|
||
$pictype='png';
|
||
|
||
|
||
|
||
##############################################################################################
|
||
## misc
|
||
$taillog=1; #make shure to have the correct rights. Values: 0/1
|
||
$tailcount=30; #make shure to have the correct rights. Values: 0/1
|
||
$tailpath="/usr/bin/tail";
|
||
#$taillogorder=$tailpath." -$tailcount $logpath/fhem.log ";
|
||
$taillogorder=$tailpath." -$tailcount $logpath/fhem-" . date("Y") . "-" . date("m") . ".log "; #if you have e.g. fhem-2009-02.log
|
||
|
||
|
||
|
||
## show Information at STARTUP.
|
||
$showLOGS='no'; #show the entrys of the LOGS in the
|
||
#fhem.cfg at startup. Default: no Values: yes/no
|
||
$showAT='no'; #show the AT_JOBS at startup. Default: yes Values: yes/no
|
||
$showNOTI='no'; #show the NOTIFICATIONS at startup. Default: no Values: yes/no
|
||
$showHIST='yes'; #show the HISTORY (if taillog=1) at startup. Default: yes Values: yes/no
|
||
#$showPICS='no'; #if shwowebcam=1 then initial the Pics will be shown. Default: yes
|
||
$showPICS='yes'; #if shwowebcam=1 then initial the Pics will be shown. Default: yes
|
||
$showWeath='yes'; # Show weather on startup? $enableweather must 1
|
||
|
||
$RSStitel='FHEM';
|
||
|
||
$urlreload=60; # Automatic reloading page [sec]. Default fast: 60 slow:90
|
||
$titel="PHP-Webmachine for fhem :-)"; # feel free to create an own title
|
||
#$timeformat="Y-m-d H:i:s"; # English
|
||
$timeformat="d.m.Y H:i:s"; # German
|
||
$winsize=800; # width of the pgm3
|
||
#$winsize="100%"; # width of the pgm3
|
||
|
||
|
||
|
||
##########################
|
||
##### SKINS - change your colors
|
||
# Look at http://www.farb-tabelle.de/de/farbtabelle.htm for colors
|
||
## DEFAULT
|
||
$bodybg="bgcolor='#F5F5F5'";
|
||
$bg1="bgcolor='#6E94B7'"; # e.g. Header
|
||
$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'";
|
||
# The Button needs decimal Code Instead Hex.
|
||
# Use the column left from the HEX.
|
||
# You must delete the old graphics after the change. "rm <pgm3>/tmp/*"
|
||
$buttonBg_R='175';$buttonBg_G='198';$buttonBg_B='219';
|
||
$bg1_R='110';$bg1_G='148';$bg1_B='181';
|
||
|
||
##########################
|
||
##ORANGE
|
||
#$bodybg="bgcolor='#FFDAB9'";
|
||
#$bg1="bgcolor='#FF8C00'";
|
||
#$bg2="bgcolor='#FFA500'";
|
||
#$bg4="bgcolor='#6394BD'";
|
||
#$bg5="bgcolor='#FFFFFF'";
|
||
#$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/*"
|
||
#$buttonBg_R='255';$buttonBg_G='165';$buttonBg_B='0';
|
||
#Dec-Code from $bg1:
|
||
#$bg1_R='255';$bg1_G='140';$bg1_B='0';
|
||
|
||
|
||
|
||
|
||
##########################
|
||
$fontcol_grap_R=20;
|
||
$fontcol_grap_G=53;
|
||
$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";
|
||
# $fontttfb="VeraBd.ttf";
|
||
# or absolut:
|
||
# $fontttf="/srv/www/htdocs/fhz/include/Vera.ttf";
|
||
# $fontttfb="/srv/www/htdocs/fhz/include/VeraBd.ttf";
|
||
|
||
|
||
|
||
|
||
############################### 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");
|
||
}
|
||
|
||
|
||
?>
|