[HowTo] Temperatur und Feuchtigkeitssensor DHT11/DHT22 an SaS

Das sind doch gute Informationen; jetzt kratze ich auf der Tischkante bis die Sensoren da sind ..
 
Beim direkten Anschluss des DS18B20 an die GPIO den Widerstand nicht vergessen und auf die "Beinchenbelegung" achten.

- - - Aktualisiert - - -

Hier mal ein Shellscript, was ähnlich die Temperaturwerte für den DS18B20 ausgibt wie tempfeuchtwpi für den DHT11

tempgpio
Code:
#!/bin/bash
#
# ╔═══╗ ╔═══╗ ╔═══╗ ┌───────────────────────────────────────────────────┐
# ║     ║   ║ ║     │  SensorAndSwitch (C)2014-16 Bluedragon            │
# ╚═══╗ ╠═══╣ ╚═══╗ ├──────────────────┬────────────────────────────────┤
#     ║ ║   ║     ║ │  SAS-Core-Sys    │  tempgpio                      │
# ╚═══╝ ╝   ╚ ╚═══╝ ├──────────────────┴────────────────────────────────┤
# ┌─────────────────┤  Temperatur DS18B20 GPIO                          │
# │  Info:          ╘═══════════════════════════════════════════════════╡
# ├─────────────────────────────────────────────────────────────────────┤
# │  Temperatursensor DS18B20 GPIO Wert-Ausgabe                         │
# ╘═════════════════════════════════════════════════════════════════════╛
#
VER=6.00.0018
#
SASSYS=/usr/local/bin/sas
#
XSPC="                                        "
XDEVICE=$1$XSPC
XDEVICE=${XDEVICE:0:15}
#
if [ "$1" == "--help" ] || [ "$1" == "-h" ]; then
 echo -e "┌───────────────────────────────────┐"
 echo -e "│\e[45m\e[1m SensorAndSwitch Version $VER \e[0m│"
 echo -e "├───────────────────────────────────┤"
 echo -e "│ \e[1m\e[44mSyntax:\e[0m                           │"
 echo -e "│  tempgpio DEVICE                  │"
 echo -e "│        - liefert den Wert des     │"
 echo -e "│          CPU-Temperatursensors    │"
 echo -e "│          als 1/10 Grad Celsius    │"
 echo -e "│          (Z. B. 489 = 48,9°C)     │"
 echo -e "│          DEVICE ist z.B.          │"
 echo -e "│          28-000002af52ca          │"
 echo -e "│  tempgpio DEVICE info|i           │"
 echo -e "│        - zeigt den Wert aufbe-    │"
 echo -e "│          reitet als Grad Celsius  │"
 echo -e "│          mit einer Kommastelle an │"
 echo -e "│  tempgpio -h|--help               │"
 echo -e "│        - diese Hilfe              │"
 echo -e "└───────────────────────────────────┘"
else
 if [ -e /sys/bus/w1/devices/$1/w1_slave ]; then
  TEMPGPIO=$(echo "scale=0;$(cat /sys/bus/w1/devices/$1/w1_slave | grep  -E -o ".{0,0}t=.{0,5}" | cut -c 3-)/100" | bc)
  if [ "$2" == "info" ] || [ "$2" == "i" ]; then
   XTEMPGPIO=$(echo "scale=1;$TEMPGPIO / 10" | bc)
   XTEMPGPIO=$(echo $XTEMPGPIO | sed 's/\./,/g')
   XTEMPGPIO=$(printf "%2.1f" $XTEMPGPIO)
   echo -e "┌───────────────────────────────────┐"
   echo -e "│\e[45m\e[1m SensorAndSwitch Version $VER \e[0m│"
   echo -e "├──────────────────────────┬────────┤"
   echo -e "│ Temperatursensor DS18B20 │ \e[36m\e[1m$XTEMPGPIO°C\e[0m │"
   echo -e "│ $XDEVICE          │        │"
   echo -e "└──────────────────────────┴────────┘"
  else
   echo $TEMPGPIO
  fi
 else
  if [ "$2" == "info" ] || [ "$2" == "i" ]; then
   echo -e "┌───────────────────────────────────┐"
   echo -e "│\e[45m\e[1m SensorAndSwitch Version $VER \e[0m│"
   echo -e "├──────────────────────────┬────────┤"
   echo -e "│ Temperatursensor DS18B20 │ \e[31m\e[1m -,-°C\e[0m │"
   echo -e "│ $XDEVICE          │        │"
   echo -e "└──────────────────────────┴────────┘"
  else
   echo ""
  fi
 fi
fi
#EOF

- - - Aktualisiert - - -

psgTempDS18B20.php
PHP:
 <?php

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch                                      PSG-Script   |
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    include __DIR__."/../include/psg.php";
    $gerarray=getGerInfo(substr(basename(__FILE__,".php"),3));

    if ($gerarray["Counter"]>=4) {
        $ver="V#V 1.00#";
        $dummy=sleep(2);
        $befehl='sudo /pfadzurdatei/tempgpio 28-xxxxxxxxxxxx';
        $url=$helperurlpi2."?befehl=".encodiere($befehl,33455);
        $erg=web($url,$post);
        if ($erg=="") {
            $echo=$ver."C##";
        }
        else {
            $temp1=$erg/10;
            $echo='P#<div style="font-size:16px;text-align:right;width:240px;position:absolute;top:-5px;">Temperatur..   : '.sprintf("%.1f",$temp1).'°C</div>*HTML#'.$ver;
        }
    }
    else {
        $echo=$ver."C##";
         }
    echo $echo;
    exit;
?>

*) wo xxxxxxxxxxxx steht muss die korrekte Device-Nummer hin, die man durch
ls /sys/bus/w1/devices/
finden kann. Beginnt mit 28-...
 
Zuletzt bearbeitet:
Anwendungsbeispiel "Wetterstation"
Beispiel der Wetter- und Temperatur-PsG hier mit Testdaten:
wetterstation.jpg
Die "Wetterstation" belegt vier große SaS-Slots. Sie kann mit Daten aus dem Internet oder eigenen Sensordaten versorgt werden. Beliebige Außen- und Innenwerte möglich. Symbole (auch Wettersymbole) liefert SaS. Skalen erzeugt SaS aus den Daten. Tag-/Nachtzyklus nach Sonnenauf-/-untergang. 27 Wettersymbole für Tag, 27 für Nacht.

Bei Interesse muss die neue psgWetter.php/psginfoWetterAnz.php an die eigenen Gegebenheiten (Sensoren-PsG) angepasst werden. Kann in SaS Version 4, 5 und 6 oder höher eingesetzt werden.
 
Update "Wetterstation"

Neu: Mondphasen mit 16 Mondphasenbildern

Slots mit Beispieldaten:
wetterstation2.jpg
 
Der Knaller; Das muss ich auch haben ..
 
@HarryHase:
Die "Wetterstation"?
Ja, da lassen sich die Wetterdaten von psgWetter.php mit eigenen Sensoren verknüpfen. Man muss nur im psginfoWetterAnz.php die Daten der Sensor-PsGs einlesen. Wenn du mal alle Sensoren am Laufen hast, poste mal die PsG-Scripte und ich bastel diese in die neue psginfoWetterAnz.php und psgWetter.php, bzw. psginfoMond.php

Wann wirst du denn deine DS18B20 bekommen? Scripte sind dafür fertig. Müsstest du dann ggf. mal testen. ;)

- - - Aktualisiert - - -

