$webcampid, "tstamp" => $time, "crdate" => $time, "cruser_id" => "2", "deleted" => "0", "hidden" => "0", "tempin" => "", "tempout" => "", "dp" => "", "rhi" => "", "rho" => "", "ws" => "", "wc" => "", "r1h" => "", "r24h" => "", "rtot" => "", "rp" => "", "dir0" => "", "minws" => "", "maxws" => "", "forecast" => "", "forecastRawIcon" => "", "forecastRawRule" => "", "forecastRaw" => "", "wassertemp" => "", "bat" => "", "arRainfall" => "", "arRainRateHi" => "" ); //$fieldsarr = array(); $raw_fields= array(); $camtxt= ""; if ($typ == "hb627") { $values= array(); foreach (explode("\n", $wx) as $line) { $rr= array(); if (preg_match("/(\d+)=(\d+)/", $line, $rr)) { $values[]= $rr[2]; } } echo count($values)." values found.\n"; if (count($values)==8) { if (is_callable($webcam['wxFunc'])) { if (! $webcam['wxFunc']($values, $fields, $raw_fields, $camtxt)) { echo "No valid wx data.\n"; exit; } } } } elseif ($typ == "usb4all") { $values= array(); foreach (explode("\n", $wx) as $line) { $values[]= $line; } echo count($values)." values found. USB4ALL\n"; if (count($values)>=2) { if (is_callable($webcam['wxFunc'])) { if (! $webcam['wxFunc']($values, $fields, $raw_fields, $camtxt)) { echo "No valid wx data.\n"; exit; } } } } elseif ($typ == "ws2350") { $values= array(); foreach (explode("\n", $wx) as $line) { $rr= array(); if (preg_match("/([a-z0-9]+) (.*)/i", $line, $rr)) { $values[$rr[1]]= $rr[2]; } } $error= null; if ($values['To']>50) $error= "To too high"; if ($values['To']>$values['Tomax']) $error= "To > Tomax"; if ($values['To']<$values['Tomin']) $error= "To < Tomin";; if ($values['Rp']>1200) $error= "Rp too high"; if ($values['Rp']<800) $error= "Rp too low"; if ($values['RHo']>105) $error= "RHo too high"; if ($error === null) { if (is_callable($webcam['wxFunc'])) { if (! $webcam['wxFunc']($values, $fields, $raw_fields, $camtxt)) { echo "No valid wx data.\n"; exit; } } } else { echo "$error\n"; } } elseif ($typ == "vpro") { //echo 'test1'; $values= array(); $values1= array(); $i=-1; foreach (explode("\n", $wx) as $line) { if (strpos($line, "Page") !== False){ $i++; } $rr= array(); if (preg_match("/([a-z0-9]+) = (.*)/i", $line, $rr)) { $values[$i][$rr[1]]= $rr[2]; } } //echo $values['0']['arDate']; //echo count($values)." values found Davis.\n"; if (is_callable($webcam['wxFunc'])) { if (! $webcam['wxFunc']($values, $fields, $raw_fields, $camtxt, $fieldsarr, $webcam)) { echo "No valid wx data.\n"; exit; } } //echo count($fieldsarr)." - \n"; //echo $fieldsarr['1']['stationtime']; } else { echo "ERROR: typ unknown: $typ\n"; } if (count($fieldsarr)>0 && $mysqli=openMysqlWetter()) { //$keys= array_keys($fields); // Write values to mysql $i = 0; //echo count($fieldsarr)." werden eingetragen\n"; echo count($fieldsarr)."\n"; for ($x=0; $xquery("insert tx_webcam_wetter set pid='${fields['pid']}', ". "tstamp='".$timestamp."',crdate='${fields['crdate']}',cruser_id='${fields['cruser_id']}',". "deleted='${fields['deleted']}',hidden='${fields['hidden']}',tempin='".$fieldsarr[$x]['tempin']."',". "tempout='".$fieldsarr[$x]['tempout']."',dp='".$fieldsarr[$x]['dp']."',rhi='".$fieldsarr[$x]['rhi']."',". "rho='".$fieldsarr[$x]['rho']."',ws='".$fieldsarr[$x]['ws']."',r1h='".$fieldsarr[$x]['r1h']."',". "r24h='".$fieldsarr[$x]['r24h']."',rtot='".$fieldsarr[$x]['rtot']."',rp='".$fieldsarr[$x]['rp']."',". "dir0='".$fieldsarr[$x]['dir0']."',minws='".$fieldsarr[$x]['minws']."',wc='".$fieldsarr[$x]['wc']."',". "maxws='".$fieldsarr[$x]['maxws']."',forecast='".$fieldsarr[$x]['forecast']."',forecastRawIcon='".$fieldsarr[$x]['forecastRawIcon']."',". "forecastRawRule='".$fieldsarr[$x]['forecastRawRule']."',forecastRaw='".$fieldsarr[$x]['forecastRaw']."',wassertemp='".$fieldsarr[$x]['wassertemp']."',". "stationtime='".$fieldsarr[$x]['stationtime']."',arRainfall='".$fieldsarr[$x]['arRainfall']."',arRainRateHi='".$fieldsarr[$x]['arRainRateHi']."'"); //echo $fieldsarr[$x]['stationtime']."\n"; //$time=time()-600; //echo 'test'; $time=date('YmdHi',time()-600); $result=$mysqli->query("select round(avg(minws),2) as minws, round(max(maxws),2) as maxws, round(avg(tempout),1) as tempout from tx_webcam_wetter where pid = ".$fields['pid']." and stationtime>".$time); //echo "select avg(minws) as minws, max(maxws) as maxws, avg(tempout) as tempout from tx_webcam_wetter where pid = ".$fields['pid']." and stationtime>".$time; //$result=$mysqli->query("select max(stationtime) as stationtime from tx_webcam_wetter where pid=".$webcampid); //$stationtime = $stationtime->fetch_assoc(); if ($result){ $row = $result->fetch_assoc(); $lastWindAvg = round ($row["minws"]*0.539956803,2); $lastWindGust= round($row["maxws"]*0.539956803,2); $lastwind=$lastWindAvg."-".$lastWindGust; if ($row["tempout"] != 0){ $lasttemp=$row["tempout"]; } } $stationtime=$mysqli->query("select max(stationtime) as stationtime from tx_webcam_wetter where pid=".$webcampid); $stationtime = $stationtime->fetch_assoc(); //$myTestVar="select avg(minws) as minws, max(maxws) as maxws from tx_webcam_wetter where pid = ".$fields['pid']." and ".tstamp>time()-600; //echo $myTestVar; // $lastwind=round ($fieldsarr[$x]["minws"]*0.539956803,2)."-".round($fieldsarr[$x]["maxws"]*0.539956803,2); $lastwassertemp=$fieldsarr[$x]['wassertemp']; //$tempout=$fieldsarr[$x]['tempout']; /* echo $fieldsarr[$x]['maxws']."\n"; //echo $tempout."\n"; echo ("insert tx_webcam_wetter set pid='${fields['pid']}', ". "tstamp='${fields['tstamp']}',crdate='${fields['crdate']}',cruser_id='${fields['cruser_id']}',". "deleted='${fields['deleted']}',hidden='${fields['hidden']}',tempin='".$fieldsarr[$x]['tempin']."',". "tempout='".$fieldsarr[$x]['tempout']."',dp='".$fieldsarr[$x]['dp']."',rhi='".$fieldsarr[$x]['rhi']."',". "rho='".$fieldsarr[$x]['rho']."',ws='".$fieldsarr[$x]['ws']."',r1h='".$fieldsarr[$x]['r1h']."',". "r24h='".$fieldsarr[$x]['r24h']."',rtot='".$fieldsarr[$x]['rtot']."',rp='".$fieldsarr[$x]['rp']."',". "dir0='".$fieldsarr[$x]['dir0']."',minws='".$fieldsarr[$x]['minws']."',wc='".$fieldsarr[$x]['wc']."',". "maxws='".$fieldsarr[$x]['maxws']."',forecast='".$fieldsarr[$x]['forecast']."',forecastRawIcon='".$fieldsarr[$x]['forecastRawIcon']."',". "forecastRawRule='".$fieldsarr[$x]['forecastRawRule']."',forecastRaw='".$fieldsarr[$x]['forecastRaw']."',wassertemp='".$fieldsarr[$x]['wassertemp']."',". "stationtime='".$fieldsarr[$x]['stationtime']."'\n");*/ } dolog($i." Wettereihen eingetragen","Wetterinfo"); #echo $webcam['workPath']."\n"; #echo $lasttemp."\n"; if (!isset($webcam['temperaturUpdatePath'])){ $webcam['temperaturUpdatePath'] = array( $webcam['name'] ); } if (!isset($webcam['wasserTemperaturUpdatePath'])){ $webcam['wasserTemperaturUpdatePath'] = array( $webcam['name'] ); } if (!isset($webcam['windUpdatePath'])){ $webcam['windUpdatePath'] = array( $webcam['name'] ); } foreach ($webcam['temperaturUpdatePath'] as $tempUpdate){ if(isset($lasttemp)){ $tempFile=fopen($webcam['webcamPath'].$tempUpdate."/wetter/temp.txt", "w"); fwrite($tempFile,$lasttemp); fclose($tempFile); } } foreach ($webcam['wasserTemperaturUpdatePath'] as $wasserTempUpdate){ $wassertempFile=fopen($webcam['webcamPath'].$wasserTempUpdate."/wetter/wassertemp.txt", "w"); fwrite($wassertempFile,$lastwassertemp); fclose($wassertempFile); } foreach ($webcam['windUpdatePath'] as $windUpdate){ $windMessungFile=fopen($webcam['webcamPath'].$windUpdate."/wetter/wind.txt", "w"); fwrite($windMessungFile,$lastwind); fclose($windMessungFile); $windfile="/tmp/wind-".$windUpdate.".txt"; $stormfile="/tmp/storm-".$windUpdate.".txt"; if (@filemtime($windfile) < (time()-600) ){ exec("rm $windfile"); } if (@filemtime($stormfile) < (time()-600) ){ exec("rm $stormfile"); } if ($lastWindAvg>=$webcam['windAvgBarrier'] or $lastWindGust>=$webcam['windGustBarrier']){ exec("touch $windfile"); if ($lastWindAvg>=$webcam['stormAvgBarrier'] or $lastWindGust>=$webcam['stormGustBarrier']){ exec("touch $stormfile"); } } } //fclose($windMessungFile1); // Write camera text /* if ($camtxt != "") { $camfile= fopen($webcam['workPath']."/wetter/cam.txt", "w"); if ($camfile) { fwrite($camfile, $camtxt); fclose($camfile); } } // Write readable text $txtfile= fopen($webcam['workPath']."/wetter/wx.txt", "w"); if ($txtfile) { $txt= ""; foreach ($keys as $key) { $txt.= "$key=".$fields{$key}."\n"; } fwrite($txtfile, $txt); fclose($txtfile); }*/ } ?>