• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

Rechenoption in txt.-Datei möglich?

Begonnen von Wetterfrosch1971, 23.08.2015, 17:14:13

⏪ vorheriges - nächstes ⏩

Wetterfrosch1971

Hallo,

ich benötige wieder mal die Hilfe der Experten:

Frage:
Ist es möglich, innerhalb einer Template-Date, welche als txt.-Datei vorliegt, einen Wert umzurechnen?

Es geht um Folgendes:
Ich müsste einen bestimmte Variable in einem Template durch 12 teilen, damit ich dadurch den korrekten Wert dieser Variable an ein Wetternetzwerk liefern kann.

Gibt es diesbezüglich eine Möglichkeit oder würde solch eine Rechenoption innerhalb einer txt.-Datei zu kompliziert werden?

Vielen Dank für die Hilfe
Gruß Frank

leknilk0815

Servus,
in einer Textdatei kann man nichts rechnen.
Man kann die Textdatei mit ein paar Batch- Befehlen auslesen, die betreffende Zeile bzw. den Wert umrechnen und die Datei wieder speichern.
Pinzipiell kein Problem, es sind nur ein paar simple Befehlszeilen.
Leider bin ich da schon zu lange raus, um das noch auswendig zu wissen.
Melde Dich bei "administrator.de" an, da gibts ein paar Leute ("Biber"), die schütteln sowas aus dem Ärmel. Es gibt da auch ein Extra- Unterforum "Batch- Programmierung", da kannst Du Deine Frage reinklopfen.
Gruß - Toni

KS300+WS444PC (WSL/WSWIN)+Windrichtung+Sonnenschein, CCU2, KS550, KS888

wneudeck

Hallo,
Zitatinnerhalb einer Template-Date, welche als txt.-Datei vorliegt, einen Wert umzurechnen?
Das kommt darauf an. Es gibt in WSWIN die calc-Funktion.
%ws_calc[/]=w1~w2~Dezimalstellen%
Du kannst für w1 und w1 entweder echte Werte einsetzen oder Variablen.
%ws_calc[/]=24~3~1% dividiert die Zahl 24 durch 3 und gibt eine Dezimalstelle aus
%ws_calc[/]=%curval[2]%~2~3% dividiert den Inhalt der Variablen curval[2] durch 2 auf 3 Dezimalstellen.

Holli

... und auf einem Webserver geht es möglicherweise mit PHP. Für konkrete Tipps wäre also eine genauere Beschreibung der Umgebung nötig, in der die Umrechnung gemacht werden soll.
Dietmar

Eine Aussage, die durch ein Ausrufezeichen bekräftigt werden muß, ist zumindest zweifelhaft.
Eine Aussage, die durch mehrere Ausrufezeichen bekräftigt wird, ist definitiv falsch.
Der aktuelle Deppensport: Wir töten ein Akkusativ.

Wetterfrosch1971

Hallo,

ich lade ein Template als txt.-Datei auf meinen Webserver, wo es dann vom Wetternetzwerk abgeholt wird, d.h. wenn ich den endsprechenden Wert auf dem Webserver irgendwie per php "umrechnen" kann und dann die txt.-Datei "korrigiert" neu auf dem Webserver ablege, so würde das auch funktionieren.

Der Inhalt der txt.-Date besteht schlussendlich nur aus Zahlen nach dieser Struktur:

12;15;3;14;23;17;4;...usw

Schlussendlich muss eine bestimmte Zahl in dieser Reihe durch 12 geteilt werden und dann eben dieses zwölftel anstelle der ursprünglichen Zahl in dieser Reihe abgespeichert werden.

Wie gesagt, wenn so etwas zu kompliziert ist, ist es jetzt auch nicht so wichtig, ich dachte einfach mal, ich frag hier mal nach und wenn es einfach umzusetzen wäre, könnte ich es umsetzen.

Es geht einfach darum, dass dieses Wetternetzwerk, welches diese txt.-Datei auf meinem Webspace abholt, über den gefallenen Niederschlag der innerhalb 5 Minuten fällt, ein Wolkensymbol kreiert über das es den aktuellen Niederschlagzustand (Niederschlagstärke) optisch anzeigt (Wolkensymbol mit einem Regentropfen, 2 Tropfen, 3 Tropfen usw. je nach dem wie viel Niederschlag innerhalb 5 Minuten gefallen ist).

Meine Software (Cumulus) liefert aber keinen 5-Minuten-Niederschlagswert, jedoch liefert sie alle 5 Minuten eine neu berechnete Niederschlagsrate/h, d.h. über den gefallenen Niederschlag, der über einen Zeitraum von 5 Minuten gefallen ist, rechnet Cumulus eine Niederschlagsrate pro Stunde hoch. Könnte ich diesen Wert nun durch 12 teilen, dann hätte ich genau den gefallenen Niederschlag pro 5 Minuten und könnte somit über das Wetternetzwerk das Regensymbol "steuern".

