OC3 Wetterdaten verarbeiten



Ähnliche Dokumente
How to install freesshd

Einführung in die Scriptsprache PHP

Templates für CMSMadeSimple

MAILEN FÜR DAS LEBEN 1000plus Signaturen einbinden

Der zweite all unsere Datenbanken. Dieser Befehl ist etwas komplexer, aber bis auf das Passwort (kursiv fett) so zu übernehmen:

Kapitel 4 Tabellen Seite 1. Nun wirst du eine Tabelle erstellen und ein wenig über deren Aufbau lernen.

Datenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany

Erstellen eigener HTML Seiten auf ewon

Es gibt zahlreiche Web-Programmiersprachen: HTML, CSS, JavaScript, PHP, Perl, Python, HTTP, XML und viele weitere.

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Tutorial Moodle 2 Rollenzuweisung

Hilfe zum Warenkorb des Elektronischen Katalogs 2007 Version 1.0

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

HOSTED EXCHANGE MAIL FÜR MAC

Win-Digipet V 9.2 Premium Edition Wie bastele ich mir steuerbare Kontakte. Wie bastele ich mir steuerbare Kontakte? -Quick-And-Dirty-Lösung-

Lehrer: Einschreibemethoden

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

5. Übung: PHP-Grundlagen

Anleitung zum GUI Version 2.x

So geht s Schritt-für-Schritt-Anleitung

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70

INTEGRA Finanzbuchhaltung Jahresabschluss Jahresabschluss 2014

GITS Steckbriefe Tutorial

Gezielt über Folien hinweg springen

Erstellen von x-y-diagrammen in OpenOffice.calc

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Fallbeispiel: Eintragen einer Behandlung

mit ssh auf Router connecten

Internet online Update (Mozilla Firefox)

VDP-Start die Hilfe für Anfänger

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Einrichtung Secure-FTP

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar CAP-News 40

Captive Portal Betrieb und Anpassung

Datenbanken Kapitel 2

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

BBCode v2.0. Einleitung...2 Installation... 3 Bugfixliste Inhaltsverzeichnis. Überarbeiteter BBCode + neuem Interface.

Anleitung über den Umgang mit Schildern

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Handbuch zum Statistiktool Pentaho Stand: Dezember 2013

<script type="text/javascript"> <! <%= page(page.searchsuggestionsscript) %> // > </script>

Tastatur auf Hebräisch umstellen

teamsync Kurzanleitung

SIMOTION IT Users & Passwords

7.3 Einrichtung 13. Monatslohn. Auszahlung Ende Jahr / Ende der Beschäftigung

INSTALLATION DES MICROSOFT SUS-SERVERS AUF WINDOWS XP PROFESSIONAL

07. Kapitel: Abfragen erstellen Geschätzter Zeitaufwand: 45 Minuten

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen!

Grundlagen der Videotechnik. Redundanz

Internationales Altkatholisches Laienforum

Umzug der Datenbank Firebird auf MS SQL Server

Anmerkungen zur Erstellung, dem automatisierten Versand und der automatisierten Auswertung von pdf-formularen

teischl.com Software Design & Services e.u. office@teischl.com

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

B12-TOUCH VERSION 3.5

Einrichtung Weiterleitung via.forward -Datei im Home-Verzeichnis

Serienbrief erstellen

Hyperlink-Erstellung in InDesign für

Adminer: Installationsanleitung

Etikettendruck mit Works 7.0

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Systemvoraussetzung < zurück weiter >

Virtuelle COM-Schnittstelle umbenennen

Beschreibung der Umstellungsschritte für moneyplex (neue Benutzerkennung und Kommunikationsadresse)

Programm Beschreibung

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Erstellen der Barcode-Etiketten:

Anleitung zum LPI ATP Portal

Fotoserien/Fotoalben

Summenbildung in Bauteiltabellen mit If Then Abfrage

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

ASP: Active Server Pages

Tageslichtsimulator Easy Time Controll. Bedienungsanleitung

... MathML XHTML RDF

Kurzanleitung für die Import/Export Funktion Kinderleicht Produkte importieren und aktualisieren und exportieren

Microsoft Outlook 2010

FAQ Verwendung. 1. Wie kann ich eine Verbindung zu meinem virtuellen SeeZam-Tresor herstellen?

Vorgehensweise bei Lastschriftverfahren

