"Hello, world!" for the OptoMMP Function Blocks Developer - Published: OverviewIn this first example, we’ll write the string “Hello, world!” to the Scratch Pad area of the OptoMMP memory map.This example assumes you have basic familiarity with creating and running an...moreOverviewIn this first example, we’ll write the string “Hello, world!” to the Scratch Pad area of the OptoMMP memory map.This example assumes you have basic familiarity with creating and running an application in the CODESYS Development System.Step 1 - Determine the OptoMMP Address to UseThe “Hello, world!” string will be written to the Scratch Pad String Area. The Scratch Pad is a feature of the I/O services. It’s a convenient and central place for different programs to read and write data.The c...... <less .NET Libraries Developer - Published: OverviewOpto 22 provides several free .NET libraries for interacting with Opto 22 devices.The following libraries are available from the main Opto 22 website..NET OptoMMP SDK for SNAP PACThis is a 100...moreOverviewOpto 22 provides several free .NET libraries for interacting with Opto 22 devices.The following libraries are available from the main Opto 22 website..NET OptoMMP SDK for SNAP PACThis is a 100% managed OptoMMP software development kit (SDK) that provides a simple, easy-to-use interface for a classic .NET developer to quickly create an I/O-based application for Opto 22 products that use the OptoMMP protocol.Product PageDownload PageTechnical Note, Form 2135.NET Controller SDK for SNAP PAC...... <less API Keys Developer - Published: Configure API KeysThe groov EPIC uses a groov Manage user’s API key, which is described in Using PAC Control REST API with groov EPIC.To authenticate login requests, the SNAP PAC REST API uses key-value...moreConfigure API KeysThe groov EPIC uses a groov Manage user’s API key, which is described in Using PAC Control REST API with groov EPIC.To authenticate login requests, the SNAP PAC REST API uses key-value pairs in the Basic Authentication header’s username and password fields.When logging in to the API, a user enters:The key for the usernameThe value for the password Note: You must create at least one API key.To configure API keys:In a browser window, call the Keys API: Example: http://10.20.30.40...... <less Blog Developer - Published: PostsOct 19, 2022CODESYS section added to the Developer siteDec 6, 2019Node-RED for groov I/O v1.0.0 ReleasedJan 23, 2019Developing with groov EPICAug 6, 2018Access groov I/O with new REST API for groov...morePostsOct 19, 2022CODESYS section added to the Developer siteDec 6, 2019Node-RED for groov I/O v1.0.0 ReleasedJan 23, 2019Developing with groov EPICAug 6, 2018Access groov I/O with new REST API for groov Manage.May 23, 2018Node-RED Nodes for groov View and PAC Control now support groov EPICNov 14, 2017New Workshop Videos: Node-RED for the IoTSep 28, 2017Log groov data to ExcelSep 22, 2017Use Access and Excel to get data from groovSep 20, 2017Subscribe and Publish with MQTT Nodes, groov & SNAP PAC...... <less Building your first groov API request Developer - Published: ## PrerequisitesYou should already have:* [Added a Data Store and tags](/groov/view/#adding-a-data-store) to _groov_, so you have your tag id. * [Set up an API user](/groov/view/#setting-up-api-users...more## PrerequisitesYou should already have:* [Added a Data Store and tags](/groov/view/#adding-a-data-store) to _groov_, so you have your tag id. * [Set up an API user](/groov/view/#setting-up-api-users), so you have your API key.or, to use the View API with _groov_ EPIC:* [Set up a _groov_ Manage user and API key](/groov/view/epic)## Build your URLFor this example, we'll use the Data Store API's "list all tags" endpoint, located at`/api/v1/data-store/tags`. The URL you query is the web address of ...... <less Building your first OptoMMP data package with Python Developer - Published: Go back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the...moreGo back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the format of the package you want before you begin, and that starts with the transaction code.The transaction code is determined by whether you are reading or writing to the memory location, and also whether you want to work with 4-byte ‘quadlets’ or N-byte ‘blocks’.Use these attributes to choose one ...... <less C++ for OptoMMP Developer - Published: C++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 ...moreC++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 (Unmanaged C++) or the GNU Compiler Collection to communicate with Opto 22 brains and controllers that use the OptoMMP protocol. This SDK no longer contains ActiveX support.Product PageDownload Page... <less Code Samples and Videos Developer - Published: By Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP...moreBy Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP PACNode-REDSNAP PAC REST API Raspberry PiCreating a Weather App with Weather UndergroundUsing conditions in a flow (switch node)Get WAN IP addressSubscribe and Publish to MQTT Nodes with the groov and SNAP PAC REST APIs Read and write to Opto 22 G4 digital I/O By Tool Node-REDNode-RED Workshop Video...... <less Code Samples for Raspberry Pi Developer - Published: Tips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can...moreTips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can both read and write to output modules.For input modules, you perform reads.If you accidentally write to an input module, no problem—nothing will happen.Before using a terminal emulator to read and write to an I/O module, you must configure its associated GPIO pin as an input or output. The Opto 22 ...... <less CODESYS Developer - Published: The CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22...moreThe CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22 Library Package for CODESYS Development System provides all the key features for using the CODESYS runtime engine included in the groov EPIC system:Device definitions for the EPIC PLC runtime and groov I/O modules (both EPIC and RIO modules)I/O communication driverFunction blocks for accessing any O...... <less CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
.NET Libraries Developer - Published: OverviewOpto 22 provides several free .NET libraries for interacting with Opto 22 devices.The following libraries are available from the main Opto 22 website..NET OptoMMP SDK for SNAP PACThis is a 100...moreOverviewOpto 22 provides several free .NET libraries for interacting with Opto 22 devices.The following libraries are available from the main Opto 22 website..NET OptoMMP SDK for SNAP PACThis is a 100% managed OptoMMP software development kit (SDK) that provides a simple, easy-to-use interface for a classic .NET developer to quickly create an I/O-based application for Opto 22 products that use the OptoMMP protocol.Product PageDownload PageTechnical Note, Form 2135.NET Controller SDK for SNAP PAC...... <less API Keys Developer - Published: Configure API KeysThe groov EPIC uses a groov Manage user’s API key, which is described in Using PAC Control REST API with groov EPIC.To authenticate login requests, the SNAP PAC REST API uses key-value...moreConfigure API KeysThe groov EPIC uses a groov Manage user’s API key, which is described in Using PAC Control REST API with groov EPIC.To authenticate login requests, the SNAP PAC REST API uses key-value pairs in the Basic Authentication header’s username and password fields.When logging in to the API, a user enters:The key for the usernameThe value for the password Note: You must create at least one API key.To configure API keys:In a browser window, call the Keys API: Example: http://10.20.30.40...... <less Blog Developer - Published: PostsOct 19, 2022CODESYS section added to the Developer siteDec 6, 2019Node-RED for groov I/O v1.0.0 ReleasedJan 23, 2019Developing with groov EPICAug 6, 2018Access groov I/O with new REST API for groov...morePostsOct 19, 2022CODESYS section added to the Developer siteDec 6, 2019Node-RED for groov I/O v1.0.0 ReleasedJan 23, 2019Developing with groov EPICAug 6, 2018Access groov I/O with new REST API for groov Manage.May 23, 2018Node-RED Nodes for groov View and PAC Control now support groov EPICNov 14, 2017New Workshop Videos: Node-RED for the IoTSep 28, 2017Log groov data to ExcelSep 22, 2017Use Access and Excel to get data from groovSep 20, 2017Subscribe and Publish with MQTT Nodes, groov & SNAP PAC...... <less Building your first groov API request Developer - Published: ## PrerequisitesYou should already have:* [Added a Data Store and tags](/groov/view/#adding-a-data-store) to _groov_, so you have your tag id. * [Set up an API user](/groov/view/#setting-up-api-users...more## PrerequisitesYou should already have:* [Added a Data Store and tags](/groov/view/#adding-a-data-store) to _groov_, so you have your tag id. * [Set up an API user](/groov/view/#setting-up-api-users), so you have your API key.or, to use the View API with _groov_ EPIC:* [Set up a _groov_ Manage user and API key](/groov/view/epic)## Build your URLFor this example, we'll use the Data Store API's "list all tags" endpoint, located at`/api/v1/data-store/tags`. The URL you query is the web address of ...... <less Building your first OptoMMP data package with Python Developer - Published: Go back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the...moreGo back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the format of the package you want before you begin, and that starts with the transaction code.The transaction code is determined by whether you are reading or writing to the memory location, and also whether you want to work with 4-byte ‘quadlets’ or N-byte ‘blocks’.Use these attributes to choose one ...... <less C++ for OptoMMP Developer - Published: C++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 ...moreC++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 (Unmanaged C++) or the GNU Compiler Collection to communicate with Opto 22 brains and controllers that use the OptoMMP protocol. This SDK no longer contains ActiveX support.Product PageDownload Page... <less Code Samples and Videos Developer - Published: By Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP...moreBy Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP PACNode-REDSNAP PAC REST API Raspberry PiCreating a Weather App with Weather UndergroundUsing conditions in a flow (switch node)Get WAN IP addressSubscribe and Publish to MQTT Nodes with the groov and SNAP PAC REST APIs Read and write to Opto 22 G4 digital I/O By Tool Node-REDNode-RED Workshop Video...... <less Code Samples for Raspberry Pi Developer - Published: Tips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can...moreTips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can both read and write to output modules.For input modules, you perform reads.If you accidentally write to an input module, no problem—nothing will happen.Before using a terminal emulator to read and write to an I/O module, you must configure its associated GPIO pin as an input or output. The Opto 22 ...... <less CODESYS Developer - Published: The CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22...moreThe CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22 Library Package for CODESYS Development System provides all the key features for using the CODESYS runtime engine included in the groov EPIC system:Device definitions for the EPIC PLC runtime and groov I/O modules (both EPIC and RIO modules)I/O communication driverFunction blocks for accessing any O...... <less CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
API Keys Developer - Published: Configure API KeysThe groov EPIC uses a groov Manage user’s API key, which is described in Using PAC Control REST API with groov EPIC.To authenticate login requests, the SNAP PAC REST API uses key-value...moreConfigure API KeysThe groov EPIC uses a groov Manage user’s API key, which is described in Using PAC Control REST API with groov EPIC.To authenticate login requests, the SNAP PAC REST API uses key-value pairs in the Basic Authentication header’s username and password fields.When logging in to the API, a user enters:The key for the usernameThe value for the password Note: You must create at least one API key.To configure API keys:In a browser window, call the Keys API: Example: http://10.20.30.40...... <less Blog Developer - Published: PostsOct 19, 2022CODESYS section added to the Developer siteDec 6, 2019Node-RED for groov I/O v1.0.0 ReleasedJan 23, 2019Developing with groov EPICAug 6, 2018Access groov I/O with new REST API for groov...morePostsOct 19, 2022CODESYS section added to the Developer siteDec 6, 2019Node-RED for groov I/O v1.0.0 ReleasedJan 23, 2019Developing with groov EPICAug 6, 2018Access groov I/O with new REST API for groov Manage.May 23, 2018Node-RED Nodes for groov View and PAC Control now support groov EPICNov 14, 2017New Workshop Videos: Node-RED for the IoTSep 28, 2017Log groov data to ExcelSep 22, 2017Use Access and Excel to get data from groovSep 20, 2017Subscribe and Publish with MQTT Nodes, groov & SNAP PAC...... <less Building your first groov API request Developer - Published: ## PrerequisitesYou should already have:* [Added a Data Store and tags](/groov/view/#adding-a-data-store) to _groov_, so you have your tag id. * [Set up an API user](/groov/view/#setting-up-api-users...more## PrerequisitesYou should already have:* [Added a Data Store and tags](/groov/view/#adding-a-data-store) to _groov_, so you have your tag id. * [Set up an API user](/groov/view/#setting-up-api-users), so you have your API key.or, to use the View API with _groov_ EPIC:* [Set up a _groov_ Manage user and API key](/groov/view/epic)## Build your URLFor this example, we'll use the Data Store API's "list all tags" endpoint, located at`/api/v1/data-store/tags`. The URL you query is the web address of ...... <less Building your first OptoMMP data package with Python Developer - Published: Go back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the...moreGo back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the format of the package you want before you begin, and that starts with the transaction code.The transaction code is determined by whether you are reading or writing to the memory location, and also whether you want to work with 4-byte ‘quadlets’ or N-byte ‘blocks’.Use these attributes to choose one ...... <less C++ for OptoMMP Developer - Published: C++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 ...moreC++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 (Unmanaged C++) or the GNU Compiler Collection to communicate with Opto 22 brains and controllers that use the OptoMMP protocol. This SDK no longer contains ActiveX support.Product PageDownload Page... <less Code Samples and Videos Developer - Published: By Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP...moreBy Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP PACNode-REDSNAP PAC REST API Raspberry PiCreating a Weather App with Weather UndergroundUsing conditions in a flow (switch node)Get WAN IP addressSubscribe and Publish to MQTT Nodes with the groov and SNAP PAC REST APIs Read and write to Opto 22 G4 digital I/O By Tool Node-REDNode-RED Workshop Video...... <less Code Samples for Raspberry Pi Developer - Published: Tips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can...moreTips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can both read and write to output modules.For input modules, you perform reads.If you accidentally write to an input module, no problem—nothing will happen.Before using a terminal emulator to read and write to an I/O module, you must configure its associated GPIO pin as an input or output. The Opto 22 ...... <less CODESYS Developer - Published: The CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22...moreThe CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22 Library Package for CODESYS Development System provides all the key features for using the CODESYS runtime engine included in the groov EPIC system:Device definitions for the EPIC PLC runtime and groov I/O modules (both EPIC and RIO modules)I/O communication driverFunction blocks for accessing any O...... <less CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Blog Developer - Published: PostsOct 19, 2022CODESYS section added to the Developer siteDec 6, 2019Node-RED for groov I/O v1.0.0 ReleasedJan 23, 2019Developing with groov EPICAug 6, 2018Access groov I/O with new REST API for groov...morePostsOct 19, 2022CODESYS section added to the Developer siteDec 6, 2019Node-RED for groov I/O v1.0.0 ReleasedJan 23, 2019Developing with groov EPICAug 6, 2018Access groov I/O with new REST API for groov Manage.May 23, 2018Node-RED Nodes for groov View and PAC Control now support groov EPICNov 14, 2017New Workshop Videos: Node-RED for the IoTSep 28, 2017Log groov data to ExcelSep 22, 2017Use Access and Excel to get data from groovSep 20, 2017Subscribe and Publish with MQTT Nodes, groov & SNAP PAC...... <less Building your first groov API request Developer - Published: ## PrerequisitesYou should already have:* [Added a Data Store and tags](/groov/view/#adding-a-data-store) to _groov_, so you have your tag id. * [Set up an API user](/groov/view/#setting-up-api-users...more## PrerequisitesYou should already have:* [Added a Data Store and tags](/groov/view/#adding-a-data-store) to _groov_, so you have your tag id. * [Set up an API user](/groov/view/#setting-up-api-users), so you have your API key.or, to use the View API with _groov_ EPIC:* [Set up a _groov_ Manage user and API key](/groov/view/epic)## Build your URLFor this example, we'll use the Data Store API's "list all tags" endpoint, located at`/api/v1/data-store/tags`. The URL you query is the web address of ...... <less Building your first OptoMMP data package with Python Developer - Published: Go back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the...moreGo back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the format of the package you want before you begin, and that starts with the transaction code.The transaction code is determined by whether you are reading or writing to the memory location, and also whether you want to work with 4-byte ‘quadlets’ or N-byte ‘blocks’.Use these attributes to choose one ...... <less C++ for OptoMMP Developer - Published: C++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 ...moreC++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 (Unmanaged C++) or the GNU Compiler Collection to communicate with Opto 22 brains and controllers that use the OptoMMP protocol. This SDK no longer contains ActiveX support.Product PageDownload Page... <less Code Samples and Videos Developer - Published: By Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP...moreBy Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP PACNode-REDSNAP PAC REST API Raspberry PiCreating a Weather App with Weather UndergroundUsing conditions in a flow (switch node)Get WAN IP addressSubscribe and Publish to MQTT Nodes with the groov and SNAP PAC REST APIs Read and write to Opto 22 G4 digital I/O By Tool Node-REDNode-RED Workshop Video...... <less Code Samples for Raspberry Pi Developer - Published: Tips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can...moreTips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can both read and write to output modules.For input modules, you perform reads.If you accidentally write to an input module, no problem—nothing will happen.Before using a terminal emulator to read and write to an I/O module, you must configure its associated GPIO pin as an input or output. The Opto 22 ...... <less CODESYS Developer - Published: The CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22...moreThe CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22 Library Package for CODESYS Development System provides all the key features for using the CODESYS runtime engine included in the groov EPIC system:Device definitions for the EPIC PLC runtime and groov I/O modules (both EPIC and RIO modules)I/O communication driverFunction blocks for accessing any O...... <less CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Building your first groov API request Developer - Published: ## PrerequisitesYou should already have:* [Added a Data Store and tags](/groov/view/#adding-a-data-store) to _groov_, so you have your tag id. * [Set up an API user](/groov/view/#setting-up-api-users...more## PrerequisitesYou should already have:* [Added a Data Store and tags](/groov/view/#adding-a-data-store) to _groov_, so you have your tag id. * [Set up an API user](/groov/view/#setting-up-api-users), so you have your API key.or, to use the View API with _groov_ EPIC:* [Set up a _groov_ Manage user and API key](/groov/view/epic)## Build your URLFor this example, we'll use the Data Store API's "list all tags" endpoint, located at`/api/v1/data-store/tags`. The URL you query is the web address of ...... <less Building your first OptoMMP data package with Python Developer - Published: Go back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the...moreGo back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the format of the package you want before you begin, and that starts with the transaction code.The transaction code is determined by whether you are reading or writing to the memory location, and also whether you want to work with 4-byte ‘quadlets’ or N-byte ‘blocks’.Use these attributes to choose one ...... <less C++ for OptoMMP Developer - Published: C++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 ...moreC++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 (Unmanaged C++) or the GNU Compiler Collection to communicate with Opto 22 brains and controllers that use the OptoMMP protocol. This SDK no longer contains ActiveX support.Product PageDownload Page... <less Code Samples and Videos Developer - Published: By Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP...moreBy Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP PACNode-REDSNAP PAC REST API Raspberry PiCreating a Weather App with Weather UndergroundUsing conditions in a flow (switch node)Get WAN IP addressSubscribe and Publish to MQTT Nodes with the groov and SNAP PAC REST APIs Read and write to Opto 22 G4 digital I/O By Tool Node-REDNode-RED Workshop Video...... <less Code Samples for Raspberry Pi Developer - Published: Tips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can...moreTips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can both read and write to output modules.For input modules, you perform reads.If you accidentally write to an input module, no problem—nothing will happen.Before using a terminal emulator to read and write to an I/O module, you must configure its associated GPIO pin as an input or output. The Opto 22 ...... <less CODESYS Developer - Published: The CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22...moreThe CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22 Library Package for CODESYS Development System provides all the key features for using the CODESYS runtime engine included in the groov EPIC system:Device definitions for the EPIC PLC runtime and groov I/O modules (both EPIC and RIO modules)I/O communication driverFunction blocks for accessing any O...... <less CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Building your first OptoMMP data package with Python Developer - Published: Go back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the...moreGo back to Getting Started with OptoMMP for PythonAbout OptoMMP Data PackagesOptoMMP is a binary-based protocol that requires precision in every package it deals with. As a result, you should know the format of the package you want before you begin, and that starts with the transaction code.The transaction code is determined by whether you are reading or writing to the memory location, and also whether you want to work with 4-byte ‘quadlets’ or N-byte ‘blocks’.Use these attributes to choose one ...... <less C++ for OptoMMP Developer - Published: C++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 ...moreC++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 (Unmanaged C++) or the GNU Compiler Collection to communicate with Opto 22 brains and controllers that use the OptoMMP protocol. This SDK no longer contains ActiveX support.Product PageDownload Page... <less Code Samples and Videos Developer - Published: By Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP...moreBy Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP PACNode-REDSNAP PAC REST API Raspberry PiCreating a Weather App with Weather UndergroundUsing conditions in a flow (switch node)Get WAN IP addressSubscribe and Publish to MQTT Nodes with the groov and SNAP PAC REST APIs Read and write to Opto 22 G4 digital I/O By Tool Node-REDNode-RED Workshop Video...... <less Code Samples for Raspberry Pi Developer - Published: Tips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can...moreTips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can both read and write to output modules.For input modules, you perform reads.If you accidentally write to an input module, no problem—nothing will happen.Before using a terminal emulator to read and write to an I/O module, you must configure its associated GPIO pin as an input or output. The Opto 22 ...... <less CODESYS Developer - Published: The CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22...moreThe CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22 Library Package for CODESYS Development System provides all the key features for using the CODESYS runtime engine included in the groov EPIC system:Device definitions for the EPIC PLC runtime and groov I/O modules (both EPIC and RIO modules)I/O communication driverFunction blocks for accessing any O...... <less CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
C++ for OptoMMP Developer - Published: C++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 ...moreC++ OptoMMP SDK for SNAP PACThe C++ OptoMMP SDK for SNAP PAC is a free product is a C++ developer toolkit for Windows and Linux. The toolkit lets you use C++ programming tools such as Visual Studio 2015 (Unmanaged C++) or the GNU Compiler Collection to communicate with Opto 22 brains and controllers that use the OptoMMP protocol. This SDK no longer contains ActiveX support.Product PageDownload Page... <less Code Samples and Videos Developer - Published: By Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP...moreBy Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP PACNode-REDSNAP PAC REST API Raspberry PiCreating a Weather App with Weather UndergroundUsing conditions in a flow (switch node)Get WAN IP addressSubscribe and Publish to MQTT Nodes with the groov and SNAP PAC REST APIs Read and write to Opto 22 G4 digital I/O By Tool Node-REDNode-RED Workshop Video...... <less Code Samples for Raspberry Pi Developer - Published: Tips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can...moreTips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can both read and write to output modules.For input modules, you perform reads.If you accidentally write to an input module, no problem—nothing will happen.Before using a terminal emulator to read and write to an I/O module, you must configure its associated GPIO pin as an input or output. The Opto 22 ...... <less CODESYS Developer - Published: The CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22...moreThe CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22 Library Package for CODESYS Development System provides all the key features for using the CODESYS runtime engine included in the groov EPIC system:Device definitions for the EPIC PLC runtime and groov I/O modules (both EPIC and RIO modules)I/O communication driverFunction blocks for accessing any O...... <less CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Code Samples and Videos Developer - Published: By Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP...moreBy Product groovNode-RED Workshop Videos: • Fundamentals • Best Practices • Advances Nodes • Send Email NotificationsLogging groov data to an Excel WorksheetNode-REDgroov REST API SNAP PACNode-REDSNAP PAC REST API Raspberry PiCreating a Weather App with Weather UndergroundUsing conditions in a flow (switch node)Get WAN IP addressSubscribe and Publish to MQTT Nodes with the groov and SNAP PAC REST APIs Read and write to Opto 22 G4 digital I/O By Tool Node-REDNode-RED Workshop Video...... <less Code Samples for Raspberry Pi Developer - Published: Tips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can...moreTips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can both read and write to output modules.For input modules, you perform reads.If you accidentally write to an input module, no problem—nothing will happen.Before using a terminal emulator to read and write to an I/O module, you must configure its associated GPIO pin as an input or output. The Opto 22 ...... <less CODESYS Developer - Published: The CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22...moreThe CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22 Library Package for CODESYS Development System provides all the key features for using the CODESYS runtime engine included in the groov EPIC system:Device definitions for the EPIC PLC runtime and groov I/O modules (both EPIC and RIO modules)I/O communication driverFunction blocks for accessing any O...... <less CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Code Samples for Raspberry Pi Developer - Published: Tips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can...moreTips for using a Pi to read and write to I/OOpto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O modules, 0 is On and 1 is Off.You can both read and write to output modules.For input modules, you perform reads.If you accidentally write to an input module, no problem—nothing will happen.Before using a terminal emulator to read and write to an I/O module, you must configure its associated GPIO pin as an input or output. The Opto 22 ...... <less CODESYS Developer - Published: The CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22...moreThe CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22 Library Package for CODESYS Development System provides all the key features for using the CODESYS runtime engine included in the groov EPIC system:Device definitions for the EPIC PLC runtime and groov I/O modules (both EPIC and RIO modules)I/O communication driverFunction blocks for accessing any O...... <less CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
CODESYS Developer - Published: The CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22...moreThe CODESYS Development System and Runtime Engine is one of the main programming options on the groov EPIC system. It provides an IEC 61131-3 compliant Programmable Logic Controller (PLC).The Opto 22 Library Package for CODESYS Development System provides all the key features for using the CODESYS runtime engine included in the groov EPIC system:Device definitions for the EPIC PLC runtime and groov I/O modules (both EPIC and RIO modules)I/O communication driverFunction blocks for accessing any O...... <less CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
CODESYS Frequently Asked Questions Developer - Published: OptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at...moreOptoMMP Function BlocksDoes the OptoMMP client need to be called frequently?Yes. All responses are processed by the client function block for all the request blocks. The client should be called at least once per cycle to ensure that responses are processed in a timely manner.Why does my request function block always time out?The most likely cause is that the client block is not being called every cycle.All responses are processed by the client function block.Can I make more than one request at a...... <less Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Contact Developer - Published: For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support...For feedback on the Opto 22 Developer site or program, please send a message to developer@opto22.com.For information on Opto 22 products and help with using them, please see the following:Opto 22 main websiteContact UsCorporate ContactsProduct Support... <less Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Create and Install the Client Certificate Developer - Published: Go back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the...moreGo back to the procedure overviewII. Create the Client Certificate (CC)Generate the Client Certificate (CC) file using your new Certificate Authority (CA) key.Use the following command to create the Client Certificate file [myClientCertificate]-CC.pem using your new Certificate Authority key. Here, replace [myClientCertificate] with whatever name you want for the Client Certificate. We suggest keeping the -CC suffix to identify this file as the Client Certificate. An example might be Opto22-CC.p...... <less Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Create the Certificate Authority (CA) Developer - Published: Go back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to...moreGo back to the procedure overviewI. Create the Certificate Authority (CA)If you are using a Linux or Mac system, skip the “Install Bash for Windows 10” instructions below and proceed directly to Command Line Instructions.If you are using a Windows 10 computer, we strongly recommend following the steps below to get access to a Bash command line on your computer so you can use the OpenSSL instructions in the Command Line Instruction section below.Install Bash for Windows 10Open your control panel ...... <less Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Create Your API Admin User Developer - Published: The API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see...moreThe API administrator has permissions to:Install an SSL certificate for HTTPS access to the APISet up API keys to grant users read/write access to API endpointsTo create an API user for groov EPIC see the EPIC-specific instructions.To set up the API administrator in your controller:In a browser window, call the Credentials API.(Replace 10.20.30.40 with the IP address of your PAC controller.)http://10.20.30.40/admin/credsor, if you’re using HTTPS: https://10.20.30.40/admin/credsIf your browser di...... <less Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Creating a Server Certificate for your groov EPIC(s) Developer - Published: Go back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your...moreGo back to the [procedure overview](/epicdev/browserssl/)## **IV. Create a Subject Alternate Name extension file**When creating a Server Certificate for your _groov_ EPIC processor, you’ll need your Certificate Authority (CA) key (`[myCertificateAuthority]-CA.key`), the Client Certificate (CC) file (`[myClientCertificate]-CC.pem`), a Certificate Signing Request (CSR) from the groov EPIC, and a Subject Alternate Name (SAN) extension file `[myEPIC]-SAN.ext`.Unlike the Certificate Authority (CA) ke...... <less Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Design and Inspiration of the OptoMMP Function Blocks Developer - Published: IntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model...moreIntroductionThe design and implementation of the OptoMMP function blocks are strongly influenced by the following:Common Behaviour ModelModbus FB LibraryCommon Behaviour ModelThe Common Behaviour Model is a standard means of supporting asynchronous operations within a CODESYS library.A full implementation is available in the Common Behaviour Model Library.The OptoMMP function blocks follow the Edge Triggered design. They specifically extend the ETrigTo function block to provide a timeout mechani...... <less Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Developing with groov EPIC Developer - Published: Programming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control...moreProgramming Optionsgroov EPIC has a lot of options for programming; this site covers the following:Secure Shell (SSH) for custom programming applications.REST APIs that provide HTTPS access to control and data.OptoMMP, the underlying memory-map protocol in EPIC.IEC 61131-3 for control programming.Ignition Edge with external PLC drivers.MQTT Sparkplug for communicating device I/O and variable data over secure sockets.Node-RED provides connectivity between Internet of Things (IoT) devices, cloud s...... <less Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Downloading and Using the Pre-Built Python Package Developer - Published: Go back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is...moreGo back to [Getting Started with OptoMMP for Python](/pythonmmp/)## Python Package OverviewTo make using OptoMMP with Python more straightforward and easy to get started with for _groov_ EPIC there is an open source Python Package available on the [Python Package Index (PyPI)](https://pypi.org/project/optommp/) with files hosted on [GitHub](https://github.com/optodeveloper/optommp).What this means is that you can easily download the package, import it with one line in your Python script, and the...... <less Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Enable OLE Procedures in SQL Server Developer - Published: Download Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample...moreDownload Code SampleOverviewSome of the code samples on our website use SQL Server’s OLE Automation stored procedures.Because those procs are disabled by default, we’ve provided a Microsoft code sample to enable them.For more information, see Microsoft’s Developer Network, https://msdn.microsoft.com/en-us/library/ms191188.aspx.PrerequisitesTo run this code sample, you must have system administrator privileges in SQL Server.StepsOpen SQL Server Management Studio.Run the EnableOleAutomationProcs.s...... <less Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Examples for the Raspberry Pi Developer - Published: For a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi...moreFor a mapping diagram and overlay for your Pi, see [Pin-to-Module Mapping](..\pin-to-module).Each of these code samples uses a different method to read and write to I/O points.You can use any Pi operating system and programming language to read and write to I/O points.**Just remember:** * Opto 22 I/O modules use negative true logic (a zero bit means On and a 1 bit means Off).When you read and write to I/O points, 0 is On and 1 is Off.* Before reading or writing to an I/O point, you must configur...... <less Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Frequently Asked Questions Developer - Published: Does the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC...moreDoes the groov View API work with groov EPIC?Yes, the View REST API is used to access groov data-store tags used in your groov View via the Devices and Tags interface in groov View Build. See the EPIC page of this guide for specific instructions.How do you find a tag id?Connect to groov in your web browser and open groov Build. Choose Configure > Devices & Tags. Highlight the Data Store and click Configure Tags. The tag id is listed for each tag.How do you find your API key?API keys are visible ...... <less Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Generating a Self-Signed SSL Certificate Developer - Published: These instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create...moreThese instructions are geared towards Windows users, but are easily adaptable for OSX or Linux users.In the following instructions, replace 10.20.30.40 with the IP address of your PAC controller.Create a directory in which you’ll generate your certificates.Customize the OpenSSL configuration file.Copy the default OpenSSL configuration file to your working directory.On Windows, the default location is c:\OpenSSL-Win32\bin\openssl.cfgOn Linux, it’s often at /etc/ssl/openssl.cnfRename the file to i...... <less Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Get WAN IP Address Developer - Published: _Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow...more_Applies to: Node-RED for SNAP PAC; Node-RED for_ groovIt's often handy to know the current IP address of your network's Internet connection (aka the _WAN IP address_). ![Get WAN IP Address Flow](/images/node-red-pac/wan-ip-flow.jpg)### In this flow:* The **http request** node gets the WAN IP address of the device configured in the **Opto22 write** node.* The **Opto22 write** node writes the address to a string variable in a PAC Control strategy.From there, you can extend the example by displayi...... <less Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items
Getting a Trusted Connection Between a Web Browser and groov EPIC Developer - Published: Secure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely...moreSecure Sockets Layer (SSL) and Web BrowsersWhen you first use an SSL connection (https) to access groov Manage on a groov EPIC processor from a browser like Chrome, Firefox, or Safari, you’ll likely receive a browser warning like “Your connection is not private” or “Your connection is not secure”.This issue isn’t specific to groov EPIC processors. Any server (and groov EPICs are servers) you attempt to connect to using SSL/TLS security will need a trusted Server Certificate installed on it authe...... <less Page 1 of 5Next » Show 25 Items Show All Items Show 10 Items Show 25 Items Show 50 Items Show 100 Items