Gruß Frank


Holli

Schreib statt der nackten Zahl
<?php echo XX / 12; ?>

in dein Template. XX ist dein Regenwert. Die Datei muß dann *.php heißen, damit der Server das PHP ausführt und nicht einfach als Text ausgibt.

Allerdings erwartet PHP einen . als Dezimaltrenner und gibt ihn auch aus, wenn bei der Rechnung Nachkommastellen entstehen. Wenn der Trenner ein , ist und auch so ausgegeben werden soll, muß der String vor der Rechnung und vor der Ausgabe umgewandelt werden.
Dietmar

Eine Aussage, die durch ein Ausrufezeichen bekräftigt werden muß, ist zumindest zweifelhaft.
Eine Aussage, die durch mehrere Ausrufezeichen bekräftigt wird, ist definitiv falsch.
Der aktuelle Deppensport: Wir töten ein Akkusativ.

Wetterfrosch1971

#6
Hallo,

das mit dem Punkt als Dezimaltrenner ist kein Problem, kann den wert so konfigurieren, dass die Dezimaltrennung per PUNKT anstatt Komma erfolgt.

Aber habe ich dich richtig verstanden, ich lege das Template dann nicht als .txt ab sondern als .PHP ?

Aber das funktioniert irgendwie nicht, habe das Template jetzt so abgeändert und als .PHP gespeichert.
Wenn ich dann diese PHP-Datei mit den Zahlenwerten auf meinem Webspace aufrufe, erhalte ich das:
Zitat23.08.2015;20:41;17,3;1007,7;0,0;99;2,5;NNE;34,2;<?php echo <RCrrate> / 12; ?>;0,1;11,5;;;;;17,2;-0,1;;15,0;25,2;;11,5;;50,3;;;;;;;;;;

D.h. das PHP wurde augenscheinlich nicht ausgeführt oder mache ich was falsch?

Und wie erkennt dann das Wetternetzwerk dieses Template, denn das möchte doch als Ausgabe eine txt.-Datei oder kann ich dann, nachdem die Werte kreeiert sind, diese Datei irgendwie wieder in eine txt.-Datei umwandeln?

Danke für die Hilfe
Gruß Frank


Holli

Anscheinend läuft gar kein PHP auf dem Server. Kenne ich nur noch von allerbilligsten Paketen. Zusätzlich scheint Cumulus nicht mit den spitzen Klammern von PHP klarzukommen. Das wäre lösbar, aber sinnlos, wenn gar kein PHP läuft.

Leg mal eine info.php mit dem Inhalt
<?php phpinfo(); ?>

auf den Server und ruf sie auf. Wenn umfangreiche Informationen zum Server kommen, läuft PHP, wenn nur der Code ausgegeben wird, nicht. Lösch die Datei auf jeden Fall wieder, die Informationen gehen niemanden was an.
Dietmar

Eine Aussage, die durch ein Ausrufezeichen bekräftigt werden muß, ist zumindest zweifelhaft.
Eine Aussage, die durch mehrere Ausrufezeichen bekräftigt wird, ist definitiv falsch.
Der aktuelle Deppensport: Wir töten ein Akkusativ.

Wetterfrosch1971

#8
Hallo Dietmar,

doch, diese (test)php-Datei funktioniert auf meinem Webspace (habe sie sofort wieder gelöscht).

Ansonsten, Cumulus müsste aber mit den spitzen Klammern zurecht kommen, denn die Codes für meine Messwerte sind so strukturiert:
<#RCrrate> daraus wird dann über Cumulus die Zahl für die Regenrate generiert.

uuups, ich sehe gerade, ich habe einen Fehler im Code begangen, ich habe das # beim Parameter vergessen, so konnte gar keine Zahl generiert werden, ich versuche es gerade noch mal neu.

OK, Template korrigiert, jetzt funktioniert es, Messwert wird durch 12 geteilt, jedoch muss ich die Datei auf dem Webspace als php-Datei auch ablegen, jetzt ist halt die Frage, ob die Datenabholung funktioniert, wenn das Netzwerk eine php-Datei anstatt eine txt-Datei abholen muss, ich probiere es gleich mal aus.

Gruß Frank

Beiträge zusammengeführt, weil der Autor sich selbst geantwortet hat statt seinen letzten Beitrag zu ändern: 23.08.2015, 21:35:50

Hallo Dietmar,

SUUUUPER, es funktioniert, Template Datei wird vom Netzwerk auch als PHP-Datei erkannt und Wetterzustand wird nun, dank der Umrechnung der Regenrate auf 5 Minuten,  korrekt angezeigt.

Vielen Dank für die Hilfe!