<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://geralis.ddns.net/cyberwiki/index.php?action=history&amp;feed=atom&amp;title=Software</id>
	<title>Software - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://geralis.ddns.net/cyberwiki/index.php?action=history&amp;feed=atom&amp;title=Software"/>
	<link rel="alternate" type="text/html" href="https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;action=history"/>
	<updated>2026-04-03T18:13:28Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in CyberWiki</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;diff=946&amp;oldid=prev</id>
		<title>Geli am 3. Februar 2023 um 16:55 Uhr</title>
		<link rel="alternate" type="text/html" href="https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;diff=946&amp;oldid=prev"/>
		<updated>2023-02-03T16:55:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 3. Februar 2023, 18:55 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l153&quot;&gt;Zeile 153:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 153:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Vor dem Schreiben Plausibilitätsprüfung von Zeit und Temperatur durchführen&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Vor dem Schreiben Plausibilitätsprüfung von Zeit und Temperatur durchführen&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Datenbank definieren&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Datenbank definieren&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  db = MySQLdb.connect(&amp;quot;localhost&amp;quot;,&amp;quot;pi&amp;quot;,&amp;quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pedlemic01&lt;/del&gt;&amp;quot;,&amp;quot;sensor&amp;quot; )&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  db = MySQLdb.connect(&amp;quot;localhost&amp;quot;,&amp;quot;pi&amp;quot;,&amp;quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;password&lt;/ins&gt;&amp;quot;,&amp;quot;sensor&amp;quot; )&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  cursor = db.cursor()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  cursor = db.cursor()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Letzten Datensatz aus werte lesen&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Letzten Datensatz aus werte lesen&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key cyberwiki:diff::1.12:old-436:rev-946 --&gt;
&lt;/table&gt;</summary>
		<author><name>Geli</name></author>
	</entry>
	<entry>
		<id>https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;diff=436&amp;oldid=prev</id>
		<title>Geli am 10. Januar 2019 um 19:44 Uhr</title>
		<link rel="alternate" type="text/html" href="https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;diff=436&amp;oldid=prev"/>
		<updated>2019-01-10T19:44:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 10. Januar 2019, 21:44 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l604&quot;&gt;Zeile 604:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 604:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ...&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Datei '''JJ.csv''' (z.B. 17.csv) sieht wie folgt aus:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Datei '''JJ.csv''' (z.B. 17.csv) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;enthält die Zeiten der Sonnenauf- und untergänge und &lt;/ins&gt;sieht wie folgt aus:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  TTMM;Auf;Unter;Auf;Unter&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  TTMM;Auf;Unter;Auf;Unter&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l615&quot;&gt;Zeile 615:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 615:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ...&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sie kann &lt;/del&gt;z.B. hier https://www.zamg.ac.at/cms/de/klima/klimauebersichten/ephemeriden bezogen werden und &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;muss &lt;/del&gt;(mit Excel) entsprechen aufbereitet werden. Die letzten beiden Parameter sind die Minuten ab 00:00 Uhr.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Die Daten können &lt;/ins&gt;z.B. hier https://www.zamg.ac.at/cms/de/klima/klimauebersichten/ephemeriden bezogen werden und &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;müssen &lt;/ins&gt;(mit Excel) entsprechen aufbereitet werden. Die letzten beiden Parameter sind die &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Anzahl der &lt;/ins&gt;Minuten ab 00:00 Uhr.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key cyberwiki:diff::1.12:old-435:rev-436 --&gt;
&lt;/table&gt;</summary>
		<author><name>Geli</name></author>
	</entry>
	<entry>
		<id>https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;diff=435&amp;oldid=prev</id>
		<title>Geli am 10. Januar 2019 um 19:43 Uhr</title>
		<link rel="alternate" type="text/html" href="https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;diff=435&amp;oldid=prev"/>
		<updated>2019-01-10T19:43:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 10. Januar 2019, 21:43 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l593&quot;&gt;Zeile 593:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 593:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  bild.save('/media/usbhdd/webpic/weather.jpg')&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  bild.save('/media/usbhdd/webpic/weather.jpg')&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Programmende----------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Programmende----------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Die Datei '''Event.csv''' hat folgenden Aufbau:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; JJMMTT;Eventtext (mit Blanks und ohne Umlaute)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 181201;Dezember&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 181202;1. Adventsonntag&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 181209;2. Adventsonntag&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 181216;3. Adventsonntag&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 181223;4. Adventsonntag&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; ...&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Die Datei '''JJ.csv''' (z.B. 17.csv) sieht wie folgt aus:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; TTMM;Auf;Unter;Auf;Unter&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 0101;07:46;16:11;466;971&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 0201;07:45;16:12;465;972&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 0301;07:45;16:13;465;973&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 0401;07:45;16:14;465;974&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 0501;07:45;16:15;465;975&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 0601;07:45;16:16;465;976&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; ...&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sie kann z.B. hier https://www.zamg.ac.at/cms/de/klima/klimauebersichten/ephemeriden bezogen werden und muss (mit Excel) entsprechen aufbereitet werden. Die letzten beiden Parameter sind die Minuten ab 00:00 Uhr.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key cyberwiki:diff::1.12:old-434:rev-435 --&gt;
&lt;/table&gt;</summary>
		<author><name>Geli</name></author>
	</entry>
	<entry>
		<id>https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;diff=434&amp;oldid=prev</id>
		<title>Geli am 10. Januar 2019 um 19:32 Uhr</title>
		<link rel="alternate" type="text/html" href="https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;diff=434&amp;oldid=prev"/>
		<updated>2019-01-10T19:32:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 10. Januar 2019, 21:32 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l116&quot;&gt;Zeile 116:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 116:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  pin = 17&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  pin = 17&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  humkorr = humidity * 1.13&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &lt;/ins&gt;humkorr = humidity * 1.13&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; humkorr = humidity * 1.15&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # humkorr = humidity * 1.22&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  if humkorr &amp;gt; 100:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  if humkorr &amp;gt; 100:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      humkorr = 100&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      humkorr = 100&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l276&quot;&gt;Zeile 276:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 278:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          except:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          except:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;              log(&amp;quot;E3: &amp;quot; + timestamp_ht + &amp;quot; SQL write to hochtief not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;              log(&amp;quot;E3: &amp;quot; + timestamp_ht + &amp;quot; SQL write to hochtief not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;              db.rollback()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;              db.rollback()  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Tabelle hochtief Monatshochtief lesen --------------------&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Tabelle hochtief Monatshochtief lesen --------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  timestamp_ht = YY + MM + &amp;quot;00&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  timestamp_ht = YY + MM + &amp;quot;00&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l331&quot;&gt;Zeile 331:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 333:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;              log(&amp;quot;E5: &amp;quot; + timestamp_ht + &amp;quot; SQL write to hochtief not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;              log(&amp;quot;E5: &amp;quot; + timestamp_ht + &amp;quot; SQL write to hochtief not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;              db.rollback()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;              db.rollback()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Tabelle hochtief Jahreshochtief lesen --------------------&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # Tabelle hochtief Jahreshochtief lesen --------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  timestamp_ht = YY + &amp;quot;0000&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  timestamp_ht = YY + &amp;quot;0000&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key cyberwiki:diff::1.12:old-380:rev-434 --&gt;