Anleitung: Ändern von Seiteninhalten und anlegen eines News Beitrags auf der Homepage des DAV Zorneding

Anleitung: Webspace-Einrichtung

Drupal 8 manuell installieren

LANiS Mailversender ( Version 1.2 September 2006)

Dokumentenverwaltung im Internet

Ein Leitfaden für Anfänger unter Zuhilfenahme frei verfügbarer Software! (bei z.b. Google Microsoft Powertoys suchen, oder diesen Link verwenden )

Kurzanleitung: Verbinden mehrerer PDF-Dokumente zu einem einzigen PDF-Dokument mit FreePDF XP Join

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Sicherer Datenaustausch zwischen der MPC-Group und anderen Firmen. Möglichkeiten zum Datenaustausch... 2

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Programmierung in C. Grundlagen. Stefan Kallerhoff

Microsoft Word Serienbriefe. Microsoft Word Serienbriefe

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

Transkript:

OC3 Wetterdaten verarbeiten 1. Ein Gewerk mit dem Namen Logging anlegen und der Wetterstation zuweisen 2. Folgende Systemvariablen anlegen und der Wetterstation zuordnen Gestern Luftfeuchte Max Maximalwert: 100% Gestern Luftfeuchte Min Maximalwert: 100% Gestern Regen Maximalwert: 65000mm Gestern Temp Max Minimalwert: -40 Maximalwert: 80 Celsius Gestern Temp Min Minimalwert: -40 Maximalwert: 80 Celsius Gestern Wind Max Maximalwert: 200 km/h Helligkeit gefiltert Maximalwert: 65000

Heute Luftfeuchte Max Maximalwert: 100% Heute Luftfeuchte Min Maximalwert: 100% Heute Regen Maximalwert: 65000mm Heute Temp Max Minimalwert: -40 Maximalwert: 80 Celsius Heute Temp Min Minimalwert: -40 Maximalwert: 80 Celsius Heute Wind Max Maximalwert: 200km/h 3. Speicherort und SSH Virtuelles Gerät über CUxD Bitte sicherstellen, dass eine SD-Karte in der CCU2 initialisieret wurde. Zudem den SSH Zugang für die SFTP Übertragung aktivieren und evtl. ein eigenes Passwort erstellen. Das default Passwort für den CCU SFTP Zugang Lautet User/PASS root/muzhlo9n%8!g Zum Verbinden benutze ich die freie Software FileZilla. Ein Virtuelles Gerät sollte über CUxD eingebunden werden um die Skripte auszuführen.

4. Skriptdateien Nun erstellen wir 3 Skriptdateien und Speichern diese auf der SD-Karte unter /media/sd-mmcblk0/ Das erste File heißt "writefile.tcl" und ist dafür da um alle 15 Minuten die aktuellen Wetterdaten in eine Tabelle zu schreiben: #!/bin/tclsh set filename "/media/sd-mmcblk0/wetter.csv" set args [join $argv " "] set fileid [open $filename "a+"] puts $fileid $args close $fileid Das zweite heißt "writefile_wetterpool.tcl" und dieses schreibt alle 5 Minuten die aktuellen Wetterdaten in eine Tabelle. Beim nächsten Schreibbefehl werden die Daten dann wieder überschrieben, sodass immer nur die aktuellen Daten in dieser Tabelle stehen: #!/bin/tclsh set filename "/media/sd-mmcblk0/wetterpool.csv" set args [join $argv " "] set fileid [open $filename "w"] puts $fileid $args close $fileid Das dritte heißt "writefile_auswertung.tcl" und ist dafür da um jeden Tag um 23:56Uhr die Tages max. und min. Werte in eine Tabelle zu schreiben. Hiermit erstelle ich dann später Tabellen. #!/bin/tclsh set filename "/media/sd-mmcblk0/wetterauswertung.csv" set args [join $argv " "] set fileid [open $filename "a+"] puts $fileid $args close $fileid

