Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    [DSF Extension] Exec On MCode (was: Shutdown SBC)

    Scheduled Pinned Locked Moved
    DSF Development
    22
    117
    9.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • CrazyCreatorundefined
      CrazyCreator @wilriker
      last edited by

      @wilriker
      you mean so:

      pi@CCC:~ $ sudo /usr/local/bin/execonmcode -mCode 7722 -command poweroff -debug -trace
      2021/05/20 18:47:03 7722: poweroff 
      2021/05/20 18:47:03 [DEBUG] <Recv> {"version":11,"id":80}
      2021/05/20 18:47:03 [DEBUG] <Send> {"Mode":"Intercept","Version":10,"InterceptionMode":"Pre","Channels":["HTTP","Telnet","File","USB","Aux","Trigger","Queue","LCD","SBC","Daemon","Aux2","AutoPause","Unknown"],"Filters":["M7722"],"PriorityCodes":false}
      2021/05/20 18:47:03 [DEBUG] <Recv> {"success":true}
      2021/05/20 18:47:03 [DEBUG] <Connect> Connection established
      
      

      http://www.crazycreatorcube.com

      1 Reply Last reply Reply Quote 0
      • CrazyCreatorundefined
        CrazyCreator @wilriker
        last edited by

        @wilriker
        When I send M7722 in the DWC Console I get the familiar popup with the message:
        M7722
        Warning: M7722: Command is not supported

        But the Raspberry does not switch off or restarts!

        When I send the M7722 command in the DWC console, I see the following lines in the terminal:

        2021/05/20 18:47:47 Connection to DCS closed
        2021/05/20 18:47:47 [DEBUG] <Close> Closing connection
        2021/05/20 18:47:47 EOF
        

        http://www.crazycreatorcube.com

        oozeBotundefined 1 Reply Last reply Reply Quote 0
        • oozeBotundefined
          oozeBot @CrazyCreator
          last edited by

          @crazycreator One note that I've found is that when rebooting or powering off the SBC from a custom mCode, DCW will report "Command not supported" as the API immediately shuts down. See this thread:

          • https://forum.duet3d.com/topic/20968/3-2-final-execonmcode-warning-issue
          CrazyCreatorundefined 1 Reply Last reply Reply Quote 0
          • CrazyCreatorundefined
            CrazyCreator @oozeBot
            last edited by

            @oozebot
            thanks for the hint. I've already read that while looking for a solution to my problem.

            if execonmcode would run, then the message would be pretty irrelevant to me;) ... but unfortunately I can't do that

            http://www.crazycreatorcube.com

            wilrikerundefined 1 Reply Last reply Reply Quote 0
            • wilrikerundefined
              wilriker @CrazyCreator
              last edited by

              @crazycreator TBH I have no idea why it does not work for you. Can you please post the output of

              sudo journalctl -eu duetcontrolserver
              

              after you sent M7722 and execonmcode reported EOF?

              Also another idea, please try the absolute path to poweroff, i.e. /usr/bin/poweroff.

              Manuel
              Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
              with probably always latest firmware/DWC (incl. betas or self-compiled)
              My Tool Collection

              CrazyCreatorundefined 2 Replies Last reply Reply Quote 0
              • CrazyCreatorundefined
                CrazyCreator @wilriker
                last edited by

                @wilriker
                this the output:

                pi@CCC:~ $ sudo /usr/local/bin/execonmcode -mCode 7722 -command poweroff -debug -trace
                2021/05/20 20:27:38 7722: poweroff 
                2021/05/20 20:27:38 [DEBUG] <Recv> {"version":11,"id":114}
                2021/05/20 20:27:38 [DEBUG] <Send> {"Mode":"Intercept","Version":10,"InterceptionMode":"Pre","Channels":["HTTP","Telnet","File","USB","Aux","Trigger","Queue","LCD","SBC","Daemon","Aux2","AutoPause","Unknown"],"Filters":["M7722"],"PriorityCodes":false}
                2021/05/20 20:27:38 [DEBUG] <Recv> {"success":true}
                2021/05/20 20:27:38 [DEBUG] <Connect> Connection established
                2021/05/20 20:27:47 Connection to DCS closed
                2021/05/20 20:27:47 [DEBUG] <Close> Closing connection
                2021/05/20 20:27:47 EOF
                pi@CCC:~ $ sudo journalctl -eu duetcontrolserver
                May 20 18:31:16 CCC DuetControlServer[424]: [warn] IPC#67: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:40:55 CCC DuetControlServer[424]: [warn] IPC#69: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:43:43 CCC DuetControlServer[424]: [warn] IPC#70: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:44:42 CCC DuetControlServer[424]: [warn] IPC#72: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:45:54 CCC DuetControlServer[424]: [warn] IPC#75: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:46:20 CCC DuetControlServer[424]: [warn] IPC#77: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:46:25 CCC DuetControlServer[424]: [warn] IPC#78: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:47:03 CCC DuetControlServer[424]: [warn] IPC#80: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:47:06 CCC DuetControlServer[424]: [warn] IPC#81: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:47:58 CCC DuetControlServer[424]: [warn] IPC#83: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:48:08 CCC DuetControlServer[424]: [warn] IPC#85: Client with outdated protocol version connected (got 10, want 11)
                May 20 18:58:23 CCC DuetControlServer[424]: [info] Starting macro file homeall.g on channel HTTP
                May 20 18:58:23 CCC DuetControlServer[424]: [info] Starting macro file homey.g on channel HTTP
                May 20 18:58:28 CCC DuetControlServer[424]: [info] Finished macro file homey.g
                May 20 18:58:28 CCC DuetControlServer[424]: [info] Starting macro file homex.g on channel HTTP
                May 20 18:58:32 CCC DuetControlServer[424]: [info] Finished macro file homex.g
                May 20 18:58:32 CCC DuetControlServer[424]: [info] Starting macro file homez.g on channel HTTP
                May 20 18:58:47 CCC DuetControlServer[424]: [info] Starting macro file bed.g on channel HTTP
                May 20 18:59:14 CCC DuetControlServer[424]: [info] Finished macro file bed.g
                May 20 18:59:15 CCC DuetControlServer[424]: [info] Finished macro file homez.g
                May 20 18:59:15 CCC DuetControlServer[424]: [info] Finished macro file homeall.g
                May 20 20:26:35 CCC DuetControlServer[424]: [warn] IPC#109: Client with outdated protocol version connected (got 10, want 11)
                May 20 20:27:38 CCC DuetControlServer[424]: [warn] IPC#114: Client with outdated protocol version connected (got 10, want 11)
                lines 74-96/96 (END)
                

                http://www.crazycreatorcube.com

                1 Reply Last reply Reply Quote 0
                • CrazyCreatorundefined
                  CrazyCreator @wilriker
                  last edited by CrazyCreator

                  @wilriker
                  and with the absolute path:

                  pi@CCC:~ $ sudo /usr/local/bin/execonmcode -mCode 7722 -command /usr/bin/poweroff -debug -trace
                  2021/05/20 20:31:12 7722: /usr/bin/poweroff 
                  2021/05/20 20:31:12 [DEBUG] <Recv> {"version":11,"id":117}
                  2021/05/20 20:31:12 [DEBUG] <Send> {"Mode":"Intercept","Version":10,"InterceptionMode":"Pre","Channels":["HTTP","Telnet","File","USB","Aux","Trigger","Queue","LCD","SBC","Daemon","Aux2","AutoPause","Unknown"],"Filters":["M7722"],"PriorityCodes":false}
                  2021/05/20 20:31:12 [DEBUG] <Recv> {"success":true}
                  2021/05/20 20:31:12 [DEBUG] <Connect> Connection established
                  2021/05/20 20:31:48 Connection to DCS closed
                  2021/05/20 20:31:48 [DEBUG] <Close> Closing connection
                  2021/05/20 20:31:48 EOF
                  pi@CCC:~ $ sudo journalctl -eu duetcontrolserver
                  May 20 18:44:42 CCC DuetControlServer[424]: [warn] IPC#72: Client with outdated protocol version connected (got 10, want 11)
                  May 20 18:45:54 CCC DuetControlServer[424]: [warn] IPC#75: Client with outdated protocol version connected (got 10, want 11)
                  May 20 18:46:20 CCC DuetControlServer[424]: [warn] IPC#77: Client with outdated protocol version connected (got 10, want 11)
                  May 20 18:46:25 CCC DuetControlServer[424]: [warn] IPC#78: Client with outdated protocol version connected (got 10, want 11)
                  May 20 18:47:03 CCC DuetControlServer[424]: [warn] IPC#80: Client with outdated protocol version connected (got 10, want 11)
                  May 20 18:47:06 CCC DuetControlServer[424]: [warn] IPC#81: Client with outdated protocol version connected (got 10, want 11)
                  May 20 18:47:58 CCC DuetControlServer[424]: [warn] IPC#83: Client with outdated protocol version connected (got 10, want 11)
                  May 20 18:48:08 CCC DuetControlServer[424]: [warn] IPC#85: Client with outdated protocol version connected (got 10, want 11)
                  May 20 18:58:23 CCC DuetControlServer[424]: [info] Starting macro file homeall.g on channel HTTP
                  May 20 18:58:23 CCC DuetControlServer[424]: [info] Starting macro file homey.g on channel HTTP
                  May 20 18:58:28 CCC DuetControlServer[424]: [info] Finished macro file homey.g
                  May 20 18:58:28 CCC DuetControlServer[424]: [info] Starting macro file homex.g on channel HTTP
                  May 20 18:58:32 CCC DuetControlServer[424]: [info] Finished macro file homex.g
                  May 20 18:58:32 CCC DuetControlServer[424]: [info] Starting macro file homez.g on channel HTTP
                  May 20 18:58:47 CCC DuetControlServer[424]: [info] Starting macro file bed.g on channel HTTP
                  May 20 18:59:14 CCC DuetControlServer[424]: [info] Finished macro file bed.g
                  May 20 18:59:15 CCC DuetControlServer[424]: [info] Finished macro file homez.g
                  May 20 18:59:15 CCC DuetControlServer[424]: [info] Finished macro file homeall.g
                  May 20 20:26:35 CCC DuetControlServer[424]: [warn] IPC#109: Client with outdated protocol version connected (got 10, want 11)
                  May 20 20:27:38 CCC DuetControlServer[424]: [warn] IPC#114: Client with outdated protocol version connected (got 10, want 11)
                  May 20 20:27:57 CCC DuetControlServer[424]: [warn] IPC#116: Client with outdated protocol version connected (got 10, want 11)
                  May 20 20:31:12 CCC DuetControlServer[424]: [warn] IPC#117: Client with outdated protocol version connected (got 10, want 11)
                  May 20 20:31:58 CCC DuetControlServer[424]: [warn] IPC#119: Client with outdated protocol version connected (got 10, want 11)
                  lines 77-99/99 (END)
                  

                  http://www.crazycreatorcube.com

                  wilrikerundefined 1 Reply Last reply Reply Quote 0
                  • wilrikerundefined
                    wilriker @CrazyCreator
                    last edited by wilriker

                    @crazycreator Hm, there is something strange here. I can now reproduce your issue. I have to investigate that.

                    EDIT: It seems that you discovered a but in DCS 3.3-rc2 (and possibly earlier) that will be fixed in the next RC (I have to confirm that still).

                    Manuel
                    Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                    with probably always latest firmware/DWC (incl. betas or self-compiled)
                    My Tool Collection

                    CrazyCreatorundefined 1 Reply Last reply Reply Quote 0
                    • CrazyCreatorundefined
                      CrazyCreator @wilriker
                      last edited by

                      @wilriker
                      Why does this always have to happen to me?

                      Which RRF version do you use?
                      How long do you think it will take to get to the RC?

                      http://www.crazycreatorcube.com

                      wilrikerundefined 1 Reply Last reply Reply Quote 0
                      • wilrikerundefined
                        wilriker @CrazyCreator
                        last edited by

                        @crazycreator It's not RRF but DSF (DCS to be exact) that has that problem. And the next RC is planned to be released within the next couple of days unless important issues will postpone it.

                        Manuel
                        Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                        with probably always latest firmware/DWC (incl. betas or self-compiled)
                        My Tool Collection

                        oozeBotundefined 1 Reply Last reply Reply Quote 0
                        • CrazyCreatorundefined
                          CrazyCreator
                          last edited by

                          @wilriker
                          then I will probably have to wait ... or you can send me an image of your SD card ๐Ÿ˜„

                          http://www.crazycreatorcube.com

                          1 Reply Last reply Reply Quote 0
                          • oozeBotundefined
                            oozeBot @wilriker
                            last edited by

                            @wilriker - just adding in that I'm experiencing the same thing on 3.3rc2.. I was able to capture it from a console when running below.

                            Do you know if the issue has been found and is being corrected in 3.3rc3? Any interim builds out there floating around I could download to get past this issue?

                            Thanks

                            Capture.PNG

                            Phaedruxundefined wilrikerundefined 2 Replies Last reply Reply Quote 0
                            • Phaedruxundefined
                              Phaedrux Moderator @oozeBot
                              last edited by

                              @oozebot said in [DSF Extension] Exec On MCode (was: Shutdown SBC):

                              Any interim builds out there floating around I could download to get past this issue?

                              You could test with this build but be aware there are other potential issues.

                              https://www.dropbox.com/sh/1bblsmpe8m6kb0p/AAD4J_9-uEEnr-Rvh3OjlXyZa?dl=0

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 0
                              • wilrikerundefined
                                wilriker
                                last edited by

                                @CrazyCreator @oozeBot I can confirm that this bug will be fixed with DSF v3.3-rc3.

                                Manuel
                                Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                with probably always latest firmware/DWC (incl. betas or self-compiled)
                                My Tool Collection

                                1 Reply Last reply Reply Quote 0
                                • wilrikerundefined
                                  wilriker @oozeBot
                                  last edited by

                                  @oozebot said in [DSF Extension] Exec On MCode (was: Shutdown SBC):

                                  Any interim builds out there floating around I could download to get past this issue?

                                  There are no interim builds of DSF available. You would have to build it yourself from sources. What @Phaedrux posted was "only" preliminary builds of RRF 3.3-rc3.

                                  Manuel
                                  Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                  with probably always latest firmware/DWC (incl. betas or self-compiled)
                                  My Tool Collection

                                  1 Reply Last reply Reply Quote 1
                                  • CrazyCreatorundefined
                                    CrazyCreator
                                    last edited by

                                    With the new release 3.3RC3 it works ๐Ÿ™‚

                                    Now I have to put the code for power off the shelly-pm in my shutdownsbc.service

                                    next adventure for me ๐Ÿ˜‰

                                    http://www.crazycreatorcube.com

                                    1 Reply Last reply Reply Quote 1
                                    • CrazyCreatorundefined
                                      CrazyCreator @CrazyCreator
                                      last edited by

                                      @crazycreator

                                      here I am ... can someone help me again?

                                      After the update, execonmode now works wonderfully.

                                      But unfortunately I can't start the web call to switch the shelly off.

                                      Unfortunately i can't really work with the console. So it would be nice if someone could take me by the hand and show me the right way so that I know what I can try or test where.

                                      So I want to achieve the following:

                                      when a certain MCode is called, my Shelly 1PM should be switched off.
                                      This would work in my case with the following command:
                                      http://192.168.1.47/relay/0?turn=off

                                      If I enter this line in a browser (of course only at home in my own network) the Shelly switches off.

                                      My goal is now to achieve this via Execonmcode.

                                      please help me

                                      http://www.crazycreatorcube.com

                                      oozeBotundefined 1 Reply Last reply Reply Quote 0
                                      • oozeBotundefined
                                        oozeBot @CrazyCreator
                                        last edited by

                                        @crazycreator this should probably be itโ€™s own thread.. but youโ€™ll need to code a shell script to accomplish this. Here is something similar I did for Wemo. Maybe you can take some hints from it.

                                        https://forum.duet3d.com/topic/18989/script-to-control-wemos-from-gcode-using-dsf

                                        CrazyCreatorundefined 1 Reply Last reply Reply Quote 0
                                        • CrazyCreatorundefined
                                          CrazyCreator @oozeBot
                                          last edited by

                                          @oozebot
                                          I answered you there once

                                          http://www.crazycreatorcube.com

                                          1 Reply Last reply Reply Quote 0
                                          • CthulhuLabsundefined
                                            CthulhuLabs
                                            last edited by CthulhuLabs

                                            Is execonmcode blocking? Meaning if I make an M1999 Mcode which executes a command that takes a moment will my Duet pause till the script is finished?

                                            EDIT: Found my own answer.

                                            Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA