Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

Registriert
1. Juni 2010
Beiträge
631
Reaktionspunkte
346
Punkte
123
Hallo zusammen,
ich habe einen Igel mit IPC am laufen.
Bei diesen Temperaturen draussen geht die Gradzahl doch sehr hoch.
Nun habe ich zeitgleich einen Windowsserver am laufen wo eine schaltbare Steckdosenleiste per USB dranhängt.

Nun habe ich folgende Idee:
Der Server ruft im minütlichen Intervall (oder auch 10 min, 15 min, etc) die Temperatur des Igel´s ab.
Gibt es da eine Möglichkeit dieses per Script oder Batch zu verwirklichen?

Dann könnte ich dem Windowsserver sagen: Wenn die Temp über 70°C ist, dann schalte Steckdose 4 ein. Dort ist ein Lüfter angeschlossen der den Igel dann kühlen könnte.

Vielen Dank für eure Hilfe
 
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

ich denke das wäre unnötig da dann dein TV ja auch nicht mehr funktioniert :)

70° stellt auch kein Problem dar, kritisch wird es eigentlich erst ab 90°, aber solange du den Igel nicht hinter einem Kleiderschrank oder ähnliches gepakt hast wo keine frischluft dran kommt, wird er solche temperaturen auch nicht erreichen..
kann mir nicht vorstellen das es in deinen wohnräumen so warm wird als dass es nur den Igel derart beeinflussen würde - wenn dann wäre auch der Windows rechner betroffen


wenn du das trotzdem unbedingt realisieren willst würde das meines erachtens aber mit Batch (*.bat) nicht machbar sein, sooo toll is Batch nicht :emoticon-0124-worri

ich würde dir dann eher empfehlen auf dem Windows rechner PHP zu installieren und das dann über PHP zu regeln.. auf dem Igel richtest du eine php Datei ein über die die CPU Temperatur ausgelesen wird, das php script auf dem Windows rechner ruft die php auf dem Igel ab und führt dann ein Befehl aus sobald zB 90° erreicht werden

aber wie gesagt sind 70° für den Igel kein Problem :)
 
Zuletzt bearbeitet:
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

Doch, es wird so warm. 81 Grad hatte ich heute. Ich habe zwei Etagen und oben unterm Dach ist ein Giebelausbau mit nur einem Fenster und die Luft steht dort im Sommer.
Der Server hat ne Wasserkühlung, die CPU liegt bei 29 Grad und die HDD´s bei 31 Grad. Dem Server ist die warme Luft also egal.
Nein, ich kann den Igel nicht woanders hinpacken, das fällt flach.

Kannst du mir eine Seite empfehlen wie ich das mit dem PHP hinbekomme? Ich habe davon wirklich 0,0 Ahnung.

P.S: Unnötig weil mein TV dann nicht mehr funktioniert?
ich will kühlen, nicht abschalten!
 
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

achso du willst über eine USB-Stromleiste einen Venti schalten? Hatte das so verstanden das du den Igel dann ausschalten wolltest :)


also zunächst müsste man herrausfinden über welche /sys/class/thermal/ datei man die temperatur auslesen könnte.. da ich kein Igel hab müsste das jemand anderes nachgucken.. vermutlich: cat /sys/class/thermal/thermal_zone0/temp

wenn es das nicht gibt müsste man das über ein extra programm regeln wie zum beispiel lm_sensors
Du musst dich Anmelden oder Registrieren um diesen link zusehen!

(das wird auch von phpSysInfo genutzt)
hast du auf dem Igel IPC installiert? dann wär das ggf schon drauf

..also zunächst muss man auf dem Igel ein php script einrichten was über den webserver abrufbar wär und die aktuelle cpu temperatur auswirft.. wenn das erledigt ist installiert man auf dem Windows rechner ebenfalls ein php script welches dann über den webserver vom igel die temperatur auslesen kann und falls der wert zu hoch is ne entsprechende aktion ausführt..

da ich aber weder weiss ob der Igel überhaupt ein sensor für die temperatur hat, noch was für eine usb-stromleiste du nutzt und wie da der befehl aussehen müsste - tapp ich da etwas im dunkeln :(
 
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

OK, Danke erstmal für deine Antwort.
Ich hab mir die Datei mal angesehen die du verweißt.
In dieser steht 49000 drin, das wird wohl nicht die Temp sein ;)

Da werde ich wohl noch weiter suchen müssen, der Ansatz ist aber schonmal nicht schlecht.
Die Steckdose schaltet man wie folgt:
call "c:\programme\Power Manager\pm.exe" -on -Device1 -1 (on oder off ist selbsterklärend, Device1 ist die erste Steckdosenleiste, 1 ist der erste Port, es gibt 1 bis 4)

Ich werde jetzt mal gucken ob der Wert (49000) sich anpasst wenn die Temp steigt oder sinkt, vielleicht kann ich dann ja eine Umrechnungsformel erkennen)
Wenn noch jemand weiß was diese 49000 bedeuten oder wie ich die deuten muss, dann wäre ich sehr dankbar.
0800555333, du hast mich schonmal auf den richtigen Weg gelenkt.