psgWetter.php
PHP:
<?php

    /*
        ╔═══╗ ╔═══╗ ╔═══╗ ┌───────────────────────────────────────────────────┐
        ║     ║   ║ ║     │  SensorAndSwitch (C)2014-16 Bluedragon            │
        ╚═══╗ ╠═══╣ ╚═══╗ ├──────────────────┬────────────────────────────────┤
            ║ ║   ║     ║ │  SAS-PsG         │  psgWetter.php                 │
        ╚═══╝ ╝   ╚ ╚═══╝ ├──────────────────┴────────────────────────────────┤
        ┌─────────────────┤  Wetter-Modul openweathermap.org                  │
        │  Info:          ╘═══════════════════════════════════════════════════╡
        ├─────────────────────────────────────────────────────────────────────┤
        │  Informationen von obiger Homepage für den Ort, der anhand der      │
        │  in den Einstellungen eingelesenen Längen- und Breitengradangaben,  │
        │  bzw. des City-Namens ermittelt wurde.                              │
        ╘═════════════════════════════════════════════════════════════════════╛
    */

    include_once __DIR__."/../include/psg.php";

    $gerarray=getGerInfo(substr(basename(__FILE__,".php"),3));    

    if ($gerarray["Counter"]>=3) {
        $ver="V#V 6.00#";
        
        $ZeitG=date("HiNdmYI");
        $Zeithi=substr($ZeitG,0,4);
        $Zeit=substr($ZeitG,0,13);
        $DST=substr($ZeitG,13,1)*1;
        if ($DST==1) {$SoWi="Sommerzeit";} else {$SoWi="Winterzeit";}
        $GMT=$DST+1;
        $SonnenAufgang = substr(date_sunrise(mktime(substr($Zeit,0,2),substr($Zeit,2,2),0,substr($Zeit,7,2),substr($Zeit,5,2),substr($Zeit,9,4)), SUNFUNCS_RET_STRING, BREITENGRAD, LAENGENGRAD, ZENITA, $GMT),0,2).substr(date_sunrise(mktime(substr($Zeit,0,2),substr($Zeit,2,2),0,substr($Zeit,7,2),substr($Zeit,5,2),substr($Zeit,9,4)), SUNFUNCS_RET_STRING, BREITENGRAD, LAENGENGRAD, ZENITA, $GMT),3,2);
        $SonnenUntergang = substr(date_sunset(mktime(substr($Zeit,0,2),substr($Zeit,2,2),0,substr($Zeit,7,2),substr($Zeit,5,2),substr($Zeit,9,4)), SUNFUNCS_RET_STRING, BREITENGRAD, LAENGENGRAD, ZENITU, $GMT),0,2).substr(date_sunset(mktime(substr($Zeit,0,2),substr($Zeit,2,2),0,substr($Zeit,7,2),substr($Zeit,5,2),substr($Zeit,9,4)), SUNFUNCS_RET_STRING, BREITENGRAD, LAENGENGRAD, ZENITU, $GMT),3,2);
        $Zeit=$ZeitG;
        $ZeitG=substr($Zeit,0,2).":".substr($Zeit,2,2).' '.substr($Wt[substr($Zeit,4,1)],0,2).' '.substr($Zeit,5,2).".".substr($Zeit,7,2).".".substr($Zeit,9,4);
        if (substr($Zeit,13)==0) {$SOWI="W";} else {$SOWI="S";}
        if ($Zeithi>=$SonnenAufgang and $Zeithi<$SonnenUntergang) {$TN="t";} else {$TN="n";}
        $zeithi=substr($Zeit,0,2).":".substr($Zeit,2,2);
        
        define ("ZUD",$ZeitG);
        define ("SOWI",$SOWI);
        define ("TN",$TN);
        define ("MONDZYKLUS",(29.530588861*24*60*60));
        
        $ursprung=mktime(18,31,18,12,22,1999);
        $akt_date=time();
        $mondphase=round(((($akt_date-$ursprung)/MONDZYKLUS)-floor(($akt_date-$ursprung)/MONDZYKLUS))*100,3);
        if ($mondphase<=1 or $mondphase>=99) {$phasetext='voll';}
        elseif ($mondphase>1 and $mondphase<49) {$phasetext='ab';}
        elseif ($mondphase>=49 and $mondphase<=51) {$phasetext='neu';}
        else {$phasetext='zu';}
        $mondwert=$mondphase;
        if ($mondwert>=100) {$mondwert=0;}
        $phaseprozent=round(abs($mondwert-50)*2,3);

        $mpi="00";
        if ($mondphase>=3.125 and $mondphase<9.375) {$mpi="01";}
        if ($mondphase>=9.375 and $mondphase<15.625) {$mpi="02";}
        if ($mondphase>=15.625 and $mondphase<21.875) {$mpi="03";}
        if ($mondphase>=21.875 and $mondphase<28.125) {$mpi="04";}
        if ($mondphase>=28.125 and $mondphase<34.375) {$mpi="05";}
        if ($mondphase>=34.375 and $mondphase<40.625) {$mpi="06";}
        if ($mondphase>=40.625 and $mondphase<46.875) {$mpi="07";}
        if ($mondphase>=46.875 and $mondphase<53.125) {$mpi="08";}
        if ($mondphase>=53.125 and $mondphase<59.375) {$mpi="09";}
        if ($mondphase>=59.375 and $mondphase<65.625) {$mpi="10";}
        if ($mondphase>=65.625 and $mondphase<71.875) {$mpi="11";}
        if ($mondphase>=71.875 and $mondphase<78.125) {$mpi="12";}
        if ($mondphase>=78.125 and $mondphase<84.375) {$mpi="13";}
        if ($mondphase>=84.375 and $mondphase<90.625) {$mpi="14";}
        if ($mondphase>=90.625 and $mondphase<96.875) {$mpi="15";}
        if ($mondphase>=96.875) {$mpi="00";}
        
        $zeit=date("H:i");
        $key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
        if (CITY!="") {
            $param='q='.CITY;
        }
        else {
            $param='lat='.BREITENGRAD.'&lon='.LAENGENGRAD;
        }
        $url='http://api.openweathermap.org/data/2.5/weather?'.$param.'&mode=xml&units=metric&lang=de&APPID='.$key;
        $Status=web($url,$post);
        $Cont=simplexml_load_string($Status);
        if ($Status and $Cont) {
            $temp=sprintf('%.2f',$Cont->temperature->attributes()->value);
            $atemp=$gerarray["Temp"];
            $Temp="-,-";
            if ($temp!="-" and $temp!="") {
                $Temp=str_replace(".",",",sprintf('%.1f',$temp));
            }
            else {
                $Temp=str_replace(".",",",sprintf('%.1f',$atemp));
            }
            $Wind=$Cont->wind->speed->attributes()->name;
            $WGeschwindigkeit=str_replace(".",",",sprintf('%.0f',$Cont->wind->speed->attributes()->value*6));
            $WRichtung=str_replace("E","O",$Cont->wind->direction->attributes()->code);
            $Luftdruck=str_replace(".",",",sprintf('%.0f',$Cont->pressure->attributes()->value));
            $Feuchtigkeit=str_replace(".",",",sprintf('%.0f',$Cont->humidity->attributes()->value));
            $Stadt=$Cont->city->attributes()->name;
            $Wetter=$Cont->weather->attributes()->value;
            $wnr=$Cont->weather->attributes()->number;
            $wnrarr=wnr2txt($wnr);
            if ($wnrarr[0]!="") {$Wetter=$wnrarr[0];}
            if ($wnrarr[1]!="") {$Wettericon=$wnrarr[1];}
            $Symbol=$Cont->weather->attributes()->icon;
            $feucht=sprintf('%.0f',$Cont->humidity->attributes()->value);
            $luftd=sprintf('%.0f',$Cont->pressure->attributes()->value);
            $zeitl=$gerarray["zeitl"];
            $zeith=date("G")*1;
            $tempz=unserialize($gerarray["tempz"]);
            $feuchtz=unserialize($gerarray["feuchtz"]);
            $luftdz=unserialize($gerarray["luftdz"]);
            if ($zeith!=$zeitl) {
                $tempz[$zeith]=array();
                $feuchtz[$zeith]=array();
                $luftdz[$zeith]=array();
                $zeitl=$zeith;
            }
            if ($zeitl>23) {$zeitl=0;}
            if ($temp<$tempz[$zeith]["min"] or !isset($tempz[$zeith]["min"])) {
                $tempz[$zeith]["min"]=$temp;
            }
            if ($temp>$tempz[$zeith]["max"] or !isset($tempz[$zeith]["max"])) {
                $tempz[$zeith]["max"]=$temp;
            }
            if ($feucht<$feuchtz[$zeith]["min"] or !isset($feuchtz[$zeith]["min"])) {
                $feuchtz[$zeith]["min"]=$feucht;
            }
            if ($feucht>$feuchtz[$zeith]["max"] or !isset($feuchtz[$zeith]["max"])) {
                $feuchtz[$zeith]["max"]=$feucht;
            }
            if ($luftd<$luftdz[$zeith]["min"] or !isset($luftdz[$zeith]["min"])) {
                $luftdz[$zeith]["min"]=$luftd;
            }
            if ($luftd>$luftdz[$zeith]["max"] or !isset($luftdz[$zeith]["max"])) {
                $luftdz[$zeith]["max"]=$luftd;
            }

            $info='';
            $info.='T#'.sprintf('%.2f',$temp).'#';
            $info.='P#';
            $info.='<div style="font-size:12px;text-align:right;width:60px;position:absolute;top:-12px;">'.$Luftdruck.' hPa</div>';
            $info.='<div style="font-size:12px;text-align:left;width:60px;position:absolute;top:14px;"><img src="'.picdesign("wind.png").'" border="0" height="24"></div>';
            $info.='<div style="font-size:12px;text-align:right;width:60px;position:absolute;top:12px;">'.$WRichtung.'</div>';
            $info.='<div style="font-size:12px;text-align:right;width:60px;position:absolute;top:26px;">'.$WGeschwindigkeit.' km/h</div>';
            $info.='<div style="font-size:12px;position:absolute;top:-12px;left:0px;width:310px;text-align:right;">'.$phasetext.' '.str_replace(".",",",round($phaseprozent,0)).'%% <img src="'.picdesign("mondphasen/m".$mpi.".png").'" border="0" height="30"> &nbsp; <img src="'.picdesign("wettersymbole/".TN.$Wettericon.".png").'" border="0" height="36"></div>';
            $info.='<div style="font-size:14px;text-align:right;width:310px;position:absolute;top:25px;left:0px;">'.$Wetter.'</div>';
            $info.='<div style="font-size:14px;text-align:left;width:30px;position:absolute;top:-20px;left:70px;"><img class="block" src="'.picdesign("temp.png").'" border="0"></div>';
            $info.='<div style="font-size:14px;text-align:right;width:100px;position:absolute;top:-12px;left:70px;"><img src="'.picdesign("feucht.png").'" border="0" height="12"> '.$Feuchtigkeit."%%".' <img src="'.picdesign("aussen.png").'" border="0" height="12"></div>';
            $info.='<div style="font-size:20px;text-align:right;width:100px;position:absolute;top:2px;left:70px;">'.$Temp."°C".'</div>';
            $info.='*HTML#';
            
            $daten='';
            $daten.='V#'.TN.'*TN#';
            $daten.='V#'.SOWI.'*SOWI#';
            $daten.='V#'.$Wetter.'*ANZWETTER#';
            $daten.='V#'.$Feuchtigkeit.'*ANZFEUCHT#';
            $daten.='V#'.$Symbol.'*ANZSYMBOL#';
            $daten.='V#'.$Wettericon.'*ANZWETTERICON#';
            $daten.='V#'.$WRichtung.'*ANZWRICHTUNG#';
            $daten.='V#'.$WGeschwindigkeit.'*ANZWGESCHWINDIGKEIT#';
            $daten.='V#'.$Luftdruck.'*ANZLUFTDRUCK#';
            $daten.='V#'.$zeit.'*Mode#';
            $daten.='V#'.serialize($tempz).'*tempz#';
            $daten.='V#'.serialize($feuchtz).'*feuchtz#';
            $daten.='V#'.serialize($luftdz).'*luftdz#';
            $daten.='V#'.$zeith.'*zeith#';
            $daten.='V#'.$zeitl.'*zeitl#';
            $daten.='V#'.$zeit.'*ANZZEITUPDATE#';
            $daten.='V#'.$mondphase.'*mondphase#';
            $daten.='V#'.$mondwert.'*mondwert#';
            $daten.='V#'.$phaseprozent.'*ANZMONDPROZENT#';
            $daten.='V#'.$phasetext.'*ANZMONDTEXT#';
            $daten.='V#'.$mpi.'*mpi#';
            
            $echo=$info.$daten.$ver;
        }
        else {
            $echo=$ver."C##";
        }
    }
    else {
        $echo=$ver."C##";
    }
    echo $echo;
    exit;
    
    
