Mobotix Netzwerkmeldung

Hallo nochmal,

bin bis heute nicht weiter gekommen. Hänge immer noch an den Netzwerkmeldungen. Weiss niemand einen Weg?

Grüße

Den Server macht die Mobotix, also brauchst Du nur den ClientSocket. Die Datenannahme läuft per RegisterVariable, bei der Du den ClientSocket als übergeordnete Instanz und ein Verarbeitungsskript angibst (siehe RegisterVariable - IP-Symcon :: Automatisierungssoftware).

Hallo Jo,

ich habe mehrer Mobotix im EInsatz welche Befehle an IPS schicken.

Ich habe folgende Konfiguration dafür:

ServerSocket - Registervariable - Auswertscript

Die Mobotix übergibt bei mir folgende Daten in einem String:
CamName
Auslösendes Event
Eventnummer

Mein Auswertscript löst diesen String wieder auf und schreibt mir die Eventart und die Eventnummer in entsprechende Variablen. Diese Triggern wiederum weitere Scripte die dann die geollten Befehle auslösen.

Um Befehle an die Cams zu senden habe ich für jede Cam einen Clientsocket im Einsatz.

Gruß Philipp

hallo phillip,

hab noch probs mit dem server socket …
magst du mir mal dein script schicken

wie bekomme ich den string ausgelesen ?

gruß
chris

nicht mehr nötig … es geht :slight_smile:

Hallo Chris,

dann ist die PM wohl auch erldigt :wink:

Freut mich wenns geht:D

Gruß Philipp

jau danke !

@stricky

bitte, bitte dokumentiert doch bitte in der Zukunft was genau Ihr gemacht habt, damit es ‚läuft‘, dann haben auch alle anderen was davon.

Genau aus diesem Gund stehe ich jetzt da und muss das Rad neu erfinden, wie man mit einer Mobotix kommuniziert und ich habe im Moment - ‚No Ahnung at all‘ :confused:

Gruss babba

wo hakt es denn ?

wie schon vorher angedeutet - ich möchte meine neue Mobotix gerne über IPS steueren.

1, Ziel ist über Client Socket commands an die Camera zu senden
Ich konnte einen Client Socket einrichten mit dem Port 80 - ist das richtig?
Auch eine Registervariable ist eingerichtet.
Meine Versuche mit dem „CSCK_SendText“ Befehl bewirken gar nichts - nicht mal eine Fehlemeldung.

Könntest Du mir mal dazu Dein Script senden - zum ‚abgucken‘?

  1. Möchte ich Alarmmeldungen auswerten - aber immer erst ein Schritt nach dem anderen.

Gruss Dieter

moin,

ich nutze das eigentlich nur um die Cams zu starten.

Dazu muss in der Kamera ( ereigniseinstellungen ) Netzwerkmeldung eingeschaltet werden. Port festlegen - bei mir 8000

auf textvergleich stellen - bei mir start

seit neuerem ( aktuelles Image ) kann man den empfangenen text auch anzeigen
scöne sache für wettereinblendungen, etc.


		CSCK_SendText(26475 /*[Cams Client Socket]*/,"start");
		CSCK_SetHost(26475 /*[Cams Client Socket]*/,"10.0.0.41");
	CSCK_SetOpen(26475 /*[Cams Client Socket]*/ ,true);
	IPS_ApplyChanges(26475 /*[Cams Client Socket]*/ );

ach ja, natürlich noch den client socket eingerichtet und das wars schon …
ich stelle bei mir nur die ip um, weil ich mehrere cams habe

sonst kannste dir sethost auch sparen

empfangen tue ich auch ein paar sachen, wir aber zur zeit nicht ausgewertet

einfach serversocket anlegen und von der cam füttern

wenn eine bewegung erkannt wurde wird ein entsprechendes profil gestartet
kannste auch unter ereigniseinstellungen eingeben

bei mir zum beispiel werden folgen daten übertragen:
IP:$(ID.NAM) Count:$(FPR.ENO) VM1:$(SEN.VM1) VM2:$(SEN.VM2) MIC:$(SEN.MIC)

IP: klar
Count: ereigniszähler
VM1 & VM2 sind die beweungsmelder ( bildänderung ) - schöne sache

mehr mache ich garnicht, weil die eigentlich von meinem beckhoff cx gestartet wird

gruß
christian

Hallo stricky,

Danke für den Hinweis - ist nachvollziehbar für mich, aber wenn ich das richtig verstehe, reagiert die Mobotix dabei auf nur ein bestimmtes Wort, das du versendest, in Deinem Fall ‚start‘.

Was ich suche ist eine möglichkeit mit der sog. HTTP-API komplette Befehle an die Mobotix zu versenden, wie z.B.

http://<CAM-IP>/control/rcontrol?action=ledson&time=5

irgendwie müsste das doch auch gehen - oder?

Gruss babba

bestimmt … hab ich aber nie probiert

so gehts und das reicht mir

Hallo allerseits,