5. Programme auf der CCU2 erstellen Programm berechnet die Min Max Werte Das ganze besitzt als Wenn Bedingung eine Zeitfunktion mit den Einstellungen -Zeitpunkt 0:00 -Täglich; Jeden Tag ODER Lufttemperatur Größer -40 C Zugehöriges Script: string wds_name = dom.getobject("$src$").name(); object prg=dom.getobject($this$); object dp_tmp=dom.getobject(prg.rule().rulecondition(1).cndsinglecondition(0).leftval()); object dp_wds_channel=dom.getobject(dp_tmp.channel()); object dp_temp_max_today=dom.getobject('heute Temp Max'); object dp_temp_min_today=dom.getobject('heute Temp Min'); object dp_hum_max_today=dom.getobject('heute Luftfeuchte Max'); object dp_hum_min_today=dom.getobject('heute Luftfeuchte Min'); object dp_wind_max_today=dom.getobject('heute Wind Max'); object dp_rain_today=dom.getobject('heute Regen'); object dp_bright_avg=dom.getobject('helligkeit gefiltert'); var pos1 = wds_name.find("temperature"); real temp = dp_wds_channel.dpbyhssdp("temperature").value(); real wind = dp_wds_channel.dpbyhssdp("wind_speed").value(); real bright = dp_wds_channel.dpbyhssdp("brightness").value(); integer humidity = dp_wds_channel.dpbyhssdp("humidity").value(); if(pos1!= -1) var diff = dp_wds_channel.dpbyhssdp("rain_counter").value()- dp_wds_channel.dpbyhssdp("rain_counter").lastvalue(); if ( (1.0*diff) < 0.0 ) diff = (1.0*diff) + dp_wds_channel.dpbyhssdp("rain_counter").valuemax(); dp_rain_today.state(1.0*(dp_rain_today.value()) + diff);

if(temp > dp_temp_max_today.value()) dp_temp_max_today.state(temp); if(temp < dp_temp_min_today.value()) dp_temp_min_today.state(temp); if(wind > dp_wind_max_today.value()) dp_wind_max_today.state(wind); dp_bright_avg.state(((7.0*dp_bright_avg.value())+(1.0*bright))/8); if(humidity > dp_hum_max_today.value()) dp_hum_max_today.state(humidity); if(humidity < dp_hum_min_today.value()) dp_hum_min_today.state(humidity); else var x = dom.getobject('gestern Temp Max').State(dp_temp_max_today.Value()); x = dom.getobject('gestern Temp Min').State(dp_temp_min_today.Value()); x = dom.getobject('gestern Luftfeuchte Max').State(dp_hum_max_today.Value()); x = dom.getobject('gestern Luftfeuchte Min').State(dp_hum_min_today.Value()); x = dom.getobject('gestern Wind Max').State(dp_wind_max_today.Value()); x = dom.getobject('gestern Regen').State(dp_rain_today.Value()); dp_temp_max_today.state(temp); dp_temp_min_today.state(temp); dp_hum_max_today.state(humidity); dp_hum_min_today.state(humidity); dp_wind_max_today.state(wind); dp_rain_today.state(0);

Programm schreibt die Wetterdaten alle 15 Minuten in die Tabelle wetter.csv Das ganze besitzt als Wenn Bedingung eine Zeitfunktion mit den Einstellungen -Ganztägig -Zeitintervall alle 15 Minuten (die Zeit kann natärlich auch verändert werden) Als Dann Bedingung erstellt man ein Script mit folgendem Inhalt: Zugehöriges Script: var myassembly = dom.getobject("logging"); string itemid; string out; string err; string Raum; string Raum1 = ""; string Temperatur; string Temperatur1=""; integer StellePunkt = 0; string Humidity; string Wind_Speed; string Wind_Speed1=""; integer StellePunkt = 0; string Wind_Direction; string loggingtext = ""; string vdatum = system.date("%d.%m.%y").tostring(); string vuhrzeit = system.date("%h:%m").tostring(); foreach(itemid, myassembly.enumusedids()) var item = dom.getobject(itemid); var device = dom.getobject(item.device()); var interface = dom.getobject(item.interface()); string interface_name = interface.name(); string device_address = device.address(); device_address = device_address.strvaluebyindex(":", 0); string channel_name = interface_name # "." # device_address # ":1.TEMPERATURE"; Temperatur = (dom.getobject(channel_name).value()).tostring();

