5 Replies Latest reply on Oct 26, 2017 11:22 AM by pjoly RSS
    pjoly Apprentice

    sigfox downlink

    I am using Sigfox extension and it works fine for uplink.


    I have read in documentation that downlink is not supported I don't really understand why :

    I am using it simply outside Thingworx just by answering using a JSON message with the device ID and payload to send to sigfox when receiving a GET callback

    (cgi-bin / python script)


    exemple :{"FFFFF":{"downlinkData":"4142434441424344"}}


    I am trying to use the "setDownlinkMessage" without success

    I don't know what to put in "message" and "thingName" input, I tried many things but always (invalid payload in Sigfox logs)


    Thanks for help


      • Re: sigfox downlink
        pjoly Apprentice

        In order to investigate, I have uploaded the extension into Eclipse java.

        I cannot find any java code, just xml structures in the extension.


        My question :

        where can I find the code associated to  the POST request send by SIGFOX in order to put the right json message in the answer ?





          • Re: sigfox downlink
            pjoly Apprentice



            nobody is using Sigfox with thingworx who could help me to fix this downlink issue or should I re-developp a new one ??


            Is this extension developped by Sigfox or by Thingworx ?




              • Re: sigfox downlink
                duang Apprentice

                Have you perhaps found a solution yet?

                  • Re: sigfox downlink
                    pjoly Apprentice



                    still no solution !!


                    it works fine using a python script but not from Thingworx when I'm trying to return the downlink message


                    Sigfox API is requesting a Json to be returned when the POST procedure is executed:


                      "device_id" : { "downlinkData" : "deadbeefcafebabe"}



                    the problem is that when using "result" in Thingworx API I cannot return this simple json

                    var downlink  = '{ "' + device + '" : { "downlinkData" : "' + "deadbeefcafebabe" + '" }}' var result=  JSON.parse(downlink);

                    I tested with postman

                    my python script :



                    Content-Type: text/html; charset=utf-8








                        "F0A62": {

                            "downlinkData": "4142434441424344"





                    Thingworx return using result :

                    <HTML><HEAD><TITLE>ThingWorx&#x3a; Thing com.thingworx.things.ConfiguredThing&#x40;4ab6f80c &#x3a; Response From Execution Of CallbackData</TITLE><LINK rel='Stylesheet' href='/Thingworx/css/thingworxapi.css' type='text/css'></LINK><META http-equiv='Content-Type' content='text/html'></META><META http-equiv='cache-control' content='no-cache, no-store'></META><META http-equiv='expires' content='-1'></META><META http-equiv='pragma' content='no-cache, no-store'></META></HEAD><BODY><IMG SRC="/Thingworx/images/ThingworxLogo.png"/><BR/><H1>CallbackData</H1><TABLE><TR><TH>result</TH></TR><TR><TD>&#x7b;&quot;F0A62&quot;&#x3a;&#x7b;&quot;downlinkData&quot;&#x3a;&quot;deadbeefcafebabe&quot;&#x7d;&#x7d;</TD></TR></TABLE></BODY></HTML>





                            <TITLE>ThingWorx&#x3a; Thing com.thingworx.things.ConfiguredThing&#x40;4ab6f80c &#x3a; Response From Execution Of CallbackData</TITLE>

                            <LINK rel='Stylesheet' href='/Thingworx/css/thingworxapi.css' type='text/css'></LINK>

                            <META http-equiv='Content-Type' content='text/html'></META>

                            <META http-equiv='cache-control' content='no-cache, no-store'></META>

                            <META http-equiv='expires' content='-1'></META>

                            <META http-equiv='pragma' content='no-cache, no-store'></META>



                            <IMG SRC="/Thingworx/images/ThingworxLogo.png"/>














                    of course this is not well interpreted by Sigfox ....

                      • Re: sigfox downlink
                        pjoly Apprentice

                        solution given by support and working for me :


                        What is needed is to get results formatted as JSON. Two things are needed to make that happen:

                        1. The service invoked needs to have the return basetype set as JSON.
                        2. When you do the REST request (POST) to invoke the service you need to include the header: Accept: application/json. This can be included as a HTTP header or as an url parameter.


                        So, when you configure the downlink in Sigfox, you need to include this Accept=application/json in your url parameter.

                        Also, you may have to enable disable Filter Content-Type under PlatformSubsystem in TWX.