+ Antworten
Seite 1 von 5 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 41

Thema: X10TRX Alpha

  1. #1
    Registriert seit
    Oct 2005
    Beiträge
    273

    Standard X10TRX Alpha

    Hallo,

    In diesem Thread hatte ich ja schon angekündigt mein X10 Script zu posten.
    Also hier ist es.

    Manche haben ja das Problem, daß das CM11 nicht mehr reagiert und nur 0xA5 sendet. Laut der Protokollbeschreibung will das CM11 damit Markos anfordern. In diesem Script wird auch ein leeres Makro gesendet. Da mein CM11 jedoch sowas noch nicht gemacht hat konnte ich die Funktion leider nicht testen.
    Das Script ist jedoch haupsächlich dazu da mit X10 Geräten zu kommunizieren.
    Wie es eingebaut und benutzt wird steht im Script.
    Vorab schon mal Sorry für den langen Text
    Und denkt dran das ganze ist noch Alpha. Die einfachen Sachen wie ON und OFF sollten aber laufen. Das Script ist aber noch lange nicht durchgetestet.

    Da das Script auch etwas länger ist hab ich es mal als Anhang gepostet.

    Viel Spaß damit....

    geändert von MST: weiter unten gibt es ein neueres Skript.
    Geändert von steiner (18.01.06 um 14:24 Uhr)

  2. #2
    Registriert seit
    Feb 2005
    Ort
    Sarkwitz
    Beiträge
    3,673

    Hallo McFly,

    vielen Dank für Dein Skript.
    Bei mir hat soweit alles geklappt. Das „Open“ Icon hat noch keine Funktion. Wir werden es „grauen“. Es funktioniert mit „New“, wenn vorher das Skript in den Ordner kopiert wurde.
    Es gab eine Fehlermeldung / Zeile 379 – mit $TX_DATA[0] = ““; in 123 war sie verschwunden
    Mein Gerät sendet leider weiterhin A5. Die „elseif“ scheint nicht ausgefügt zu werden. Ich werde heute abend weiter testen.

    MST

    PS: Com-Settings: 4800,8,1,N

  3. #3
    Registriert seit
    Oct 2005
    Beiträge
    273

    hmm,

    bei mir steht in Zeile 379:
    PHP-Code:
    SetValueString($TX_BUFFERGetValueString($TX_BUFFER));  //Das Senden nochmal neu Triggern. 
    Da kommt doch das $TX_DATA gar nicht vor
    Wie sah die Fehlermeldung denn aus?
    Kann ja höchstens sein, das die Sendepuffervariable noch nicht angelegt war.

    Beim 0xA5 Problem:
    Kommt auch die Log Meldung nicht?
    Ob die Antwort richtig ist weiß ich nicht. Aber er sollte schon erkennen, daß er 0xA5 empfängt.

    Sonst kommentier doch mal die Zeile 275 aus.
    PHP-Code:
    $temp sprintf("Neue Daten empfangen (0x%02x)"ord($CM11_DATA));
    //IPS_LogMessage($LOG_NAME, $temp); 
    vielleicht kommt da noch was anderes mit als 0xA5.

    hast du auch "Overwrite Variable" angehackt in den Properties? Hatte mal ein ähnliches Problem.

    Ansonsten schick mir doch mal einen Teil deines log-files.
    Vielleicht hilft es ja etwas.
    Kann man da eigentlich auch die Debug-Ausgabe der COM-Port Instanz reinkriegen?

    cu....
    Geändert von McFly (17.01.06 um 12:04 Uhr)

  4. #4
    Registriert seit
    Dec 2005
    Beiträge
    10

    Hi,

    vielen Dank erstmal für Dein Skript. Habe nun auch etwas getestet. Bei mir will's nicht. Nach dem ersten starten des Skripts kommt bei mir fast im Sekundentakt folgendes:

    # PHP Error/Warning/Notice ~ Script: X10TRX ~ Variable: COM.BUFFER #
    Notice: Undefined variable: TX_DATA in line 371

    Zeile 371 sieht bei mir so aus:

    PHP-Code:
     IPS_LogMessage($LOG_NAME"Checksumme $RX_Check != $Check stimmt nicht (\"$TX_DATA[0]\")."); 
    Das CM11 sendet weiterhin im Sekundentakt sein A5. Prinzipiell scheint Dein Skript aber darauf zu reagieren:

    Code:
    | DEBUG   | VariableManager      | Variable: COM.BUFFER (String), Value: ¥
    18.01.2006 07:20:21 | DEBUG   | EventScripter        | [Queued,Size=0] | Script: X10TRX | Variable: COM.BUFFER
    18.01.2006 07:20:21 | DEBUG   | ScriptThread         | Executing Script: X10TRX ~ Variable: COM.BUFFER #
    18.01.2006 07:20:21 | CUSTOM  | X10                  | CM11 fordert Makros an.
    18.01.2006 07:20:21 | DEBUG   | VariableManager      | Variable: X10.CRC (Integer), Value: 251
    18.01.2006 07:20:23 | DEBUG   | VariableManager      | Variable: COM.BUFFER (String), Value: ¥
    18.01.2006 07:20:23 | DEBUG   | EventScripter        | [Queued,Size=1] | Script: X10TRX | Variable: COM.BUFFER
    18.01.2006 07:20:25 | DEBUG   | VariableManager      | Variable: COM.BUFFER (String), Value: ¥
    18.01.2006 07:20:25 | DEBUG   | EventScripter        | [Queued,Size=2] | Script: X10TRX | Variable: COM.BUFFER
    18.01.2006 07:20:26 | CUSTOM  | X10                  | Leeres Makro an CM11 gesendet.
    18.01.2006 07:20:26 | DEBUG   | VariableManager      | Variable: X10.State (Integer), Value: 2
    18.01.2006 07:20:26 | DEBUG   | ScriptThread         | Executed Script: X10TRX ~ Variable: COM.BUFFER #
    18.01.2006 07:20:26 | DEBUG   | ScriptThread         | Executing Script: X10TRX ~ Variable: COM.BUFFER #
    18.01.2006 07:20:26 | DEBUG   | ScriptThread         | Executed Script: X10TRX ~ Variable: COM.BUFFER #
    18.01.2006 07:20:26 | ERROR   | EventScripter        | # PHP Error/Warning/Notice ~ Script: X10TRX ~ Variable: COM.BUFFER #
    18.01.2006 07:20:26 | ERROR   | EventScripter        | Notice: Undefined variable: TX_DATA in line 371
    18.01.2006 07:20:26 | ERROR   | EventScripter        | # END #
    18.01.2006 07:20:26 | DEBUG   | ScriptThread         | Executing Script: X10TRX ~ Variable: COM.BUFFER #
    18.01.2006 07:20:26 | DEBUG   | ScriptThread         | Executed Script: X10TRX ~ Variable: COM.BUFFER #
    18.01.2006 07:20:26 | ERROR   | EventScripter        | # PHP Error/Warning/Notice ~ Script: X10TRX ~ Variable: COM.BUFFER #
    18.01.2006 07:20:26 | ERROR   | EventScripter        | Notice: Undefined variable: TX_DATA in line 371
    18.01.2006 07:20:26 | ERROR   | EventScripter        | # END #


    Ich habe trotzdem mal versucht, die X10.TX mit einem Befehl zu füllen, aber leider schaltete nichts.

    Any hints?

    @steiner
    schaltet Dein CM11 jetzt wieder, obwohl die A5'er gesendet werden ?


    Gruß
    rob.
    Geändert von somebody101 (18.01.06 um 09:33 Uhr)

  5. #5
    Registriert seit
    Oct 2005
    Beiträge
    273

    Danke für das Log,

    wie es aussieht reagiert das CM11 einfach nicht auf das Makro.
    Der ausgegebene Fehler kommt daher, das die LogMessage den gesendeten Befehl ausgeben will. Den gibt es bei einem Makro natürlich nicht.
    Daher kam wahrscheinlich auch die meldung von Steiner.
    Du kannst die Zeile einfach so ändern:
    PHP-Code:
    IPS_LogMessage($LOG_NAME"Checksumme $RX_Check != $Check stimmt nicht."); 
    Kommt dann auch in die nächste Version rein. Man erkennt ja am log welcher Befehl nicht klappte.

    Laut Definition sollte das Interface mit der Checksumme antworten, wenn das Script ihm das Makro gesendet hat.
    Was wohl nicht geklappt hat.

    Bitte kommentier doch auch mal die Zeile 275 (siehe Posting oben) aus.
    Vielleicht kommt die Checksumme und ich bin noch nicht empfangsbereit.

    P.S.: Nicht aufgeben....

  6. #6
    Registriert seit
    Oct 2005
    Beiträge
    273

    Ich hab mich mal im Netz etwas umgeschaut.

    Wie es aussieht kann 0xA5 auch bedeuten, daß das CM11 nach einem Netzausfall die Uhrzeit neugesetzt haben möchte (RESET).
    Tolle Protokolldefinition ein Wert für zwei Sachen

    Naja ich hab mal versucht solch ein Uhrzeittelegramm zu basteln.
    Komplizierter kann man sowas nicht aufbauen. Die hätten doch bestimmt noch 2 Byte mehr Platz gehabt
    Mein CM11 scheint es jedenfalls zu fressen. Solch ein Uhrzeittelegramm darf man dann zu jeder Zeit senden.

    Es kann aber auch sein, das das CM11 wegen Störungen auf der Leitung ständig einen Powerfail bekommt.
    Schaut euch mal diesen Thread im Newsnet an.


    Ich hab auch mal die $TX_BUFFER Behandlung erweitert. Leerzeilen sollten jetzt keine Fehler mehr hervorrufen.

    Probiert mal diese Version.

    cu....

  7. #7
    Registriert seit
    Feb 2005
    Ort
    Sarkwitz
    Beiträge
    3,673

    Hallo McFly,

    leider ist mein CM11 mit „Deinem Makro“ nicht zufrieden.
    Die „Debug-Ausgabe“ haben wir hier entfernt > neu: „IP-Symcon-Debugger“

    MST

  8. #8
    Registriert seit
    Oct 2005
    Beiträge
    273

    hmm, warte mal

    das ist nur wieder ein 0xA5.

    Versuche mal das neue Script.

  9. #9
    Registriert seit
    Feb 2005
    Ort
    Sarkwitz
    Beiträge
    3,673



    Bericht folgt...

  10. #10
    Registriert seit
    Feb 2005
    Ort
    Sarkwitz
    Beiträge
    3,673

    Thumbs up X10TRX Beta

    ...es werde Licht:

    PHP-Code:
    SetValueString("X10.TX""A1\r\nA ON"); 
    Vielen Dank!

    MST

    PS: Zur Info

    auf eine Helligkeit setzen z.B.: SetValueString("X10.TX", "A BRIGHT 16");

    und runter dimmen (dunkler) um 2 Stufen z.B.: SetValueString("X10.TX", "A DIM 2");
    Geändert von steiner (18.01.06 um 13:53 Uhr)