!---- Punkt im der Temperatur durch ein Komma ersetzen ----------------- StellePunkt = Temperatur.Find("."); Temperatur1 = Temperatur.Substr(0, StellePunkt); Temperatur1 = Temperatur1 + "," + Temperatur.Substr(StellePunkt + 1, 10); string channel_name = interface_name # "." # device_address # ":1.HUMIDITY"; Humidity = (dom.getobject(channel_name).value()).tostring(); string channel_name = interface_name # "." # device_address # ":1.WIND_SPEED"; Wind_Speed = (dom.getobject(channel_name).value()).tostring();!---- Punkt im der Wind Speed durch ein Komma ersetzen ----------------- StellePunkt = Wind_Speed.Find("."); Wind_Speed1 = Wind_Speed.Substr(0, StellePunkt); Wind_Speed1 = Wind_Speed1 + "," + Wind_Speed.Substr(StellePunkt + 1, 10); string channel_name = interface_name # "." # device_address # ":1.WIND_DIRECTION"; Wind_Direction = (dom.getobject(channel_name).value()).tostring(); string Heute_Regen = dom.getobject("heute Regen").Value().ToString(1); Raum = item.name(); Raum1 = Raum.Substr(0, Raum.Length() - 2); loggingtext = vdatum + ";" + vuhrzeit + ";" + Temperatur1 + "; C;" + Humidity + ";%;" + Wind_Speed1 + ";m/s;" + Wind_Direction + "; ;" + Heute_Regen + ";mm;"; dom.getobject("cuxd.cux2801001:1.cmd_exec").state("tclsh /usr/local/etc/config/writefile.tcl '"#loggingtext#"'"); Programm schreibt die Wetterdaten alle 5 Minuten in die Tabelle wetterpool.csv Das ganze besitzt als Wenn Bedingung eine Zeitfunktion mit den Einstellungen -Ganztägig -Zeitintervall alle 5 Minuten

Zugehöriges Script: var myassembly = dom.getobject("logging"); string itemid; string out; string err; string Raum; string Raum1 = ""; string Temperatur; string Temperatur1=""; integer StellePunkt = 0; string Humidity; string Wind_Speed; string Wind_Speed1=""; integer StellePunkt = 0; string Wind_Direction; string loggingtext = ""; string vdatum = system.date("%d.%m.%y").tostring(); string vuhrzeit = system.date("%h:%m").tostring(); foreach(itemid, myassembly.enumusedids()) var item = dom.getobject(itemid); var device = dom.getobject(item.device()); var interface = dom.getobject(item.interface()); string interface_name = interface.name(); string device_address = device.address(); device_address = device_address.strvaluebyindex(":", 0); string channel_name = interface_name # "." # device_address # ":1.TEMPERATURE"; Temperatur = (dom.getobject(channel_name).value()).tostring();!---- Punkt im der Temperatur durch ein Komma ersetzen ----------------- StellePunkt = Temperatur.Find("."); Temperatur1 = Temperatur.Substr(0, StellePunkt); Temperatur1 = Temperatur1 + "," + Temperatur.Substr(StellePunkt + 1, 10); string channel_name = interface_name # "." # device_address # ":1.HUMIDITY"; Humidity = (dom.getobject(channel_name).value()).tostring(); string channel_name = interface_name # "." # device_address # ":1.WIND_SPEED"; Wind_Speed = (dom.getobject(channel_name).value()).tostring();!---- Punkt im der Wind Speed durch ein Komma ersetzen ----------------- StellePunkt = Wind_Speed.Find("."); Wind_Speed1 = Wind_Speed.Substr(0, StellePunkt); Wind_Speed1 = Wind_Speed1 + "," + Wind_Speed.Substr(StellePunkt + 1, 10); string channel_name = interface_name # "." # device_address # ":1.WIND_DIRECTION"; Wind_Direction = (dom.getobject(channel_name).value()).tostring();

