BRESSER4CAST PC ist an Bord

Alles was Wetterstationen betrifft.

Moderator: weneu

Antworten
Pieterle

BRESSER4CAST PC ist an Bord

Beitrag von Pieterle »

Liebe Wetterfrösche,
Heute WS ausgepackt. Entegegen der Vorwarnung waren in allen Geräten bereits AA-Zellen, so, dass nur die Schutzfolien entfernt werden musssten.

1. Schreck:
Keine Anzeige bei Außenluftfeuchtigkeit!
Lösung: Die Anlage hatte einen Außensensor einer anderen WS (ohne Luftfeuchtigkeit) auf Kanal 1 empfangen. Also: Die andere Station auf einen anderen Kanal geschaltet - BRESSER neu initialisiert (eine AA raus und nach 1 Min. wieder rein) - alles OK.

2. Schreck:
Die Ortshöhe (bei mir 60m) lies sich am der WS selbst (von mir) nicht einstellen.
Lösung: Nach der Softwareinstallation lässt sich die Höhe am Rechner problemlos einstellen.

3. Schreck:
Nach der Softwareinstallation eine Testdatei im 5-Minuten-Takt aufgezeichnet und zur Auswertung in den Rechner geladen.
Danach gab's beim Versuch, den Takt auf eine Stunde zurück zusetzen, eine Fehlermeldung.
Nach etlichen Fehlversuchen half wieder die Routine wie bei Schreck 1.
Das Schöne:
Alle anderen Einstellungen (Land, Stadt, Höhe) blieben erhalten.

Die WS liefert eine RECORDS.csv an den Rechner.
Da die Daten in den Datensätzen durch Komma getrennt sind und die Dezimalzeichen Punkte sind, habe ich die Datei erst in WORD geladen
und die Komma in Tabulatoren gewandelt und anschließend die Punkte in Komma.
Das Ergebnis ließ sich dann problemlos in Excel laden.

Vielleicht gibts da sicher einen eleganteren Weg!?

Blöd ist die Tastenfummelei auf der Rückseite der WS. Ich hoffe, dass man da nicht so oft ran muss.

Ansonsten das Teil sieht ganz OK aus und kann (bis jetzt) alles was ich von ihm erwartet habe.
joergeli
Beiträge: 669
Registriert: 30 Aug 2006 17:32
Wohnort: 61279 Grävenwiesbach (Hessen)
Kontaktdaten:

Beitrag von joergeli »

Hallo Pieterle,
Vielleicht gibts da sicher einen eleganteren Weg!?
... gibt es - mit VisualBasicScript, kurz VBS.

Anbei mal der Code für 3 Ersetzungen, den ich selbst nutze.
Es ist im Prinzip aber jedes Zeichen ersetzbar.


csv_anpassen.vbs

Code: Alles auswählen

'  Kommata durch Punkt . ersetzen
'-------------------------------------------------------------
strFilename = "C:\RESOL\workspace\solar_ertraege.csv"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strFilename)
intFileSize = objFile.Size
Set objFile = objFile.OpenAsTextStream()
strFileContent = objFile.Read(intFileSize)
objFile.Close
Set objRegExp = New RegExp
objRegExp.Pattern = Chr(34)
objRegExp.Global = True
objRegExp.IgnoreCase = True 'False für case-sensitive
strFileContent = objRegExp.Replace(strFileContent, "." )
objRegExp.Pattern = ","
strFileContent = objRegExp.Replace(strFileContent, "." ) 
Set objFile = objFSO.OpenTextFile(strFilename, 2)
objFile.Write strFileContent
objFile.Close


'  Leerzeichen durch Tabstopp ersetzen
'-------------------------------------------------------------
strFilename = "C:\RESOL\workspace\solar_ertraege.csv"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strFilename)
intFileSize = objFile.Size
Set objFile = objFile.OpenAsTextStream()
strFileContent = objFile.Read(intFileSize)
objFile.Close
Set objRegExp = New RegExp
objRegExp.Pattern = Chr(34)
objRegExp.Global = True
objRegExp.IgnoreCase = True 'False für case-sensitive
strFileContent = objRegExp.Replace(strFileContent, "	" )
objRegExp.Pattern = " "
strFileContent = objRegExp.Replace(strFileContent, "	" ) 
Set objFile = objFSO.OpenTextFile(strFilename, 2)
objFile.Write strFileContent
objFile.Close



'  Tabstopp durch Semikolon ersetzen
'-------------------------------------------------------------
strFilename = "C:\RESOL\workspace\solar_ertraege.csv"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strFilename)
intFileSize = objFile.Size
Set objFile = objFile.OpenAsTextStream()
strFileContent = objFile.Read(intFileSize)
objFile.Close
Set objRegExp = New RegExp
objRegExp.Pattern = Chr(34)
objRegExp.Global = True
objRegExp.IgnoreCase = True 'False für case-sensitive
strFileContent = objRegExp.Replace(strFileContent, ";" )
objRegExp.Pattern = "	"
strFileContent = objRegExp.Replace(strFileContent, ";" ) 
Set objFile = objFSO.OpenTextFile(strFilename, 2)
objFile.Write strFileContent
objFile.Close
Als erstes musst Du bei allen "strFilename" den Pfad und Namen Deiner CSV-Datei eintragen, dann die entspr. Ersetzungen festlegen:
Die Zeichen, welche ersetzt werden sollen, stehen (eingeschlossen durch "xyz") unter "strFileContent" (das gewünschte Zeichen) und
unter "objRegExp.Pattern" (das zu ersetzende Zeichen).
Achtung: Die Variable "strFileContent" muss im jeweiligen Abschnitt 2 Mal gesetzt werden.

Die Datei kann z.B. unter dem Namen csv_anpassen.vbs abgespeichert und dann durch Doppelklick mit der Maus gestartet werden
(sie läßt sich übrigens auch problemlos in Batch-Dateien mit dem Befehl call csv_anpassen.vbs einbauen)

Gruß
Jörg

P.S.:
es lassen sich damit auch Zeichenfolgen ersetzen,
wie z.B. "Hinz" durch "Kunz" austauschen.
http://www.joergeli.de
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
Pieterle

Es geht auch mit einem Word-Makro

Beitrag von Pieterle »

Danke für die Anregung juergeli,
hier
http://www.wetterstationen.info/phpBB/v ... 214#183214
der Quelltext für ein analoges Wordmakro (Word 97 bis 2007).
Antworten