function wnr2txt($wnr) {
/********************/
    $wtab=array(
        200=>array("Gewitter mit leichtem Regen","wrb"),
        201=>array("Gewitter mit Regen","wwwrrb"),
        202=>array("Gewitter mit starkem Regen","wwwrrbb"),
        210=>array("leichtes Gewitter","wb"),
        211=>array("Gewitter","wwwb"),
        212=>array("starkes Gewitter","wwwbb"),
        221=>array("extremes Gewitter","wwwbb"),
        230=>array("Gewitter mit leichtem Nieselregen","wrb"),
        231=>array("Gewitter mit Nieselregen","wwwrrb"),
        232=>array("Gewitter mit starkem Nieselregen","wwwrrbb"),
        300=>array("leichter Nieselregen","wwr"),
        301=>array("Nieselregen","wwwr"),
        302=>array("starker Nieselregen","wwwrr"),
        310=>array("leichter Sprühregen","wwr"),
        311=>array("Sprühregen","wwwr"),
        312=>array("starker Sprühregen","wwwrr"),
        313=>array("Schauer und Nieselregen","owwwr"),
        314=>array("starker Schauer und Nieselregen","owwwrr"),
        321=>array("schauerartiger Nieselregen","wwwr"),
        500=>array("leichter Regen","wwr"),
        501=>array("Regen","wwwr"),
        502=>array("starker Regen","wwwrr"),
        503=>array("sehr starker Regen","wwwrr"),
        504=>array("extremer Regen","wwwrr"),
        511=>array("gefrorener Regen","wwwrsg"),
        520=>array("leichter Schauer","owwr"),
        521=>array("Schauer","owwwr"),
        522=>array("starker Schauer","owwwrr"),
        531=>array("extremer Schauer","owwwrr"),
        600=>array("leichter Schneefall","wws"),
        601=>array("Schneefall","wwws"),
        602=>array("starker Schneefall","wwwss"),
        611=>array("Schneeregen","wwwrs"),
        612=>array("schauerartiger Schneeregen","owwwrs"),
        615=>array("leichter Regen und Schneefall","wwwrs"),
        616=>array("Regen und Schneefall","wwwrs"),
        620=>array("leichter schauerartiger Schneefall","owws"),
        621=>array("schauerartiger Schneefall","owwws"),
        622=>array("starker schauerartiger Schneefall","owwwss"),
        701=>array("Nebel","n"),
        711=>array("Rauch","n"),
        721=>array("Dunst","n"),
        731=>array("Sandstaubwirbel",""),
        741=>array("starker Nebel","n"),
        751=>array("Sandsturm",""),
        761=>array("Staubwirbel",""),
        762=>array("Vulkanasche",""),
        771=>array("Böen",""),
        781=>array("Tornado",""),
        800=>array("klarer Himmel","o"),
        801=>array("leichte Bewölkung","ow"),
        802=>array("aufgelockerte Bewölkung","oww"),
        803=>array("bewölkt mit Aufheiterungen","owww"),
        804=>array("Wolken bedeckt","wwww"),
        900=>array("Tornado",""),
        901=>array("tropischer Sturm",""),
        902=>array("Hurrikan",""),
        903=>array("kalt",""),
        904=>array("heiß","o"),
        905=>array("windig",""),
        906=>array("Hagel",""),
        951=>array("windstill",""),
        952=>array("leichte Brise",""),
        953=>array("sanfte Brise",""),
        954=>array("schwache Brise",""),
        955=>array("mäßige Brise",""),
        956=>array("frische Brise",""),
        957=>array("starker Wind",""),
        958=>array("stürmischer Wind",""),
        959=>array("Sturm",""),
        960=>array("schwerer Sturm",""),
        961=>array("orkanartiger Sturm",""),
        962=>array("Orkan","")
    );
    return $wtab[$wnr*1];

}

?>

$key von openweathermap.org muss im Code eingetragen werden (xxxxxxxxxxxxxxxxxxxxxxxxxxxx)


- - - Aktualisiert - - -

psginfoMond.php
PHP:
<?php 

    /*
        ╔═══╗ ╔═══╗ ╔═══╗ ┌───────────────────────────────────────────────────┐
        ║     ║   ║ ║     │  SensorAndSwitch (C)2014-16 Bluedragon            │
        ╚═══╗ ╠═══╣ ╚═══╗ ├──────────────────┬────────────────────────────────┤
            ║ ║   ║     ║ │  SAS-PsG (Info)  │  psginfoMond.php               │
        ╚═══╝ ╝   ╚ ╚═══╝ ├──────────────────┴────────────────────────────────┤
        ┌─────────────────┤  Infografik Mondphasen                            │
        │  Info:          ╘═══════════════════════════════════════════════════╡
        ├─────────────────────────────────────────────────────────────────────┤
        │  Infoslot                                                           │
        ╘═════════════════════════════════════════════════════════════════════╛
    */
 
    include_once __DIR__."/../include/psg.php";

    $ver="V#V 6.00#";
    $name="Wetter";
    $gerarray=getGerInfo($name);
    $phaseprozent=$gerarray["ANZMONDPROZENT"];
    $phasetext=$gerarray["ANZMONDTEXT"];
    $TN=$gerarray["TN"];
    $SOWI=$gerarray["SOWI"];
    $mondphase=$gerarray["mondphase"];
    $mondwert=$gerarray["mondwert"];
    $mpi=$gerarray["mpi"];
    if ($phasetext=="ab") {$phasetext="abnehmender Mond";}
    if ($phasetext=="zu") {$phasetext="zunehmender Mond";}
    if ($phasetext=="voll") {$phasetext="Vollmond";}
    if ($phasetext=="neu") {$phasetext="Neumond";}

    $info ="";

    $info.='<div style="position:absolute;top:0px;left:250px;text-align:left;"><img src="'.picdesign("mondphasen/m".$mpi.".png").'" border="0" height="100"></div>';
    $info.='<div style="left:0px;font-size:25px;text-align:left;position:absolute;top:0px;width:500px">'.$phasetext.'</div>';
    $info.='<div style="left:0px;font-size:20px;text-align:left;position:absolute;top:30px;width:500px">(ca. '.str_replace(".",",",$phaseprozent).'%% sichtbar)</div>';

    echo 'IB#<div style="position:absolute;left:85px;top:0px;">'.$info.'</div>#'.$ver;
    exit;

?>

