Ankündigung

Einklappen
Keine Ankündigung bisher.

Eventghost Ereignisse über EibPC UDP Befehle auslösen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Eventghost Ereignisse über EibPC UDP Befehle auslösen

    Hallo
    habe folgendes Problem im Zusammenspiel EibPC mit Eventghost
    Über folgenden Befehl soll PC heruntergefahren werden
    Code:
    [SIZE=3][COLOR=#000000][FONT=Calibri]UDP_MicroStarIP_C = 172.20.100.21
    UDP_MicroStarPort_C  = 33333u16
    UDP_ShutDownPC_C = $EibPC_ShutDownPC$
    sendudp(UDP_MicroStarPort_C, UDP_MicroStarIP_C, UDP_ShutDownPC_C)[/FONT][/COLOR][/SIZE]
    In Eventghost wird per Broadcaster-Plugin das UDP Event im Log-Fenster erkannt. Nach dem Ziehen des Events aus dem Log-Fenster in das Konfigurationsfenster können mit diesem Event beliebige Aktionen wie zum Beispiel das runterfahren des PC´s ausgelöst werden. Das funktioniert alles wie erwartet.
    Wird nun diese Eventghostkonfiguration gespeichert und wieder neu geladen dann stürzt Eventhost komplett ab. Der Prozess muss dann manuell abgebrochen werden.
    Anbei das gespeicherte Eventghost XML script:

    Code:
     [FONT=Calibri][SIZE=3][COLOR=#000000]<?xml version="1.0" encoding="UTF-8" ?>
    [/COLOR][/SIZE][/FONT][FONT=Calibri][SIZE=3][COLOR=#000000]<EventGhost Version="1640" Guid="{E187DC44-07DF-4C11-AB4C-884D45DD9569}" Time="1388482079.85">
    [/COLOR][/SIZE][/FONT][SIZE=3][COLOR=#000000][FONT=Calibri]<Autostart Name="Autostart" Expanded="True">
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]<Plugin Identifier="Task" Guid="{D1748551-C605-4423-B392-FB77E6842437}" File="Task">
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]gAIpLg==
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]</Plugin>
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]<Action>
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]EventGhost.EnableExclusive(XmlIdLink(-1))
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]</Action>
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]<Plugin Identifier="BroadcastListener" Guid="{5E8DA56B-24AC-4092-9521-169343C5171C}" File="Broadcaster">[/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri] gAIoWAkAAABCcm9hZGNhc3RxAFgPAAAAMjU1LjI1NS4yNTUuMjU1cQFNNYKIWAIAAAAmJnECVQ0xNzIuMjAuMTAwLjIxcQN0cQQu
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]</Plugin>
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]</Autostart>
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]<Folder Name="EibPC_Commands" Expanded="True">
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]<Macro Name="EibPC_Shutdown" Expanded="True">
    [/FONT][/COLOR][/SIZE][B][SIZE=3][COLOR=#000000][FONT=Calibri]<Event Name="Broadcast.EibPCShutOFFPC " />
    [/FONT][/COLOR][/SIZE][/B][SIZE=3][COLOR=#000000][FONT=Calibri]<Action>
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]System.PowerDown(False)
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]</Action>
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]</Macro>
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]</Folder>
    [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]</EventGhost>[/FONT][/COLOR][/SIZE]
    Die kritische Zeile habe ich Fett markiert. Hinter dem ...PC befindet sich ein Blank (Sonderzeichen?) das da nicht hingehört, da mein UDP-Sring so aussieht $EibPC_ShutDownPC$ (ohne Blank bzw. Sonderzeichen am Ende) Entferne ich dieses Blank manuell aus der Datei so wird diese problemlos in Eventghost geladen. Nur funktioniert der Eventtrigger nun nicht mehr da der UDP Erkennungsstring geändert wurde.
    Im Anhang die beiden Eventghost files einmal mit und ohne Sonderzeichen.
    Obwohl das ehr nach einem Eventghostproblem aussieht meine Frage:
    Gibt es eine Möglichkeit diese Sonderzeichen am Ende des Strings beim Senden des UDP commands zu unterdrücken?
    Mit den besten Grüßen
    Teck3000
    Angehängte Dateien

    #2
    Mit den besten Grüßen
    Teck3000
    Zitat von Teck3000 Beitrag anzeigen
    Gibt es eine Möglichkeit diese Sonderzeichen am Ende des Strings beim Senden des UDP commands zu unterdrücken?
    Schau Dir mal sendtcparray an. Das Sonderzeichen am Ende ist ein CR, das bei sendtcp automatisch mitgeschickt wird. sendtcparray macht das nicht, dafür muss die Anzahl der Zeichen aus dem zu schickenden Buffer mit angebeben werden.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Zitat von Teck3000 Beitrag anzeigen
      Hallo
      habe folgendes Problem im Zusammenspiel EibPC mit Eventghost
      Über folgenden Befehl soll PC heruntergefahren werden
      Code:
      [SIZE=3][COLOR=#000000][FONT=Calibri]UDP_MicroStarIP_C = 172.20.100.21
      UDP_MicroStarPort_C  = 33333u16
      UDP_ShutDownPC_C = $EibPC_ShutDownPC$
      [B]sendudparray(UDP_MicroStarPort_C, UDP_MicroStarIP_C, UDP_ShutDownPC_C, size(UDP_ShutDownPC_C))[/B][/FONT][/COLOR][/SIZE]
      Wie Michael schon schreibt ist es die Terminierung des Strings (0), die übertragen wird. sendudparry() sollte es fixen, s.o.
      BR
      Marc

      Kommentar


        #4
        Eventghost Ereignisse über EibPC UDP Befehle auslösen

        Hallo,
        Sendudparray() hat das Problem gelöst. Danke für die schnellen Antworten. Gruß Teck3000

        Kommentar

        Lädt...
        X