ich versuche auch gerade ips und eine Mobotixkamera über eine Netzwerkmeldung kommunizieren zu lassen. Leider scheiter ich derzeit an der Übermittlung von ips zur Mobotix.
Ich habe ein Client Socket eingerichtet welcher als Ziel die Kamera hat und über Port 8000 sendet. Diesem Client Socket habe ich folgendes Script zugeordnet.


$nachricht = date("d.m.y H:i:s");
RegVar_SendText(47590 /*[Büro\.Cam108 Client Socket]*/, "
$nachricht");
echo $nachricht;

Im Debugfenster des Client Sockets ist die Meldung sauber zu sehen. Leider kommt an der Kamera erst etwas an wenn ich den IPS Dienst beende. :mad:
Wenn ich zu Testzwecken das Ziel des ClientSockets auf einen ServerSocket von IPS änder und mir das DebugFenster dieses ServerSockets anzeigen lassen erscheint die Netzwerkmeldung in beiden Fenstern sofort auch ohne das ich den IPS Dienst beendige.
Wenn ich versuche mit den CSCK Befehlen zu arbeiten


CSCK_SendText(47590 /*[Büro\.Cam108 Client Socket]*/,"start");
CSCK_SetHost(47590 /*[Büro\.Cam108 Client Socket]*/,"192.168.1.108");
CSCK_SetOpen(47590 /*[Büro\.Cam108 Client Socket]*/,true);
IPS_ApplyChanges(47590 /*[Büro\.Cam108 Client Socket]*/ );

bekomme ich folgende Fehlermeldung:
Warning: csck_sendtext: Instance #47590 not found! in C:\IP-Symcon\scripts\25604.ips.php on line 20
Warning: csck_sethost: Instance #47590 not found! in C:\IP-Symcon\scripts\25604.ips.php on line 21
Warning: csck_setopen: Instance #47590 not found! in C:\IP-Symcon\scripts\25604.ips.php on line 22

Wo liegt mein Fehler?
Bitte helft mir!

Gruß Ingo

Hallo Ingo,

irgendwas bringst Du mit deinen Instanz IDs durcheinander. Die Registervariable kann nie die gleiche ID wie der ClientSocket haben.

Hallo Ingo,

warum nutzt Du zum senden die RegVar??

EInfach nur den Befel an den Clientsocket senden.

Mein Script sieht so aus:

CSCK_SetOpen(56788 /*[Mobotix Tor]*/,true);
IPS_ApplyChanges(56788 /*[Mobotix Tor]*/);

$TX_BUF = "Event";
$result = CSCK_SendText(56788 /*[Mobotix Tor]*/, $TX_BUF);

Gruß Philipp

Danke so läuft es.:loveips:

So, jetzt möchte ich meinen ‚Senf‘ auch noch dazu geben.

Auch ich war auf der Suche nach einer Möglichkeit, mittels IPS die Mobotix Cam zu steuern. Die Lösungen die philipp & stricky hier vorschlagen, mögen ja gehen, sind aber wenig geeignet, echte Mobotix Befehle abzusetzen.

Nach langem Probieren habe ich die Lösung gefunden: HTTP-API ist Dein Freund.
Einfach eine WWW Reader-Instanz einrichten - ich habe dabei die Mobotix Authentifizierung eingetragen und übernommen.

Dann einfach einen ‚WWWReader_RetrievePage‘ absenden, z.b.

$string=WWWReader_RetrievePage(WWW Reader-Instanz, "http://192.168.xxx.xxx/control/control?set&section=event&motioncheck=0");

zum disablen des VM-Bewegungsfenster Sets. In $string ist dann auch noch die Antwort der MobotixCam.

Mit dieser Methode können alle nur erdenklichen Befehle (siehe online Hilfe HTTP-API) an die Cam abgesetzt werden.

Gruss babba

Die Lösungen die philipp & stricky hier vorschlagen, mögen ja gehen, sind aber wenig geeignet, echte Mobotix Befehle abzusetzen.

Kommt halt darauf an, was man damit machen will. Bei mir soll nur eine Bildserie auf dem Server abgelegt werden, wenn IPS einen entsprechenden Befehl von der Torsteuerung erhält. Da reicht mir der Weg über den Socket mit „nur“ einem Befehl absolut aus.

Für die Steuerung der Mobotix ist dieser Weg sicherlich nicht geeignet, war dafür aber von mir auch nie angedacht.

Aber es zeigt sich mal wieder, dass man mit IPS so gut wie alles angebunden bekommt.

Gruß Philipp - der sich auch mal die Mobotix API näher anschauen wird

Gut zu wissen das das auch geht. Für meine derzeitige Aufgabe (diverse Temperaturen und Schaltzustände im Livebild der Kamera darzustellen) bleibe ich erst einmal bei den Clientsockets. Aber wer weis schon was mir als nächstes einfällt. Und um die Kamera zu steuern ist die Variante über HTTP-API mit Sicherheit ein sehr mächtiges Werkzeug. Also noch einmal vielen Dank für die hilfreichen Antworten.

Gruß Ingo