psginfoWetterAnz.php
PHP:
<?php

    /*
        ╔═══╗ ╔═══╗ ╔═══╗ ┌───────────────────────────────────────────────────┐
        ║     ║   ║ ║     │  SensorAndSwitch (C)2014-16 Bluedragon            │
        ╚═══╗ ╠═══╣ ╚═══╗ ├──────────────────┬────────────────────────────────┤
            ║ ║   ║     ║ │  SAS-PsG (Info)  │  psginfoWetterAnz.php          │
        ╚═══╝ ╝   ╚ ╚═══╝ ├──────────────────┴────────────────────────────────┤
        ┌─────────────────┤  Infoanzeige Wetter                               │
        │  Info:          ╘═══════════════════════════════════════════════════╡
        ├─────────────────────────────────────────────────────────────────────┤
        │  Infoslot                                                           │
        ╘═════════════════════════════════════════════════════════════════════╛
    */
 
    include_once __DIR__."/../include/psg.php";

    $ver="V#V 6.00#";
    
    # Einbindung der Daten von psgWetter.php (Name: Wetter)

    $name="Wetter";
    $gerarray=getGerInfo($name);
    $zeitupdate=$gerarray["ANZZEITUPDATE"];
    $temp=$gerarray["Temp"];
    $feucht=$gerarray["ANZFEUCHT"];
    $wetter=$gerarray["ANZWETTER"];
    $wettericon=$gerarray["ANZWETTERICON"];
    $luftdruck=$gerarray["ANZLUFTDRUCK"];
    $wrichtung=$gerarray["ANZWRICHTUNG"];
    $wgeschwindigkeit=$gerarray["ANZWGESCHWINDIGKEIT"];
    $phaseprozent=round($gerarray["ANZMONDPROZENT"],0);
    $phasetext=$gerarray["ANZMONDTEXT"];
    $TN=$gerarray["TN"];
    $SOWI=$gerarray["SOWI"];
    $mondphase=$gerarray["mondphase"];
    
    # Hier folgen die individuellen Sensoreinbindungen
    # Als Beispiel: (muss angepasst werden)

    $name="Temp1";
    $gerarray=getGerInfo($name);
    $usbtemp1=number_format(sprintf('%.1f',$gerarray["ANZUSBTEMP"]),1,",",".");
    
    $name="Temp2";
    $gerarray=getGerInfo($name);
    $usbtemp2=number_format(sprintf('%.1f',$gerarray["ANZUSBTEMP"]),1,",",".");
    
    $name="Temp3";
    $gerarray=getGerInfo($name);
    $usbtemp3=number_format(sprintf('%.1f',$gerarray["ANZUSBTEMP"]),1,",",".");

    $zeithi=date("H:i");
    
    define ("SOWI",$SOWI);
    define ("TN",$TN);

    if ($temp=="-") {$temp="-,-";}

    $info ="";

    $info.='<div style="left:90px;font-size:20px;text-align:right;width:100px;position:absolute;top:0px;">'.$luftdruck.' hPa</div>';
    $info.='<div style="left:90px;text-align:left;width:100px;position:absolute;top:20px;"><img src="'.picdesign("wind.png").'" border="0" height="40"></div>';
    $info.='<div style="left:90px;font-size:20px;text-align:right;width:100px;position:absolute;top:20px;">'.$wrichtung.'</div>';
    $info.='<div style="left:90px;font-size:20px;text-align:right;width:100px;position:absolute;top:40px;">'.$wgeschwindigkeit.' km/h</div>';
    $info.='<div style="position:absolute;top:0px;left:0px;text-align:left;"><img src="'.picdesign("wettersymbole/".TN.$wettericon.".png").'" border="0" height="80"></div>';
    $info.='<div style="left:90px;font-size:14px;text-align:left;position:absolute;top:60px;width:500px">Mond ('.round($phaseprozent).'%%): '.$phasetext.'</div>';
    $info.='<div style="position:absolute;top:85px;left:0px;font-size:20px;text-align:left;width:500px">'.$wetter.'</div>';
    $info.='<div style="position:absolute;top:-5px;left:200px;text-align:left;width:100px"><img src="'.picdesign("temp.png").'" border="0" height="100"></div>';
    $info.='<div style="position:absolute;top:0px;left:310px;text-align:right;width:300px;font-size:20px">'.$zeithi.' <img src="'.picdesign("home.png").'" border="0" height="20"></div>';
    $info.='<div style="position:absolute;top:24px;left:310px;text-align:right;width:300px;font-size:25px">'.str_replace(".",",",$usbtemp1)."°C".' <img src="'.picdesign("wz.png").'" border="0" height="18"></div>';
    $info.='<div style="position:absolute;top:50px;left:310px;text-align:right;width:300px;font-size:20px">'.str_replace(".",",",$usbtemp2)."°C".' <img src="'.picdesign("sz.png").'" border="0" height="18"></div>';
    $info.='<div style="position:absolute;top:70px;left:310px;text-align:right;width:300px;font-size:20px">'.str_replace(".",",",$usbtemp3)."°C".' <img src="'.picdesign("cz.png").'" border="0" height="18"></div>';
    $info.='<div style="position:absolute;top:0px;left:150px;text-align:right;width:300px;font-size:20px">'.$zeitupdate.' <img src="'.picdesign("aussen.png").'" border="0" height="20"></div>';
    $info.='<div style="position:absolute;top:20px;left:150px;text-align:right;width:300px;font-size:60px">'.str_replace(".",",",$temp)."°C".'</div>';
    $info.='<div style="position:absolute;top:80px;left:150px;text-align:right;width:300px;font-size:30px"><img src="'.picdesign("feucht.png").'" border="0" height="20"> '.str_replace(".",",",$feucht)."%%".'</div>';
    
    $btemp=$temp+10;
    if ($temp=="-,-") {$btemp=0;}
    if ($btemp<0) {$btemp=0;}
    if ($btemp>44) {$btemp=44;}
    $btemp=22-$btemp/2;
    
    $p=460;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=30;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }

    $fr=155;
    $fg=155;
    $fb=155;

    for ($i=22;$i>=0;$i--) {
        $fr=0;$fg=100;$fb=200;
        if ($i<20) {$fr=0;$fg=150;$fb=200;}
        if ($i<18) {$fr=0;$fg=200;$fb=150;}
        if ($i<14) {$fr=0;$fg=200;$fb=0;}
        if ($i<10) {$fr=150;$fg=200;$fb=0;}
        if ($i<6) {$fr=200;$fg=200;$fb=0;}
        if ($i<4) {$fr=200;$fg=0;$fb=0;}
        if ($i<2) {$fr=200;$fg=0;$fb=200;}
        if ($i>$btemp) {
            $t=$i*5;
            linie();
        }
    }
    
    echo 'IB#<div style="position:absolute;left:85px;top:0px;">'.$info.'</div>#'.$ver;
    exit;


function linie() {
/**************/
    global $fr,$fg,$fb,$t,$p,$h,$w,$info;
    $info.='<div id="tab" style="position:absolute;border:1px;top:'.$t.'px;left:'.$p.'px;background-color:rgb('.$fr.','.$fg.','.$fb.');border-style:solid;border-color:rgb('.$fr.','.$fg.','.$fb.');font-size:8px;width:'.$w.'px;height:'.$h.'px"></div>';
}

?>

- - - Aktualisiert - - -

@HarryHase:
neues Sensor-PsG, da damit auch die Werte bereitgestellt werden...
psgDHT11s1.php
PHP:
<?php

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch                                      PSG-Script   |
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    include __DIR__."/../include/psg.php";
    $gerarray=getGerInfo(substr(basename(__FILE__,".php"),3));

    if ($gerarray["Counter"]>=4) {
        $ver="V#V 1.00#";
        $dummy=sleep(2);
        $befehl='sudo /root/Adafruit_Python_DHT/Adafruit_DHT/tempfeuchtwpi dht11 tf 7 2>/dev/null';
        $url=$helperurlpi2."?befehl=".encodiere($befehl,33455);
        $erg=web($url,$post);
        if ($erg=="") {
            $echo=$ver."C##";
        }
        else {
            $erg=explode(" ",$erg);
            $temp1=$erg[0]/10;
            $feucht1=$erg[1]/10;
            $echo='';
            $echo.='P#';
            $echo.='<div style="font-size:16px;text-align:right;width:240px;position:absolute;top:-5px;">Luftfeuchte: '.str_replace(".",",",sprintf("%.1f",$feucht1)).' %%';
            $echo.='<br />Temperatur: '.str_replace(".",",",sprintf("%.1f",$temp1)).'°C</div>';
            $echo.='*HTML#';
            $echo.='V#'.$temp1.'*temp1#';
            $echo.='V#'.$feucht1.'*feucht1#';
            $echo.=$ver;
        }
    }
    else {
        $echo=$ver."C##";
    }
    echo $echo;
    exit;
?>

- - - Aktualisiert - - -

@HarryHase:
psginfoWetterAnz.php für den ersten deiner Sensoren zur Anzeige:
PHP:
 <?php

    /*
        ╔═══╗ ╔═══╗ ╔═══╗ ┌───────────────────────────────────────────────────┐
        ║     ║   ║ ║     │  SensorAndSwitch (C)2014-16 Bluedragon            │
        ╚═══╗ ╠═══╣ ╚═══╗ ├──────────────────┬────────────────────────────────┤
            ║ ║   ║     ║ │  SAS-PsG (Info)  │  psginfoWetterAnz.php          │
        ╚═══╝ ╝   ╚ ╚═══╝ ├──────────────────┴────────────────────────────────┤
        ┌─────────────────┤  Infoanzeige Wetter                               │
        │  Info:          ╘═══════════════════════════════════════════════════╡
        ├─────────────────────────────────────────────────────────────────────┤
        │  Infoslot                                                           │
        ╘═════════════════════════════════════════════════════════════════════╛
    */
 
    include_once __DIR__."/../include/psg.php";

    $ver="V#V 6.00#";
    
    # Einbindung der Daten von psgWetter.php (Name: Wetter)

    $name="Wetter";
    $gerarray=getGerInfo($name);
    $zeitupdate=$gerarray["ANZZEITUPDATE"];
    $temp=$gerarray["Temp"];
    $feucht=$gerarray["ANZFEUCHT"];
    $wetter=$gerarray["ANZWETTER"];
    $wettericon=$gerarray["ANZWETTERICON"];
    $luftdruck=$gerarray["ANZLUFTDRUCK"];
    $wrichtung=$gerarray["ANZWRICHTUNG"];
    $wgeschwindigkeit=$gerarray["ANZWGESCHWINDIGKEIT"];
    $phaseprozent=round($gerarray["ANZMONDPROZENT"],0);
    $phasetext=$gerarray["ANZMONDTEXT"];
    $TN=$gerarray["TN"];
    $SOWI=$gerarray["SOWI"];
    $mondphase=$gerarray["mondphase"];
    
    # Hier folgen die individuellen Sensoreinbindungen
    # Als Beispiel: (muss angepasst werden)

    $name="DHT11s1";
    $gerarray=getGerInfo($name);
    $usbtemp1=number_format(sprintf('%.1f',$gerarray["temp1"]),1,",",".");
    $usbfeucht1=number_format(sprintf('%.1f',$gerarray["feucht1"]),1,",",".");
    
    $zeithi=date("H:i");
    
    define ("SOWI",$SOWI);
    define ("TN",$TN);

    if ($temp=="-") {$temp="-,-";}

    $info ="";

    $info.='<div style="left:90px;font-size:20px;text-align:right;width:100px;position:absolute;top:0px;">'.$luftdruck.' hPa</div>';
    $info.='<div style="left:90px;text-align:left;width:100px;position:absolute;top:20px;"><img src="'.picdesign("wind.png").'" border="0" height="40"></div>';
    $info.='<div style="left:90px;font-size:20px;text-align:right;width:100px;position:absolute;top:20px;">'.$wrichtung.'</div>';
    $info.='<div style="left:90px;font-size:20px;text-align:right;width:100px;position:absolute;top:40px;">'.$wgeschwindigkeit.' km/h</div>';
    $info.='<div style="position:absolute;top:0px;left:0px;text-align:left;"><img src="'.picdesign("wettersymbole/".TN.$wettericon.".png").'" border="0" height="80"></div>';
    $info.='<div style="left:90px;font-size:14px;text-align:left;position:absolute;top:60px;width:500px">Mond ('.round($phaseprozent).'%%): '.$phasetext.'</div>';
    $info.='<div style="position:absolute;top:85px;left:0px;font-size:20px;text-align:left;width:500px">'.$wetter.'</div>';
    $info.='<div style="position:absolute;top:-5px;left:200px;text-align:left;width:100px"><img src="'.picdesign("temp.png").'" border="0" height="100"></div>';
    $info.='<div style="position:absolute;top:0px;left:310px;text-align:right;width:300px;font-size:20px">'.$zeithi.' <img src="'.picdesign("home.png").'" border="0" height="20"></div>';
    $info.='<div style="position:absolute;top:24px;left:310px;text-align:right;width:300px;font-size:25px">'.str_replace(".",",",$usbtemp1)."°C".' <img src="'.picdesign("wz.png").'" border="0" height="18"></div>';
    $info.='<div style="position:absolute;top:50px;left:310px;text-align:right;width:300px;font-size:20px">'.str_replace(".",",",$usbfeucht1)."%%".' <img src="'.picdesign("wz.png").'" border="0" height="18"></div>';
    $info.='<div style="position:absolute;top:0px;left:150px;text-align:right;width:300px;font-size:20px">'.$zeitupdate.' <img src="'.picdesign("aussen.png").'" border="0" height="20"></div>';
    $info.='<div style="position:absolute;top:20px;left:150px;text-align:right;width:300px;font-size:60px">'.str_replace(".",",",$temp)."°C".'</div>';
    $info.='<div style="position:absolute;top:80px;left:150px;text-align:right;width:300px;font-size:30px"><img src="'.picdesign("feucht.png").'" border="0" height="20"> '.str_replace(".",",",$feucht)."%%".'</div>';
    
    $btemp=$temp+10;
    if ($temp=="-,-") {$btemp=0;}
    if ($btemp<0) {$btemp=0;}
    if ($btemp>44) {$btemp=44;}
    $btemp=22-$btemp/2;
    
    $p=460;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=30;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }

    $fr=155;
    $fg=155;
    $fb=155;

    for ($i=22;$i>=0;$i--) {
        $fr=0;$fg=100;$fb=200;
        if ($i<20) {$fr=0;$fg=150;$fb=200;}
        if ($i<18) {$fr=0;$fg=200;$fb=150;}
        if ($i<14) {$fr=0;$fg=200;$fb=0;}
        if ($i<10) {$fr=150;$fg=200;$fb=0;}
        if ($i<6) {$fr=200;$fg=200;$fb=0;}
        if ($i<4) {$fr=200;$fg=0;$fb=0;}
        if ($i<2) {$fr=200;$fg=0;$fb=200;}
        if ($i>$btemp) {
            $t=$i*5;
            linie();
        }
    }
    
    echo 'IB#<div style="position:absolute;left:85px;top:0px;">'.$info.'</div>#'.$ver;
    exit;