string Heute_Regen = dom.getobject("heute Regen").Value().ToString(1); string Gestern_Regen = dom.getobject("gestern Regen").Value().ToString(1); string Temperatur2 = dom.getobject("heute Temp Max").Value().ToString(1); string Temperatur3 = dom.getobject("heute Temp Min").Value().ToString(1); string Humidity2 = dom.getobject("heute Luftfeuchte Max").Value().ToString(1); string Humidity3 = dom.getobject("heute Luftfeuchte Min").Value().ToString(1); string Wind_Speed1 = dom.getobject("heute Wind Max").Value().ToString(1); string Temperatur4 = dom.getobject("gestern Temp Max").Value().ToString(1); string Temperatur5 = dom.getobject("gestern Temp Min").Value().ToString(1); string Humidity4 = dom.getobject("gestern Luftfeuchte Max").Value().ToString(1); string Humidity5 = dom.getobject("gestern Luftfeuchte Min").Value().ToString(1); string Wind_Speed2 = dom.getobject("gestern Wind Max").Value().ToString(1); Raum = item.name(); Raum1 = Raum.Substr(0, Raum.Length() - 2); loggingtext = vdatum + ";" + vuhrzeit + ";" + Temperatur1 + "; C;" + Humidity + ";%;" + Wind_Speed + ";m/s;" + Wind_Direction + "; ;" + Heute_Regen + ";mm;" + Gestern_Regen + ";mm;" + Temperatur2 + "; C;" + Temperatur3 + "; C;" + Humidity2 + ";%;" + Humidity3 + ";%;" + Wind_Speed1 + ";m/s;" + Temperatur4 + "; C;" + Temperatur5 + "; C;" + Humidity4 + ";%;" + Humidity5 + ";%;" + Wind_Speed2 + ";m/s;"; system.exec("tclsh /usr/local/etc/config/writefile_wetterpool.tcl " + loggingtext,&out, &err);

Programm lädt die wetterpool.csv auf den Webserver Das ganze besitzt als Wenn Bedingung eine Zeitfunktion mit den Einstellungen -Ganztägig -Zeitintervall alle 5 Minuten Zugehöriges Script: dom.getobject("cuxd.cux2801001:1.cmd_exec").state("ld_library_path=/usr/local/addons/cux d/ /usr/local/addons/cuxd/curl -T /media/sd-mmcblk0/wetterpool.csv ftp://server.de/httpdocs/wetter/ --user benutzer:passwort"); Programm schreibt die Wetterdaten um 23:57 in die wetterauswertung.csv Das ganze besitzt als Wenn Bedingung eine Zeitfunktion mit den Einstellungen -Zeitpunkt 23:57Uhr -Täglich

Zugehöriges Script: var myassembly = dom.getobject("logging"); string itemid; string out; string err; string Raum; string Raum1 = ""; string Temperatur; string Temperatur1=""; integer StellePunkt = 0; string Humidity; string Wind_Speed; string Wind_Speed1=""; integer StellePunkt = 0; string Wind_Direction; string loggingtext = ""; string vdatum = system.date("%d.%m.%y").tostring(); foreach(itemid, myassembly.enumusedids()) var item = dom.getobject(itemid); var device = dom.getobject(item.device()); var interface = dom.getobject(item.interface()); string interface_name = interface.name(); string device_address = device.address(); device_address = device_address.strvaluebyindex(":", 0); string channel_name = interface_name # "." # device_address # ":1.TEMPERATURE"; Temperatur = (dom.getobject(channel_name).value()).tostring();!---- Punkt im der Temperatur durch ein Komma ersetzen ----------------- StellePunkt = Temperatur.Find("."); Temperatur1 = Temperatur.Substr(0, StellePunkt); Temperatur1 = Temperatur1 + "," + Temperatur.Substr(StellePunkt + 1, 10); string channel_name = interface_name # "." # device_address # ":1.HUMIDITY"; Humidity = (dom.getobject(channel_name).value()).tostring(); string channel_name = interface_name # "." # device_address # ":1.WIND_SPEED"; Wind_Speed = (dom.getobject(channel_name).value()).tostring();!---- Punkt im der Wind Speed durch ein Komma ersetzen ----------------- StellePunkt = Wind_Speed.Find("."); Wind_Speed1 = Wind_Speed.Substr(0, StellePunkt); Wind_Speed1 = Wind_Speed1 + "," + Wind_Speed.Substr(StellePunkt + 1, 10); string channel_name = interface_name # "." # device_address # ":1.WIND_DIRECTION"; Wind_Direction = (dom.getobject(channel_name).value()).tostring(); string Heute_Regen = dom.getobject("heute Regen").Value().ToString(1);

