Hallo Martin,
Endlich kann ich der Linux community auch mal was zurück geben :-) . Ich hab dir mal ein paar Zeilen DOS Batch code geschrieben das
- im OpenHAB log nach (einem) dem Fehlertext sucht,
- anschliessend sich die Anzahl der Fehler anschaut und wenn > 0
- einen "touch" auf ein (rule) file macht das dann hoffentlich von OpenHAB wieder eingelesen wird
Diese Zeilen in ein Batch z.B. CheckForErroe.bat file kopieren , dann die Pfade von C:\temp\1 auf deine Openhab Installation anpassen. Dann das ganze alle stunde via einem scheduled task ausführen lassen.
Aber am besten kopiert du dir mal zuerst dein OpenHAB log, das erstellte batch file und ein Rules file in ein temp verzeichnis und spielst damit rum. :-)
Im Prinzip könntest du beim suchstring auch sehr explizit nach einzelnen rules fehler suchen und müsstest dann das ganze im Batch einmal für jede Rule machen und oder du suchst nach den generellen Fehler und machst auf all deine Rule files so ein touch....
Gruss
bkumio
Endlich kann ich der Linux community auch mal was zurück geben :-) . Ich hab dir mal ein paar Zeilen DOS Batch code geschrieben das
- im OpenHAB log nach (einem) dem Fehlertext sucht,
- anschliessend sich die Anzahl der Fehler anschaut und wenn > 0
- einen "touch" auf ein (rule) file macht das dann hoffentlich von OpenHAB wieder eingelesen wird
Diese Zeilen in ein Batch z.B. CheckForErroe.bat file kopieren , dann die Pfade von C:\temp\1 auf deine Openhab Installation anpassen. Dann das ganze alle stunde via einem scheduled task ausführen lassen.
Aber am besten kopiert du dir mal zuerst dein OpenHAB log, das erstellte batch file und ein Rules file in ein temp verzeichnis und spielst damit rum. :-)
Im Prinzip könntest du beim suchstring auch sehr explizit nach einzelnen rules fehler suchen und müsstest dann das ganze im Batch einmal für jede Rule machen und oder du suchst nach den generellen Fehler und machst auf all deine Rule files so ein touch....
Gruss
bkumio
Code:
If NOT exist C:\temp\1\openhab.log @echo OpenHAB log created >C:\temp\1\openhab.log FOR /F "tokens=2,3*" %%i IN ('find /C "Error during the execution of rule" C:\temp\1\openhab.log') do If /I %%j GTR 0 goto :foundError @echo all working, nothing to do.... goto end :foundError @echo do touch the rules to initiate the reload copy /b C:\temp\1\test.rules +,, @echo overwrite/recreate OpenHAB log @echo OpenHAB log re-created after touching rules file >C:\temp\1\openhab.log :end
Kommentar