function linie() {
/**************/
    global $fr,$fg,$fb,$t,$p,$h,$w,$info;
    $info.='<div id="tab" style="position:absolute;border:1px;top:'.$t.'px;left:'.$p.'px;background-color:rgb('.$fr.','.$fg.','.$fb.');border-style:solid;border-color:rgb('.$fr.','.$fg.','.$fb.');font-size:8px;width:'.$w.'px;height:'.$h.'px"></div>';
}

?>
 
Zuletzt bearbeitet:
Wann die Sensoren kommen weiß ich nicht, habe die ganz Günstigen in Fernost bestellt ....

- Funktioniert fast, wo trage ich den Ort ein und es scheinen ein paar icons/Bilder zu fehlen

Unbenannt.JPG

Die Uhrzeit braucht man nicht, die steht ja oben in header, dafür könnt man den zweiten Sensor einblenden, heißt bei mir Keller. Vielleicht die Temperaturanzeige ein wenig kleiner, damit das ganze nicht ganz so hoch wird?
 
Zuletzt bearbeitet:
Die Bilder gibt es in der Zip-Datei images/-Ordner SaS V6.00alpha
Die Uhrzeit ist die Zeit der letzten korrekten Aktualisierung. Kann man auch weglassen.
Die neue psgWetter.php ist die erzeugende Datenbasis, deswegen wohl keine Werte. Die muss in den psg/-Ordner. Neues Script ist oben. Die sogenannte CITY gibts erst bei SaS V6.00. Ggf. die If-Abfrage rauswerfen und nur
statt:
PHP:
        if (CITY!="") {
            $param='q='.CITY;
        }
        else {
            $param='lat='.BREITENGRAD.'&lon='.LAENGENGRAD;
        }
dies:
PHP:
            $param='lat='.BREITENGRAD.'&lon='.LAENGENGRAD;

- - - Aktualisiert - - -

psgKeller muss dann auch entsprechend DHT11s1 abgeändert werden. Einfach psgDHT11s1.php kopieren zu psgDHT11s2.php, da nur in den neuen Scripten die Werte des psg auch zum Weiterreichen aufbereitet sind. Entsprechend die Zeile mit $befehl aus "psgKeller.php" kopieren.
 
Zuletzt bearbeitet:
suppi, auf die Schnelle habe ich das hingefuschelt, schaue ich mir morgen in Ruhe an, vielen Dank

Unbenannt.JPG

Gerät Temp: sind Werte aus der Buderus Heizung, die ich mit fhem auslese
 
Jep, genau so. :)
 
Mondphasenbild stimmt noch nicht, wenn ich rausschaue ist es kurz vor Vollmond (steht ja auch da 82%)
 
Bei mir stimmt es, kurz vor Vollmond m15.png wird angezeigt...

- - - Aktualisiert - - -

Das Symbol in psginfoWetter.php ist nachts immer eine Sichel, da es das Wettericon ist. In dem Fall für: Nacht, klarer Himmel.

- - - Aktualisiert - - -

mond.jpg
psginfoMond.php

- - - Aktualisiert - - -

Den freien Platz in der psginfoMond.php könnte man später auch noch mit Sensoranzeigen füllen. Nur so als Idee.

- - - Aktualisiert - - -

Übrigens Vollmond ist am 16.09.2016 um 21:07.49 :)

- - - Aktualisiert - - -

Eine Anordnung die Außen und Innen trennt, so ist Innen mehr Platz für eigene Sensoren.
ws.jpg

- - - Aktualisiert - - -

oder
ws2.jpg

- - - Aktualisiert - - -

oder
ws3.jpg
 
Zuletzt bearbeitet:
Das letzte wird meiner Frau gefallen ;)
 
Okay, dann erstmal das aktualisierte
psginfoWetter.php
PHP:
<?php

    /*
        ╔═══╗ ╔═══╗ ╔═══╗ ┌───────────────────────────────────────────────────┐
        ║     ║   ║ ║     │  SensorAndSwitch (C)2014-16 Bluedragon            │
        ╚═══╗ ╠═══╣ ╚═══╗ ├──────────────────┬────────────────────────────────┤
            ║ ║   ║     ║ │  SAS-PsG (Info)  │  psginfoWetterAnz.php          │
        ╚═══╝ ╝   ╚ ╚═══╝ ├──────────────────┴────────────────────────────────┤
        ┌─────────────────┤  Infoanzeige Wetter                               │
        │  Info:          ╘═══════════════════════════════════════════════════╡
        ├─────────────────────────────────────────────────────────────────────┤
        │  Infoslot                                                           │
        ╘═════════════════════════════════════════════════════════════════════╛
    */
 
    include_once __DIR__."/../include/psg.php";

    $ver="V#V 6.00#";
    $name="Wetter";
    $gerarray=getGerInfo($name);
    $zeitupdate=$gerarray["ANZZEITUPDATE"];
    $temp=$gerarray["Temp"];
    $feucht=$gerarray["ANZFEUCHT"];
    $wetter=$gerarray["ANZWETTER"];
    $wettericon=$gerarray["ANZWETTERICON"];
    $luftdruck=$gerarray["ANZLUFTDRUCK"];
    $wrichtung=$gerarray["ANZWRICHTUNG"];
    $wgeschwindigkeit=$gerarray["ANZWGESCHWINDIGKEIT"];
    $phaseprozent=round($gerarray["ANZMONDPROZENT"],0);
    $phasetext=$gerarray["ANZMONDTEXT"];
    $TN=$gerarray["TN"];
    $SOWI=$gerarray["SOWI"];
    $mondphase=$gerarray["mondphase"];
    $mpi=$gerarray["mpi"];
    
    $zeithi=date("H:i");
    
    define ("SOWI",$SOWI);
    define ("TN",$TN);

    if ($temp=="-") {$temp="-,-";}

    $info ="";

    $info.='<div style="left:90px;font-size:20px;text-align:right;width:100px;position:absolute;top:0px;">'.$luftdruck.' hPa</div>';
    $info.='<div style="left:90px;text-align:left;width:100px;position:absolute;top:20px;"><img src="'.picdesign("wind.png").'" border="0" height="40"></div>';
    $info.='<div style="left:90px;font-size:20px;text-align:right;width:100px;position:absolute;top:20px;">'.$wrichtung.'</div>';
    $info.='<div style="left:90px;font-size:20px;text-align:right;width:100px;position:absolute;top:40px;">'.$wgeschwindigkeit.' km/h</div>';
    $info.='<div style="position:absolute;top:0px;left:0px;text-align:left;"><img src="'.picdesign("wettersymbole/".TN.$wettericon.".png").'" border="0" height="80"></div>';
    $info.='<div style="left:90px;font-size:14px;text-align:left;position:absolute;top:60px;width:500px">Mond ('.round($phaseprozent).'%%): '.$phasetext.'</div>';
    $info.='<div style="position:absolute;top:85px;left:0px;font-size:20px;text-align:left;width:500px">'.$wetter.'</div>';
    $info.='<div style="position:absolute;top:0px;left:220px;text-align:left;"><img src="'.picdesign("mondphasen/m".$mpi.".png").'" border="0" height="80"></div>';
    $info.='<div style="position:absolute;top:-5px;left:570px;text-align:left;width:100px"><img src="'.picdesign("temp.png").'" border="0" height="100"></div>';
    $info.='<div style="position:absolute;top:0px;left:225px;text-align:right;width:300px;font-size:20px">'.$zeitupdate.' <img src="'.picdesign("aussen.png").'" border="0" height="20"></div>';
    $info.='<div style="position:absolute;top:20px;left:225px;text-align:right;width:300px;font-size:60px">'.str_replace(".",",",$temp)."°C".'</div>';
    $info.='<div style="position:absolute;top:80px;left:225px;text-align:right;width:300px;font-size:30px"><img src="'.picdesign("feucht.png").'" border="0" height="20"> '.str_replace(".",",",$feucht)."%%".'</div>';
    
    $btemp=$temp+10;
    if ($temp=="-,-") {$btemp=0;}
    if ($btemp<0) {$btemp=0;}
    if ($btemp>44) {$btemp=44;}
    $btemp=22-$btemp/2;
    $bfeucht=22-$feucht/100*22;
    
    $p=530;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }

    $fr=155;
    $fg=155;
    $fb=155;

    for ($i=22;$i>=0;$i--) {
        $fr=0;$fg=100;$fb=200;
        if ($i<20) {$fr=0;$fg=150;$fb=200;}
        if ($i<18) {$fr=0;$fg=200;$fb=150;}
        if ($i<14) {$fr=0;$fg=200;$fb=0;}
        if ($i<10) {$fr=150;$fg=200;$fb=0;}
        if ($i<6) {$fr=200;$fg=200;$fb=0;}
        if ($i<4) {$fr=200;$fg=0;$fb=0;}
        if ($i<2) {$fr=200;$fg=0;$fb=200;}
        if ($i>$btemp) {
            $t=$i*5;
            linie();
        }
    }
    
    $p=550;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }

    $fr=155;
    $fg=155;
    $fb=155;

    for ($i=22;$i>=0;$i--) {
        $fr=200;$fg=0;$fb=0;
        if ($i<20) {$fr=200;$fg=150;$fb=0;}
        if ($i<18) {$fr=200;$fg=200;$fb=0;}
        if ($i<14) {$fr=150;$fg=200;$fb=0;}
        if ($i<10) {$fr=0;$fg=200;$fb=0;}
        if ($i<6) {$fr=0;$fg=200;$fb=150;}
        if ($i<4) {$fr=0;$fg=150;$fb=200;}
        if ($i<2) {$fr=0;$fg=100;$fb=200;}
        if ($i>$bfeucht) {
            $t=$i*5;
            linie();
        }
    }
    
    echo 'IB#<div style="position:absolute;left:85px;top:0px;">'.$info.'</div>#'.$ver;
    exit;