string Temperatur2 = dom.getobject("heute Temp Max").Value().ToString(1); string Temperatur3 = dom.getobject("heute Temp Min").Value().ToString(1); string Humidity2 = dom.getobject("heute Luftfeuchte Max").Value().ToString(1); string Humidity3 = dom.getobject("heute Luftfeuchte Min").Value().ToString(1); string Wind_Speed1 = dom.getobject("heute Wind Max").Value().ToString(1); string Temperatur4 = dom.getobject("gestern Temp Max").Value().ToString(1); string Temperatur5 = dom.getobject("gestern Temp Min").Value().ToString(1); string Humidity4 = dom.getobject("gestern Luftfeuchte Max").Value().ToString(1); string Humidity5 = dom.getobject("gestern Luftfeuchte Min").Value().ToString(1); string Wind_Speed2 = dom.getobject("gestern Wind Max").Value().ToString(1); Raum = item.name(); Raum1 = Raum.Substr(0, Raum.Length() - 2); loggingtext = vdatum + ";" + Heute_Regen + ";mm;" + Temperatur2 + "; C;" + Temperatur3 + "; C;" + Humidity2 + ";%;" + Humidity3 + ";%;" + Wind_Speed1 + ";km/h;"; dom.getobject("cuxd.cux2801001:1.cmd_exec").state("tclsh /usr/local/etc/config/writefile_auswertung.tcl '"#loggingtext#"'"); Die erzeugten Dateien sammeln die Wetterdaten in den CSV Dateien und können nun beliebig weiter verarbeitet werden.

Als Beispiel habe ich die Datei aktuell.php erstellt und über ein <?php include("aktuell.php");?> Auf den Webspace eingebunden. Inhalt aktuell.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type" /> <title>aktuelle Werte</title> </head> <?php echo '<table border="1">'; $zeilen = file ("wetterpool.csv"); foreach($zeilen AS $zeile) echo "<tr>"; echo "<th>zeitpunkt</th>"; echo "<th>temperatur</th>"; echo "<th>luftfeuchtigkeit</th>"; echo "<th>windgeschwindigkeit</th>"; echo "<th>windrichtung in Grad</th>"; echo "<tr>"; echo '<tr>'; $teile = str_getcsv($zeile, ';', '"'); echo '<td>'. $teile[0]. ' '. $teile[1]. '</td>'; echo '<td>'. $teile[2]. ' '. $teile[3]. '</td>'; echo '<td>'. $teile[4]. ' '. $teile[5]. '</td>'; echo '<td>'. $teile[6]. ' '. $teile[7]. '</td>'; echo '<td>'. $teile[8]. ' '. $teile[9]. '</td>'; echo '</tr>'; echo "<tr>"; echo "<th>heute Regen</th>"; echo "<th>heute Temperatur Maximum</th>"; echo "<th>heute Temperatur Minimum</th>"; echo "<th>heute Luftfeuchtigkeit Maximum</th>"; echo "<th>heute Luftfeuchtigkeit Minimum</th>"; echo "<th>heute Wind Maximum</th>"; echo "<tr>"; echo '</tr>'; echo '<td>'. $teile[10]. ' '. $teile[11]. '</td>'; echo '<td>'. $teile[14]. ' '. $teile[15]. '</td>'; echo '<td>'. $teile[16]. ' '. $teile[17]. '</td>'; echo '<td>'. $teile[18]. ' '. $teile[19]. '</td>'; echo '<td>'. $teile[20]. ' '. $teile[21]. '</td>';

echo '<td>'. $teile[22]. ' '. $teile[23]. '</td>'; echo '</tr>'; echo "<tr>"; echo "<th>gestern Regen</th>"; echo "<th>gestern Temperatur Maiximum</th>"; echo "<th>gestern Temperatur Minimum</th>"; echo "<th>gestern Luftfeuchtigkeit Maiximum</th>"; echo "<th>gestern Luftfeuchtigkeit Minimum</th>"; echo "<th>gestern Wind Maximum</th>"; echo "</tr>"; echo '</tr>'; echo '<td>'. $teile[12]. ' '. $teile[13]. '</td>'; echo '<td>'. $teile[24]. ' '. $teile[25]. '</td>'; echo '<td>'. $teile[26]. ' '. $teile[27]. '</td>'; echo '<td>'. $teile[28]. ' '. $teile[29]. '</td>'; echo '<td>'. $teile[30]. ' '. $teile[31]. '</td>'; echo '<td>'. $teile[32]. ' '. $teile[33]. '</td>'; # echo '<td>'. $teile[34]. ' '. $teile[35]. '</td>'; echo '</tr>'; echo '</table>';