Temperaturüberwachung mit Batch-Prog

Diskutiere Temperaturüberwachung mit Batch-Prog im Programmierung Forum im Bereich Software Forum; Hi, hab einen Server laufen der mir regelmäßig über ein von einem Scheduler gestartetes Batch-Programm Temperaturen einliest und die Datei mit...
J

joe676

Threadstarter
Mitglied seit
18.12.2010
Beiträge
7
Hi,

hab einen Server laufen der mir regelmäßig über ein von einem Scheduler gestartetes Batch-Programm Temperaturen einliest und die Datei mit den aktuellen Messwerten auf einen FTP-Server hochläd.

Nun bräuchte ich das Gegenstück auf einem anderen PC um die Einhaltung der Temperaturgrenzen zu überwachen und gegebenenfalls Alarm auszulösen.

Stelle mir vor, dass mir ein Scheduler (im Hintergrund) ein Batch-Programm startet, dieses läd die Datei mit den Messwert(en) vom FTP-Server, liest die Wert(e) der Datei ein u. reagiert entsprechend.

Wie liest man mittels Batch (auf Windows XP) Wert(e) aus einer Datei und weist die Wert(e) Batch-Variable(n) zu?

Alles weiter denke ich ist mittels if-Befehl zu bewerkstelligen?

Grüße

Joe676
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
8.662
Hallo joe676,

erst mal herzlich willkommen auf dem Winboard!

:welcome


Unter Windows kann man Variablen mithilfe des SET Befehls setzen.
Wenn Du auf der Kommandozeile SET /? eingibst, siehst Du die Erklärung und einige Beispiele.

Zu Auslesen einer Datei kannst Du es mit FIND oder besser FINDSTR versuchen. Auch hier bekommst Du mit /? Hilfe angezeigt.
(Ich weiß aber nicht, ob FINDSTR bei jeder Windows-Version dabei ist).
 
Hups

Hups

Katzennarr
Team
Mitglied seit
01.07.2007
Beiträge
18.885
Standort
D-NRW
Wäre so ein Tool nicht dafür geeignet?

Zitat:
Außerdem schlägt WebTemp Alarm bei z.B. zu hoher CPU-Temperatur oder Lüfterausfall und versendet dann auf Wunsch Alarm-Mails und/oder kann das System herunterfahren und abschalten
 
J

joe676

Threadstarter
Mitglied seit
18.12.2010
Beiträge
7
@Hups
Es geht um die Überwachung der Temperaturen einer Heizungsanlage.

@automatthias
Das Messdatenfile hat beispielsweise folgenden Aufbau (Anzahl und Reihenfolge der Elemente kann auch verändert werden):

Messzeit Fühler-Nr. Beschreibung Messwert
08:30 (Tab) 0 (Tab) Kueche (Tab) 20.7
08:30 (Tab) 1 (Tab) Zimmer1 (Tab) 19.3
08:30 (Tab) 2 (Tab) Vorlauf (Tab) 65.5
08:30 (Tab) 3 (Tab) aussen (Tab) -10.7

Kannst mal ein Beispiel bringen wie ich mit findstr nur den numerischen Datenwert am Zeilenende und nicht immer die ganze Zeile samt Messzeit, Fühler Nr., Beschreibung auslesen kann?

Den ausgelesenen Wert weise ich mittels set z.B. der Variablen Messwertkueche zu.

Wie porgrammiert man den numerischen Vergleich: if Messwertkueche < 17.2 then Alarm1

Danke

Joe676
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
8.662
Muss das unbedingt als Batchdatei laufen?
Könntest Du auch zusätzliche Hilfsprogramme verwenden?

Auf einem Unix/Linux-System wäre das trivial zu realisieren (sed, awk)
Mit Windows-Boardmitteln wird es nicht einfach.

Mit findstr bekommt man immer nur passende Zeilen angezeigt. Die Zeile selber muss man dann mithilfe von FOR auswerten. Schau mal im Windows "Hilfe- und Supportcenter" in der Befehlszeilenreferenz unter FOR nach, bei FOR /F gibt es delims und tokens.

Beispiel:
Code:
@echo off
for /f "tokens=4" %%x in (messwerte.txt) do (call :Auswertung %%x)
goto :EOF

:Auswertung
echo %1
if %1 GTR 20 echo ALARM

:EOF
 