function linie() {
/**************/
    global $fr,$fg,$fb,$t,$p,$h,$w,$info;
    $info.='<div id="tab" style="position:absolute;border:1px;top:'.$t.'px;left:'.$p.'px;background-color:rgb('.$fr.','.$fg.','.$fb.');border-style:solid;border-color:rgb('.$fr.','.$fg.','.$fb.');font-size:8px;width:'.$w.'px;height:'.$h.'px"></div>';
}

?>

psginfoTempAnz.php
PHP:
<?php

    /*
        ╔═══╗ ╔═══╗ ╔═══╗ ┌───────────────────────────────────────────────────┐
        ║     ║   ║ ║     │  SensorAndSwitch (C)2014-16 Bluedragon            │
        ╚═══╗ ╠═══╣ ╚═══╗ ├──────────────────┬────────────────────────────────┤
            ║ ║   ║     ║ │  SAS-PsG (Info)  │  psginfoWetterAnz.php          │
        ╚═══╝ ╝   ╚ ╚═══╝ ├──────────────────┴────────────────────────────────┤
        ┌─────────────────┤  Infoanzeige Wetter                               │
        │  Info:          ╘═══════════════════════════════════════════════════╡
        ├─────────────────────────────────────────────────────────────────────┤
        │  Infoslot                                                           │
        ╘═════════════════════════════════════════════════════════════════════╛
    */
 
    include_once __DIR__."/../include/psg.php";

    $ver="V#V 6.00#";
    $name="Wetter";
    $gerarray=getGerInfo($name);
    $zeitupdate=$gerarray["ANZZEITUPDATE"];
    $temp=$gerarray["Temp"];
    $feucht=$gerarray["ANZFEUCHT"];
    $wetter=$gerarray["ANZWETTER"];
    $wettericon=$gerarray["ANZWETTERICON"];
    $luftdruck=$gerarray["ANZLUFTDRUCK"];
    $wrichtung=$gerarray["ANZWRICHTUNG"];
    $wgeschwindigkeit=$gerarray["ANZWGESCHWINDIGKEIT"];
    $phaseprozent=round($gerarray["ANZMONDPROZENT"],0);
    $phasetext=$gerarray["ANZMONDTEXT"];
    $TN=$gerarray["TN"];
    $SOWI=$gerarray["SOWI"];
    $mondphase=$gerarray["mondphase"];
    $mpi=$gerarray["mpi"];
    
    $name="DHT11s1";
    $gerarray=getGerInfo($name);
    $usbtemp1=number_format(sprintf('%.1f',$gerarray["temp1"]),1,",",".");
    $usbfeucht1=number_format(sprintf('%.1f',$gerarray["feucht1"]),1,",",".");

    $name="DHT11s2";
    $gerarray=getGerInfo($name);
    $usbtemp2=number_format(sprintf('%.1f',$gerarray["temp2"]),1,",",".");
    $usbfeucht2=number_format(sprintf('%.1f',$gerarray["feucht2"]),1,",",".");
    
    $name="DHT11s3";
    $gerarray=getGerInfo($name);
    $usbtemp3=number_format(sprintf('%.1f',$gerarray["temp3"]),1,",",".");
    $usbfeucht3=number_format(sprintf('%.1f',$gerarray["feucht3"]),1,",",".");

    $zeithi=date("H:i");
    
    define ("SOWI",$SOWI);
    define ("TN",$TN);

    if ($temp=="-") {$temp="-,-";}

    $info ="";

    $info.='<div style="position:absolute;top:-5px;left:570px;text-align:left;width:100px"><img src="'.picdesign("temp.png").'" border="0" height="100"></div>';
    $info.='<div style="position:absolute;top:0px;left:225px;text-align:right;width:300px;font-size:20px">'.$zeithi.' <img src="'.picdesign("home.png").'" border="0" height="20"></div>';
    $info.='<div style="position:absolute;top:28px;left:375px;text-align:right;width:150px;font-size:15px">Wohnen <img src="'.picdesign("wz.png").'" border="0" height="26"></div>';
    $info.='<div style="position:absolute;top:56px;left:375px;text-align:right;width:150px;font-size:30px">'.str_replace(".",",",$usbtemp1)."°C".'</div>';
    $info.='<div style="position:absolute;top:85px;left:375px;text-align:right;width:150px;font-size:25px"><img src="'.picdesign("feucht.png").'" border="0" height="20"> '.str_replace(".",",",$feucht1)."%%".'</div>';
    $info.='<div style="position:absolute;top:28px;left:225px;text-align:right;width:150px;font-size:15px">Schlafen <img src="'.picdesign("sz.png").'" border="0" height="26"></div>';
    $info.='<div style="position:absolute;top:56px;left:225px;text-align:right;width:150px;font-size:30px">'.str_replace(".",",",$usbtemp2)."°C".'</div>';
    $info.='<div style="position:absolute;top:85px;left:225px;text-align:right;width:150px;font-size:25px"><img src="'.picdesign("feucht.png").'" border="0" height="20"> '.str_replace(".",",",$feucht2)."%%".'</div>';
    $info.='<div style="position:absolute;top:28px;left:75px;text-align:right;width:150px;font-size:15px">Büro <img src="'.picdesign("cz.png").'" border="0" height="26"></div>';
    $info.='<div style="position:absolute;top:56px;left:75px;text-align:right;width:150px;font-size:30px">'.str_replace(".",",",$usbtemp3)."°C".'</div>';
    $info.='<div style="position:absolute;top:85px;left:75px;text-align:right;width:150px;font-size:25px"><img src="'.picdesign("feucht.png").'" border="0" height="20"> '.str_replace(".",",",$feucht3)."%%".'</div>';
    
    # 1
    $btemp=$usbtemp1+10;
    if ($usbtemp1=="-,-") {$btemp=0;}
    if ($btemp<0) {$btemp=0;}
    if ($btemp>44) {$btemp=44;}
    $btemp=22-$btemp/2;
    $bfeucht=22-$feucht1/100*22;
    
    $p=530;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }

    $fr=155;
    $fg=155;
    $fb=155;

    for ($i=22;$i>=0;$i--) {
        $fr=0;$fg=100;$fb=200;
        if ($i<20) {$fr=0;$fg=150;$fb=200;}
        if ($i<18) {$fr=0;$fg=200;$fb=150;}
        if ($i<14) {$fr=0;$fg=200;$fb=0;}
        if ($i<10) {$fr=150;$fg=200;$fb=0;}
        if ($i<6) {$fr=200;$fg=200;$fb=0;}
        if ($i<4) {$fr=200;$fg=0;$fb=0;}
        if ($i<2) {$fr=200;$fg=0;$fb=200;}
        if ($i>$btemp) {
            $t=$i*5;
            linie();
        }
    }
    
    $p=550;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }

    $fr=155;
    $fg=155;
    $fb=155;

    for ($i=22;$i>=0;$i--) {
        $fr=200;$fg=0;$fb=0;
        if ($i<20) {$fr=200;$fg=150;$fb=0;}
        if ($i<18) {$fr=200;$fg=200;$fb=0;}
        if ($i<14) {$fr=150;$fg=200;$fb=0;}
        if ($i<10) {$fr=0;$fg=200;$fb=0;}
        if ($i<6) {$fr=0;$fg=200;$fb=150;}
        if ($i<4) {$fr=0;$fg=150;$fb=200;}
        if ($i<2) {$fr=0;$fg=100;$fb=200;}
        if ($i>$bfeucht) {
            $t=$i*5;
            linie();
        }
    }

    #
    $btemp=$usbtemp2+10;
    if ($usbtemp2=="-,-") {$btemp=0;}
    if ($btemp<0) {$btemp=0;}
    if ($btemp>44) {$btemp=44;}
    $btemp=22-$btemp/2;
    $bfeucht=22-$feucht2/100*22;
    
    $p=380;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }

    $fr=155;
    $fg=155;
    $fb=155;

    for ($i=22;$i>=0;$i--) {
        $fr=0;$fg=100;$fb=200;
        if ($i<20) {$fr=0;$fg=150;$fb=200;}
        if ($i<18) {$fr=0;$fg=200;$fb=150;}
        if ($i<14) {$fr=0;$fg=200;$fb=0;}
        if ($i<10) {$fr=150;$fg=200;$fb=0;}
        if ($i<6) {$fr=200;$fg=200;$fb=0;}
        if ($i<4) {$fr=200;$fg=0;$fb=0;}
        if ($i<2) {$fr=200;$fg=0;$fb=200;}
        if ($i>$btemp) {
            $t=$i*5;
            linie();
        }
    }
    
    $p=400;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }

    $fr=155;
    $fg=155;
    $fb=155;

    for ($i=22;$i>=0;$i--) {
        $fr=200;$fg=0;$fb=0;
        if ($i<20) {$fr=200;$fg=150;$fb=0;}
        if ($i<18) {$fr=200;$fg=200;$fb=0;}
        if ($i<14) {$fr=150;$fg=200;$fb=0;}
        if ($i<10) {$fr=0;$fg=200;$fb=0;}
        if ($i<6) {$fr=0;$fg=200;$fb=150;}
        if ($i<4) {$fr=0;$fg=150;$fb=200;}
        if ($i<2) {$fr=0;$fg=100;$fb=200;}
        if ($i>$bfeucht) {
            $t=$i*5;
            linie();
        }
    }

    # 3
    $btemp=$usbtemp3+10;
    if ($usbtemp3=="-,-") {$btemp=0;}
    if ($btemp<0) {$btemp=0;}
    if ($btemp>44) {$btemp=44;}
    $btemp=22-$btemp/2;
    $bfeucht=22-$feucht3/100*22;
    
    $p=230;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }

    $fr=155;
    $fg=155;
    $fb=155;

    for ($i=22;$i>=0;$i--) {
        $fr=0;$fg=100;$fb=200;
        if ($i<20) {$fr=0;$fg=150;$fb=200;}
        if ($i<18) {$fr=0;$fg=200;$fb=150;}
        if ($i<14) {$fr=0;$fg=200;$fb=0;}
        if ($i<10) {$fr=150;$fg=200;$fb=0;}
        if ($i<6) {$fr=200;$fg=200;$fb=0;}
        if ($i<4) {$fr=200;$fg=0;$fb=0;}
        if ($i<2) {$fr=200;$fg=0;$fb=200;}
        if ($i>$btemp) {
            $t=$i*5;
            linie();
        }
    }
    
    $p=250;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }

    $fr=155;
    $fg=155;
    $fb=155;

    for ($i=22;$i>=0;$i--) {
        $fr=200;$fg=0;$fb=0;
        if ($i<20) {$fr=200;$fg=150;$fb=0;}
        if ($i<18) {$fr=200;$fg=200;$fb=0;}
        if ($i<14) {$fr=150;$fg=200;$fb=0;}
        if ($i<10) {$fr=0;$fg=200;$fb=0;}
        if ($i<6) {$fr=0;$fg=200;$fb=150;}
        if ($i<4) {$fr=0;$fg=150;$fb=200;}
        if ($i<2) {$fr=0;$fg=100;$fb=200;}
        if ($i>$bfeucht) {
            $t=$i*5;
            linie();
        }
    }
    
    echo 'IB#<div style="position:absolute;left:85px;top:0px;">'.$info.'</div>#'.$ver;
    exit;


