PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was ist falsch



Cherry
31.08.2010, 08:42
Nach langem hin und her ist die Batch Datei nun fertig es funktioniert aber leider wir nur die Ric übertragen und kein Alarm Text. Verwende Poc32 und AlarmSMS. Batch sieht wie folgt aus



@echo off
@title POC32 Alarmierung->SMS
@color 1F

rem ##################################################
rem # FITTcom GmbH Alarm-SMS Versand (2010-08-29) #
rem # www.fittcom.de #
rem ##################################################
rem ------------ Einstellungen ------------

rem ## Grundeinstellungen setzen ##

rem Logfile-Verzeichnis
set LOGDIR=C:\Program Files(x86)\BayCom\POC32\LOG

rem AlarmSMS-Pfad
SET PFAD_ALARMSMS="C:\Program Files (x86)\FITTcom\Alarm-SMS\AlarmSMS.exe"

rem Schleife / -vLZ72
SET SCHLEIFE=LZ72

rem ---------------------------------------

set Datum=%Date%
set tag=%Datum:~0,2%
set monat=%Datum:~3,2%
set jahr=%Datum:~6,4%

set time=%Time%
set uhrzeit=%time:~0,8%


rem Verzeichnis anlegen, falls noch nicht vorhanden
if not exist %LOGDIR% mkdir %LOGDIR%

rem Logname generieren, z.B. "yyyy-mm-dd.log" -> eine Logdatei taeglich
set LOGFILE=%LOGDIR%\%jahr%-%monat%-%tag%.txt

rem in Log schreiben
echo %uhrzeit% [%1] [%2] [%3] >> %LOGFILE%


REM Aufruf von AlarmSMS (Standardkonto, wie in Optionen eingetragen)
%PFAD_ALARMSMS% -v%SCHLEIFE% -tm"%1 %2 %3 %4" -test



-test damit nur ein logfile geschrieben wird und keine sms verschickt wird logfile von AlarmSMS sieht wie folgt aus


08:24:34:002 mdb-Datei : C:\Users\CHef\AppData\Local\FITTcom GmbH\Alarm-SMS\alarmsms.mdb
08:24:34:008 mdb gefunden: C:\Users\CHef\AppData\Local\FITTcom GmbH\Alarm-SMS\alarmsms.mdb
08:24:34:046 Parameterübergabe -v LZ72
08:24:34:047 Parameterübergabe -tm 1248833 0 53581
08:24:34:047 Parameterübergabe -test
08:24:34:112 Version: 2.4.4.3
08:24:34:113 !!-- TESTMODUS --!!
08:24:34:113 Datenbank: C:\Users\CHef\AppData\Local\FITTcom GmbH\Alarm-SMS\alarmsms.mdb
08:24:34:115 keine Probealarmzeiten eingetragen
08:24:34:115 SMS-Typ: Text
08:24:34:115 Starte SendeModus
Verteiler [LZ72]
Nachrichtenbaustein []
Nachricht (uebergeben) [1248833 0 53581]
08:24:34:116 Nachricht-Text: 1248833 0 53581
08:24:34:122 lese Dateiversionen
08:24:34:125 lese Empfänger
08:24:34:126 Sende an: XXX
08:24:34:126 Sende an: XXX
08:24:34:127 sende Daten...
08:24:34:127 Rückgabewerte parsen...
08:24:34:127 Rückgabewerte parsen fertig
08:24:34:235 Versand OK
08:24:34:236 Anwendung wird beendet


Nachritchenbaustein []
Nachricht (uebergeben) [1248833 0 53581] <<< da die die Ric mit einer mir un bekannten Nummer da sollte eigentlich der Alarmtext stehen.

Sieht jemand den Fehler?

Cherry
01.09.2010, 20:33
keiner eine Idee??

Firefighter Heiti
01.09.2010, 20:58
Wenn ihr nur via Nurton (KEIN ALARMTEXT) alarmiert werdet und nicht Alphanumerisch (ALARMTEXT) solltest du anstatt Variabel %3 einfach DEINEN Alarmtext eintragen oder habe ich dich jetzt falsch verstanden?

Edit:

Diese dir unbekannte nummer könnten die Parameter %4 sein. Schon mal ohne %4 versucht?

felix000
01.09.2010, 21:00
if not exist %LOGDIR% mkdir %LOGDIR%
->
if not exist "%LOGDIR%" mkdir "%LOGDIR%"

