Recently active
Step 4: Connect Peripherals and Initial ConfigurationStep 5: Install EMS Step 4: Connect Peripherals and Initial Configuration Connect Peripherals Now that we have a working microsdhc flash card with the Raspbian OS, we want to insert it into the Pi, as well as connect our other peripherals and power. Remove the microsdhc card from the adapter. With the power supply NOT connected, insert the microsdhc card into the Pi.Note that it may help to turn the Pi over. With the power supply NOT connected to a wall-socket, connect the power, monitor, USB keyboard, and USB mouse. Plug-in the power-supply to a wall-socket and wait for the Pi to boot. Pi Initial Configuration The Raspbian OS needs some initial configuration to set things such as your location and to connect to a WiFi n
Step 6: Configure EMSStep 7: Connect EMS Step 6: Configure EMS The EMS consists of two distinct components that perform slightly different operations and communicate with each other. The first is the EMS itself which creates an AlwaysOn™ connection to ThingWorx Foundation. It binds Things to the platform and automatically provides features like file transfer and tunneling. The second is the Lua Script Resource (LSR). It is used as a scripting language so that you can add Properties, Services, and Events to the Things that you create in the EMS. Now that you have "installed" (i.e. downloaded, unzipped, and moved to an appropriate location) the EMS on your Raspberry Pi, it needs to be configured. The primary method of doing so is via the config.json and config.lua files. In this step, we'll create these files and paste some JSON / Lua configuration
Step 8: Verify ConnectivityStep 9: Next Steps Step 8: Verify Connectivity The EMS is now attempting to talk to ThingWorx Foundation. However, ThingWorx does not have detailed information about the Edge device that is attempting to connect to it, so it will show up in the Unbound category of Remote Things. Open ThingWorx Composer. On the left, click Monitoring. Click Status -> Remote Things. Click Unbound. Confirm that you see the PiThing listed in the Unbound section.NOTE: The name PiThing comes from the config.lua script. PiThing is simply the name that is in that script, hence the name that you see in ThingWorx. To change the name of the device, you could stop both wsems and luaScriptResource, edit config.lua to use a different Thing name other than PiThing, and then restart both of the EMS programs. At that point, the Thing showing up in Remot
Hello, I have rebuilt a project that fetches some information regarding my companies thingworx platforms.It had to be rebuilt as it was timing out from all of the API requests taking too long to complete. So I designed it like this instead: Where one scheduler will trigger one subscription per platform, which in turn will get some data back from the remote platform. We will then push this to our DB. Now, the "issue" is that there is no way of knowing when all of these subscriptions have actually completed.Or am I wrong about that? If anyone has any insight or have some good links relating to this, please let me know. Regards,
Greetings, To provide a context:I'm building an app to store data from an experience. The process is simple, the app gets data from users and share it to Twx, Twx sends the data to pSQL and gets all data stored in the db to show it in a mashup. Now, I'm triying to send the data to postgresql. I created a js service to get the data from vuforia. I just read that I can't use "me.property" in SQL commands, that I should create variables in the js service and invoke those variables into the SQL command. But I'm not sure how.A different way I thought I could use was to call the Thing property into the SQL. But It didn't work, I think is because I didn't use the right command.Another way was to input the data directly into the SQL but I will have the same problems later in the process because I will need the data to use it in different services. Do you have any advise? Is there any guide about programming SQL in Twx? Thank you a lot for all your advises.
GUIDE CONCEPTStep 1: Example and StrategyStep 2: Setting Mashup PermissionsStep 3: Designing Tracked MashupsStep 4: Viewing and Filtering LogsStep 5: Next Steps Setup user interfaces and ways to track events GUIDE CONCEPT Being able to view your logs is an important part of knowing what is happening in your system. You can't keep things secure if you don't know who is doing what. These concepts and steps will allow you to focus on development of your application while still allowing the ability to utilize the power of ThingWorx! We will teach you how to access the system in a way you might not have done much of before. You'll learn how to How to design and implement meaningful user interfacesView different logs and search for dataNOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete this guide is 30 minutes Step 1: Example and Strategy If you’d like to skip ahead, download the completed example of the&nbs
Hi, I would like to use the web frame widget to display a separate web application page in thingworx but by using Thingworx authentication for the page. My idea is: the webpage should be available only through the thingworx application.It is easily possible without any authentication by just passing the URL in the widget(if the user finds the URL and he can paste it into the browser he can access it without any auth.), but now I want to authenticate the web page with the TWX user creds(so by only if the TWX user is logged in or his session is active he can access the page).My initial impression: to use, post JSON service, and pass some user data to validate and authenticate by checking the user's roles, user groups, and ORGs then if the user passes the validation the end URL will be generated and get published (attach to the web frame widget).On the node js side(the webpage links should be available only based on TWX users): I need the user data to validate the users, then I can p
Hi all, I'm currently using ThingWorx 9.1.8-b845 and I have a problem when I want to create a mashup parameters in a Master Mashup. The gear symbol is unclickable (see picture below). Does it mean that I can't create mashup parameters in a master mashup? Best regards
Hi, Need to know how to change the colour of the grid row based on the date. I can change the colour based on string/Numeric. Thanks in advanceKeerthivarman
Hello, I would like to make the embedded agent work on my machine but no clue why it doesn't.I have AgentEmbedded-6.9-12 and I'm having problem with openssl, Which version should I use for this particular version release? I used some random openssl versions from the internet , and each time the error is different and the release is missing the files. What do you suggest please?
Is it possible to upgrade script engine to the latest Rhino version in ThingWorx? For example, ThingWorx 9.1.0 comes with Rhino 1.7.11. How does one upgrade to Rhino 1.7.14?Thanks.
There is an Major Disadvantage of the KepServerEX or OPC Aggregators is that, they can only connect to single Industrial Connection of Thingworx. Let's Say there are 3 environments (Dev, QA, PROD). As of now, using three VM's to Connect to each Single Env from KepServerEX.Isn't a way where all three KepServerEX can be run on the same VM such that VM cost can be Cut ?@paic @c_lowy @slangley @CarlesColl @VladimirN @AnnaAn ThanksShashi.
I am using the MFG apps to create Alert templates for separate alert states (stopped, faulted, offline, manual). Everything works fine but I would like to get the timestamp for the End Time and total Duration of the alert. Similar to the Alert Summary. Per https://support.ptc.com/help/thingworx/apps/r9.1/en/#page/thingworx_apps/Exploring_the_Apps/alert_monitoring.html
Hi everyone, i have xml input. I need to retrieve all the attributes of the specific node .thanks in advance
Hi I have a service where i write a propertyHistory infotable to a csv file. In the UI, I can see the datetime in IST format, but I expected the timestamp on the written csv file to have UTC format. But instead, the timestamp is in EDT/EST format. Is there a method to change this conversion so that I can get the output timestamp in UTC. Since the EST/EDT vary each year the quality of the exported data has an expiration date. Please let me know your comments. @VladimirRosu_116627
Hi, I have a problem about update a property of base type ThingName. Scenario: => Thing Template = 'ABC' (contain property 'test' of type string)=> Thing : 'EFG' contain a property of base type THINGNAME (Thing template : 'ABC') , i name it ABC_1On the service of thing 'EFG' i want to update the property test this code : me.ABC_1.test ='new value' does not work ! Do you have any idea how to achive this ? Thank you in advance.
My understanding is that Things[fileRepositoryThing].ExtractArchive(params) is an asynchronous function. Is there an event listener service similar to addEventListener( ) that I can use to run a callback function when the extraction is complete? I am moving the file after it's extracted, but I want to make the process more efficient by using some kind of event listener instead of a do while loop. let moveFileComplete = false; do { try { Things["SystemRepository"].MoveFile({ targetPath: "/Push/" + me.name + "/" + fileName /* STRING */ , overwrite: true /* BOOLEAN */ , sourcePath: "/temp/Push/" + fileName /* STRING */ }); moveFileComplete = true; } catch (err) { moveFileComplete = false; pause(29999); //pause to ensure file extraction is complete before restarting loop } } while (!moveFileComplete); http://support.ptc.com/help/thingworx_hc/javadoc/com/thingworx/things/repository/FileRepositoryThing.html#ExtractArchive(java.lan
GUIDE CONCEPTStep 1: Overview DiagramStep 2: Configure Azure IoT HubStep 3: Install Azure Connector Use the ThingWorx Azure IoT Hub Connector with simulated appliances. GUIDE CONCEPT This project will introduce how to integrate ThingWorx with Azure IoT Hub. The combination of these two platforms extends the ThingWorx utilities to Azure IoT Hub edge devices and allows integration with Azure Blob Storage accounts. Following the steps in this guide, you will install the ThingWorx Azure IoT Hub Connector and run a simulated Azure device. We will teach you how to build powerful and scalable IoT applications by integrating ThingWorx and Azure IoT Hub. YOU'LL LEARN HOW TO Install, configure, and run the ThingWorx Azure IoT Hub ConnectorImport devices that exist in Azure into ThingWorxConnect a simulated Azure device to ThingWorx Foundation server NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete all parts of this guide
Step 4: Launch IoT Hub ConnectorStep 5: Import Device from AzureStep 6: Set-up and Run DemoStep 7: Next Steps Step 4: Launch IoT Hub Connector Open a shell or a command prompt window. On a Windows machine, open the command prompt as Administrator.The AZURE_IOT_OPTS environment variable must be set before starting the Azure IoT Hub Connector. Below are sample commands using the default installation directory.On Windows: set AZURE_IOT_OPTS=-Dconfig.file=C:\ThingWorx-Azure-IoT-Connector-<version>\azure-iot-<version>-application\conf\azure-iot.conf -Dlogback.configurationFile=C:\ThingWorx-Azure-IoT-Connector-<version>\azure-iot-<version>-application\conf\logback.xmlOn Linux: export AZURE_IOT_OPTS="-Dconfig.file=/var/opt/ThingWorx-Azure-IoT-Connector-<version>/azure-iot-<version>-application/conf/azure-iot.conf -Dlogback.configurationFile=/var/opt/ThingWorx-Azure-IoT-Connector-<version>/azure-iot-<version>-a
GUIDE CONCEPTStep 1: Create Data ShapeStep 2: Create ThingStep 3: Create Mashup Display project burn up/down via a convenient Mashup Widget. GUIDE CONCEPT Long term projects need to be managed. As a project is scoped, requirements get defined and delivery-timeframes are estimated. As work is done, requirements are completed. One way to track this project progress is with a Waterfall Chart. This guide will show you how to utilize a Waterfall Chart Widget to easily display the project workflow. YOU'LL LEARN HOW TO Create a Data ShapeCreate a ThingCreate an Info Table PropertyPopulate an Info Table with appropriate data for a Waterfall ChartCreate a MashupUtilize a Waterfall Chart to display project progress NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete this guide is 30 minutes Step 1: Create Data Shape In this scenario, we'll store the Waterfall Chart's data in a Pro
Step 4: Add DataStep 5: View MashupStep 6: Next Steps Step 4: Add Data We've added a Waterfall Chart Widget to the Mashup, but we still need to bring in backend data. Ensure the top-right Data tab is active. Click the green + button. In the Entity field, search for and select TPWC_Thing.In the Services field, type getprop.Click the right arrow beside GetProperties.On the right, check Execute on Load. In the bottom-right of the pop-up, click Done. Under the Data tab on the right, expand GetProperties. Drag-and-drop Things_TPWC_Thing > GetProperties > InfoTable_Property onto the Waterfall Chart. On the Select Binding Target pop-up, click Data. Widget Properties With the Waterfall Chart bound to data, we now just need to configure a few of the chart's Properties.With the 
GUIDE CONCEPTStep 1: Completed ExampleStep 2: Sending JSON Based Requests Learn how to send and receive JSON and XML payloads to SOAP and REST services. GUIDE CONCEPT This project will introduce how to create services that can send and receive XML and JSON payloads. Following the steps in this guide, you will develop services to handle, send, and receive XML and JSON. We will teach you how to use the ThingWorx Platform to handle REST requests and send payload for external SOAP and REST services. YOU'LL LEARN HOW TO Efficiently handle, send, and receive XML and JSON in ThingWorx Make requests to external REST services Make requests to external SOAP services NOTE: The estimated time to complete all parts of this guide is 60 minutes. Step 1: Completed Example Download the attached JSONXMLEntities.zip from attached files and import it into ThingWorx Composer. In this tutorial, you will
Step 3: Sending and Receiving JSON ObjectsStep 4: Sending XML Based Requests Step 3 : Sending and Receiving JSON Objects The ThingWorx platform handles REST requests by default. This enables all services to be outsourced to REST requests based on the permissions of the user. Nevertheless, part of the problem with allowing the default JSON result might be the organization of the response. For example, making a request to a service with an InfoTable response will return information for the DataShape used by the InfoTable and a 'rows' field containing the data of the InFoTable. This can be troublesome or a nuisance when creating efficient B2B communication or parsers for the ThingWorx response. Receiving JSON First, let's handle the necessary security measures and configure our permissions to create a new User and Application Key. Then, handle how to parse a JSON object in the body of the POST REST request to the ThingWorx
Step 5: Handling and Receiving XML ObjectsStep 6: Next Steps Step 5: Handling and Receiving XML Objects Working with JSON with JavaScript can be easy and simple. Working with XML while using JavaScript can be more challenging, because XML is so tightly structured. This can affect how you setup code and how you use the Rhino JavaScript engine for your needs. NOTE: Examples of these services can be found in the ** XMLProcessorThing** entity, which is provided in the download. Handling XML XML can be handled using two methods. The first method is converting the XML string to an XML object. The second methos is creating an XML object, then assigning the raw XML to that variable. The simple XML object is as follows: <note> <to>Janice</to> <from>Billy</from> <heading>Please Remind Me</heading> <body>Take out the trash this weekend!</body> </note> First, create the entity you will use for both
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.