EDIP (2407) Programmieren?

Das macht nichts mit der Zerstückelung; RegisterVariable ist da dein Freund :slight_smile:

Bei mir kommen die Daten in 8-Byte-Blöcken an. Mit ner RegisterVariable kannst du die aber schön zusammenbauen.

hmm…

bei mir kommen die Anworten etwas seltsamer an.
So klare Antworten bekommen ich nicht.

Ich habe bei mir alles mit 38400 laufen. Vom IPS-COMPORT-USB-XBEE-XBEE-EDIP.
Das SmartProtokoll habe ich ausgeschaltet, ansonsten wäre nichts gegangen.

So erzeuge ich einen Button:

RegVar_SendText(14628 /*[Skripte\EDip\Register Variable]*/, chr(27)."AT".chr($x).chr($y).chr($xg).chr($yg)."m"."T"."Test".chr(0));

und mit dem T wird an der Register-Variable abgefragt (Skript):

  
if ($IPS_SENDER == "Execute")
{
    echo "Dieses Script kann nicht von Hand ausgeführt werden.";
    return;
}

$daten = $IPS_VALUE; // Daten von Registervariable

IPS_LogMessage($IPS_SELF, $IPS_VALUE); // Daten im Meldungsfenster ausgeben


  //Buffer auslesen Xbee

  $eingabe = substr($daten, -1);
  $s = "";
  for($i=0; $i<strlen($daten); $i++)
  {
  $s = $s.intval(ord(substr($daten,$i,1)))." ";
  }

  IPS_LogMessage("Edip:", $s);
  echo $s;
  
  switch ($eingabe)
  {
 
  case "T":
  IPS_RunScript(54344 /*[Skripte\EDip\TEST]*/);
  break;
 
   default:
    break;

}
  

soweit funzt es auch, dass das Test-Skript gestartet wird. Aber wie macht ihr dass, daß ihr Begriffe wie „Deckenstrahler ein“ und so nutzen könnt ?
Und warum kommt bei mir so ein Durcheinander an ? (siehe Bild)

Vielleicht kann mir ja jemand einen Tip geben.

Grüße
Björn

Die „Begriffe“ sind im eDip hinterlegt als Makro. Ich sende nur Daten ans eDip wenn diese zuvor vom eDip angefordert wurden.

Juhu nun gehts habe ein Trennzeichen eingebaut.
Kann ich eigentlich mit RegVar_SendText(
auch ein Makro ausführen?

Na klar. Ein Makro hat ja eine Nummer, diese kann man aufrufen und das Makro wird ausgeführt.

z.B. so.

RegVar_SendText($XBee, chr(27)."MN".chr(4));

Und wohin pflanze ich da nun die Makrovariable ?

…wegen mir in den Garten. :smiley:

Geht schlecht da sitzen die Tomaten.

Scherz bei Seite ich glaube ich habe alle möglichen Varianten durch leider ging gar nichts.

Hallo Christian,

ich kann dir nicht ganz folgen. Was gibt es da zu probieren.

Du musst ein Makro definieren welches dann irgendetwas ausführt.

z.B. MnLichtAus = 1

Makro: MnLichtAus
mach was…

Ich will das Makro auf dem edip per Register Variable Send aufrufen.

nochmal schreibe ich es nicht hin, steht doch alles da. Liest Du eigentlich was ich schreibe!

RegVar_SendText($registerVariable, chr(27).„MN“.chr(4));

Genau das führe ich auch aus chr(4) ist die Makronummer oder?.

Jedoch tut das Edip nichts.

um ein Makro ausführen zukönnen muss es erst mal auf dem eDip vorhanden sein, ansonsten kannst Du das 1000 mal senden und es wird sich nichts tun.

Ich habe Dir doch die Beispiele geschrieben.

Das Makro ist ja auch da

TmTerminal = 1

Ausgeführt als Start am edip mit
#MT TmTerminal

das ist auch ein Touchmakro und kein Normalmakro. MT, MN, merkst was :smiley:

ahhhhhhhhhhhhhhhhhhhhh uhiiiiiiiiiiiiiiiiiiiiiiiiiiii
Da kann ich lange probieren.

Kann ich das nicht auch ausführen?

Sicher, führ es doch aus. Außerdem solltest Du dir Seite 18 durchlesen.

Das habe ich nun Versucht hast du vielleicht hierzu noch ein Beispiel ?
Ich hatte mich vorher wohl falsch ausgedrückt.

Hallo Chris,

ich denke alles einpacken und am Samstag vor Ort in Nidda live zu programmieren ist angesagt.:smiley: