Ankündigung

Einklappen
Keine Ankündigung bisher.

Kommando als Argument bei Makros

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

    #16
    Zitat von enertegus Beitrag anzeigen
    Versprechen kann ich so erst mal nix... aber die Zeit ist günstig, da ich derzeit noch vor dem Urlaub am eibparser arbeite. Allerdings gib mir doch mal ein Stück Code.
    Ok, kommt heute Abend.

    Evtl. reicht das hier schon?

    Code:
    CF_Join_Action_Condition(JoinID,[B][COLOR="red"]CFArg==$1$[/COLOR][/B],write(GA,!StatusGA),convert(!StatusGA,$$),SendDirectFeedback)
    
    wird zu
    
    CF_Join_Action_Condition(d1,[B][COLOR="Red"]CFArg==$1$[/COLOR][/B],write("WZ Licht Sitzecke-1/0/110",!"WZ Licht Sitzecke-2/0/110"),convert(!"WZ Licht Sitzecke-2/0/110",$$),EIN)
    
    wird zu
    
    if CF_Command==$d1$ and change(CF_NextCommand) then {
     	// begin KNX action*/
    	if [B][COLOR="red"]==CFArg$1$[/COLOR][/B] then {
    		 write("WZ Licht Sitzecke-1/0/110",!"WZ Licht Sitzecke-2/0/110");
                     // begin CF feedback
                     if EIN then CF_Send_String( $d1=$+convert(!"WZ Licht Sitzecke-2/0/110",$$) ) endif;
                     // end CF feedback
            } endif;
            // end KNX action
            if CF_Debug then CF_DebugOut_String(8u08,$Set:$+convert(CF_Command+$=$+CFArg,$$)) endif;
            // command done -> trigger next command
    	CF_NextCommand_Trigger()
    } endif
    BR
    Marc

    Kommentar


      #17
      Hier noch als Makro:
      [highlight=epc]
      :begin CF_Join_Action_Condition(ActJoinID,Condition,Actio n,ActFeedback,SendDirectFeedback)
      :info $$
      :shortinfo $$

      if CF_Command==$^ActJoinID^$ and change(CF_NextCommand) then {
      if Condition then {
      // begin KNX action
      Action;
      // end KNX action
      // begin CF feedback
      if SendDirectFeedback then CF_Send_String( $^ActJoinID^=$+ActFeedback ) endif;
      // end CF feedback
      } endif;
      #ifdef DEBUG
      if CF_Debug then CF_DebugOut_String(8u08,$Set:$+convert(CF_Command+ $=$+CF_Arg,$$)) endif;
      #endif
      // generate event to process next command
      CF_NextMessage_Trigger()
      } endif
      :end
      [/highlight]

      Im "leeren" Programm aufgerufen (mit entsprechender ESF):
      [highlight=epc]
      [EibPC]
      CF_Join_Action_Condition(d1,(CFArg==$1$),write("WZ Licht Sitzecke-1/0/110",!"WZ Licht Sitzecke-2/0/110"),convert(!"WZ Licht Sitzecke-2/0/110",$$),EIN)
      [/highlight]

      Führt zur Fehlermeldung:
      Code:
       Syntaxfehler in Zeile:[35] 
       >CF_Join_Action_Condition(d1,([COLOR="Red"][B]CFArg==$1$[/B][/COLOR]),write("WZ Licht Sitzecke-1/0/110",!"WZ Licht Sitzecke-2/0/110"),convert(!"WZ Licht Sitzecke-2/0/110",$$),EIN)< in der Datei "x/tmpApp.txt"
        Makro genieriert ungültigen Code >if CF_Command==$d1$ and change(CF_NextCommand) then { 		if [B][COLOR="red"]==CFArg$1$[/COLOR][/B] then {/*	   // begin KNX action*/		 write("WZ Licht Sitzecke-1/0/110",!"WZ Licht Sitzecke-2/0/110");/*	   // end KNX action*//*	   // begin CF feedback*/     if EIN then CF_Send_String( $d1=$+convert(!"WZ Licht Sitzecke-2/0/110",$$) ) endif;/*	   // end CF feedback*/	} endif;/*	// generate event to process next command*/	CF_NextMessage_Trigger()} endif < in >Mak:cf_join_action_condition==>< 
       ID:6
       EibParser wurde mit Fehler beendet.
      BR
      Marc

      Kommentar


        #18
        Zitat von saft6luck Beitrag anzeigen
        Hier noch als Makro:
        ... gefixt in der nächsten Version.
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #19
          Zitat von enertegus Beitrag anzeigen
          ... gefixt in der nächsten Version.
          einen Workaround hier, bis das Release kommt:
          Definiere dir am besten eine Variable:
          [highlight=epc]
          CFArgB=(CFArg==$1$)
          [/highlight]
          und nutze diese für das Argument.
          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #20
            Zitat von enertegus Beitrag anzeigen
            einen Workaround hier, bis das Release kommt:
            Definiere dir am besten eine Variable:
            [highlight=epc]
            CFArgB=(CFArg==$1$)
            [/highlight]
            und nutze diese für das Argument.
            Ja, vielen Dank, so habe ich es momentan auch gelöst.

            Viel lieber hätte ich aber ein komplettes if-then als Paramter übergeben ...
            BR
            Marc

            Kommentar

            Lädt...
            X