function linie() {
/**************/
    global $fr,$fg,$fb,$t,$p,$h,$w,$info;
    $info.='<div id="tab" style="position:absolute;border:1px;top:'.$t.'px;left:'.$p.'px;background-color:rgb('.$fr.','.$fg.','.$fb.');border-style:solid;border-color:rgb('.$fr.','.$fg.','.$fb.');font-size:8px;width:'.$w.'px;height:'.$h.'px"></div>';
}

?>

- - - Aktualisiert - - -

psginfoTempAnz.php musst du natürlich noch anpassen. Z. B. die Beispieltexte "Wohnen", "Schlafen", "Büro" für deine Sensoren anpassen. Schau es dir in Ruhe an, wie da was zusammen passt. :)
Genauso wie $feucht jetzt nur den einen Wert anzeigt. Muss dann wie $temp1,2,3 gebastelt werden.

- - - Aktualisiert - - -

Habe psginfoTempAnz.php oben gerade nochmal etwas an deine Sensoren angeglichen. :)
 
Zuletzt bearbeitet:
Unbenannt.PNG

hmmm ... einige Probleme bei der Umsetzung


1) keine Temperaturanzeige
2) keine Feuchtigsanzeige
3) fehlt ganz obwohl psgDHT11s2.php funktioniert
4) Das mit dem Wasser kriege nicht hin da ich das ja mit einem script mache
Code:
$befehl="tac /media/usbstick/fhem/heizung.log |  grep -E '(hotWater_t1:)' | cut -c71-75";
$url=$helperurlpi2."?befehl=".encodiere($befehl,33455);
$wasser=web($url,$post);