set LOGFILE=%LOGDIR%\%jahr%-%monat%-%tag%.txt
->
set LOGFILE="%LOGDIR%\%jahr%-%monat%-%tag%.txt"


Batchdateien zeigen auch Fehlermeldungen an...
Einfach am Ende ein "pause" einfügen, dann bleibt das Batch-Fenster offen und man kann sie lesen.

Wie wird die Datei aufgerufen??

Cherry
02.09.2010, 14:41
Wenn ihr nur via Nurton (KEIN ALARMTEXT) alarmiert werdet und nicht Alphanumerisch (ALARMTEXT) solltest du anstatt Variabel %3 einfach DEINEN Alarmtext eintragen oder habe ich dich jetzt falsch verstanden?

Edit:

Diese dir unbekannte nummer könnten die Parameter %4 sein. Schon mal ohne %4 versucht?



Der Alarmtext soll aus Poc32 übernommen werden. Wir werden Alphanumerisch alamiert.
Bei FMS32 funkioniert das mit dem übernehmen. Allerdings starte ich da das Programm dirket und nicht über Batch. Mir ist das Programm zu Fehlerhaft beim auswerten.






if not exist %LOGDIR% mkdir %LOGDIR%
->
if not exist "%LOGDIR%" mkdir "%LOGDIR%"

set LOGFILE=%LOGDIR%\%jahr%-%monat%-%tag%.txt
->
set LOGFILE="%LOGDIR%\%jahr%-%monat%-%tag%.txt"


Batchdateien zeigen auch Fehlermeldungen an...
Einfach am Ende ein "pause" einfügen, dann bleibt das Batch-Fenster offen und man kann sie lesen.

Wie wird die Datei aufgerufen??

aufgerufen wird das ganze mit dem Dateifpad der batch.


C:\Program Files (x86)\BayCom\POC32\poc32-alarmsms.bat

Pause einfach ganz Schluss reinschreiben sprich unter -test?

FMS-Master
02.09.2010, 18:52
Pause einfach ganz Schluss reinschreiben sprich unter -test?
Ja, als allerletzten Eintrag der Batch-Datei, sonst wird die Batch unterbrochen.
Und am besten noch das @EchoOff am Anfang rausnehmen, dann siehst du auch genau wo der Fehler ausgeworfen wird.

Gruß FMS-Master

Cherry
02.09.2010, 21:25
http://img15.imageshack.us/img15/3779/batchf.jpg (http://img15.imageshack.us/i/batchf.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)


Da was von Zugriff verweigert. Hab win7 hat das was mit den Administrator rechten zun tun?

FMS-Master
02.09.2010, 22:18
Uhh, das könnte gut sein.

Hab noch nie eine Batch auf Win 7 ausprobiert.
Kannst du die Batch nicht in einen "neutralen Ordner" (der kein Systemverzeichnis ist) überführen? sollte dort besser aufgehoben sein.

Du hast noch nicht den Hinweis von felix umgesetzt:

if not exist %LOGDIR% mkdir %LOGDIR%
->
if not exist "%LOGDIR%" mkdir "%LOGDIR%"

set LOGFILE=%LOGDIR%\%jahr%-%monat%-%tag%.txt
->
set LOGFILE="%LOGDIR%\%jahr%-%monat%-%tag%.txt"

Zumindest bei dem ersten wirft dein Rechner auch ne Fehlermeldung

Greetz FMS-Master

Cherry
03.09.2010, 17:59
Wenn ich das von felix übernehme wird der "Pause" Befehl nicht mehr ausgeführt. Also ich sehe dann nur kurz das Blaue Windows Feld und ist gleich wieder weg.
Die mir unbekannte Nummer ist die Einsatz Nummer.

z.B. 54321 Einsatz XXX Straße Ölspur.

Also wird schon ein Teil der Nachricht übernommen endet allerdings dann nach der Nummer. Vielleicht hift das weiter.
Mit dem Verschieben muss ich noch testen.

FMS-Master
03.09.2010, 20:04
Wenn ich das von felix übernehme wird der "Pause" Befehl nicht mehr ausgeführt. Also ich sehe dann nur kurz das Blaue Windows Feld und ist gleich wieder weg.
Rätsel gibt es immer wieder....

