Android/Eventghost Communication Suite

Vielleicht hast Du auf dem Droid die Ports (Client / Server) vertauscht ???

Servus

Also wenn der ClientSocket OK ist dann (KEIN rotes Icon) dann ist schon mal die halbe Miete.

Öffne mal die Registervariable und geh auf „Debug“
Was steht denn dann im log ?

  • vermutlich nix

Leere dann die BuffertoSend Variable und schicke einen neuen Befehl.

  • was steht denn nun im log der Registervariable ?

Mach das mal bitte, dann kommen wir sicher weiter.

schöne grüße
bb

Moin bei mir läuf mittlerweile alles Super. Bau mir gerade eine Multimediaklingel fürs Tor, wobei ich da noch vor einigen Schwierigkeiten stehe. Sprich die Begrenzung des Benutzers in seinen Aktionen.

Hast du eventghost geschlossen und den Client und Server Socket für EG auf inaktiv?

Ich hab die Ports auch einfach auf gut Glück mal geändert. Eventghost lief außerdem auf meinem Tablet noch im Hintergrund, sollte auch auf inaktiv gestellt werden.

Vg

Alex

Sent from my iPhone using Tapatalk

Hallo bb,
habe die BufferToSend geleert, bei der Register Variablen den Debug aktiviert und mein Script „Bewegung“ ausgeführt. Im Debug erscheint immer noch nichts.
Ist es richtig, dass nur im Script "Bewegung die ID des Client Socket eingetragen werden muss? Oder sonst noch was einstellen?
Habe jetzt auch mal meinen Objektbaum gepostet, wo du sehen kannst, dass nach Ausführung von „Bewegung“ die Scripte „SendToDroid_include“ und „sendData“ nicht aktualisiert werden(Zeitstempel).

Grüße, Jürgen

Servus Jürgen

Ja und was wird nun ins Debugfenster geschrieben wenn „Bewegung“ ausgeführt wird ?
Zur Info im Debugfenster kann man quasi mitschauen wie die Kommunikation abläuft. Da sollten wir dann weitere Hinweise finden.
Bin leider um Büro und kann dir keinen Screenshot einer funktionierenden Kommunikation schicken.

„Bewegung“ und „sendtoDroid“ ist mal sicher OK, sonst wäre BuffertoSend nicht wieder beschrieben worden.

Wie ich sehe hast beim Port 1025 eingestellt. Ist das Absicht ? Stimmt das mit der Einstellung am Droid überein ?
Default ist nämlich 1024.

gruß
bb

Hi bb,
im Debug steht nach Ausführung von „Bewegung“ immer noch nichts. Da scheint gar nichts anzukommen.
Der Port 1025 ist auch im Android unter Server Configuration so eingestellt. Habe bis jetzt nur den Client Socket eingerichtet und noch keinen Server Socket. Denke, das macht keinen Unterschied, weil ich momentan mal nur im Android empfangen will.

Grüße, Jürgen

OK, dann hats was bei der Einrichtung in IPS

Die RegisterVariable ist korrekt mit dem ClientSocket und dem sendData Script verbunden ?

Sieht so aus als ob hier Zitat: vom Seite 1, zweiter Post:

„Um die Daten zu versenden benötigt man einen ClientSocket.
d.h. einen Client Socket einrichten und IP bzw. Port entsprechend dem Client konfigurieren.
Darunter eine RegisterVariable mit Namen „regVarDataBuffer“ anlegen und mit dem Client Socket verbinden.
Als Zielscript muß dieses „sendData“ Script eingetragen sein.
Die obigen Namensgebung ist unbedingt einzuhalten oder ihr müßt die Scripte entsprechend abändern.“

etwas falsch wäre.

Ich schick dir heute Abend ein paar Screenshots.

bb

Danke bb,
habe ich zwar alles so eingerichtet, möchte jedoch trotzdem auf deine Screenshots warten und nachsehen. Vielleicht hat sich ja irgendwo doch ein Fehler eingeschlichen.

Grüße und Danke für deine Geduld, Jürgen

Servus Jürgen

Hab mir deinen Screenshot nochmals genau angesehen und bemerkt das mit da etwas fehlt.
Unter dem sendData Script müßte ein Timer liegen. Bei dir sehe ich keinen, stimmt das ?

Der Timer wird automatisch von sendData erstellt. Das heist nun wiederrum das sendData nicht aufgerufen wird.
Hmm…

Ich schreib dir nochmals wie es funktionieren soll, vieleicht kommst dann auch selbst weiter:

  • Dein „Bewegung“ Script ruft SendtoDroid auf und übergibt ihm die ID des ClientSocket und den zu sendenden Text.
  • „SendtoDroid“ schreibt den Text nun in die „BufferToSend“ und startet „sendData“
  • „sendData“ liest nun „BufferToSend“ und schreibt nach „regVarDataBuffer“

Das bei dir nun BufferToSend befüllt wird, sendData aber nicht gestartet ist mal sehr komisch. Hast da irgendwas rumgetrickst ??? Gibts eine passende Fehlermeldung in den Meldungen ?

Also schau bitte noch mal ob der Timer da ist, wenn JA, dann lösche ihn auch mal weg und schaue ob er nach Aufruf von SendtoDroid (mittels deines Bewegung Scriptes) auch angelegt wird.

Den Timer händisch anlegen bringt übrigens nix.
sendData händisch starten auch nicht, da sag ich dir erst dann was dazu wenn mal die Timersache geklärt ist.