psginfoTempAnz.php
Code:
<?php


    /*
        ╔═══╗ ╔═══╗ ╔═══╗ ┌───────────────────────────────────────────────────┐
        ║     ║   ║ ║     │  SensorAndSwitch (C)2014-16 Bluedragon            │
        ╚═══╗ ╠═══╣ ╚═══╗ ├──────────────────┬────────────────────────────────┤
            ║ ║   ║     ║ │  SAS-PsG (Info)  │  psginfoWetterAnz.php          │
        ╚═══╝ ╝   ╚ ╚═══╝ ├──────────────────┴────────────────────────────────┤
        ┌─────────────────┤  Infoanzeige Wetter                               │
        │  Info:          ╘═══════════════════════════════════════════════════╡
        ├─────────────────────────────────────────────────────────────────────┤
        │  Infoslot                                                           │
        ╘═════════════════════════════════════════════════════════════════════╛
    */
 
    include_once __DIR__."/../include/psg.php";


    $ver="V#V 6.00#";
    $name="Wetter";
    $gerarray=getGerInfo($name);
    $zeitupdate=$gerarray["ANZZEITUPDATE"];
    $temp=$gerarray["Temp"];
    $feucht=$gerarray["ANZFEUCHT"];
    $wetter=$gerarray["ANZWETTER"];
    $wettericon=$gerarray["ANZWETTERICON"];
    $luftdruck=$gerarray["ANZLUFTDRUCK"];
    $wrichtung=$gerarray["ANZWRICHTUNG"];
    $wgeschwindigkeit=$gerarray["ANZWGESCHWINDIGKEIT"];
    $phaseprozent=round($gerarray["ANZMONDPROZENT"],0);
    $phasetext=$gerarray["ANZMONDTEXT"];
    $TN=$gerarray["TN"];
    $SOWI=$gerarray["SOWI"];
    $mondphase=$gerarray["mondphase"];
    $mpi=$gerarray["mpi"];
    
    $name="DHT11s1";
    $gerarray=getGerInfo($name);
    $usbtemp1=number_format(sprintf('%.1f',$gerarray["temp1"]),1,",",".");
    $usbfeucht1=number_format(sprintf('%.1f',$gerarray["feucht1"]),1,",",".");


    $name="DHT11s2";
    $gerarray=getGerInfo($name);
    $usbtemp2=number_format(sprintf('%.1f',$gerarray["temp2"]),1,",",".");
    $usbfeucht2=number_format(sprintf('%.1f',$gerarray["feucht2"]),1,",",".");
    
    $name="DHT11s3";
    $gerarray=getGerInfo($name);
    $usbtemp3=number_format(sprintf('%.1f',$gerarray["temp3"]),1,",",".");
    $usbfeucht3=number_format(sprintf('%.1f',$gerarray["feucht3"]),1,",",".");


    $zeithi=date("H:i");
    
    define ("SOWI",$SOWI);
    define ("TN",$TN);


    if ($temp=="-") {$temp="-,-";}


    $info ="";


    #Uhrzeit
    $info.='<div style="position:absolute;top:-5px;left:570px;text-align:left;width:100px"><img src="'.picdesign("temp.png").'" border="0" height="100"></div>';
    $info.='<div style="position:absolute;top:0px;left:225px;text-align:right;width:300px;font-size:20px">'.$zeithi.' <img src="'.picdesign("home.png").'" border="0" height="20"></div>';
    #DHT11s1
    $info.='<div style="position:absolute;top:28px;left:375px;text-align:right;width:150px;font-size:15px">Außen <img src="'.picdesign("wz.png").'" border="0" height="26"></div>';
    $info.='<div style="position:absolute;top:56px;left:375px;text-align:right;width:150px;font-size:30px">'.str_replace(".",",",$usbtemp1)."°C".'</div>';
    $info.='<div style="position:absolute;top:85px;left:375px;text-align:right;width:150px;font-size:25px"><img src="'.picdesign("feucht.png").'" border="0" height="20"> '.str_replace(".",",",$feucht1)."%%".'</div>';
    #DHT11s2
    $info.='<div style="position:absolute;top:28px;left:225px;text-align:right;width:150px;font-size:15px">Keller <img src="'.picdesign("sz.png").'" border="0" height="26"></div>';
    $info.='<div style="position:absolute;top:56px;left:225px;text-align:right;width:150px;font-size:30px">'.str_replace(".",",",$usbtemp2)."°C".'</div>';
    $info.='<div style="position:absolute;top:85px;left:225px;text-align:right;width:150px;font-size:25px"><img src="'.picdesign("feucht.png").'" border="0" height="20"> '.str_replace(".",",",$feucht2)."%%".'</div>';
    #Wasser aus der Heizung
    $info.='<div style="position:absolute;top:28px;left:75px;text-align:right;width:150px;font-size:15px">Wasser <img src="'.picdesign("eep_warmwasser.png").'" border="0" height="26"></div>';
    $info.='<div style="position:absolute;top:56px;left:75px;text-align:right;width:150px;font-size:30px">'.str_replace(".",",",$usbtemp3)."°C".'</div>';
    #$info.='<div style="position:absolute;top:85px;left:75px;text-align:right;width:150px;font-size:25px"><img src="'.picdesign("feucht.png").'" border="0" height="20"> '.str_replace(".",",",$feucht3)."%%".'</div>';
    
    # 1
    $btemp=$usbtemp1+10;
    if ($usbtemp1=="-,-") {$btemp=0;}
    if ($btemp<0) {$btemp=0;}
    if ($btemp>44) {$btemp=44;}
    $btemp=22-$btemp/2;
    $bfeucht=22-$feucht1/100*22;
    
    $p=530;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }


    $fr=155;
    $fg=155;
    $fb=155;


    for ($i=22;$i>=0;$i--) {
        $fr=0;$fg=100;$fb=200;
        if ($i<20) {$fr=0;$fg=150;$fb=200;}
        if ($i<18) {$fr=0;$fg=200;$fb=150;}
        if ($i<14) {$fr=0;$fg=200;$fb=0;}
        if ($i<10) {$fr=150;$fg=200;$fb=0;}
        if ($i<6) {$fr=200;$fg=200;$fb=0;}
        if ($i<4) {$fr=200;$fg=0;$fb=0;}
        if ($i<2) {$fr=200;$fg=0;$fb=200;}
        if ($i>$btemp) {
            $t=$i*5;
            linie();
        }
    }
    
    $p=550;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }


    $fr=155;
    $fg=155;
    $fb=155;


    for ($i=22;$i>=0;$i--) {
        $fr=200;$fg=0;$fb=0;
        if ($i<20) {$fr=200;$fg=150;$fb=0;}
        if ($i<18) {$fr=200;$fg=200;$fb=0;}
        if ($i<14) {$fr=150;$fg=200;$fb=0;}
        if ($i<10) {$fr=0;$fg=200;$fb=0;}
        if ($i<6) {$fr=0;$fg=200;$fb=150;}
        if ($i<4) {$fr=0;$fg=150;$fb=200;}
        if ($i<2) {$fr=0;$fg=100;$fb=200;}
        if ($i>$bfeucht) {
            $t=$i*5;
            linie();
        }
    }


    #
    $btemp=$usbtemp2+10;
    if ($usbtemp2=="-,-") {$btemp=0;}
    if ($btemp<0) {$btemp=0;}
    if ($btemp>44) {$btemp=44;}
    $btemp=22-$btemp/2;
    $bfeucht=22-$feucht2/100*22;
    
    $p=380;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }


    $fr=155;
    $fg=155;
    $fb=155;


    for ($i=22;$i>=0;$i--) {
        $fr=0;$fg=100;$fb=200;
        if ($i<20) {$fr=0;$fg=150;$fb=200;}
        if ($i<18) {$fr=0;$fg=200;$fb=150;}
        if ($i<14) {$fr=0;$fg=200;$fb=0;}
        if ($i<10) {$fr=150;$fg=200;$fb=0;}
        if ($i<6) {$fr=200;$fg=200;$fb=0;}
        if ($i<4) {$fr=200;$fg=0;$fb=0;}
        if ($i<2) {$fr=200;$fg=0;$fb=200;}
        if ($i>$btemp) {
            $t=$i*5;
            linie();
        }
    }
    
    $p=400;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }


    $fr=155;
    $fg=155;
    $fb=155;


    for ($i=22;$i>=0;$i--) {
        $fr=200;$fg=0;$fb=0;
        if ($i<20) {$fr=200;$fg=150;$fb=0;}
        if ($i<18) {$fr=200;$fg=200;$fb=0;}
        if ($i<14) {$fr=150;$fg=200;$fb=0;}
        if ($i<10) {$fr=0;$fg=200;$fb=0;}
        if ($i<6) {$fr=0;$fg=200;$fb=150;}
        if ($i<4) {$fr=0;$fg=150;$fb=200;}
        if ($i<2) {$fr=0;$fg=100;$fb=200;}
        if ($i>$bfeucht) {
            $t=$i*5;
            linie();
        }
    }


    # 3
    $btemp=$usbtemp3+10;
    if ($usbtemp3=="-,-") {$btemp=0;}
    if ($btemp<0) {$btemp=0;}
    if ($btemp>44) {$btemp=44;}
    $btemp=22-$btemp/2;
    $bfeucht=22-$feucht3/100*22;
    
    $p=230;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }


    $fr=155;
    $fg=155;
    $fb=155;


    for ($i=22;$i>=0;$i--) {
        $fr=0;$fg=100;$fb=200;
        if ($i<20) {$fr=0;$fg=150;$fb=200;}
        if ($i<18) {$fr=0;$fg=200;$fb=150;}
        if ($i<14) {$fr=0;$fg=200;$fb=0;}
        if ($i<10) {$fr=150;$fg=200;$fb=0;}
        if ($i<6) {$fr=200;$fg=200;$fb=0;}
        if ($i<4) {$fr=200;$fg=0;$fb=0;}
        if ($i<2) {$fr=200;$fg=0;$fb=200;}
        if ($i>$btemp) {
            $t=$i*5;
            linie();
        }
    }
    
    $p=250;
    
    $fr=55;
    $fg=55;
    $fb=55;
    
    $t=0;
    $h=1;
    $w=10;
    for ($i=0;$i<=22;$i++) {
        $t=$i*5;
        linie();
    }


    $fr=155;
    $fg=155;
    $fb=155;


    for ($i=22;$i>=0;$i--) {
        $fr=200;$fg=0;$fb=0;
        if ($i<20) {$fr=200;$fg=150;$fb=0;}
        if ($i<18) {$fr=200;$fg=200;$fb=0;}
        if ($i<14) {$fr=150;$fg=200;$fb=0;}
        if ($i<10) {$fr=0;$fg=200;$fb=0;}
        if ($i<6) {$fr=0;$fg=200;$fb=150;}
        if ($i<4) {$fr=0;$fg=150;$fb=200;}
        if ($i<2) {$fr=0;$fg=100;$fb=200;}
        if ($i>$bfeucht) {
            $t=$i*5;
            linie();
        }
    }
    
    echo 'IB#<div style="position:absolute;left:85px;top:0px;">'.$info.'</div>#'.$ver;
    exit;




function linie() {
/**************/
    global $fr,$fg,$fb,$t,$p,$h,$w,$info;
    $info.='<div id="tab" style="position:absolute;border:1px;top:'.$t.'px;left:'.$p.'px;background-color:rgb('.$fr.','.$fg.','.$fb.');border-style:solid;border-color:rgb('.$fr.','.$fg.','.$fb.');font-size:8px;width:'.$w.'px;height:'.$h.'px"></div>';
}


?>

Meine Frau meinte gerade, die Uhr raus, das ganze schmaler und links noch 2 weitere Sensoren rein ...
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    347.4 KB · Aufrufe: 11
Zuletzt bearbeitet:
ALLE psg-Dateien UTF-8 nicht ANSI

Und im psgDHT11s1.php fehlt noch was, bitte posten

- - - Aktualisiert - - -

noch eine Idee:
ws4.jpg

- - - Aktualisiert - - -

psgTemp..php bitte posten und psgDHT11s2.php bitte posten, da fehlt auch noch was. Die Daten landen nicht in der Datenbank, sondern werden nur im psg angezeigt.

- - - Aktualisiert - - -

Auch die psgWetter.php muss UTF-8 ohne BOM codiert sein.

- - - Aktualisiert - - -

Wenn ich alle psgs habe, stelle ich diese aufeinander ein. Dann passt es.
 
Ich habe mal alles zusammen gepackt ... ich kriege keine Anhänge hoch geladen : click
 
Ich schau es mir an und bastel es zusammen, dass die psgs dann miteinander kommunizieren können. Mach ich aber erst morgen. Dann poste ich die relevanten psgs, die abgeändert wurden. Für heute mache ich erstmal Schluss. :)

- - - Aktualisiert - - -

Die psgWetter ist NICHT die psgWetter.php
das ist die psginfoWetterAnz.php. Du musst hier die psgs richtig benennen. Das ist eine andere Datei und deshalb kommt da alles falsch raus...
 
Vielen Dank vorab, hast Du die Anmerkungen meiner Frau oben gesehen ?
 

Neueste Beiträge

Statistik des Forums

Themen
246,191
Beiträge
2,247,584
Mitglieder
373,733
Neuestes Mitglied
romromillys
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.