Hab mir gerade nochmal dein Screenshot angesehen. Beide "Fehler" die Felix berichtigt hat, füren bei dir zu fehlern und müssen deshalb angepasst werden.
Warum plötzlich das mit der pause nicht mehr geht kann daran nicht liegen.

Vielleicht müsstest du die batch mal von hand aus dem Prompt heraus starten.
(Ausführen -> cmd dann in den pfad wechseln und batch starten)
dann bleibt das fenster auf jeden fall auf.


Die mir unbekannte Nummer ist die Einsatz Nummer.
z.B. 54321 Einsatz XXX Straße Ölspur.

Also wird schon ein Teil der Nachricht übernommen endet allerdings dann nach der Nummer. Vielleicht hift das weiter.
Mit dem Verschieben muss ich noch testen.

ja, das liegt an deinem Aufruf, das ist ein andere Fehler. Ich arbeite schon seit Jahren nicht mehr mit POC32 deswegen weiß ich nicht mehr viel über die Parameter. Aber der Meldungstext muss im POC32 mit "" um die Variable übergeben werden. z.B. "%3" (keine ahnung ob der aufruf stimmt. Poste mal deinen aufruf

FMS-Master

Cherry
04.09.2010, 14:50
@echo off
@title POC32 Alarmierung->SMS
@color 1F

rem ##################################################
rem # FITTcom GmbH Alarm-SMS Versand (2010-08-29) #
rem # www.fittcom.de #
rem ##################################################
rem ------------ Einstellungen ------------

rem ## Grundeinstellungen setzen ##

rem Logfile-Verzeichnis
set LOGDIR="C:\Program Files(x86)\BayCom\POC32\LOG"

rem AlarmSMS-Pfad
SET PFAD_ALARMSMS="C:\Users\Public\FITTcom\Alarm-SMS\AlarmSMS.exe"

rem Schleife / LZ72
SET SCHLEIFE=LZ72

rem ---------------------------------------

set Datum=%Date%
set tag=%Datum:~0,2%
set monat=%Datum:~3,2%
set jahr=%Datum:~6,4%

set time=%Time%
set uhrzeit=%time:~0,8%

SET NACHRICHT=%2 %3
SET NACHRICHT=%NACHRICHT:"=%

rem Verzeichnis anlegen, falls noch nicht vorhanden
if not exist %LOGDIR% mkdir %LOGDIR%
->
if not exist "%LOGDIR%" mkdir "%LOGDIR%"

rem Logname generieren, z.B. "yyyy-mm-dd.log" -> eine Logdatei taeglich
set LOGFILE=%LOGDIR%\%jahr%-%monat%-%tag%.txt
->
set LOGFILE="%LOGDIR%\%jahr%-%monat%-%tag%.txt"

rem in Log schreiben
echo %uhrzeit% [%NACHRICHT%] >> %LOGFILE%


REM Aufruf von AlarmSMS (Standardkonto, wie in Optionen eingetragen)
%PFAD_ALARMSMS% -v%SCHLEIFE% -tm"%NACHRICHT%" -test

Hab mal etwas experimentiert :) so muss es aussehen dann wird der Alarmtext übertragen. Logfile wird zwar immer noch nicht erstellt im Poc32 Ordner aber das ist nicht so tragisch.
Als Hinweis noch AlarmSMS muss in einen öffentlichen Ordner.
Danke euch für die Hilfe.

@FMS Master welches Programm benutzt du denn?

Firefighter Heiti
04.09.2010, 14:55
@Cherry:

Hast du schon mal IBSA getestet? Kann ich nur empfehlen. Hier im Forum einfach mal nach IBSA suchen .

felix000
04.09.2010, 14:56
@echo off
rem Logfile-Verzeichnis
set LOGDIR=C:\Program Files(x86)\BayCom\POC32\LOG

rem AlarmSMS-Pfad
SET PFAD_ALARMSMS="C:\Users\Public\FITTcom\Alarm-SMS\AlarmSMS.exe"

rem Schleife / LZ72
SET SCHLEIFE=LZ72

rem ---------------------------------------

set Datum=%Date%
set tag=%Datum:~0,2%
set monat=%Datum:~3,2%
set jahr=%Datum:~6,4%

set time=%Time%
set uhrzeit=%time:~0,8%

SET NACHRICHT=%~2 %~3

rem Verzeichnis anlegen, falls noch nicht vorhanden
if not exist "%LOGDIR%" mkdir "%LOGDIR%"