J

joe676

Threadstarter
Mitglied seit
18.12.2010
Beiträge
7
Danke für deine wertvollen Tipps und insbesonders das Beispielprogramm.
Bin begeistert von den mir bis dato unbekannten Möglichkeiten der erweiterten Befehle.

Hab nur noch 3 kleine Problemchen.
1) Ich erzeuge den Alarmton entweder mit echo (ctrl+G =^G=alt7 = bell) bzw. komfortabler mit xecho #[ACEFH]
Hab drei Notebooks die alle auf XP SP3 laufen und die Soundcards sind jeweils richtig konfiguriert (kann mit jedem MP3 Musik abspielen), bei zweien hör ich die über das Batch-Programm erzeugten Töne, beim dritten ist überhaupt nichts zu hören.
Woran kann das liegt? (Einstellung von cmd.exe, Registry,...?)

2) Ich verwende zur halbstündlichen Temperaturauswertung eine Zeitschleife, wobei ich alle 10 Sek. auf den richtigen Zeitpunkt prüfe. Die 10 Sek. erzeug ich mit:
ping /n 11 localhost >nul
Gibt es eine andere Möglichkeit der Zeitsteuerung mit geringerer Prozessorbelastung? Viell. mit AT-Befehl? (Möglichst ohne zeitaufwendige Plattenzugriffe)

3) Wie liest man die Stunden ein, ohne dass bei 08-09 ein Oktalfehler entsteht?
So geht's nicht: for /f "delims=:" %%x in ('time /T') do set /a Stundev=%%x-1
Wie bringt man eine Null vor der zweiten Ziffer weg (von 00 bis 09)?

Danke

Joe676
 
Zuletzt bearbeitet:
J

joe676

Threadstarter
Mitglied seit
18.12.2010
Beiträge
7
Hallo!

Für das 3. Problem hab ich mittlerweile eine aufwendige und hoffentlich fehlerfreie Lösung gefunden:
for /f "delims=:" %%x in ('time /T') do set Stundev=%%x
if not "%Stundev:~ 0,1%" == "0" set /a Stundev=%Stundev%-1
if "%Stundev:~ 0,1%" == "0" set /a Stundev=%Stundev:~ 1%-1

Geht das nicht einfacher die Stunde ohne Vornull zu ermitteln, ohne sich dabei Hilfsprogramme (mit Plattenzugriff) wie showdate zu bedienen?

Grüße

Joe
 
Zuletzt bearbeitet:
Thema:

Temperaturüberwachung mit Batch-Prog

Sucheingaben

cpu temperatur batch

,

permanente temperaturaufzeichnung per batch datei

Temperaturüberwachung mit Batch-Prog - Ähnliche Themen

  • Fallstudie: IoT-basierte, integrierbare und skalierbare Temperaturüberwachung und Reg

    Fallstudie: IoT-basierte, integrierbare und skalierbare Temperaturüberwachung und Reg: <p>Wie lässt sich die Temperaturüberwachung in Rechenzentren mittels dem Internet of Things skalieren? Diese Frage hat sich msg servcies gestellt...
  • Temperaturüberwachung mit Core Temp

    Temperaturüberwachung mit Core Temp: Es gibt viele kleine Programme, welche die Prozessor-Temperatur auslesen können, doch die wenigsten fallen dabei so kompakt und übersichtlich aus...
  • Temperaturüberwachung am PC - so erkennt man rechtzeitig Hitzeprobleme

    Temperaturüberwachung am PC - so erkennt man rechtzeitig Hitzeprobleme: Nicht nur für uns Menschen, sondern auch Computer empfinden große Hitze als sehr unangenehm und kann die Lebenserwartung drastisch verringern. Bei...
  • NVidia Temperaturüberwachung

    NVidia Temperaturüberwachung: Bei der aktuellen Version von NVidia, 169.21, ist die Temperaturüberwachung nicht mehr enthalten. Bei welcher Version war sie noch enthalten?
  • Temperaturüberwachung am GigaByte GA-6BXC

    Temperaturüberwachung am GigaByte GA-6BXC: Hallo Weiß irgend jemand, wo man an dem Mainboard "GigaByte GA-6BXC" den Systemstatus wie z. B. CPU-Temperatur, Lüfterdrehzahl u. a. erfahren...
  • Ähnliche Themen

    Oben