gruß
bb

Hallo bb,
Bei mir gibt es keinen Timer unter sendData.
Habe meine Scripte „sendData“ und „SendToDroid“ nochmals neu installiert und BufferToSend gelöscht. Bewegungsscript ausgeführt -> nichts. Danach habe ich dann von Hand in BufferToSend „nothing to send“ eingetragen und "Bewegung ausgeführt. Jetzt wurde der Timer angelegt mit 10 Sek.
Nächstes Problem: Client Socket ging dann plötzlich auf Rot und im Androiden war kein Event zu sehen. Musste dann das Kennwort im Androiden unter ServerConfiguration raus nehmen.
:smiley: Jetzt läuft´s :smiley:
Versuche jetzt weitere Tests.

Nochmals vielen Dank für deine große Geduld mit mir,
Jürgen

Hi

Na siehst, langsam wirds ja.

Hast du das „sendtoDroid“ Script neu kopiert ?
In einer frühen Version (im anderen Eventghost Thread) da hatte ich nämlich einen Fehler drinnen der sich genau so ausgewirkte das bei einer leeren BufferToSend er nichts anlief.

Die Timerzeit gibt übriges an wie lange IPS auf die Bestätigung vom Droid wartet das ein Befehl ausgeführt wurde.
Braucht der Droid länger als bis der Timer abgelaufen ist, so wird angenommen das etwas schiefgegangen ist und der Befehl nochmals gesendet.

Hat man zb. Sprachausgabe direkt über terRemote muß die Zeit evtl. etwas höher sein. (10sec sollten gut passen)
Leitet man aber alle Aufgaben, (auch Sprachausgabe) an Tasker weiter, so kann man die Zeit deutlich runtersetzen.
Tasker hat nämlich eine eigene Befehlswarteschlange die er selbstständig abarbeitet. d.h. sobald terRemote den Befehl in die Tasker Warteschlange gestellt hat schickt es sofort an IPS ein „erledigt“ zurück.
Ich mach das bei mir so und konnte daher auf 1sec runtergehen.
So läuft das alles dann sehr zackig und rund.

sendest von IPS nur dann und wann einen Befehl, so ist die Einstellung mehr oder weniger egal. Läßt man aber ganze Befehlsabfolgen raus, wie zb:

  • Lautstärke rauf
  • Warnton
  • Display EIN
  • Lautstärke runter
  • Sprachausgabe
  • Browser in Fordergrund holen
  • Display Abschaltzeit setzen

oder so ähnlich, dann kann man mit dem Timer die Sache schön tunen.

Einstellung kann man das im Header des sendData Scriptes.

gruß udn gute Nacht
bb

Hi,
habe „sendToDroid“ neu kopiert. So weit wie ich mich aber erinnern kann, wurde auch dann nach Ausführung von „Bewegung“ der Timer nicht angelegt. Erst als ich von Hand den Eintrag „nothing to send“ in den Buffer geschrieben hatte, wurde auch der Timer nach Ausführung von „Bewegung“ angelegt.

Grüße, Jürgen

Ich würde gern mein Handy als Client Socket hinzufügen mit WLAN / DHCP.
Kann ich dem Client Socket eine IP Adresse zuweisen?

Also z.B. aus dem DD-WRT mit MAC Adresse die DHCP IP Adresse auslesen und dem Client Socket zuweisen?

Da ich in unterschiedlichen wlans unterwegs bin müsste ich sonst die IP´s immer umstellen

Servus

ich denke ja, soweit ich weiß kann man die IP oder den Port des ClientSocket dynamisch während der Laufzeit umstellen.
Spricht also nix dagegen.

Passend Scripte müßtest dir halt selbst zusammenbasteln.

gruß
bb

wie kann ich dem Client Socket eine andere IP Adresse zuweisen?
Hab leider nichts gefunden wie das gehen könnte?

Danke

hast du im DHCP-Server keine Möglichkeit, über die MAC-Adresse die IP zu reservieren? Ist doch viel einfacher …

stimmt so könnt ich auch es machen, dann mach ich es einfach so^^… *zu kompliziert gedacht

Hehe, nicht nur du, ich auch.
Habs nämlich bei mir genau so aufgesetzt. Die Clients sind alle auf DHCP, im Router weise ich aber jedem Gerät eine bestimmte IP zu.

Tjo manchmal denkt man einfach zu kompliziert.
greez
bb

TerRemote funktioniert perfekt :slight_smile:

aber warum klappt es mit dem Tasker nicht?
Ich hab das Tasker TerRemote Plugin installiert und im Tasker Remote Zugriff erlaubt.
Trotzdem sagt TerRemote „No Permission to send Tasker events“

Warum?

Sollte passen, mehr brauchst nicht.
Hast mal den Droid neu gestartet ?
Bei mir zickten die beiden nach Neuinstallation auch mal rum. Richtige Ursache hab ich aber noch keine rausgefunden.
Aber ein kleiner Trost: Wenn sich die beiden mal verstehen, dann läufts perfekt. Gibt keinerlei Probleme.

Eines solltest nie vergessen: Wennst im Tasker etwas änderst ihn immer einmal mit dem „EIN“ Button rechts unten Ein/Ausschalten. Sonst ärgerst dich schwarz, da scheinbar erst dadurch die Änderungen wirksam werden.

gruß
bb