rem Logname generieren, z.B. "yyyy-mm-dd.log" -> eine Logdatei taeglich
set LOGFILE="%LOGDIR%\%jahr%-%monat%-%tag%.txt"

rem in Log schreiben
echo %uhrzeit% [%NACHRICHT%] >> %LOGFILE%


REM Aufruf von AlarmSMS (Standardkonto, wie in Optionen eingetragen)
%PFAD_ALARMSMS% -v%SCHLEIFE% -tm"%NACHRICHT%" -test


Wenn du des jetzt übernimmst (entweder copy& paste oder wirklich jedes Zeichen vergleichen), sollte auch dein Log funktionieren.

Cherry
04.09.2010, 16:29
@Felix spielt es eine Rolle ob 1 oder 2 Leerzeilen dazischen sind?

@Firefighter Heiti ja den Thread hab ich mal überflogen. Ich hab mein SMS Konto bei Fittcom und das wird von dem Tool leider nicht unterstüzt. Aber danke für den Hinweis.
Vielleicht stell ich es mal um wenn das Konto aufgebraucht ist.

Firefighter Heiti
04.09.2010, 18:50
Hast du von Fittcom den eine Gateway URL ?

Also quasi, die URL, die aufgerufen wird, wenn eine SMS versendet wird? Dann könntest du IBSA auch jetzt schon verwenden.

Cherry
04.09.2010, 18:55
Nein die Firma hat ein eigenstädiges Tool was die SMS verschickt

Firefighter Heiti
04.09.2010, 19:41
http://www.fittcom.de/produkte/schnittstelle/

So setzt sich die URL zusammen einfach bei IBSA unter Fremdgateway eintragen ;)

Cherry
04.09.2010, 19:53
Danke dir aber dann müsste ich jetzt wieder Leute nerven und fragen was ich wo eintragen muss :) Aber ich behalte das mal im Hinterkopf

FMS-Master
05.09.2010, 13:41
rem Verzeichnis anlegen, falls noch nicht vorhanden
if not exist %LOGDIR% mkdir %LOGDIR%
->
if not exist "%LOGDIR%" mkdir "%LOGDIR%"
*gg* Sorry cherry das ich mal kurz lächeln muss, nicht böse sein, aber felix meinte damit du sollst deine (falsche) zeile
if not exist %LOGDIR% mkdir %LOGDIR%
durch die (richtige) ersetzen:
if not exist "%LOGDIR%" mkdir "%LOGDIR%"

Du kannst nix dafür, hätten wir auch schreiben können. Das passiert halt wenn programmieren so seltbstverständlich ist... Dann denkt man nicht immer daran das es leute gibt die das nicht sofort verstehen. :-) Nicht böse sein.


@FMS Master welches Programm benutzt du denn?

Schön wenn es ja jetzt geht. Du solltest mir zwar deinen Aufruf posten (damit meinte ich den Pfad der deine batch aufruf in POC32) aber das ist ja jetzt nicht mehr notwendig.

Bei mir läuft ziemlich erfolgreich BosMon mit dem Alarmierungstool

Greetz FMS-Master

P.S.: Das Alarmierungstoll unterstützt Fittcom auch (noch) nicht.

Cherry
14.09.2010, 21:28
Hätte doch noch eine Frage XD
Ich hab meine Empfang etwas verbessert. Nun wird alles empfangen und richtig ausgewertet.
So weit so gut. Nur endet jetzt jede Meldung mit EOT EOT. und somit auch gleichzeitig ein Fehler beim ausführen der Batch.

"<" ist an dieser Stelle nicht verarbeitbar

Kann man das irgendwie rausfiltern?

FMS-Master
15.09.2010, 13:57
"<" ist an dieser Stelle nicht verarbeitbar

Kann man das irgendwie rausfiltern?

Hmm, an welcher Stelle wird der Fehler ausgeworfen?

FMS-Master

Cherry
15.09.2010, 14:44
Ist eine gute Frage denke gleich zu Beginn "Pause" funktioniert hier nicht. <.EOT><.EOT> ohne den Punkt. Wenn ich den Punkt hier im Forum weglasse wird nichts angezeigt.
Ich hab es mal mit

SET NACHRICHT=%NACHRICHT:"=%
SET NACHRICHT=%NACHRICHT:<.EOT.>=%

versucht leider ohne Erfolg