P.S: Ich merke gerade: 49000 sind 49°C
Ich habe nämlich die ganze Nacht einen Lüfter angehabt und die Temp gesenkt bekommen.
Nun sehe ich im Webinterface das der Igel 49°C hat, daher sind die 49000 schonmal ein Wert mit dem ich arbeiten kann.
 
Zuletzt bearbeitet:
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

doch das ist die temp, der Wert ist in tausendstel °C

Kontrolliere aber ob sich der Wert auch wirklich verändert, manchmal wird da nur ein Fixwert geliefert. Vergleiche ggf. mit lm_sensors.


ein einfaches php zum anzeigen der temperatur wäre folgendes, gespeichert als zB /var/www/cputemp.php
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Das Script, welches später auf dem Windows Rechner laufen würde sähe dann zB so aus:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Da fehlt aber natürlich noch die tatsächliche Aktion.. Das hier soll erstmal nur zum testen dienen. Das kannst du als zB /var/www/test.php auch auf dem Igel speichern und über deinen Webbrowser aufrufen
 
Zuletzt bearbeitet:
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

Nun müsstest du zunächst PHP für Windows herrunter laden:
Du musst dich Anmelden oder Registrieren um diesen link zusehen!

Da nimmst du auf jedenfall die x86 Thread Safe Zip auch wenn du ein 64bit System installiert hast!

Entpacken tust du es am besten direkt auf C:\ in einen Ordner namens php

Dann brauchst du (zumindest ist das bei mir unter Win7 so) noch die MSVCR110.DLL in dem php Verzeichnis:
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


Das php Script für den Windows Rechner speicherst du zB als C:\IgelTemp.php

Jetzt erst mal testen ob das auch so funktioniert wie es soll. Windowstaste + R drücken, cmd eingeben um in die Eingabeaufforderung zu gelangen und dort gibst du dann folgendes ein:

C:\php\php.exe -f C:\IgelTemp.php

Wenn das wie gewünscht "Temperatur ist zu hoch ..." ausgibt, würde an der Stelle von dem IgelTemp.php Script die Zeile herrein kommen um die Steckdosenleiste zu schalten. Also sähe das zB dann so aus:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Allerdings würde der Ventilator nun unendlich laufen.. Man müsste sich also auch noch was überlegen was den Ventilator wieder abschaltet..


Wenn das soweit funktioniert erstellt man sich eine Batch Datei (zB C:\IgelTemp.bat) in der dann die Zeile aus der Eingabeaufforderung ausgeführt wird und für diese Batch wiederum erstellt man eine Aufgabenplanung

IgelTemp.bat:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
 
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

Zum Problem wegen "ewig laufen" habe ich nun, denk ich, auch eine Lösung :smoke:

Und zwar wird beim einschalten der Steckdosenleiste eine Datei $VentiCheckFile angelegt und wenn die Batch das nächste mal ausgeführt wird, wird überprüft wann das file zuletzt modifiziert (also etwas hinein geschrieben) wurde. Dieser Wert wird dann mit einem von dir angegebenen Wert ($VentiRunTime) verglichen und falls die bereits verstrichen ist wird die Steckdosenleiste wieder abgeschaltet..
Solange die Datei $VentiCheckFile existiert wird die Steckdosenleiste nicht erneut eingeschaltet

Bitte mal testen ob das so auch wirklich funktioniert :)


IgelTemp.php:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Solange $VentiRunTime nicht erreicht wurde läuft der Ventilator weiter.. Erst wenn $VentiRunTime erreicht wurde wird geprüft ob die gewünschte $MinTemp erreicht wurde, ist das nicht der Fall wird das ins $LogFile geschrieben aber der Venti läuft weiter..
Erst wenn beides erfüllt ist wird der Venti abgeschaltet

optionales IgelTemp.log sähe dann so aus:

[28.07.2013 16:06:08] Temperatur ist zu hoch: 72 (exakt: 71.92). Ventilator wird eingeschaltet!
[28.07.2013 16:07:15] Ventilator laeuft bereits 67 Sekunden aber die Temperatur ist mit 68.647 noch zu hoch! (MinTemp: 55)
[28.07.2013 16:09:45] Ventilator laeuft bereits 217 Sekunden und die Temperatur ist mit 54.23 Ok. Ventilator wird abgeschaltet!
 
Zuletzt bearbeitet:
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

Ja sehr cool, vielen Dank.

Also, ich hab mal die php testweise unter www gelegt und es wird die Gradzahl angezeigt. z.B 75
Nun habe ich mal die Steckdose per Hand geschaltet und ein paar Minuten gewartet.
Dann die PHP-Seite aktuallisiert und nun steht dort 52

Soweit klappt das schonmal. Werde mich jetzt an die PHP Klamotte für Windows machen.
Ich war in der Zwischenzeit auch fleissig und habs mal mit Batch probiert und auch eine gute Lösung gefunden.