&lt;/table&gt;</summary>
		<author><name>Geli</name></author>
	</entry>
	<entry>
		<id>https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;diff=380&amp;oldid=prev</id>
		<title>Geli: Die Seite wurde neu angelegt: „'''Das Python-Script'''   #!/usr/bin/env python  # -*- coding: utf-8 -*-  #--------------------------------  import os, io, sys, time  import csv  import picam…“</title>
		<link rel="alternate" type="text/html" href="https://geralis.ddns.net/cyberwiki/index.php?title=Software&amp;diff=380&amp;oldid=prev"/>
		<updated>2018-09-24T17:26:03Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „&amp;#039;&amp;#039;&amp;#039;Das Python-Script&amp;#039;&amp;#039;&amp;#039;   #!/usr/bin/env python  # -*- coding: utf-8 -*-  #--------------------------------  import os, io, sys, time  import csv  import picam…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Das Python-Script'''&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/env python&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 #--------------------------------&lt;br /&gt;
 import os, io, sys, time&lt;br /&gt;
 import csv&lt;br /&gt;
 import picamera&lt;br /&gt;
 import Adafruit_DHT&lt;br /&gt;
 import Adafruit_BMP.BMP085 as BMP085&lt;br /&gt;
 import decimal&lt;br /&gt;
 from decimal import *&lt;br /&gt;
 import MySQLdb&lt;br /&gt;
 import Image&lt;br /&gt;
 import ImageFont&lt;br /&gt;
 import ImageDraw&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # Offsets festlegen&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # Sonnenaufgang und -untergang (YY.csv)&lt;br /&gt;
 OffsetAuf = 25&lt;br /&gt;
 OffsetUnter = 30&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # Logfile definieren&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 logfile = '/home/pi/timelapse.log'&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # Funktion Logfile schreiben&lt;br /&gt;
 # log(&amp;quot;string&amp;quot;+&amp;quot;\n&amp;quot;)&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 def log(msg):&lt;br /&gt;
     file = open(logfile,&amp;quot;a&amp;quot;)&lt;br /&gt;
     file.write(msg)&lt;br /&gt;
     file.close&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # Funktion Temperatur in Farbe umrechnen&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 def tempcolor(temp):&lt;br /&gt;
     gruppe = int(temp/10) + 2&lt;br /&gt;
     mod = temp - int(temp/10)*10&lt;br /&gt;
     if gruppe &amp;lt; 0:&lt;br /&gt;
         gruppe = 0&lt;br /&gt;
     if gruppe &amp;gt; 6:&lt;br /&gt;
         gruppe = 6&lt;br /&gt;
     if gruppe == 6:&lt;br /&gt;
         r = 255&lt;br /&gt;
         g = 0&lt;br /&gt;
         b = 0&lt;br /&gt;
         return (r, g, b)&lt;br /&gt;
     elif gruppe == 5:&lt;br /&gt;
         r = 200 + int(Decimal(5.5) * mod)&lt;br /&gt;
         g = 0&lt;br /&gt;
         b = 0&lt;br /&gt;
         return (r, g, b)&lt;br /&gt;
     elif gruppe == 4:&lt;br /&gt;
         r = 200&lt;br /&gt;
         g = 200 - int(20 * mod)&lt;br /&gt;
         b = 0&lt;br /&gt;
         return (r, g, b)&lt;br /&gt;
     elif gruppe == 3:&lt;br /&gt;
         r = 0 + int(20 * mod)&lt;br /&gt;
         g = 200&lt;br /&gt;
         b = 0&lt;br /&gt;
         return (r, g, b)&lt;br /&gt;
     elif gruppe == 2:&lt;br /&gt;
         if temp &amp;gt;= 0:&lt;br /&gt;
             r = 0&lt;br /&gt;
             g = 200&lt;br /&gt;
             b = 200 - int(20 * mod)&lt;br /&gt;
             return (r, g, b)&lt;br /&gt;
         else:&lt;br /&gt;
             r = 0&lt;br /&gt;
             g = 200 + int(20 * mod)&lt;br /&gt;
             b = 200&lt;br /&gt;
             return (r, g, b)&lt;br /&gt;
     elif gruppe == 1:&lt;br /&gt;
         r = 0 - int(20 * mod)&lt;br /&gt;
         g = 0&lt;br /&gt;
         b = 200&lt;br /&gt;
         return (r, g, b)&lt;br /&gt;
     else:&lt;br /&gt;
         r = 200&lt;br /&gt;
         g = 0&lt;br /&gt;
         b = 100&lt;br /&gt;
         return (r, g, b)&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # Funktion Humidity in Farbe umrechnen&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 def humcolor(hum):&lt;br /&gt;
     r = 255 - int(hum*255/100)&lt;br /&gt;
     g = 255 - int(hum*255/100)&lt;br /&gt;
     b = 255&lt;br /&gt;
     return (r, g, b)&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # Function DS18B20 lesen&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 def Temp(sensorfile):&lt;br /&gt;
     # 1-wire Slave Datei lesen&lt;br /&gt;
     file = open('/sys/bus/w1/devices/' + sensorfile + '/w1_slave')&lt;br /&gt;
     filecontent = file.read()&lt;br /&gt;
     file.close()&lt;br /&gt;
     # Temperaturwerte auslesen und konvertieren&lt;br /&gt;
     stringvalue = filecontent.split(&amp;quot;\n&amp;quot;)[1].split(&amp;quot; &amp;quot;)[9]&lt;br /&gt;
     temperature = float(stringvalue[2:]) / 1000&lt;br /&gt;
     # Temperatur zurückgeben&lt;br /&gt;
     return(temperature)&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # Sensoren auswerten&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # DS18B20 auswerten ------------&lt;br /&gt;
 temp1 = Temp('28-0516851390ff')&lt;br /&gt;
 temp = Decimal(temp1 -0.05).quantize(Decimal('.1'), rounding=ROUND_HALF_UP)&lt;br /&gt;
 # DHT-22 auswerten ------------------&lt;br /&gt;
 sensor = Adafruit_DHT.DHT22&lt;br /&gt;
 # GPIO-Nummer festlegen -------------&lt;br /&gt;
 pin = 17&lt;br /&gt;
 humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)&lt;br /&gt;
 humkorr = humidity * 1.13&lt;br /&gt;
 if humkorr &amp;gt; 100:&lt;br /&gt;
     humkorr = 100&lt;br /&gt;
 hum = Decimal(humkorr).quantize(Decimal('.1'), rounding=ROUND_HALF_UP)&lt;br /&gt;
 humraw = Decimal(humidity).quantize(Decimal('.1'), rounding=ROUND_HALF_UP)&lt;br /&gt;
 # Luftdruck bestimmen ---------------&lt;br /&gt;
 bmp = BMP085.BMP085()&lt;br /&gt;
 BMP_temp = bmp.read_temperature() - 0.5&lt;br /&gt;
 tempint = Decimal(BMP_temp).quantize(Decimal('.1'), rounding=ROUND_HALF_UP)&lt;br /&gt;
 BMP_hpa = bmp.read_pressure()&lt;br /&gt;
 #     Meereshoehe Standort in m = 315 + Kalibrierwert&lt;br /&gt;
 Kalib = -9.0&lt;br /&gt;
 altitude = 315.0 + Kalib&lt;br /&gt;
 BMP_psea = BMP_hpa / pow(1.0 - altitude/44330.0, 5.255) / 100&lt;br /&gt;
 hpa = Decimal(BMP_psea).quantize(Decimal('.1'), rounding=ROUND_HALF_UP)&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # Datenbank schreiben&lt;br /&gt;
 #-----------------------------------------------------------&lt;br /&gt;
 # Aktuelles Datum und Zeit bestimmen&lt;br /&gt;
 # Zeit = time.strftime(&amp;quot;%y%m%d-%H%M%S&amp;quot;)&lt;br /&gt;
 Zeit = time.strftime(&amp;quot;%y%m%d-%H%M&amp;quot;)&lt;br /&gt;
 UTC = int(time.time()/60)*60&lt;br /&gt;
 YY = Zeit[0:2]&lt;br /&gt;
 MM = Zeit[2:4]&lt;br /&gt;
 DD = Zeit[4:6]&lt;br /&gt;
 Stunde = Zeit[7:9]&lt;br /&gt;
 Minute = Zeit[9:11]&lt;br /&gt;
 Datum = Datum = DD + &amp;quot;.&amp;quot; + MM + &amp;quot;.&amp;quot; + YY&lt;br /&gt;
 TTMM = DD + MM&lt;br /&gt;
 JJMMTT = YY + MM + DD&lt;br /&gt;
 TagMin = int(Stunde) * 60 + int(Minute)&lt;br /&gt;
 ZeitPIC = DD + &amp;quot;.&amp;quot; + MM + &amp;quot;.&amp;quot; + &amp;quot;20&amp;quot; + YY + &amp;quot;  &amp;quot; + Stunde + &amp;quot;:&amp;quot; + Minute&lt;br /&gt;
 timestamp = YY + MM + DD + Stunde + Minute&lt;br /&gt;
 # Vor dem Schreiben Plausibilitätsprüfung von Zeit und Temperatur durchführen&lt;br /&gt;
 # Datenbank definieren&lt;br /&gt;
 db = MySQLdb.connect(&amp;quot;localhost&amp;quot;,&amp;quot;pi&amp;quot;,&amp;quot;pedlemic01&amp;quot;,&amp;quot;sensor&amp;quot; )&lt;br /&gt;
 cursor = db.cursor()&lt;br /&gt;
 # Letzten Datensatz aus werte lesen&lt;br /&gt;
 sql = &amp;quot;SELECT * FROM werte ORDER BY id DESC LIMIT 1&amp;quot;&lt;br /&gt;
 cursor.execute(sql)&lt;br /&gt;
 checktime = cursor.fetchone()&lt;br /&gt;
 if checktime is not None:&lt;br /&gt;
     check_utc = checktime[1]&lt;br /&gt;
     check_temp = checktime[3]&lt;br /&gt;
     if (UTC - float(check_utc)) &amp;gt; 301:&lt;br /&gt;
         log(&amp;quot;E8: &amp;quot; + timestamp + &amp;quot; &amp;quot; + str((UTC - float(check_utc))/60) + &amp;quot; Minuten Zeitdifferenz!&amp;quot; + &amp;quot;\n&amp;quot;)&lt;br /&gt;
     if temp &amp;gt; 42:&lt;br /&gt;
         log(&amp;quot;E9: &amp;quot; + timestamp + &amp;quot; Temperaturwert &amp;gt; 42: &amp;quot; + str(temp))&lt;br /&gt;
         temp = check_temp&lt;br /&gt;
 # 5-Minutenwerte schreiben Tabelle werte --------------------&lt;br /&gt;
 sql = &amp;quot;INSERT INTO werte (utc, timestamp, temp, hum, humraw, hpa, tempint) \&lt;br /&gt;
        VALUES ('%s', '%s', '%f', '%f', '%f', '%f', '%f')&amp;quot; % \&lt;br /&gt;
        (UTC, timestamp, temp, hum, humraw, hpa, tempint)&lt;br /&gt;
 try:&lt;br /&gt;
     cursor.execute(sql)&lt;br /&gt;
     db.commit()&lt;br /&gt;
 except:&lt;br /&gt;
     log(&amp;quot;E1: &amp;quot; + timestamp + &amp;quot; SQL write to werte not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;br /&gt;
     db.rollback()&lt;br /&gt;
 # 3-Stundenwert hpa aus Tabelle werte lesen ----------------&lt;br /&gt;
 UTC_3h = UTC - 10800&lt;br /&gt;
 sql = &amp;quot;SELECT hpa FROM werte WHERE UTC = %s&amp;quot;&lt;br /&gt;
 cursor.execute(sql, (UTC_3h,))&lt;br /&gt;
 UTC_3hDB = cursor.fetchone()&lt;br /&gt;
 # Ausmaß der Luftdruckänderung feststellen -----------------&lt;br /&gt;
 hpaSign = &amp;quot;&amp;quot;&lt;br /&gt;
 hpadiff = 0&lt;br /&gt;
 if UTC_3hDB is not None:&lt;br /&gt;
     hpadiff = hpa - UTC_3hDB[0]&lt;br /&gt;
     if (hpadiff &amp;gt; -1) and (hpadiff &amp;lt; 1):&lt;br /&gt;
         hpaSign = &amp;quot;=&amp;quot;&lt;br /&gt;
     elif (hpadiff &amp;gt;= 1) and (hpadiff &amp;lt; 3):&lt;br /&gt;
         hpaSign = &amp;quot;+&amp;quot;&lt;br /&gt;
     elif (hpadiff &amp;gt;= 3) and (hpadiff &amp;lt; 5):&lt;br /&gt;
         hpaSign = &amp;quot;++&amp;quot;&lt;br /&gt;
     elif (hpadiff &amp;gt;= 5):&lt;br /&gt;
         hpaSign = &amp;quot;+++&amp;quot;&lt;br /&gt;
     elif (hpadiff &amp;lt;= -1) and (hpadiff &amp;gt; -3):&lt;br /&gt;
         hpaSign = &amp;quot;-&amp;quot;&lt;br /&gt;
     elif (hpadiff &amp;lt;= -3) and (hpadiff &amp;gt; -5):&lt;br /&gt;
         hpaSign = &amp;quot;--&amp;quot;&lt;br /&gt;
     elif (hpadiff &amp;lt;= -5):&lt;br /&gt;
         hpaSign = &amp;quot;---&amp;quot;&lt;br /&gt;
 # Extremwerte behandeln Tabelle hochtief -------------------&lt;br /&gt;
 # Tabelle hochtief Tageshochtief lesen ---------------------&lt;br /&gt;
 timestamp_ht = YY + MM + DD&lt;br /&gt;
 sql = &amp;quot;SELECT temph, tempt, humh, humt, hpah, hpat, id FROM hochtief WHERE timestamp = %s&amp;quot;&lt;br /&gt;
 cursor.execute(sql, (timestamp_ht,))&lt;br /&gt;
 ergebnis = cursor.fetchone()&lt;br /&gt;
 if not ergebnis:&lt;br /&gt;
     sql = &amp;quot;INSERT INTO hochtief (timestamp, temph, tempt, humh, humt, hpah, hpat) \&lt;br /&gt;
     VALUES ('%s', '%f', '%f', '%f', '%f', '%f', '%f')&amp;quot; % \&lt;br /&gt;
     (timestamp_ht, temp, temp, hum, hum, hpa, hpa)&lt;br /&gt;
     try:&lt;br /&gt;
         cursor.execute(sql)&lt;br /&gt;
         db.commit()&lt;br /&gt;
     except:&lt;br /&gt;
         log(&amp;quot;E2: &amp;quot; + timestamp_ht + &amp;quot; SQL write to hochtief not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;br /&gt;
         db.rollback()&lt;br /&gt;
     tempstrTh = &amp;quot;%.1f&amp;quot; % temp&lt;br /&gt;
     tempstrTt = &amp;quot;%.1f&amp;quot; % temp&lt;br /&gt;
     tempfloath = float(temp)&lt;br /&gt;
     tempfloatt = float(temp)&lt;br /&gt;
     humfloath = float(hum)&lt;br /&gt;
     humfloatt = float(hum)&lt;br /&gt;
     hpafloath = float(hpa)&lt;br /&gt;
     hpafloatt = float(hpa)&lt;br /&gt;
     hpastrTh = &amp;quot;%.1f&amp;quot; % hpa&lt;br /&gt;
     hpastrTt = &amp;quot;%.1f&amp;quot; % hpa&lt;br /&gt;
 else:&lt;br /&gt;
     speichern = False&lt;br /&gt;
     temph = ergebnis[0]&lt;br /&gt;
     tempt = ergebnis[1]&lt;br /&gt;
     tempstrTh = &amp;quot;%.1f&amp;quot; % temph&lt;br /&gt;
     tempstrTt = &amp;quot;%.1f&amp;quot; % tempt&lt;br /&gt;
     tempfloath = float(temph)&lt;br /&gt;
     tempfloatt = float(tempt)&lt;br /&gt;
     humh = ergebnis[2]&lt;br /&gt;
     humt = ergebnis[3]&lt;br /&gt;
     humfloath = float(humh)&lt;br /&gt;
     humfloatt = float(humt)&lt;br /&gt;
     hpah = ergebnis[4]&lt;br /&gt;
     hpat = ergebnis[5]&lt;br /&gt;
     hpafloath = float(hpah)&lt;br /&gt;
     hpafloatt = float(hpat)&lt;br /&gt;
     hpastrTh = &amp;quot;%.1f&amp;quot; % hpah&lt;br /&gt;
     hpastrTt = &amp;quot;%.1f&amp;quot; % hpat&lt;br /&gt;
     id = ergebnis[6]&lt;br /&gt;
     if temp &amp;gt; temph:&lt;br /&gt;
         temph = temp; speichern = True&lt;br /&gt;
         tempstrTh = &amp;quot;%.1f&amp;quot; % temph&lt;br /&gt;
         tempfloath = float(temph)&lt;br /&gt;
     if temp &amp;lt; tempt:&lt;br /&gt;
         tempt = temp; speichern = True&lt;br /&gt;
         tempstrTt = &amp;quot;%.1f&amp;quot; % tempt&lt;br /&gt;
         tempfloatt = float(tempt)&lt;br /&gt;
     if hum &amp;gt; humh:&lt;br /&gt;
         humh = hum; speichern = True&lt;br /&gt;
         humfloath = float(humh)&lt;br /&gt;
     if hum &amp;lt; humt:&lt;br /&gt;
         humt = hum; speichern = True&lt;br /&gt;
         humfloatt = float(humt)&lt;br /&gt;
     if hpa &amp;gt; hpah:&lt;br /&gt;
         hpah = hpa; speichern = True&lt;br /&gt;
         hpastrTh = &amp;quot;%.1f&amp;quot; % hpah&lt;br /&gt;
         hpafloath = float(hpah)&lt;br /&gt;
     if hpa &amp;lt; hpat:&lt;br /&gt;
         hpat = hpa; speichern = True&lt;br /&gt;
         hpastrTt = &amp;quot;%.1f&amp;quot; % hpat&lt;br /&gt;
         hpafloatt = float(hpat)&lt;br /&gt;
     if speichern:&lt;br /&gt;
         try:&lt;br /&gt;
             cursor.execute(&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
                 UPDATE hochtief&lt;br /&gt;
                 SET temph=%s, tempt=%s, humh=%s, humt=%s, hpah=%s, hpat=%s&lt;br /&gt;
                 WHERE id=%s&lt;br /&gt;
             &amp;quot;&amp;quot;&amp;quot;, (temph, tempt, humh, humt, hpah, hpat, id))&lt;br /&gt;
             db.commit()&lt;br /&gt;
         except:&lt;br /&gt;
             log(&amp;quot;E3: &amp;quot; + timestamp_ht + &amp;quot; SQL write to hochtief not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;br /&gt;
             db.rollback()&lt;br /&gt;
&lt;br /&gt;
 # Tabelle hochtief Monatshochtief lesen --------------------&lt;br /&gt;
 timestamp_ht = YY + MM + &amp;quot;00&amp;quot;&lt;br /&gt;
 sql = &amp;quot;SELECT temph, tempt, humh, humt, hpah, hpat, id FROM hochtief WHERE timestamp = %s&amp;quot;&lt;br /&gt;
 cursor.execute(sql, (timestamp_ht,))&lt;br /&gt;
 ergebnis = cursor.fetchone()&lt;br /&gt;
 if not ergebnis:&lt;br /&gt;
     sql = &amp;quot;INSERT INTO hochtief (timestamp, temph, tempt, humh, humt, hpah, hpat) \&lt;br /&gt;
     VALUES ('%s', '%f', '%f', '%f', '%f', '%f', '%f')&amp;quot; % \&lt;br /&gt;
     (timestamp_ht, temp, temp, hum, hum, hpa, hpa)&lt;br /&gt;
     try:&lt;br /&gt;
         cursor.execute(sql)&lt;br /&gt;
         db.commit()&lt;br /&gt;
     except:&lt;br /&gt;
         log(&amp;quot;E4: &amp;quot; + timestamp_ht + &amp;quot; SQL write to hochtief not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;br /&gt;
         db.rollback()&lt;br /&gt;
     tempstrMh = &amp;quot;%.1f&amp;quot; % temp&lt;br /&gt;
     tempstrMt = &amp;quot;%.1f&amp;quot; % temp&lt;br /&gt;
 else:&lt;br /&gt;
     speichern = False&lt;br /&gt;
     temph = ergebnis[0]&lt;br /&gt;
     tempt = ergebnis[1]&lt;br /&gt;
     tempstrMh = &amp;quot;%.1f&amp;quot; % temph&lt;br /&gt;
     tempstrMt = &amp;quot;%.1f&amp;quot; % tempt&lt;br /&gt;
     humh = ergebnis[2]&lt;br /&gt;
     humt = ergebnis[3]&lt;br /&gt;
     hpah = ergebnis[4]&lt;br /&gt;
     hpat = ergebnis[5]&lt;br /&gt;
     id = ergebnis[6]&lt;br /&gt;
     if temp &amp;gt; temph:&lt;br /&gt;
         temph = temp; speichern = True&lt;br /&gt;
         tempstrMh = &amp;quot;%.1f&amp;quot; % temph&lt;br /&gt;
     if temp &amp;lt; tempt:&lt;br /&gt;
         tempt = temp; speichern = True&lt;br /&gt;
         tempstrMt = &amp;quot;%.1f&amp;quot; % tempt&lt;br /&gt;
     if hum &amp;gt; humh:&lt;br /&gt;
         humh = hum; speichern = True&lt;br /&gt;
     if hum &amp;lt; humt:&lt;br /&gt;
         humt = hum; speichern = True&lt;br /&gt;
     if hpa &amp;gt; hpah:&lt;br /&gt;
         hpah = hpa; speichern = True&lt;br /&gt;
     if hpa &amp;lt; hpat:&lt;br /&gt;
         hpat = hpa; speichern = True&lt;br /&gt;
     if speichern:&lt;br /&gt;
         try:&lt;br /&gt;
             cursor.execute(&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
                 UPDATE hochtief&lt;br /&gt;
                 SET temph=%s, tempt=%s, humh=%s, humt=%s, hpah=%s, hpat=%s&lt;br /&gt;
                 WHERE id=%s&lt;br /&gt;
             &amp;quot;&amp;quot;&amp;quot;, (temph, tempt, humh, humt, hpah, hpat, id))&lt;br /&gt;
             db.commit()&lt;br /&gt;
         except:&lt;br /&gt;
             log(&amp;quot;E5: &amp;quot; + timestamp_ht + &amp;quot; SQL write to hochtief not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;br /&gt;
             db.rollback()&lt;br /&gt;
&lt;br /&gt;
 # Tabelle hochtief Jahreshochtief lesen --------------------&lt;br /&gt;
 timestamp_ht = YY + &amp;quot;0000&amp;quot;&lt;br /&gt;
 sql = &amp;quot;SELECT temph, tempt, humh, humt, hpah, hpat, id FROM hochtief WHERE timestamp = %s&amp;quot;&lt;br /&gt;
 cursor.execute(sql, (timestamp_ht,))&lt;br /&gt;
 ergebnis = cursor.fetchone()&lt;br /&gt;
 if not ergebnis:&lt;br /&gt;
     sql = &amp;quot;INSERT INTO hochtief (timestamp, temph, tempt, humh, humt, hpah, hpat) \&lt;br /&gt;
     VALUES ('%s', '%f', '%f', '%f', '%f', '%f', '%f')&amp;quot; % \&lt;br /&gt;
     (timestamp_ht, temp, temp, hum, hum, hpa, hpa)&lt;br /&gt;
     try:&lt;br /&gt;
         cursor.execute(sql)&lt;br /&gt;
         db.commit()&lt;br /&gt;
     except:&lt;br /&gt;
         log(&amp;quot;E6: &amp;quot; + timestamp_ht + &amp;quot; SQL write to hochtief not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;br /&gt;
         db.rollback()&lt;br /&gt;
     tempstrJh = &amp;quot;%.1f&amp;quot; % temp&lt;br /&gt;
     tempstrJt = &amp;quot;%.1f&amp;quot; % temp&lt;br /&gt;
 else:&lt;br /&gt;
     speichern = False&lt;br /&gt;
     temph = ergebnis[0]&lt;br /&gt;
     tempt = ergebnis[1]&lt;br /&gt;
     tempstrJh = &amp;quot;%.1f&amp;quot; % temph&lt;br /&gt;
     tempstrJt = &amp;quot;%.1f&amp;quot; % tempt&lt;br /&gt;
     humh = ergebnis[2]&lt;br /&gt;
     humt = ergebnis[3]&lt;br /&gt;
     hpah = ergebnis[4]&lt;br /&gt;
     hpat = ergebnis[5]&lt;br /&gt;
     id = ergebnis[6]&lt;br /&gt;
     if temp &amp;gt; temph:&lt;br /&gt;
         temph = temp; speichern = True&lt;br /&gt;
         tempstrJh = &amp;quot;%.1f&amp;quot; % temph&lt;br /&gt;
     if temp &amp;lt; tempt:&lt;br /&gt;
         tempt = temp; speichern = True&lt;br /&gt;
         tempstrJt = &amp;quot;%.1f&amp;quot; % tempt&lt;br /&gt;
     if hum &amp;gt; humh:&lt;br /&gt;
         humh = hum; speichern = True&lt;br /&gt;
     if hum &amp;lt; humt:&lt;br /&gt;
         humt = hum; speichern = True&lt;br /&gt;
     if hpa &amp;gt; hpah:&lt;br /&gt;
         hpah = hpa; speichern = True&lt;br /&gt;
     if hpa &amp;lt; hpat:&lt;br /&gt;
         hpat = hpa; speichern = True&lt;br /&gt;
     if speichern:&lt;br /&gt;
         try:&lt;br /&gt;
             cursor.execute(&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
                 UPDATE hochtief&lt;br /&gt;
                 SET temph=%s, tempt=%s, humh=%s, humt=%s, hpah=%s, hpat=%s&lt;br /&gt;
                 WHERE id=%s&lt;br /&gt;
             &amp;quot;&amp;quot;&amp;quot;, (temph, tempt, humh, humt, hpah, hpat, id))&lt;br /&gt;
             db.commit()&lt;br /&gt;
         except:&lt;br /&gt;
             log(&amp;quot;E7: &amp;quot; + timestamp_ht + &amp;quot; SQL write to hochtief not ok!&amp;quot; +&amp;quot;\n&amp;quot;)&lt;br /&gt;
             db.rollback()&lt;br /&gt;
 # disconnect from server&lt;br /&gt;
 db.close()&lt;br /&gt;
 # -------------------------------------------------------------------------&lt;br /&gt;
 # PiCam&lt;br /&gt;
 #--------------------------------------------------------------------------&lt;br /&gt;
 # Directories festlegen, checken (und anlegen)&lt;br /&gt;
 Jahr = time.strftime(&amp;quot;%Y&amp;quot;)&lt;br /&gt;
 dirJahr = &amp;quot;/media/usbhdd/&amp;quot; + Jahr + &amp;quot;/&amp;quot;&lt;br /&gt;
 try: os.stat(dirJahr)&lt;br /&gt;
 except: os.mkdir(dirJahr)&lt;br /&gt;
 # Ordner für Nachtbilder nicht mehr anlegen&lt;br /&gt;
 #	dirJahrN = &amp;quot;/media/usbhdd/&amp;quot; + Jahr + &amp;quot;N/&amp;quot;&lt;br /&gt;
 #	try: os.stat(dirJahrN)&lt;br /&gt;
 #	except: os.mkdir(dirJahrN)&lt;br /&gt;
 # Foto machen --------------------------------&lt;br /&gt;
 # Create the in-memory stream&lt;br /&gt;
 stream = io.BytesIO()&lt;br /&gt;
 with picamera.PiCamera() as camera:&lt;br /&gt;
     camera.resolution = (1920, 1080)&lt;br /&gt;
     camera.start_preview()&lt;br /&gt;
     camera.meter_mode = 'matrix'&lt;br /&gt;
     # camera.sharpness = 10&lt;br /&gt;
     # camera.saturation = 5&lt;br /&gt;
     # Camera warm-up time&lt;br /&gt;
     time.sleep(2)&lt;br /&gt;
     camera.capture(stream, format='jpeg')&lt;br /&gt;
     # &amp;quot;Rewind&amp;quot; the stream to the beginning so we can read its content&lt;br /&gt;
     camera.stop_preview()&lt;br /&gt;
     stream.seek(0)&lt;br /&gt;
     bild = Image.open(stream)&lt;br /&gt;
     camera.close()&lt;br /&gt;
 # Bild beschriften-------------------------------------------------------&lt;br /&gt;
 #------------------------------------------------------------------------&lt;br /&gt;
 draw = ImageDraw.Draw(bild, 'RGBA')&lt;br /&gt;
 font = ImageFont.truetype(&amp;quot;/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf&amp;quot;,35)&lt;br /&gt;
 fontk = ImageFont.truetype(&amp;quot;/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf&amp;quot;,30)&lt;br /&gt;
 fontg = ImageFont.truetype(&amp;quot;/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf&amp;quot;,40)&lt;br /&gt;
 draw.rectangle((0,991,1919,1079),fill=(80,80,80,144))&lt;br /&gt;
 draw.rectangle((0,0,80,990),fill=(80,80,80,144))&lt;br /&gt;
 draw.rectangle((1840,0,1919,990),fill=(80,80,80,144))&lt;br /&gt;
 # Zeit schreiben --------------------------------------------------------&lt;br /&gt;
 draw.text((800, 1035),ZeitPIC,(255,255,255),font=font)&lt;br /&gt;
 # Temperatur schreiben --------------------------------------------------&lt;br /&gt;
 # -----------------------------------------------------------------------&lt;br /&gt;
 draw.text((3,994),chr(176)+&amp;quot;C&amp;quot;,(255,255,255),font=font)&lt;br /&gt;
 tempstr = &amp;quot;%.1f&amp;quot; % temp&lt;br /&gt;
 draw.text((3,1035),tempstr,(255,255,255),font=font)&lt;br /&gt;
 # Temperaturbalken schreiben --------------------&lt;br /&gt;
 # oben=0, unten=990, Null Grad=660, 1 Grad=16,5&lt;br /&gt;
 rot, gruen, blau = tempcolor(temp)&lt;br /&gt;
 farbe = &amp;quot;rgb(&amp;quot;+str(rot)+&amp;quot;,&amp;quot;+str(gruen)+&amp;quot;,&amp;quot;+str(blau)+&amp;quot;)&amp;quot;&lt;br /&gt;
 tempfloat = float(temp)&lt;br /&gt;
 y = int(660 + 0.5 - tempfloat * 16.5)&lt;br /&gt;
 if y &amp;lt; 0:&lt;br /&gt;
     y = 0&lt;br /&gt;
 if y &amp;gt; 990:&lt;br /&gt;
     y = 990&lt;br /&gt;
 coor = (0,y,30,990)&lt;br /&gt;
 draw.rectangle(coor, fill=farbe)&lt;br /&gt;
 coor = (0,0,30,990)&lt;br /&gt;
 draw.rectangle(coor, outline=&amp;quot;rgb(255,255,255)&amp;quot;)&lt;br /&gt;
 # Hoch- und Tiefmarkierung&lt;br /&gt;
 y = int(660 + 0.5 - tempfloath * 16.5)&lt;br /&gt;
 if y &amp;lt; 1: y = 1&lt;br /&gt;
 if y &amp;gt; 989: y = 989&lt;br /&gt;
 coor = (0,y-1,30,y+1)&lt;br /&gt;
 draw.rectangle(coor, fill=&amp;quot;rgb(255,255,255)&amp;quot;)&lt;br /&gt;
 y = int(660 + 0.5 - tempfloatt * 16.5)&lt;br /&gt;
 if y &amp;lt; 1: y = 1&lt;br /&gt;
 if y &amp;gt; 989: y = 989&lt;br /&gt;
 coor = (0,y-1,30,y+1)&lt;br /&gt;
 draw.rectangle(coor, fill=&amp;quot;rgb(255,255,255)&amp;quot;)&lt;br /&gt;
 # Null-Grad Markierung&lt;br /&gt;
 coor = (0,659,39,661)&lt;br /&gt;
 draw.rectangle(coor, fill=&amp;quot;rgb(255,255,255)&amp;quot;)&lt;br /&gt;
 draw.text((40,639),&amp;quot;0&amp;quot;+chr(176),(255,255,255),font=fontg)&lt;br /&gt;
 # max/min schreiben -------------------------------&lt;br /&gt;
 draw.text((110,1003),&amp;quot;max&amp;quot;,(255,255,255),font=fontk)&lt;br /&gt;
 draw.text((110,1039),&amp;quot;min&amp;quot;,(255,255,255),font=fontk)&lt;br /&gt;
 draw.text((195,1020),&amp;quot;D&amp;quot;,(255,255,255),font=font)&lt;br /&gt;
 draw.text((235,1003),tempstrTh,(255,255,255),font=fontk)&lt;br /&gt;
 draw.text((235,1039),tempstrTt,(255,255,255),font=fontk)&lt;br /&gt;
 draw.text((335,1020),&amp;quot;M&amp;quot;,(255,255,255),font=font)&lt;br /&gt;
 draw.text((375,1003),tempstrMh,(255,255,255),font=fontk)&lt;br /&gt;
 draw.text((375,1039),tempstrMt,(255,255,255),font=fontk)&lt;br /&gt;
 draw.text((475,1020),&amp;quot;Y&amp;quot;,(255,255,255),font=font)&lt;br /&gt;
 draw.text((515,1003),tempstrJh,(255,255,255),font=fontk)&lt;br /&gt;
 draw.text((515,1039),tempstrJt,(255,255,255),font=fontk)&lt;br /&gt;
 # Luftfeuchtigkeit ------------------------------------------------------&lt;br /&gt;
 # -----------------------------------------------------------------------&lt;br /&gt;
 humstr = str(int(float(hum) + 0.5))&lt;br /&gt;
 draw.text ((1850,994),&amp;quot;rF%&amp;quot;,(255,255,255),font=font)&lt;br /&gt;
 draw.text ((1850,1035),humstr,(255,255,255), font=font)&lt;br /&gt;
 # Luftfeuchtigkeitbalken schreiben ---------------&lt;br /&gt;
 # oben=0, unten=990, 1 Prozent=9,9&lt;br /&gt;
 rot, gruen, blau = humcolor(hum)&lt;br /&gt;
 farbe = &amp;quot;rgb(&amp;quot;+str(rot)+&amp;quot;,&amp;quot;+str(gruen)+&amp;quot;,&amp;quot;+str(blau)+&amp;quot;)&amp;quot;&lt;br /&gt;
 humfloat = float(hum)&lt;br /&gt;
 y = int(990 + 0.5 - humfloat * 9.9)&lt;br /&gt;
 coor = (1889,y,1919,990)&lt;br /&gt;
 draw.rectangle(coor, fill=farbe)&lt;br /&gt;
 coor = (1889,0,1919,990)&lt;br /&gt;
 draw.rectangle(coor, outline=&amp;quot;rgb(255,255,255)&amp;quot;)&lt;br /&gt;
 # Hoch- und Tiefmarkierung&lt;br /&gt;
 y = int(990 + 0.5 - humfloath * 9.9)&lt;br /&gt;
 if y &amp;lt; 1: y = 1&lt;br /&gt;
 if y &amp;gt; 989: y = 989&lt;br /&gt;
 coor = (1889,y-1,1919,y+1)&lt;br /&gt;
 draw.rectangle(coor, fill=&amp;quot;rgb(255,255,255)&amp;quot;)&lt;br /&gt;
 y = int(990 + 0.5 - humfloatt * 9.9)&lt;br /&gt;
 if y &amp;lt; 1: y = 1&lt;br /&gt;
 if y &amp;gt; 989: y = 989&lt;br /&gt;
 coor = (1889,y-1,1919,y+1)&lt;br /&gt;
 draw.rectangle(coor, fill=&amp;quot;rgb(255,255,255)&amp;quot;)&lt;br /&gt;
 # Luftdruck -------------------------------------------------------------&lt;br /&gt;
 #------------------------------------------------------------------------&lt;br /&gt;
 draw.text((1700,994),&amp;quot;hPa&amp;quot;,(255,255,255),font=font)&lt;br /&gt;
 hpastr = &amp;quot;%.1f&amp;quot; % hpa&lt;br /&gt;
 draw.text((1700, 1035),hpastr,(255,255,255),font=font)&lt;br /&gt;
 # Luftdruckbalken schreiben ----------------------&lt;br /&gt;
 # oben=0, unten=990, 1 hPa=16,5&lt;br /&gt;
 # Farbe festlegen&lt;br /&gt;
 farbe = &amp;quot;rgb(170,170,170)&amp;quot;&lt;br /&gt;
 hpafloat = float(hpa)&lt;br /&gt;
 hpafloat = hpafloat - 980.0&lt;br /&gt;
 y = int(990 + 0.5 - hpafloat * 16.5)&lt;br /&gt;
 if y &amp;lt; 0: y = 0&lt;br /&gt;
 if y &amp;gt; 990: y = 990&lt;br /&gt;
 coor = (1839,y,1869,990)&lt;br /&gt;
 draw.rectangle(coor, fill=farbe)&lt;br /&gt;
 coor = (1839,0,1869,990)&lt;br /&gt;
 draw.rectangle(coor, outline=&amp;quot;rgb(255,255,255)&amp;quot;)&lt;br /&gt;
 # Hoch- und Tiefmarkierung&lt;br /&gt;
 y = int(990 + 0.5 - (hpafloath - 980.0) * 16.5)&lt;br /&gt;
 if y &amp;lt; 1: y = 1&lt;br /&gt;
 if y &amp;gt; 989: y = 989&lt;br /&gt;
 coor = (1839,y-1,1869,y+1)&lt;br /&gt;
 draw.rectangle(coor, fill=&amp;quot;rgb(255,255,255)&amp;quot;)&lt;br /&gt;
 y = int(990 + 0.5 - (hpafloatt - 980.0) * 16.5)&lt;br /&gt;
 if y &amp;lt; 1: y = 1&lt;br /&gt;
 if y &amp;gt; 989: y = 989&lt;br /&gt;
 coor = (1839,y-1,1869,y+1)&lt;br /&gt;
 draw.rectangle(coor, fill=&amp;quot;rgb(255,255,255)&amp;quot;)&lt;br /&gt;
 # Luftdruck steigend oder fallend markieren&lt;br /&gt;
 if hpaSign == &amp;quot;=&amp;quot;:&lt;br /&gt;
     coor = (1772,1013,1816,1017)&lt;br /&gt;
     draw.rectangle(coor, fill=&amp;quot;rgb(255,225,0)&amp;quot;)&lt;br /&gt;
 elif hpaSign == &amp;quot;+&amp;quot;:&lt;br /&gt;
     draw.polygon(((1772,1025),(1792,1025),(1782,1005)),fill=&amp;quot;rgb(0,255,0)&amp;quot;)&lt;br /&gt;
 elif hpaSign == &amp;quot;++&amp;quot;:&lt;br /&gt;
     draw.polygon(((1772,1025),(1792,1025),(1782,1005)),fill=&amp;quot;rgb(0,255,0)&amp;quot;)&lt;br /&gt;
     draw.polygon(((1792,1025),(1812,1025),(1802,1005)),fill=&amp;quot;rgb(0,255,0)&amp;quot;)&lt;br /&gt;
 elif hpaSign == &amp;quot;+++&amp;quot;:&lt;br /&gt;
     draw.polygon(((1772,1025),(1792,1025),(1782,1005)),fill=&amp;quot;rgb(0,255,0)&amp;quot;)&lt;br /&gt;
     draw.polygon(((1792,1025),(1812,1025),(1802,1005)),fill=&amp;quot;rgb(0,255,0)&amp;quot;)&lt;br /&gt;
     draw.polygon(((1812,1025),(1832,1025),(1822,1005)),fill=&amp;quot;rgb(0,255,0)&amp;quot;)&lt;br /&gt;
 elif hpaSign == &amp;quot;-&amp;quot;:&lt;br /&gt;
     draw.polygon(((1772,1005),(1792,1005),(1782,1025)),fill=&amp;quot;rgb(255,0,0)&amp;quot;)&lt;br /&gt;
 elif hpaSign == &amp;quot;--&amp;quot;:&lt;br /&gt;
     draw.polygon(((1772,1005),(1792,1005),(1782,1025)),fill=&amp;quot;rgb(255,0,0)&amp;quot;)&lt;br /&gt;
     draw.polygon(((1792,1005),(1812,1005),(1802,1025)),fill=&amp;quot;rgb(255,0,0)&amp;quot;)&lt;br /&gt;
 elif hpaSign == &amp;quot;---&amp;quot;:&lt;br /&gt;
     draw.polygon(((1772,1005),(1792,1005),(1782,1025)),fill=&amp;quot;rgb(255,0,0)&amp;quot;)&lt;br /&gt;
     draw.polygon(((1792,1005),(1812,1005),(1802,1025)),fill=&amp;quot;rgb(255,0,0)&amp;quot;)&lt;br /&gt;
     draw.polygon(((1812,1005),(1832,1005),(1822,1025)),fill=&amp;quot;rgb(255,0,0)&amp;quot;)&lt;br /&gt;
 # max/min schreiben -------------------------------&lt;br /&gt;
 draw.text((1530,1020),&amp;quot;D&amp;quot;,(255,255,255),font=font)&lt;br /&gt;
 draw.text((1570,1003),hpastrTh,(255,255,255),font=fontk)&lt;br /&gt;
 draw.text((1570,1039),hpastrTt,(255,255,255),font=fontk)&lt;br /&gt;
 # Eventtext schreiben -----------------------------&lt;br /&gt;
 EventArray = [];&lt;br /&gt;
 EventText = &amp;quot;&amp;quot;&lt;br /&gt;
 # Datei Event.csv in Array EventArray einlesen&lt;br /&gt;
 csvReader = csv.reader(open('/home/pi/Event.csv', 'r'), delimiter=';');&lt;br /&gt;
 for row in csvReader:&lt;br /&gt;
     EventArray.append(row);&lt;br /&gt;
 # JJMMTT in Array EventArray suchen - mit 1 beginnen wegen Überschrift&lt;br /&gt;
 for i in range(1, len(EventArray)):&lt;br /&gt;
     if EventArray[i][0] == JJMMTT:&lt;br /&gt;
         EventText = EventArray[i][1]&lt;br /&gt;
         break&lt;br /&gt;
 if EventText &amp;lt;&amp;gt; &amp;quot;&amp;quot;:&lt;br /&gt;
     draw.rectangle((81,0,1838,55),fill=(80,80,80,144))&lt;br /&gt;
     draw.text((38,3),EventText,(255,255,255),font=fontg)&lt;br /&gt;
 # -----------------------------------------------------------------------&lt;br /&gt;
 # Array mit Sonnenauf- und untergangszeiten (Minuten)&lt;br /&gt;
 SonneAU = [];&lt;br /&gt;
 # Datei YY.csv in Array SonneAU einlesen&lt;br /&gt;
 csvReader = csv.reader(open('/home/pi/' + YY + '.csv', 'r'), delimiter=';');&lt;br /&gt;
 for row in csvReader:&lt;br /&gt;
     SonneAU.append(row);&lt;br /&gt;
 # TTMM und Tagesminute TagMin in Array SonneAU suchen&lt;br /&gt;
 for i in range(0, len(SonneAU)):&lt;br /&gt;
     if SonneAU[i][0] == TTMM:&lt;br /&gt;
         SonneAuf = int(SonneAU[i][3]) - OffsetAuf&lt;br /&gt;
         SonneUnter = int (SonneAU[i][4]) + OffsetUnter&lt;br /&gt;
         break&lt;br /&gt;
 # Bild speichern&lt;br /&gt;
 if (SonneAuf &amp;lt;= int(TagMin)) and (SonneUnter &amp;gt;= int(TagMin)):&lt;br /&gt;
     # bild.save(dirJahr+'P'+Zeit+'.jpg', format='JPEG', subsampling=0, quality=100)&lt;br /&gt;
     bild.save(dirJahr+'P'+Zeit+'.jpg')&lt;br /&gt;
 # Nachtbild nicht mehr speichern&lt;br /&gt;
 #	else:&lt;br /&gt;
 #		bild.save(dirJahrN+'P'+Zeit+'.jpg')&lt;br /&gt;
 bild.save('/media/usbhdd/webpic/weather.jpg')&lt;br /&gt;
 # Programmende----------------------------------------------------------------&lt;/div&gt;</summary>
		<author><name>Geli</name></author>
	</entry>
</feed>