Die Batch sieht folgendermasen aus:

Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

Vorteil hier: Ich kann die Batchdatei alle 30 min ausführen lassen und habe sogar noch einen LOG der Temperaturen.
Nun muss ich nur mit Netdrive den Igel als Laufwerk mounten und kann die tempdatei alle 30 min auf den Rechner ziehen, die Batch liesst die Datei dann aus und handelt dementsprechend. Fertige Batch-Dateien wandel ich zum Schluss immer in EXE-Dateien um und führe sie ohne Fenster aus.

Auch eine Möglichkeit oder? Das doofe daran ist nur das der Windowsserver alle 30 min einen FTP-Connect zum Igel machen muss um die tempdatei zu kopieren.
Nach dem Auslesen schaltet die Steckdose an oder aus und löscht die tempdatei wieder.

Deine Lösung ist glaub ich komfortabler, nur kann ich Batchbefehle selber erweitern/verbessern, mit php kenne ich mich leider nicht aus.
So brauche ich immer deine Hilfe wenn ich etwas verbessern will.

Hmm, was mache ich nun?
 
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

ja das über ftp zu regeln wär denk ich etwas umständlich :)

anstatt das über ftp zu regeln könntest du das vielleicht auch mit wget machen:
Du musst dich Anmelden oder Registrieren um diesen link zusehen!

aber dann fehlen mehrere dll's also is das wie ich finde grad etwas nervig :emoticon-0124-worri
das sähe dann irgendwie so aus:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
-O sagt das es in die datei gespeichert werden soll..


php ist aber auch nicht sooo schwer, die meisten abläufe wie die if schleifen usw sollten eigentlich selbsterklärend sein aber ich denke doch mal es sollte jetzt bereits alles enthalten sein, oder was möchtest du da noch verbessern? :)

ein Log einzubinden wär auch kein grosser aufwand..

/EDIT: IgelTemp.php mit option ein logfile anlegen zu lassen:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
IgelTemp.log sieht dann so aus:

[28.07.2013 16:06:08] Temperatur ist zu hoch: 72 (exakt: 71.92). Ventilator wird eingeschaltet!
[28.07.2013 16:09:45] Ventilator laeuft bereits 217 Sekunden. Steckdosenleiste wird abgeschaltet!
 
Zuletzt bearbeitet:
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

WGET kann ich also in eine Batch einbinden? Habe ich das richtig verstanden?
Deine Lösung ist ja schon eigentlich ideal. Mir persönlich würde allerdings ein Log noch sehr gefallen, so kann ich mal vergleichen wie sich Raumtemperaturen zur Igeltemperatur verhalten.
Klar, das ist kein Muss, aber dennoch eine schöne Idee wie ich finde.

Würde es dir viel Arbeit machen noch einen Log einzubinden?
Ich werde das wohl nicht hinbekommen. Versuche schon, aber irgendwie bin ich für php noch zu doof.
Da werde ich wohl noch erstmal viel lesen müssen.
 
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

ja wget.exe kannst du dann auch in eine batch paken


bezüglich log: guck in post#10 :)
 
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

So, ich hab mich jetzt mal länger mit deinem Script befasst.
Mir fällt auf:
Log´s werden nicht untereinander geschrieben, sondern direkt hintereinander weg. Könnte man das noch ändern?
Ich habe testweise mal die Lüfterlaufzeit von 120 auf 5 gesetzt um ein bisschen zu testen.
Beim ersten starten sagt er das die Temp zu hoch ist (hab max mal auf 40 gestellt um zu testen) und startet die Steckdose.
Da ich ja die Lüfterzeit auf 5 gestellt habe, habe ich nach ca. 10 Sek wieder die php ausgeführt.
Nur sagt dein Script mir das der Lüfter seit 10 Sek läuft und schaltet ab. Das ist aber eher supoptimal da die Temp ja noch immer über den Maxwert ist.
Ins Log wird geschrieben das der Lüfter seit 10 Sek läuft, das gefällt mir gut. Nur leider soll er den Lüfter ja nicht abschalten, die Wunschtemp ist ja noch gar nicht erreicht.

Kannst du das noch ändern? Also loggen darf er so weiter, soll aber die Steckdose anlassen wenn der Wunschwert noch nicht erreicht ist.

Danke schonmal
 
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

Dann probiers damit:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Solange $VentiRunTime nicht erreicht wurde läuft der Ventilator weiter.. Erst wenn $VentiRunTime erreicht wurde wird geprüft ob die gewünschte $MinTemp erreicht wurde, ist das nicht der Fall wird das ins $LogFile geschrieben aber der Venti läuft weiter..
Erst wenn beides erfüllt ist wird der Venti abgeschaltet
 
Zuletzt bearbeitet:
AW: Per Windowsscript oder Batch die Temp eines Igel IPC auslesen?

YES, genau so. Königlich, sehr schön.
Jetzt nur noch das mit dem Log, die schreibt er immer noch hintereinander.
Kannst du das noch ändern?
 
Zurück
Oben