[{"docs":"https://github.com/bpaauwe/udi-dsc-it100-poly/README.md","longPoll":"60","executable":"dsc-it100.py","readme":"null","status":"active","oauth":"null","url":"https://github.com/BME-nodeservers/udi-dsc-it100-poly","name":"DSC-IT100","language":"python3","developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1650328178","shortPoll":"5","author":"Bob Paauwe","version":"2.0.1","persist_folder":"null","discover":false,"prem":true,"customParams":"{\n\t\"IP Address\": \"\",\n\t\"Port\": \"\"\n}","nsdata":"null","desc":"Control and status for DSC alarm via IT-100","polisy":true,"changelog":"2.0.1","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"9b331f62-bd58-49cd-bc03-4fa0bfc6f5fc","isPerpetual":true,"version":"2.0.1","branch":"pg3-master","url":"https://github.com/BME-nodeservers/udi-dsc-it100-poly"}],"branch":"pg3-master","eisy":false,"uuid":"07b85d5a-773c-4e62-985a-f0304e5684e7","ts_updated":"1674853953","from_store":"Local"},{"docs":"https://github.com/BME-nodeservers/docs/blob/master/udi-roku-poly.md","longPoll":"600","executable":"roku.py","readme":"# Roku media devices\n\nThe node server will automatically start, scan your network for Roku\ndevices, and then add a node to the ISY for each Roku found.  This process\ncan take 10-15 seconds.\n\nOnce running, it will poll each device at the shortPoll interval to \ndetermine what application is running on that device.  This keeps the\ndevice status in the ISY up-to-date.  The node server will also re-scan\nthe network every longPoll interval looking for new devices and for \nchanges in the applications installed on each device. \n\nThe ROKU firmware has a bug where it fails to update it's reported IP address\nif the IP address changes while it is running (I.E. set via dhcp). When this \nhappens, the node server will attempt to connect using this wrong IP address\nand fail.  Re-booting the Roku device resolves the issue.\n\n### Node substitution variables\n * sys.node.[address].ST   - Roku device status (True (active), False inactive)\n * sys.node.[address].GV1  - Current running application name\n * sys.node.[address].GV2  - Current running application ID\n\n\n### Node Settings\nThe settings for this node are:\n\n#### Short Poll\n   * How often to poll each device for status (default 5 seconds)\n#### Long Poll\n   * How often to scan the network for device changes (default 60 seconds)\n","status":"active","name":"Roku","language":"python3","developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"DEBUG","ts_added":"1669919703","shortPoll":"5","author":"Bob Paauwe","version":"2.0.2","discover":false,"prem":true,"desc":"Control Roku media devices.","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"day","price":0,"recurring":"30","edition":"Free","id":"6a33be0c-ea84-43ab-b166-5f5645bbcd87","isTrial":true,"version":"2.0.3","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/udi-roku-poly.zip"},{"price":10,"edition":"Standard","id":"547e0150-450b-40c2-9080-65f72323efad","isPerpetual":true,"version":"2.0.3","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/udi-roku-poly.zip"}],"uuid":"5f841577-ba3d-4e02-bc71-444254cda22f","ts_updated":"1670027935","from_store":"Production"},{"docs":"https://github.com/UniversalDevicesInc/udi-poly-template-python","longPoll":"240","executable":"template-poly.py","status":"active","url":"https://github.com/UniversalDevicesInc/udi-poly-template-python","name":"PythonTemplate","language":"python3","developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","nsInfoPoll":"0","profile_version":"3.0.0","logLevel":"DEBUG","ts_added":"1646866335","shortPoll":"120","author":"Bob Paauwe","version":"1.0.0","discover":"0","nsdata":"{\n  \"user\": \"\",\n  \"password\": \"my secret password\",\n  \"type\": \"TheType\",\n  \"host\": \"host_or_IP\",\n  \"port\": \"port_number\"\n}","desc":"A possible template for developing new node servers for PG3.  See also Example1, Example2, Example3, and Example4 for other example node servers.   This template tries to demonstrate many features, not all of them will be applicable for your node server.","authorize":"0","install":"install.sh","purchaseOptions":[{"price":0,"isPerpetual":true}],"branch":"master","uuid":"22b12d3c-547b-4dba-9804-97fd823566fc","ts_updated":"1646866538"},{"docs":"https://github.com/sjpbailey/udi-aqualinkd-pool-controller-V3/blob/main/README.md","longPoll":"600","executable":"nodejs-pool.py","status":"active","name":"AqualinkD","language":"python3","devUser":"admin","isyAccess":false,"developer":"sjpbailey@comcast.net","ip_added":"98.41.236.33","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1710379344","shortPoll":"60","author":"Bailey","discover":false,"prem":true,"customParams":"{\n\t\"api_url\": \"http://localhost:100\"\n}","desc":"AqualinkD for testing with one customer to a RPi he configured that replaces the Web API with a Local API","polisy":true,"license":"https://github.com/sjpbailey/udi-aqualinkd-pool-controller-V3/blob/main/LICENSE","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"8b721136-3094-4e7c-8570-dba2f6259278","isPerpetual":true,"version":"1.0.0","branch":"main","url":"https://github.com/sjpbailey/udi-aqualinkd-pool-controller-V3"}],"eisy":true,"uuid":"3bc515dd-c03e-429f-964d-54c8b26d17ef","devMode":false,"ts_updated":"1711216984","from_store":"Beta"},{"docs":"POLYGLOT_CONFIG.md","longPoll":"600","executable":"udi-tahoma-pg3x","status":"active","name":"Tahoma","language":"python3","devUser":"admin","isyAccess":false,"developer":"stephenearljenkins@me.com","ip_added":"153.57.192.106","version_na":"null","nsInfoPoll":"0","profile_version":"0.0.22","logLevel":"INFO","ts_added":"1780153142","shortPoll":"60","author":"headrom","discover":false,"fileUpload":false,"prem":true,"desc":"Tahoma plugin for UD Eisy.  RTS and IO devices supported as well as scenes. Phantom blinds, RTS shades, first application","polisy":true,"license":"LICENSE","changelog":"0.0.21 scenes working\n0.0.8 first push to non-production / beta\n","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"89697a44-f1f9-4c3b-bd07-9016794f1e78","isPerpetual":true,"version":"0.0.22","branch":"beta","url":"https://github.com/sejgit/udi-tahoma-pg3x"}],"eisy":true,"devPath":"/usr/home/admin/polyglot/nodeservers/udi-tahoma-pg3x","uuid":"101b5a13-7963-486e-986c-8893c8271c2b","devMode":false,"ts_updated":"1780190098","from_store":"Local"},{"docs":"http://github.com/BME-nodeservers/docs/blob/master/udi-davis_v2-poly.md","longPoll":"600","executable":"davis.py","readme":"# Davis Weatherlink V2 polyglot\n\n(c) 2023 Robert Paauwe\n\nThis node server is intended to support [Davis Weather Stations](http://www.davisinstruments.com/).  It uses the Davis API version 2 to access your station(s) data.  To use this you must have a WeatherLink account.  [API documentation](https://weatherlink.github.io/v2-api/). \n\nIn order to access a station via the WeatherLink v2 API the station must meet one of the following criteria:\n<ol>\n<li>You own the station under your WeatherLink account.\n<li>You don’t own the station but it was shared to your WeatherLink account. If the station was shared as a Basic level share then the share must have been made by the station owner.\n<li>You don’t own the station but it is a publicly visible station on WeatherLink.com and you purchased a Pro or Pro+ upgrade and applied it to that station to give yourself increased access to the station’s data.\n</ol>\n\n<b>NOTE that this is different from the Davis Weather 2.x.x  node server which uses the older WeatherLink API version 1 which only supports a couple of different station types.</b>","status":"active","name":"Davis_V2","language":"python3","devUser":"null","isyAccess":false,"developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1693426268","shortPoll":"60","author":"Bob Paauwe","discover":false,"prem":true,"customParams":"{\n\"API Token\": \"\",\n\"API Secret\": \"\",\n\"Units\": \"us\"\n}","desc":"Node server for Davis weather stations using the WeatherLink v2 API ","polisy":true,"license":"http://github.com/BME-nodeservers/docs/blob/master/LICENSE","changelog":"3.0.2 - 10/03/2023 - bug fixes\n3.0.0 - 08/30/2023 -- Initial beta release","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"day","price":0,"recurring":45,"edition":"Standard","id":"f17c2ed7-5d0d-4732-9d44-d60c4aafb0a3","isTrial":true,"version":"3.0.2","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/udi-davis_v2-poly.zip"},{"price":25,"edition":"Standard","id":"b6c1e150-fc4c-4ccb-b2d9-d6e9ad9e3f06","isPerpetual":true,"version":"3.0.2","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/udi-davis_v2-poly.zip"}],"eisy":true,"devPath":"null","uuid":"20a20bc9-eba8-4a04-9cca-ebb0005f6118","devMode":false,"ts_updated":"1696349193","from_store":"Local"},{"docs":"https://github.com/n2uns/Audrino_Mqtt/blob/Audrino_Mqtt/README.md","longPoll":"600","executable":"main.py","status":"active","name":"Arduino_Mqtt","language":"python3","isyAccess":false,"developer":"kevin@kevin-graff.com","ip_added":"207.66.79.48","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.2","logLevel":"INFO","ts_added":"1696974600","shortPoll":"60","author":"Kevin Graff","discover":false,"prem":true,"customParams":"   {\n      \"mqtt_server\": \"192.168.18.185\",\n      \"mqtt_port\": 1884,\n      \"mqtt_user\": \"admin\",\n      \"mqtt_password\": \"password\",\n      \"mqtt_topic\": \"yourdevice\"\n    }","desc":"to add an Arduino project to your Polisy or Eisy was tested and developed with PG3x and on a Polisy","polisy":true,"license":"https://github.com/n2uns/Audrino_Mqtt/blob/Audrino_Mqtt/LICENSE","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"944a34db-fa56-48c8-b99e-c61886055512","isPerpetual":true,"version":"1.0.2","branch":"","url":"https://github.com/n2uns/Audrino_Mqtt"}],"eisy":true,"uuid":"314d47b8-996f-487b-9db4-0bf494087d44","devMode":false,"ts_updated":"1696975323","from_store":"Local"},{"docs":"https://github.com/UniversalDevicesInc/udi-example1-poly/blob/master/README.md","longPoll":"600","executable":"count.py","readme":"","status":"active","oauth":"","url":"https://github.com/UniversalDevicesInc/udi-example1-poly","devd":"null","name":"Example-1","language":"python3","developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"DEBUG","ts_added":"1640720076","shortPoll":"60","author":"Bob paauwe","version":"1.0.1","persist_folder":"null","discover":true,"prem":true,"customParams":"{}","nsdata":"{key: This is a key of some sort, secret: 595959595}","desc":"Example node server that simply increments a count. This is demonstrating how to create a simple node server that doesn't have a controller node and creates only a device node.","polisy":true,"license":"https://github.com/UniversalDevicesInc/udi-example1-poly/blob/master/LICENSE","changelog":"","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"f09b6f33-1ed2-4f9c-9b44-0220c1a0c631","isPerpetual":true,"version":"1.0.1","branch":"master","url":"https://github.com/UniversalDevicesInc/udi-example1-poly"}],"branch":"master","eisy":true,"uuid":"40a30560-ae75-4f08-9656-0820b663a9ee","ts_updated":"1684708208"},{"docs":"https://github.com/firstone/av-remote-poly/blob/main/README.md","longPoll":"60","executable":"polyremote.py","status":"active","devd":"null","name":"AVRemote","language":"python3","devUser":"null","isyAccess":false,"developer":"firstone@erissoft.com","ip_added":"100.37.48.27","nsInfoPoll":"0","profile_version":"1.0.3","logLevel":"DEBUG","ts_added":"1675118546","shortPoll":"15","author":"FirstOne","discover":false,"fileUpload":false,"prem":true,"desc":"Universal A/V remote control. Supported: nVidia Shield, LG TV, Tivo, Denon AVR, Onkyo AVR, ESP8266 IR, Chromecast.","polisy":true,"license":"https://github.com/firstone/av-remote-poly/blob/main/LICENSE","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"7f69748f-32f3-4d22-a12a-be7b1adaf4ca","isPerpetual":true,"version":"2.0.18","branch":"dev","url":"https://github.com/firstone/av-remote-poly.git"}],"eisy":true,"devPath":"null","uuid":"da84bb07-3e3e-481b-8473-39fb8116bfbe","devMode":false,"ts_updated":"1753029510","from_store":"Local"},{"docs":"https://github.com/UniversalDevicesInc-PG3/Virtual/blob/master/README.md","longPoll":"30","executable":"udi-Virtual-pg3.py","status":"active","name":"Virtual","language":"python3","isyAccess":true,"developer":"stephenearljenkins@me.com","ip_added":"104.28.103.65","version_na":"null","nsInfoPoll":"0","profile_version":"3.1.28","logLevel":"INFO","ts_added":"1715444251","shortPoll":"3","author":"headrom","persist_folder":"/usr/home/admin/polyglot/nodeservers/udi-Virtual.pg3","discover":true,"fileUpload":true,"prem":true,"desc":"Create Virtual Devices for use in scenes and programs","polisy":true,"license":"https://github.com/UniversalDevicesInc-PG3/Virtual/blob/master/LICENSE","changelog":"VERSION = \"3.1.28\"\n\"\"\"\n3.1.28\nDONE fix Controller/Temp ready_event poll gating (.is_set)\nDONE temp reset_stats clears prevVal; CtoF/FtoC mutual exclusion on GV13\nDONE VirtualTempC commands match nodedef (no setCtoF)\nDONE QUERY in nodedef for switch/delay/toggle/generic/temp nodes\nDONE onDelay reports TIMER; generic SETST send/report naming\nDONE NLS typo CMD-ctl-QUERY-NAME; onOnly docstring\n\n3.1.27\nDONE virtualgeneric: DON optional level param (IoX dimmer convention, fixes #11)\nDONE virtualgeneric: ONLEVELTYPE UOM 25 + SETOLT command (fixes #12)\nDONE virtualgeneric: SETOL zero onlevel uses DIMLOWERLIMIT (else fix)\n\n3.1.26\nDONE add timeout to ratgdo requests and sse client to prevent hanging\nDONE chg DFOF to DOF for Toggle & onDelay\n\n3.1.25\nDONE add onOnly device\nDONE update generic project files\nDONE Controller comments, refactor checkParams\nDONE change hints for temperature devices\nDONE testing added\n\n3.1.24\nDONE configuration based optional overide initial default\n\n3.1.23\nDONE add onDelay, offDelay, toggle switch, update documentation\nDONE magic number scrub\n\n3.1.22\nDONE generic/dimmer static/dynamic behaviour\n\n","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"671a0b64-3de5-434d-a20e-350e38ee5a37","isPerpetual":true,"version":"3.1.28","branch":"master","url":"https://github.com/UniversalDevicesInc-PG3/Virtual.git"}],"eisy":true,"uuid":"fe657645-685f-4977-9d45-03545771ae17","devMode":false,"ts_updated":"1779581000","from_store":"Production"},{"docs":"README.md","longPoll":"600","executable":"mediaserver.py","status":"active","name":"PiMediaServer","language":"python3","devUser":"admin","isyAccess":false,"developer":"oztronix@comcast.net","ip_added":"98.238.150.144","version_na":"null","nsInfoPoll":"0","profile_version":"0.1.12","logLevel":"INFO","ts_added":"1777833806","shortPoll":"60","author":"TJF1960","persist_folder":"media_server","discover":false,"fileUpload":false,"prem":true,"desc":"Testing only 0.1.12","polisy":true,"license":"LICENSE","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"66a54ea6-7d82-4833-835a-592f6090002f","isPerpetual":true,"version":"0.1.12","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/mediaserver_0.1.12.zip"}],"eisy":true,"devPath":"/tim/pg3/media_server","uuid":"0b995c89-5b9d-4f9a-af95-8be4cf27b034","devMode":false,"ts_updated":"1778441151","from_store":"Local"},{"docs":"https://github.com/sjpbailey/Documentation/blob/main/LogicLink-Irrigation/README.md","longPoll":"600","executable":"logiclink_irrigation.py","readme":"Configuration is performed using JSON-based Custom Parameters.\n\nRequired keys:\n• controllers\n• inputs\n• zones\n\nEach controller must define:\n- id\n- name\n- base_url\n\nInputs map to UI channels.\nZones map to BO (binary outputs).\n\nAfter configuration:\n• Click “Save Changes”\n• Restart the node server\n• Nodes will populate automatically\n\nYou can rename all nodes in the Admin Console at any time.\n\nFor full examples and updates, see the GitHub repository.\n\nDefault layout uses numbered grouping:\n01–04 Inputs\n05–08 Outputs\nPer controller block\n\nThis ensures proper sorting in the Admin Console.\n\n## Override and Priority Behavior\n\nLogicLink uses BACnet-style priority control.\n\n- Commands are issued at a defined priority (default: 8)\n- OFF commands release control (NULL) rather than forcing a value\n- This allows other systems (BACnet, GUI, schedules) to take control safely\n\nThe plugin reflects:\n\n- Zone State (actual output state)\n- Override Active (priority in use)\n- Active Priority (winning priority level)\n\nThis ensures safe interoperability between multiple control sources.\n\n## Hardware Availability\n\nLogicLink irrigation controllers are currently deployed on pre-configured hardware platforms.\n\nThese controllers include:\n\n- Integrated I/O modules\n- Backend runtime environment\n- BACnet-capable control architecture\n- Local API services\n\nAt this time, LogicLink hardware is not publicly distributed.\n\nThe plugin may be installed and reviewed, but full functionality requires a LogicLink controller.\n\nIf you are interested in evaluation, integration, or early access, please contact LogicLink.","status":"active","name":"LL4_Irrigation","language":"python3","devUser":"admin","isyAccess":false,"developer":"sjpbailey@comcast.net","ip_added":"73.185.56.16","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1777662944","shortPoll":"60","author":"Steven Bailey / LogicLink","discover":false,"fileUpload":false,"prem":true,"customParams":"{\n  \"controllers\": [\n    {\n      \"id\": \"c1\",\n      \"name\": \"Controller 1\",\n      \"base_url\": \"http://192.168.1.50:8099\"\n    },\n    {\n      \"id\": \"c2\",\n      \"name\": \"Controller 2\",\n      \"base_url\": \"http://192.168.1.51:8099\"\n    },\n    {\n      \"id\": \"c3\",\n      \"name\": \"Controller 3\",\n      \"base_url\": \"http://192.168.1.52:8099\"\n    }\n  ],\n\n  \"inputs\": {\n    \"c1\": [\n      { \"id\": 1, \"name\": \"01 C1 Input 1\", \"ui\": 1 },\n      { \"id\": 2, \"name\": \"02 C1 Input 2\", \"ui\": 2 },\n      { \"id\": 3, \"name\": \"03 C1 Input 3\", \"ui\": 3 },\n      { \"id\": 4, \"name\": \"04 C1 Input 4\", \"ui\": 4 }\n    ],\n    \"c2\": [\n      { \"id\": 1, \"name\": \"09 C2 Input 1\", \"ui\": 1 },\n      { \"id\": 2, \"name\": \"10 C2 Input 2\", \"ui\": 2 },\n      { \"id\": 3, \"name\": \"11 C2 Input 3\", \"ui\": 3 },\n      { \"id\": 4, \"name\": \"12 C2 Input 4\", \"ui\": 4 }\n    ],\n    \"c3\": [\n      { \"id\": 1, \"name\": \"17 C3 Input 1\", \"ui\": 1 },\n      { \"id\": 2, \"name\": \"18 C3 Input 2\", \"ui\": 2 },\n      { \"id\": 3, \"name\": \"19 C3 Input 3\", \"ui\": 3 },\n      { \"id\": 4, \"name\": \"20 C3 Input 4\", \"ui\": 4 }\n    ]\n  },\n\n  \"zones\": {\n    \"c1\": [\n      { \"id\": 1, \"name\": \"05 C1 Output 1\", \"bo\": 1 },\n      { \"id\": 2, \"name\": \"06 C1 Output 2\", \"bo\": 2 },\n      { \"id\": 3, \"name\": \"07 C1 Output 3\", \"bo\": 3 },\n      { \"id\": 4, \"name\": \"08 C1 Output 4\", \"bo\": 4 }\n    ],\n    \"c2\": [\n      { \"id\": 1, \"name\": \"13 C2 Output 1\", \"bo\": 1 },\n      { \"id\": 2, \"name\": \"14 C2 Output 2\", \"bo\": 2 },\n      { \"id\": 3, \"name\": \"15 C2 Output 3\", \"bo\": 3 },\n      { \"id\": 4, \"name\": \"16 C2 Output 4\", \"bo\": 4 }\n    ],\n    \"c3\": [\n      { \"id\": 1, \"name\": \"21 C3 Output 1\", \"bo\": 1 },\n      { \"id\": 2, \"name\": \"22 C3 Output 2\", \"bo\": 2 },\n      { \"id\": 3, \"name\": \"23 C3 Output 3\", \"bo\": 3 },\n      { \"id\": 4, \"name\": \"24 C3 Output 4\", \"bo\": 4 }\n    ]\n  }\n}","desc":"Supports multi-controller irrigation and I/O systems using a backend-driven JSON configuration.\n\nFeatures:\n• Multiple controllers (C1–C3+)\n• Configurable Inputs (UI) and Outputs (BO)\n• Real-time status and control\n• Custom naming directly in the Admin Console\n• Backend API integration (LogicalLink / BACnet)\n\nSetup:\n1. Install the node server\n2. Add Custom Configuration Parameters (controllers, inputs, zones)\n3. Save and restart the node server\n4. Rename nodes as needed in the Admin Console","polisy":true,"license":"https://github.com/sjpbailey/Documentation/blob/main/LogicLink-Irrigation/LICENSE","changelog":"v1.0.0 (Beta)\n- Initial beta release\n- Multi-controller JSON configuration (C1–C3)\n- Dynamic node creation (inputs and zones)\n- Renameable nodes in Admin Console\n- Backend-driven state via /api/points\n- Zone State, Override Active, and Active Priority exposed\n- BACnet-style priority control implemented\n- ON writes at priority 8\n- OFF performs OFF → RELEASE (clears override correctly)\n- Verified interoperability between GUI, BACnet, and UDI\n- Establishes multi-system interoperability using a backend-authoritative control model","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"730898ab-7509-40d2-8548-d0788213e7b6","isPerpetual":true,"version":"1.1.12","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/logiclink-irrigation.tgz"}],"eisy":true,"uuid":"2e3fadc9-5b99-4e16-a058-bce81b019a5d","devMode":false,"ts_updated":"1781889531","from_store":"Local"},{"longPoll":"600","docs":"https://github.com/Goose66/NSDocs/blob/main/tasmota-pg3.md","executable":"main.py","readme":"A Node Server for Polyglot v3 (PG3) that communicates with Tasmota devices on the local network over MQTT to allow IoX to access and control the devices.\n\nClick \"More Info\" below for installation instructions and release notes.","status":"active","name":"Tasmota-Alpha","language":"python3","developer":"kingwrandy@gmail.com","ip_added":"75.131.193.229","nsInfoPoll":"0","profile_version":"3.0.0","logLevel":"INFO","ts_added":"1696596165","shortPoll":"60","author":"W. Randy King (Goose66)","discover":true,"prem":true,"desc":"Allows IoX to access to and control of Martin Jerry and other Tasmota switches and modules.","polisy":true,"license":"https://github.com/Goose66/NSDocs/blob/main/LICENSE.md","changelog":"3.0.1 - Initial Release (2023-10-10)\n- Supports:\n    * Martin Jerry (MJ) MJ-S01 Switch\n    * MJ Plug V by MJ (Plug-in  Module)\n    * MJ US-SD-TC01 (Dimmer)\n    * MJ US-FC-01 (Fan Controller)\n    * MJ US-SS01 Switch\n    * MJ US-SS02 Swtich (Humidity Switch)\n    * Shelly 1 (Switch Module)","authorize":false,"purchaseOptions":[{"price":0,"edition":"Free","id":"04a3da87-39a1-45c9-8cc2-e67caa1e355e","isPerpetual":true,"version":"0.0.3","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/tasmota-pg3-0.0.3.zip"}],"install":"install.sh","eisy":true,"uuid":"0ed822e2-3abc-4b2a-a543-71c22d9d4cbd","ts_updated":"1696596165","from_store":"Beta"},{"docs":"http://www.bobsplace.com","longPoll":"600","executable":"atest.py","readme":"ATest is a node server designed to test the various purchase options and test the overall look and feel of the new node server info screen.\n\nList of node values\nST - node server status\nGV1 - Something to do with state\nGV2 - Another node value\nCLITEMP - temperature of the thing\n\nThis is some random readme type text, bla, bla, bla","status":"active","oauth":"null","url":"https://pg3store.isy.io/v2/nodeservers/local/udi-atest-poly.zip","devd":"null","name":"ATest","language":"python3","devUser":"null","isyAccess":false,"developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","version_na":"1.0.0","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"CRITICAL","ts_added":"1655310000","shortPoll":"60","author":"Robert Paauwe","version":"1.0.0","persist_folder":"null","discover":false,"prem":true,"customParams":"null","nsdata":"null","desc":"we don''t need a description\n\nBut just in case, this is a node server being used to test out the various new purchase options. It is not a real node server so please don't attempt to buy it!","polisy":true,"license":"http://www.bobsplace.com","changelog":"2.0.0   6/1/2022\n - added feature 1\n - added feature 2\n - increase price\n1.0.0  5/20/2022\n - Initial release","authorize":false,"install":"install.sh","purchaseOptions":[{"isSubscription":true,"recurringPeriod":"month","price":"12.00","recurring":1,"edition":"Standard","id":"d894ce19-f586-4431-8d10-da9c1896bd20","version":"1.0.0","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/local/udi-atest-poly.zip"},{"price":"$199","edition":"Standard","id":"e5c916a9-6d63-4a49-b9cd-abe0ce0dd066","isPerpetual":true,"version":"1.0.0","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/local/udi-atest-poly.zip"}],"branch":"master","eisy":true,"devPath":"null","uuid":"270cc44e-0ef0-4b20-8ada-237c888e5c4e","devMode":false,"ts_updated":"1714000701","from_store":"Local"},{"docs":"https://github.com/AZTurtle/GoveeNS","longPoll":"600","executable":"govee.py","status":"active","name":"GoveeNS","language":"python3","devUser":"null","isyAccess":false,"developer":"jamesbennett@azturtle.com","ip_added":"70.176.155.96","version_na":"null","nsInfoPoll":"0","profile_version":"0.1.2","logLevel":"CRITICAL","ts_added":"1692249242","shortPoll":"60","author":"AZTurtle","discover":false,"fileUpload":false,"prem":true,"customParams":"{\"API Key\":\"\"}","desc":"A node server for integration with Govee devices","polisy":false,"license":"https://raw.githubusercontent.com/UniversalDevicesInc/pg3-python-interface/master/LICENSE","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"c92127b6-8e59-4fd6-9648-4bc14a00e1ae","isPerpetual":true,"version":"0.1.2","branch":"master","url":"https://github.com/AZTurtle/GoveeNS"}],"eisy":true,"devPath":"null","uuid":"a8f3084f-169c-4042-9317-e97955c1f3ae","devMode":false,"ts_updated":"1746923174","from_store":"Local"},{"docs":"https://github.com/BME-nodeservers/docs/udi-roomba-poly.md","longPoll":"60","executable":"roomba-poly.py","readme":"","status":"active","oauth":"null","url":"https://github.com/BME-nodeservers/udi-roomba-poly","name":"Roomba","language":"python3","developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1646691356","shortPoll":"5","author":"Bob Paauwe","version":"2.0.2","persist_folder":"null","discover":true,"prem":true,"customParams":"","nsdata":"","desc":"Roomba node server for Polyglot v3.  Provides status and control of one or more Roomba devices.","changelog":"","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"isPerpetual":true}],"branch":"master","uuid":"4e9ec7a1-1d79-4a17-9c66-172df4733ed5","ts_updated":"1650479063"},{"docs":"POLYGLOT_CONFIG.md","longPoll":"600","executable":"wc.py","status":"active","name":"WebControl8","language":"python3","devUser":"admin","isyAccess":false,"developer":"oztronix@comcast.net","ip_added":"76.20.55.237","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.21","logLevel":"INFO","ts_added":"1731505124","shortPoll":"10","author":"TJF1960","discover":false,"fileUpload":false,"prem":true,"desc":"This plugin should work with all WebControl 8 firmware versions","polisy":true,"license":"LICENSE","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"8e221b7b-2347-4899-820b-68638913c928","isPerpetual":true,"version":"1.0.21","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/webcontrol8.zip"}],"eisy":true,"uuid":"936f1ef3-a3fe-493b-921a-cd85ca49facc","devMode":false,"ts_updated":"1777224958","from_store":"Beta"},{"docs":"https://goose66.github.io/nsdocs/nestsdm-pg3.html","longPoll":"600","executable":"main.py","readme":"A Plugin for Polyglot v3 (PG3x) that interfaces with the Google SDM API to allow IoX to access and control Nest thermostats, doorbells, and cameras.\n\nClick \"More Info\" below for installation instructions and release notes.","status":"active","oauth":"{\n  \"name\": \"UD Nest SDM Plugin\",\n  \"client_id\": \"979240727326-br8jhduhm30bthhur165n4dtlioi4g2r.apps.googleusercontent.com\",\n  \"client_secret\": \"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\",\n  \"auth_endpoint\": \"https://nestservices.google.com/partnerconnections/b9f3a547-a728-4b5a-90eb-900cdb479379/auth\",\n  \"token_endpoint\": \"https://www.googleapis.com/oauth2/v4/token\",\n  \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n  \"scope\": \"https://www.googleapis.com/auth/sdm.service https://www.googleapis.com/auth/pubsub\",\n  \"addRedirect\": true,\n  \"parameters\": {\n    \"access_type\": \"offline\",\n    \"prompt\": \"consent\"\n  }\n}","name":"NestSDM","language":"python3","devUser":"admin","isyAccess":false,"developer":"kingwrandy@gmail.com","ip_added":"75.131.193.229","version_na":"null","nsInfoPoll":"0","profile_version":"3.0.0","logLevel":"DEBUG","ts_added":"1708053967","shortPoll":"60","author":"W. Randy King (Goose66)","discover":true,"fileUpload":false,"prem":true,"customParams":"{\n  \"projectid\": \"<Device Access Project ID>\",\n  \"gcpprojectid\": \"<Google Cloud Project ID>\",\n  \"oauthclientid\": \"<OAuth Client ID>\",\n  \"oauthclientsecret\": \"<OAuth Client Secret>\",\n  \"oauthendpoint\": \"<OAuth Authorization Endpoint>\"\n}","desc":"Allows IoX to access and control Nest devices through the Google SDM API.","polisy":true,"license":"https://goose66.github.io/nsdocs/license.html","changelog":"0.2.5 - Ready for UD Device Access Project (2024-08-07)\n- implement support for UD's Google Device Access project\n- added node hierarchy with structure at the top\n- added both state values and commands for motion/person/sound detection for all cameras\n\n0.1.4 - Multiple fixes (2024-04-25)\n- implemented a thread-safe and load-order safe OAuth module\n- added better node name generation from room and device type\n- deletes the events subscrition on plugin stop\n- fixed clearing \"Fan Only\" HCS when fan timer turns off\n- changed each node individually updating its own state on create to single updateAll on next shortpoll\n- fixed error from non-\"updateable\" events from legacy Nest devices\n\n0.1.3 - Beta Testing Release (2024-04-07)\n- Added configuration parameters for custom OAuth configuration for user Sandbox Device Access projects\n- Implemented new udi_interface OAuth module\n- improved error reporting and notifications, especially around OAuth configuration and authentication\n\n0.0.2 - Testing Release (2024-03-19)\n- changeover to UD's production Device Access project\n- add fixes and new features\n\n0.0.1 - Initial Release (2024-01-14)\n","authorize":true,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"9de2abe2-9c50-4968-886d-81a967a4593b","isPerpetual":true,"version":"0.2.5","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/nestsdm-pg3-0.2.5.zip"}],"eisy":true,"uuid":"f955d4f4-07be-4747-bfd4-2692fd79de9b","devMode":false,"ts_updated":"1723207370","from_store":"Beta"},{"longPoll":"30","docs":"https://github.com/UniversalDevicesInc-PG3/udi-sonos-poly/blob/master/README.md","executable":"sonos-poly.py","status":"active","name":"Sonos","language":"python3","devUser":"admin","isyAccess":false,"developer":"bpaauwe@bobsplace.com","ip_added":"73.66.118.128","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1767646228","shortPoll":"5","author":"Bob Paauwe","discover":true,"fileUpload":false,"prem":true,"desc":"Plug-in for Sonos speakers.  Provides status and control for the individual speakers.","polisy":true,"license":"https://github.com/UniversalDevicesInc-PG3/udi-sonos-poly/blob/master/LICENSE","changelog":"3.1.0 - 01/05/2026\n  - Add support for speaker join/unjoin \n  - Allow specifying which speakers to create nodes for\n\n3.0.2 - 12/08/2023\n  - Fix status updates\n  - Add controller node as parent to all speaker nodes\n  - Add ability to add speakers manually via custom parameters\n  - Add ability to scan additional subnets for speakers.","authorize":false,"purchaseOptions":[{"price":0,"edition":"Free","id":"76ce1981-cc50-4154-bf81-4b56e1ac6409","isPerpetual":true,"version":"3.1.0","branch":"test","url":"https://github.com/UniversalDevicesInc-PG3/udi-sonos-poly"}],"install":"install.sh","eisy":true,"uuid":"21ea3064-d31a-4481-9d96-6c88f24a291c","devMode":false,"ts_updated":"1767646228","from_store":"Beta"},{"docs":"README.md","longPoll":"600","executable":"lgq.py","status":"active","name":"LGThinQ","language":"python3","devUser":"admin","isyAccess":false,"developer":"oztronix@comcast.net","ip_added":"98.238.150.144","version_na":"null","nsInfoPoll":"0","profile_version":"0.8.6","logLevel":"INFO","ts_added":"1777834578","shortPoll":"60","author":"TJF1960","persist_folder":"lgq","discover":false,"fileUpload":false,"prem":true,"desc":"This polls LG api servers for statuses of appliances. This works for washer, dryer, oven and microwave. Working on getting sdk going for faster response.\nThis is in Beta, I may not take this any further than just basic status updates.","polisy":true,"license":"LICENSE","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"702b6497-b9af-4e68-93dc-9e13d1aa7011","isPerpetual":true,"version":"0.8.6","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/lgq_0.8.6.zip"}],"eisy":true,"devPath":"/tim/pg3/lg_thinq","uuid":"c48da06d-7b0e-4d6e-b362-bbccfc710d1e","devMode":false,"ts_updated":"1780541693","from_store":"Local"},{"docs":"https://github.com/UniversalDevicesInc/udi-example2-poly/blob/master/README.md","longPoll":"600","executable":"count.py","readme":"","status":"active","oauth":"","url":"https://github.com/UniversalDevicesInc/udi-example2-poly","name":"Example-2","language":"python3","developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"DEBUG","ts_added":"1640727035","shortPoll":"60","author":"Bob Paauwe","version":"1.0.0","discover":"","prem":true,"customParams":"","nsdata":"null","desc":"Example node server that simply increments a count. This is demonstrating how to create a simple node server that has only a controller node.","changelog":"","authorize":"","install":"install.sh","purchaseOptions":[{"price":0,"isPerpetual":true}],"branch":"master","uuid":"06829051-1c63-4ee2-a70e-a34b7fbf275c","ts_updated":"1646853899"},{"docs":"http://github.com/BME-nodeservers/udi-lutronra2-poly/blob/master/README.md","longPoll":"900","executable":"st-radiora2.js","readme":"Currently Supported Components\n- Occupancy Sensors\n    - Ceiling\n    - Wall\n- Room Occupancy\n- Dimmer\n- Switch\n- Visor Control Receiver (VCRX)\n- Pico Remotes\n    - 2 Button\n    - 2 Button Raise/Lower\n    - 3 Button\n    - 3 Button Raise/Lower\n    - 4 Button\n- Tabletop Keypad\n    - 5 Button Tabletop\n    - 10 Button Tabletop\n    - 15 Button Tabletop\n- Wall Keypads\n    - 1RLD\n    - 2RLD\n    - 3BD\n    - 3BRL\n    - 3BSRL\n    - 4S\n    - 5BRL\n    - 5BRLIR\n    - 6BRL\n    - 7B\n","status":"active","oauth":"null","devd":"null","name":"ST-RadioRA2","language":"node","devUser":"admin","isyAccess":false,"developer":"bpaauwe@bobsplace.com","ip_added":"73.48.241.215","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1715874577","shortPoll":"600","author":"Bob paauwe","persist_folder":"null","discover":false,"prem":true,"customParams":"null","nsdata":"null","desc":"Lutron Radio RA2 integration","polisy":true,"license":"http://github.com/BME-nodeservers/docs/blob/master/LICENSE","changelog":"1.0.6 - fix a javascript syntax error in table top controller nodes\n1.0.5 - fix table top controller all on / all off buttons, SeaTouch -> SeeTouch, fix uom in phantom buttons.\n1.0.4 - push profile files automatically, add version number to log output\n1.0.3 - dynamically add devices, fix bug in seatouch 4s keypad\n1.0.2 - device types need to be numeric for switch statement, not strings.\n1.0.1 - move controller add to customtypeddata handler\n1.0.0 - Initial beta release of PG3 version.","authorize":false,"install":"install.sh","purchaseOptions":[{"price":35,"edition":"Standard","id":"69cce066-1ecf-467e-a954-fcc010100f83","isPerpetual":true,"version":"1.0.6","branch":"master","url":"https://github.com/BME-nodeservers/udi-lutronra2-poly.git"},{"recurringPeriod":"day","price":0,"recurring":30,"edition":"Standard","id":"499edc2f-1a0b-42e9-bee6-22931405e2c7","isTrial":true,"version":"1.0.6","branch":"master","url":"https://github.com/BME-nodeservers/udi-lutronra2-poly.git"}],"eisy":true,"devPath":"null","uuid":"d0f8ec38-3545-4bc9-8333-dd68a4558d49","devMode":false,"ts_updated":"1727208699","from_store":"Local"},{"docs":"https://github.com/UniversalDevicesInc-PG3/udi-poly-notification/blob/master/README.md","longPoll":"600","executable":"notification-poly.py","readme":"null","status":"active","oauth":"null","devd":"null","name":"Notification","language":"python3","devUser":"null","isyAccess":false,"developer":"jimsearle@gmail.com","ip_added":"70.181.79.77","version_na":"3.4.6","nsInfoPoll":"0","profile_version":"3.4.4","logLevel":"WARNING","ts_added":"1683579380","shortPoll":"60","author":"Jimbo.Automates","version":"3.4.6","persist_folder":"null","discover":false,"fileUpload":false,"prem":true,"customParams":"{\n  \"acknowledge\": \"\"\n}\n","nsdata":"null","desc":"Notification Node Server for Pushover and Telegram\n","polisy":true,"license":"TBD","changelog":"null","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"month","price":0,"recurring":"1","edition":"Standard","id":"74de37ab-1f56-4d97-8da1-041a27581261","isTrial":true,"version":"3.6.32","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/Notification-beta-3.6.32.zip"},{"price":15,"edition":"Standard","id":"94dd0ef7-6d1d-4c34-81bd-dcb87632c130","isPerpetual":true,"version":"3.6.32","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/Notification-beta-3.6.32.zip"}],"eisy":true,"devPath":"null","uuid":"132e8dd7-e452-41dd-80f1-6a7da660f00b","devMode":false,"ts_updated":"1782690271","from_store":"Production"},{"docs":"https://github.com/BME-nodeservers/udi-example4-poly/README.md","longPoll":"600","executable":"count.py","readme":"","status":"active","oauth":"","url":"http://pg3store.isy.io/v2/nodeservers/beta/udi-example4-poly.zip","name":"Example-4","language":"python3","developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"DEBUG","ts_added":"1642623203","shortPoll":"60","author":"Bob Paauwe","version":"1.0.5","persist_folder":"null","discover":false,"prem":true,"customParams":"","nsdata":"Fake Data","desc":"Example node server.  Demonstrate a node server with a controller node, but all parameter processing happens outside of the controller node class.","changelog":"","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"isPerpetual":true}],"branch":"","uuid":"46efeeea-ee80-4aee-9dbf-a46b1f4921d4","ts_updated":"1656105145"},{"longPoll":"600","docs":"https://github.com/rustyfulton/screenlogic-pg3x","executable":"screenlogic_poly.py","status":"active","name":"ScreenLogicCTL","language":"python3","devUser":"admin","isyAccess":false,"developer":"rustyfulton@gmail.com","ip_added":"73.220.13.223","nsInfoPoll":"0","profile_version":"0.0.16","logLevel":"INFO","ts_added":"1779424946","shortPoll":"60","author":"rfulton","discover":false,"fileUpload":false,"prem":true,"customParams":"{\n  \"mode\": \"3\",\n  \"screenlogic_host\": \"192.168.1.99\",\n  \"screenlogic_port\": \"80\",\n  \"screenlogic_system_name\": \"Pentair: F1-11-11\",\n  \"OPT_show_features\": \"true\",\n  \"OPT_show_solar_heater\": \"true\",\n  \"OPT_show_solar_thermostat\": \"true\"\n}\n","desc":"Pentair ScreenLogic plugin for eisy/PG3x with pool, solar, feature, and experimental Alexa-discovery temperature nodes.","polisy":true,"license":"https://github.com/rustyfulton/screenlogic-pg3x/blob/main/LICENSE","authorize":false,"purchaseOptions":[{"price":0,"edition":"Free","id":"f32434fe-d4c4-4c5b-89af-9da5777bc3f7","isPerpetual":true,"version":"0.0.13","branch":"main","url":"https://github.com/rustyfulton/screenlogic-pg3x"}],"install":"install.sh","eisy":true,"uuid":"98f85e95-c1e7-4269-acfb-0096ae036cb8","devMode":false,"ts_updated":"1779424946","from_store":"Beta"},{"longPoll":"60","docs":"https://github.com/UniversalDevicesInc-PG3/holidays-google-poly/blob/master/README.md","executable":"holidays.py","status":"active","oauth":"{\n  \"name\": \"HolidaysGoogle\",\n  \"client_id\": \"995208052347-va0rd29q2n90ljk34m2puss3uuvtn5o7.apps.googleusercontent.com\",\n  \"client_secret\": \"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\",\n  \"auth_endpoint\": \"https://accounts.google.com/o/oauth2/auth\",\n  \"scope\": \"https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar.readonly&access_type=offline&prompt=consent\",\n  \"parameters\": {\n    \"scope\": \"https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar.readonly\",\n    \"access_type\": \"offline\",\n    \"prompt\": \"consent\"\n  },\n  \"token_endpoint\": \"https://oauth2.googleapis.com/token\",\n  \"cloudlink\": true,\n  \"addRedirect\": true\n}","name":"HolidaysGoogle","language":"python3","devUser":"null","isyAccess":false,"developer":"firstone@erissoft.com","ip_added":"100.33.44.96","version_na":"1.0.3","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1709180867","shortPoll":"15","author":"FirstOne","discover":false,"prem":true,"desc":"Holidays for ISY scheduling using Google Calendar","polisy":true,"license":"https://raw.githubusercontent.com/UniversalDevicesInc-PG3/holidays-google-poly/master/LICENSE","authorize":true,"purchaseOptions":[{"price":0,"edition":"Free","id":"2f4c2f29-b42a-46e5-b35d-d3d2f81fd8bc","isPerpetual":true,"version":"3.0.0","branch":"beta","url":"https://github.com/UniversalDevicesInc-PG3/holidays-google-poly"}],"install":"install.sh","eisy":true,"devPath":"null","uuid":"7b465c70-b7ba-4896-9755-cc0073792ee2","devMode":false,"ts_updated":"1709180867","from_store":"Production"},{"docs":"https://forum.universal-devices.com/forum/323-opensprinkler/","longPoll":"30","executable":"initializer.py","readme":"null","status":"active","oauth":"null","url":"https://github.com/JavierRefuerzo/OpenSprinklerNodeServer.git","devd":"null","name":"OpenSprinkler","language":"python3","isyAccess":false,"developer":"javier@universal-devices.com","ip_added":"75.166.45.142","version_na":"2022.07.01","nsInfoPoll":"0","profile_version":"0.0.1","logLevel":"INFO","ts_added":"1642441201","shortPoll":"5","author":"Javier Refuerzo","version":"2022.07.01","persist_folder":"null","discover":false,"prem":true,"customParams":"{\"password\":\"opendoor\",\"url\":\"http://192.168.X.X\",\"manualRunTimeSeconds\":\"480\"}","nsdata":"None","desc":"OpenSprinkler Controller.","polisy":true,"license":"https://github.com/JavierRefuerzo/iTach_IR_Node_Server/blob/main/LICENSE","changelog":"null","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"08207b71-3d0f-4569-8963-c5a2fa869dd4","isPerpetual":true,"version":"2023.1.9","branch":"legacyTest","url":"https://github.com/JavierRefuerzo/OpenSprinklerNodeServer.git"}],"branch":"legacyTest","eisy":true,"uuid":"40a934b9-be88-456a-b9fc-88b75c128dd0","ts_updated":"1693583078"},{"docs":"https://github.com/UniversalDevicesInc/udi-example3-poly/blob/master/README.md","longPoll":"600","executable":"count.py","readme":"","status":"active","oauth":"","url":"https://github.com/UniversalDevicesInc/udi-example3-poly","name":"Example-3","language":"python3","developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"WARNING","ts_added":"1640727052","shortPoll":"60","author":"Bob Paauwe","version":"1.0.1","discover":"","prem":true,"customParams":"\"customParams\": {\n                \"nodes\": 0,\n                \"multiplier\": 1\n        }","nsdata":"null","desc":"Example node server that creates a user specified number of counter child nodes.","changelog":"","authorize":"","install":"install.sh","purchaseOptions":[{"price":0,"isPerpetual":true}],"branch":"master","uuid":"b38db5ce-659a-41cb-b5ce-36fe7defb6fe","ts_updated":"1646852230"},{"longPoll":"600","docs":"https://developer.isy.io","executable":"casambi.py","status":"active","devd":"{\n\"filename\":\"casambi.conf\"\n}","name":"Casambi_oadr","language":"python3","devUser":"admin","isyAccess":true,"developer":"kyriacou92@gmail.com","ip_added":"76.221.133.84","nsInfoPoll":"0","profile_version":"3.0.0","logLevel":"INFO","ts_added":"1708456734","shortPoll":"60","author":"Casambi","discover":false,"prem":true,"customParams":"{\n\"serial port\":\"\"\n}","desc":"Simple OpenADR interface to Casambi''s USB DR.","polisy":false,"license":"https://developer.isy.io","authorize":false,"purchaseOptions":[{"price":0,"edition":"Free","id":"8e9f0fa8-7509-42a0-84b8-faba62db7d7b","isPerpetual":true,"version":"1.0.1","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/casambi.tar.gz"}],"install":"install.sh","eisy":true,"uuid":"4454caef-47da-4977-80d4-4c6f8cc688a8","devMode":false,"ts_updated":"1708456734","from_store":"Beta"},{"docs":"https://housepanel.net","longPoll":"3600","executable":"poly.py","status":"active","name":"Hubitat","language":"python3","developer":"ken@kenw.com","ip_added":"73.15.159.54","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"WARNING","ts_added":"1684954166","shortPoll":"300","author":"Ken Washington","discover":true,"prem":true,"customParams":"{\n    \"accessToken\":\"\",\n    \"hubEndpt\":\"\",\n    \"restPort\":\"9100\"\n}\n","desc":"Hubitat Node Server","polisy":true,"license":"https://housepanel.net/EULA.html","changelog":"1.09 adds music tiles and aqara presence types\n1.10 fixes a bug in the mode device type","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"month","price":0,"recurring":1,"edition":"Free","id":"ce43f2ad-9d13-4e32-9be0-776f58f94053","isTrial":true,"version":"1.0.10","branch":"","url":"https://housepanel.net/hubitat-1.0.10.zip"},{"price":20,"edition":"Standard","id":"6ccdd72e-143d-4675-9d05-89b356016eaa","isPerpetual":true,"version":"1.0.10","branch":"","url":"https://housepanel.net/hubitat-1.0.10.zip"}],"eisy":true,"uuid":"78e9e472-217d-46f2-84aa-4719d1d522e8","ts_updated":"1688411234","from_store":"Local"},{"docs":"https://github.com/Goose66/NSDocs/blob/main/tasmota-pg3.md","longPoll":"600","executable":"main.py","readme":"A Node Server for Polyglot v3 (PG3) that communicates with Tasmota devices on the local network over MQTT to allow IoX to access and control the devices.\n\nClick \"More Info\" below for installation instructions and release notes.","status":"active","name":"Tasmota-Tester","language":"python3","developer":"kingwrandy@gmail.com","ip_added":"75.131.193.229","nsInfoPoll":"0","profile_version":"3.0.0","logLevel":"INFO","ts_added":"1696596278","shortPoll":"60","author":"W. Randy King (Goose66)","discover":true,"prem":true,"desc":"Allows IoX to access to and control of Martin Jerry and other Tasmota switches and modules.","polisy":true,"license":"https://github.com/Goose66/NSDocs/blob/main/LICENSE.md","changelog":"3.0.1 - Initial Release (2023-10-10)\n- Supports:\n    * Martin Jerry (MJ) MJ-S01 Switch\n    * MJ Plug V by MJ (Plug-in  Module)\n    * MJ US-SD-TC01 (Dimmer)\n    * MJ US-FC-01 (Fan Controller)\n    * MJ US-SS01 Switch\n    * MJ US-SS02 Swtich (Humidity Switch)\n    * Shelly 1 (Switch Module)","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"04a3da87-39a1-45c9-8cc2-e67caa1e355e","isPerpetual":true,"version":"0.0.3","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/tasmota-pg3-0.0.3.zip"}],"eisy":true,"uuid":"0ed822e2-3abc-4b2a-a543-71c22d9d4cbd","ts_updated":"1696596346","from_store":"Beta"},{"docs":"POLYGLOT_CONFIG.md","longPoll":"600","executable":"wc832.py","readme":"# WebControl832 Plugin\n\nThis plugin polls a WebControl8 or WebControl32 device and updates IoX with the following:\n1. Node Server Status\n2. Heartbeat\n3. Server Name\n4. Date and Time\n\n## Custom Parameters\n- ip: Device IP address\n- port: Device port\n- username: Device username\n- password: Device password\n- json_data: JSON single line string\n- familiar_name: The name you want to use for WebControl \n\nThis plugin does not create any nodes other than the controller node and does require the nodes you want created, to be added to the json string. This way the plugin doesn't waste time on nodes you do not need and tie up valuable resources updating nodes you don't need.\n\nJson Single String Key:Value.\nYou can add only nodes you need and name each node whatever you want by forming a unique json single line string.\nLets say you only use 1 Analog Input, and 1 Output and a couple of temp sensors.\nHere is your json string:\n{\"aip1\": \"Whatever name you want\", \"op1\": \"Ouptut Name\", \"ts1\": \"Temp 1 Whatever\", \"ts8\": \"Temp 8 Whatever\"}\n\nHere is the list of available json keys and what they represent:\n\nFor Webcontrol 8:\naip1 to aip3 = Analog Inputs 1 to 3\ncounter = Counter\nfcounter = Frequency Counter\nhs1 = Humidity Sensor\nip1 to ip16 = Input 1 to 8\nop1 to op16 = Outputs 1 to 8\nts1 to ts16 = Temp 1 to 8\nvar1 to var16 = Variable 1 to 8\n\nFor WebControl 32:\naip1 to aip8 = Analog Inputs 1 to 8\ncnt1 to cnt3 = Counter 1 to 3\nhs1 = Humidity Sensor\nip1 to ip16 = Input 1 to 16\nop1 to op16 = Outputs 1 to 16\nts1 to ts16 = Temp 1 to 16\nvar1 to var16 = Variable 1 to 16\n\nAfter updating all parameters, wait 15 seconds or so then stop and restart the plugin. Then your done.\n\nChange Log:\nv1.0.4  Fixed mapped values for OP nodes  02/16/2025\nv1.0.5  Fixed UoM ending subset  02/18/2025\nv1.0.6  Fixed renaming nodes on the fly\n","status":"active","name":"WebControl832","language":"python3","devUser":"admin","isyAccess":false,"developer":"oztronix@comcast.net","ip_added":"108.192.22.118","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.6","logLevel":"CRITICAL","ts_added":"1733155126","shortPoll":"10","author":"TJF1960","persist_folder":"WebControl832","discover":false,"fileUpload":false,"prem":true,"desc":"Alpha testing for WebControl 8 and 32 boards","polisy":true,"license":"LICENSE","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"70eab45c-8070-4342-800e-d0c49be9e477","isPerpetual":true,"version":"1.0.6","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/WebControl832_v1.0.6.zip"}],"eisy":true,"uuid":"8c3e7969-8b70-4b39-b900-8b3e0ac35c77","devMode":false,"ts_updated":"1741534068","from_store":"Beta"},{"docs":"https://github.com/firstone/eisy-ir-poly/blob/main/README.md","longPoll":"60","executable":"eisy_ir.py","discover":false,"status":"active","prem":true,"name":"eISYIR","language":"python3","desc":"Add IR receiver functionality to eISY/Polisy via Flirc IR receiver","developer":"firstone@erissoft.com","authorize":false,"install":"install.sh","ip_added":"100.37.48.27","purchaseOptions":[{"recurringPeriod":"day","price":0,"recurring":30,"edition":"Free","id":"daf78145-0c39-46ec-99ca-291c64fcd02e","isTrial":true,"version":"0.1.10","branch":"main","url":"https://github.com/firstone/eisy-ir-poly"}],"nsInfoPoll":"0","profile_version":"0.1.3","logLevel":"DEBUG","uuid":"10f42418-488b-4740-b6fb-caa2694d14b4","ts_added":"1673834505","shortPoll":"15","ts_updated":"1676604637","author":"FirstOne","from_store":"Local"},{"docs":"https://casambi.com","longPoll":"600","executable":"casambi.py","readme":"null","status":"active","oauth":"null","devd":"{\"filename\": \"casambi.conf\"}","name":"Casambi","language":"python3","devUser":"admin","isyAccess":true,"developer":"kyriacou92@gmail.com","ip_added":"96.246.176.74","version_na":"null","nsInfoPoll":"0","profile_version":"3.2.0","logLevel":"INFO","ts_added":"1770737106","shortPoll":"60","author":"Casambi Oy.","persist_folder":"null","discover":true,"fileUpload":false,"prem":true,"customParams":"{\"serial port\": \"/dev/pg3.casambi\"}","nsdata":"null","desc":"OpenADR interface to Casambi Lighting Controls.","polisy":true,"license":"https://casambi.com","changelog":"Version 1.0.0. - Initial Beta Test\nVerison 1.1.0. - Bug Fixes\nVersion 1.3.0- Testing bug fixes\nVersion 1.4.0 - OpenADR load-shedding (EXTIF opcode 0x47); 13-driver ADR node; OpenADR 2.0b event parsing\nVersion 1.4.1- Added Casambi UI fixes and Banner\nVersion 1.4.2- Fixed Admin Console UI bugs\nVersion 1.4.3- USB Permissions fixes\nVersion 1.4.5- Bug Fixes\n\n1.4.4- Test functionality in Admin Console","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"9e089a24-86b6-4c68-bc38-40e195c39df1","isPerpetual":true,"version":"1.4.0","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/casambiadr26_1.4.0.tar.gz"},{"price":0,"edition":"Free","id":"9d4158b8-c2d3-40e1-80a9-c9414d50f078","isPerpetual":true,"version":"1.4.1","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/casambiadr26_1.4.1.tar.gz"},{"price":0,"edition":"Free","id":"22269604-5785-4249-a586-8df246179ac3","isPerpetual":true,"version":"1.4.2","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/casambiadr26_1.4.2.tar.gz"},{"price":0,"edition":"Free","id":"f3003131-b916-4038-8d3e-dcb7800addb0","isPerpetual":true,"version":"1.4.3","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/casambiadr26_1.4.3.tar.gz"},{"price":0,"edition":"Free","id":"a1a9eddf-1353-4274-9e64-391a66df57e2","isPerpetual":true,"version":"1.4.4","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/casambiadr26_1.4.4.tar.gz"},{"price":0,"edition":"Free","id":"f2e62dc5-9ede-4a58-a508-c57bdaae6227","isPerpetual":true,"version":"1.4.5","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/casambiadr26_1.4.5.tar.gz"}],"eisy":true,"devPath":"null","uuid":"c0379c67-61d3-40d2-9da5-774515000706","devMode":false,"ts_updated":"1776892677","from_store":"Production"},{"docs":"https://github.com/BME-nodeservers/udi-emporia-vue-poly","longPoll":"3600","executable":"vue.py","readme":"Emporia Vue\n\nNode Settings\nThe settings for this node are:\n\nShort Poll   * How often to poll for current energy data (in seconds).  Recommend that this be as large as possible while still providing required trigger response to changes.  So it needs to be just slightly less than the time you expect a device to be active (or inactive) if you want to trigger on it going active or inactive.\n\nLong Poll   * How often to poll for daily and monthly energy data (in seconds). Once an hour is probably good here.\n\nCustom Parameters\n        * username - your emporia VUE account user name\n        * password - your emporia VUE account password\n\nNode substitution variables.  This varies depending on the type of node. There are four types of nodes:\n - Vue main device node\n     * sys.node.[address].ST      (Node sever online)\n     * sys.node.[address].CWP (Instantaneous power in KW)\n     * sys.node.[address].GV1  (hourly power in KWH)\n     * sys.node.[address].GV2  (daily power in KWH)\n     * sys.node.[address].GV3  (monthly power in KWH)\n\n- Vue sensor channel node\n     * sys.node.[address].CWP (Instantaneous power in KW)\n     * sys.node.[address].GV1  (hourly power in KWH)\n     * sys.node.[address].GV2  (daily power in KWH)\n     * sys.node.[address].GV3  (monthly power in KWH)\n\n- Vue EV charger node\n     * sys.node.[address].ST      (Charger state - on/off)\n     * sys.node.[address].CWP (Instantaneous power in KW)\n     * sys.node.[address].GV1  (hourly power in KWH)\n     * sys.node.[address].GV2  (daily power in KWH)\n     * sys.node.[address].GV3  (monthly power in KWH)\n     * sys.node.[address].GV4  (current charge rate in amps)\n     * sys.node.[address].GV5  (maximum charge rate in amps)\n\n- Outlet node\n     * sys.node.[address].ST      (Outlet state - on/off)\n     * sys.node.[address].CWP  (Instantaneous power in KW)\n     * sys.node.[address].GV1  (hourly power in KWH)\n     * sys.node.[address].GV2  (daily power in KWH)\n     * sys.node.[address].GV3  (monthly power in KWH)","status":"active","url":"https://github.com/BME-nodeservers/udi-emporia-vue-poly","name":"VueTest","language":"python3","developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1660928582","shortPoll":"10","author":"Bob Paauwe","version":"1.0.22","discover":true,"prem":true,"customParams":"{\n\"Username\": \"\",\n\"Password\":\"\"\n}","desc":"A test version of the Emporia Vue node server.  \n\nAdds support for VUE 2 devices with up to 16 channels\nAdds support for EV Chargers\nAdds support for Outlets","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"c54c0b5d-a4b4-4240-b649-f0581d1444bd","isPerpetual":true,"branch":"beta","version":"1.0.24","url":"https://github.com/BME-nodeservers/udi-emporia-vue-poly"}],"branch":"beta","uuid":"bff5144a-e8e3-46fd-9de0-8e30c48dc44e","ts_updated":"1667083305","from_store":"Beta"},{"longPoll":"600","docs":"https://goose66.github.io/nsdocs/evldsc-pg3.html","executable":"main.py","readme":"A Plugin for Polyglot v3 (PG3x) that interfaces with a DSC PowerSeries alarm panel through EnvisaLink™ EVL-3/4 and DUO™ adapters from EyezOn to access alarm functions and events.\n\nClick \"More Info\" below for installation instructions and release notes.","status":"active","name":"EnvisaLink-DSC","language":"python3","devUser":"admin","isyAccess":false,"developer":"kingwrandy@gmail.com","ip_added":"75.131.193.229","nsInfoPoll":"0","profile_version":"3.1.0","logLevel":"DEBUG","ts_added":"1737683425","shortPoll":"30","author":"W. Randy King (Goose66)","discover":false,"fileUpload":false,"prem":true,"customParams":"{\n        \"hostname\": \"<hostname/IP address>\",\n        \"password\": \"<password>\",\n        \"usercode\": \"<alarm code>\"\n}","desc":"Allows IoX to access alarm functions and events of DSC PowerSeries™ alarm panels via EnvisaLink™ EVL-3/4 and DUO™ adapters from EyezOn.","polisy":true,"license":"https://goose66.github.io/nsdocs/license.html","changelog":"3.1.9 - Ready state fix and updates/fixes (2025-01-23)\n- updated to latest nslib and udi_interface\n- added GPV state (driver) to panel node to track plugin status\n- handle \"Ready - Forced Arming Enabled\" command same as \"Ready\"\n- send DON3 and DOF3 commands for partition arm and disarm, respectively\n- increased password length support to 10 characters (works on EVL4 only)\n- added names to driver list\n\n3.0.8 - Initial Release (2022-03-15)\n- converted envisalink-polyglotv2 to PG3 API\n- refactored code to be more readable and better structured\n- added Toggle Bypass to zone nodes with bypass update functionality\n- added better error handling in API module\n- fixed state updates after Key Alarm (Fire/Auxilary/Police) restoral","authorize":false,"purchaseOptions":[{"recurringPeriod":"month","price":0,"recurring":1,"edition":"Free","id":"5872539c-00bc-4847-95e9-87592b258925","isTrial":true,"version":"3.1.9","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/evldsc-pg3-3.1.9.zip"}],"install":"install.sh","eisy":true,"uuid":"fcfab16a-fe73-4476-a387-ae1a1731f407","devMode":false,"ts_updated":"1737683425","from_store":"Beta"},{"docs":"https://github.com/BME-nodeservers/docs/master/blob/udi-magic-poly.md","longPoll":"300","executable":"magichome.py","readme":"Node Server for MagicHome(tm) compatible smart bulbs and LED strip lighting.\n\nThis should work with any smart bulb or LED strip controller that works with\nthe \"MagicHome\" app on Android and IOS.\n\n# Installation Instructions:\n1. Purchase and install the MagicHome node server.\n2. Wait for it to auto-discover the MagicHome compatible devices on your network.\n3. If it is unable to discover your devices, follow the configuration instructions to add them manually.\n","status":"active","oauth":"null","url":"https://pg3store.isy.io/v2/nodeservers/beta/udi-magic-poly.zip","devd":"null","name":"MagicHome","language":"python3","devUser":"null","isyAccess":false,"developer":"bpaauwe@bobsplace.com","ip_added":"67.161.168.17","version_na":"1.0.3","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1650214230","shortPoll":"30","author":"Bob Paauwe","version":"1.0.3","package":"C:\\fakepath\\udi-magic-poly.zip","persist_folder":"null","discover":true,"fileUpload":false,"prem":true,"customParams":"null","nsdata":"null","desc":"MagicHome Node Server for MagicHome(tm) compatible smart bulbs and LED strip controllers.  This should work with all \"smart\" bulbs that can be controlled by the MagicHome(tm) App.","polisy":true,"license":"https://github.com/BME-nodeservers/docs/master/blob/LICENSE.md","changelog":"null","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"day","price":0,"recurring":"30","edition":"Free","id":"93f4479f-2b93-419a-acf4-d24befffd965","isTrial":true,"version":"1.0.3","branch":"n/a","url":"https://pg3store.isy.io/v2/nodeservers/beta/udi-magic-poly.zip"},{"price":"10","edition":"Standard","id":"6162af92-97d9-4a73-944e-7fe1e95034e5","isPerpetual":true,"version":"1.0.3","branch":"n/a","url":"https://pg3store.isy.io/v2/nodeservers/beta/udi-magic-poly.zip"}],"branch":"n/a","eisy":true,"devPath":"null","uuid":"7b031b27-643b-4678-ae54-cc63c346436b","devMode":false,"ts_updated":"1735670158","from_store":"Local"},{"docs":"https://github.com/ve7gel/Docs/tree/main/RainMachine","longPoll":"60","executable":"rm-poly.py","readme":"# Rainmachine Nodeserver\nTo interface Green Electronics LLC rainmachine irrigation controller to the ISY994\n\nCopyright 2020 Gordon Larsen MIT License\n\n#### Installation\n\nPLEASE NOTE: As of version 3.1.4, this nodeserver is only fully supported on PG3 and ISY on Polisy version 5.4.0 or greater.\nThe profile changes break the 'Status' functions in IF statements for Zones for earlier versions.\n\nThis nodeserver was developed on the rainmachine Mini-8. It should work similarly on other devices, \n    but hasn't been tested.\nSoftware currently fully supports hardware version 2, with API version 4.1 or higher.\nOn hardware version 1, mixer values(rain today and qpf values), rain sensor and freeze protect states are not available.\n \n## Issues\nPlease raise any issues on the UDI forum at \"https://forum.universal-devices.com/forum/170-green-electronics-rainmachine/\".  \nGithub is not watched.\n\n### Node drivers for use in substitution variables\n#### Zones:\n * 'ST', Zone state\n * 'GV3', Zone runtime minutes remaining\n * 'GV4', Zone runtime seconds remaining\n * 'GV5', Is this a master zone?\n * 'GV6', Flow Rate\n\n#### Programs:\n * 'ST', Program status\n * 'GV3', Program nextrun day\n\n#### Precipitation:\n * 'ST',  Rain today\n * 'GV0', Precip forecast for today \n * 'GV1', Precip forecast for tomorrow\n * 'GV2', Precip forecast for day after tomorrow\n\n#### Restrictions:\n * 'ST', Rain Sensor State\n * 'GV0', Rain Delay Remaining\n * 'GV1', Freeze Protect\n * 'GV2', Hourly restrictions?\n * 'GV3', Month restrictions?\n * 'GV4', Weekday restrictions?\n","status":"active","name":"RainMachine","language":"python3","devUser":"admin","isyAccess":false,"developer":"gordon@the-larsens.ca","ip_added":"24.69.150.176","version_na":"null","nsInfoPoll":"0","profile_version":"3.2.1","logLevel":"INFO","ts_added":"1719783840","shortPoll":"30","author":"Gordon Larsen","discover":false,"fileUpload":false,"prem":true,"customParams":"{\"Hostname\": \"\", \"Password\": \"\",  \"Units\": \"metric\", \"Active_Only\": \"False\"}","desc":"Plugin for the Green Electronics RainMachine","polisy":true,"license":"https://github.com/ve7gel/Docs/blob/main/LICENSE.md","changelog":"## Release Notes\n- 3.2.0 04/04/2022\n  - add parameter to provide option to exclude inactive zones from node creation\n- 3.1.8 01/04/2022\n  - catch error that occurs in discover when hostname is missing or invalid.\n- 3.1.7 24/03/2022\n  - minor profile changes\n- 3.1.6 15/03/2022\n  - fix local precipitation display \n- 3.1.5 08/03/2022\n  - add poly.stop() to stop function \n- 3.1.4 04/03/2022\n  - change US units to gpm.  Requires ISY on Polisy 5.4.0 or greater\n  - update requirements for udi_interface 3.0.36\n- 3.1.3 10/02/2022\n  - correction to profile for display of nodeserver status\n- 3.1.2 24/01/2022\n  - update requirements for udi_interface update\n  - unit displays added back to flow rate, now in cfm, pending addition of gpm uom by UDI\n  - code cleanup\n- 3.1.1 18/01/2022\n  - update zone flow rates. us units displays flowrate in gpm, metric in M3/hr\n    units are currently missing from display, working on it.\n- 3.1.0 17/01/2022\n  - add flow rate to zone data.  Currently us units only display with no units of measure as ISY does not have GPM\n  as a valid UOM yet.\n- 3.0 21/10/2021\n  - Update for Polyglot V3\n- 0.5.6 14/04/2021\n    - update list of disallowed zone name characters.  These are stripped from the name when imported from the RM.\n- 0.5.5 18/01/2021\n    - correct an entry in the nls that was preventing controller status from showing in ISY program status fields.\n- 0.5.4 08/12/2020\n    - fix a bug introduced in 0.5.3 where loglevel was not retained across restarts.\n- 0.5.3 07/12/2020\n    - add \"Winter\" mode. Clean up some profile entries\n- 0.5.2 19/062020\n    - update to configuration docs\n- 0.5.1 13/06/2020\n    - update requirements for polyinterface 2.1.0\n- 0.5.0 08/04/2020\n    - trap network error in restrictions update.\n    - add error trapping to recover more gracefully from loss of contact with the Rainmachine\n    - Restructure code to move node functions to separate files. \n- 0.4.0 03/04/2020\n    - move rain sensor, freeze protect, rain delay to new 'Restrictions' node.  Add info for active hourly, weekday, monthly restrictions \n- 0.3.0 014/02/2020\n    - add delay between node adds during discovery\n    - add some support for Master Zone - still needs some testing","authorize":false,"install":"install.sh","purchaseOptions":[{"price":30,"edition":"Standard","id":"e07e9bf8-2ef6-4e50-8aa6-dce9492fdb67","isPerpetual":true,"version":"3.2.2","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/udi-poly-rainmachine.zip"}],"eisy":true,"uuid":"e98d0e41-ff7b-44c7-92d5-e80cc4c39598","devMode":false,"ts_updated":"1719784911","from_store":"Beta"},{"docs":"https://github.com/UniversalDevicesInc-PG3/udi-solaredge-poly","longPoll":"1800","executable":"solaredge-poly.py","readme":"# UDI Polyglot v3 SolarEdge Poly Extended\n\n[![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/UniversalDevicesInc/udi-solaredge-poly/blob/master/LICENSE)\n\nThis Poly provides an interface between SolarEdge devices and [Polyglot v3](https://github.com/UniversalDevicesInc/pg3) server.\n\n### Installation instructions\n1. Got to the Polyglot Store and click \"Install\" \n2. After the install completes, go to the dashboard and select SolarEdge details\n3. Enter your API Key in the custom parameters and save changes.\n4. To set an API rate_limit other than 5min, enter a new \"rate_limit\" parameter (in minutes) in the custom parameters and save changes\n\nNodes should now be created on the ISY that represent your site configuration.\n\n### Configuration\n\n#### Short Poll\n *  How often to poll the SolarEdge servers for inverter/battery/power/energy info. Default\n is 60 seconds since the API calls are rate limited. This makes the time \"since last update\" more accurate \n\n#### Long Poll\n * How often to poll for Overview Energy Default is 1800 seconds (30 minutes)\n\n#### api_key\n * Your SolarEdge API key.  Get this by logging into your SolarEdge account.\n\n### Notes\n\nPlease report any problems on the UDI user forum.\n\nThis solaredge version is based on xKing and bpwwer's version. Added are an Energy Node which uses the most recent 15min period to show energy (KWh). Since these readings will always be 15 minutes you can get a more accurate average power (KW) for that period by multiplying the energy figure by 4.\nNote that the API only updates values every 5 minutes so the added \"since last update\" field shows how long ago the last power reading was taken. If you exceed the daily API limit or the solaredge server is overloaded you may see \"since last update\" exceed the rate limit. The EnergyDay node shows todays energy. The Overview node shows the Energy history. It is updated during the long poll interval as most of the fields change very slowly.","status":"active","name":"solaredge_poly","language":"python3","devUser":"null","isyAccess":false,"developer":"ken@sandbergweb.com","ip_added":"38.15.60.130","nsInfoPoll":"60","profile_version":"1.1.8","logLevel":"WARNING","ts_added":"1682620460","shortPoll":"60","author":"photogeek54","discover":false,"fileUpload":false,"prem":true,"desc":"extended solaredge version\nadds more energy nodes and the production overview node.\nAdd rate limiting due to Solaredge 300 API call per day limits\nnodenames may change due to old names too short to uniquely identify some devices like batteries","polisy":true,"license":"https://raw.githubusercontent.com/UniversalDevicesInc/udi-solaredge-poly/master/LICENSE","changelog":"v1.1.0 adds rate limiting\nv1.1.01 removes special characters from site name\nv1.1.02 changes logic slightly for removing special characters from the site name\nv1.1.03 make battery node address more random\nv1.1.04 add more battery telemetry, note that this changes the node names for batteries which could impact your programs.\nv1.1.8 add fix for 2026 API change, /version was deprecated, replace w /sites to check API key","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"f13c7d79-dd0b-41b0-9dcb-aa5da89c2e31","isPerpetual":true,"version":"1.1.8","branch":"Extended-w-2026-API-fix","url":"https://github.com/UniversalDevicesInc-PG3/udi-solaredge-poly"}],"eisy":true,"devPath":"null","uuid":"f671d8a5-02d7-4901-95b0-1adca63d9668","devMode":false,"ts_updated":"1776743331","from_store":"Local"},{"docs":"http://github.com/sejgit/udi-mqtt-pg3x/blob/main/POLYGLOT_CONFIG.md","longPoll":"600","executable":"mqtt-poly.py","readme":"null","status":"active","oauth":"null","devd":"null","name":"MQTT","language":"python3","devUser":"null","isyAccess":false,"developer":"jr@strele.ws","ip_added":"181.128.37.83","version_na":"null","nsInfoPoll":"0","profile_version":"0.50.3","logLevel":"INFO","ts_added":"1690239397","shortPoll":"60","author":"Headrom/TriLife","persist_folder":"null","discover":true,"fileUpload":true,"prem":true,"customParams":"{\"mqtt_server\":\"localhost\",\"mqtt_port\":\"1884\",\"mqtt_user\":\"\",\"mqtt_password\":\"\",\"devfile\":\"/usr/home/admin/YOUR-YAML.yaml\"}\n","nsdata":"null","desc":"Virtual devices for use in scenes, programs.","polisy":true,"license":"http://github.com/sejgit/udi-mqtt-pg3x/blob/main/LICENSE","changelog":"VERSION = '0.50.3'\n\n\"\"\"\n## 0.50.3\n- Restructure POLYGLOT_CONFIG for devfile-first setup with upload and SSH paths\n- Add starter `data/mqtt-devices.yaml` template\n- Trim README to capability and installation overview only\n\n## 0.50.2\n- Extract device discovery and topic registration into discovery module\n- Unwrap Tasmota StatusSNS payloads once in Controller before routing to nodes\n- Skip duplicate status topic registration on re-discovery\n- Remove dead pass stubs from node modules\n- Fix disconnect handler exception path\n\n## 0.50.1\n- Fix startup handler gate when CUSTOMPARAMS arrives last\n- Fix poll heartbeat guard to respect controller ready state\n- Accept documented devlist JSON arrays alongside legacy dict upserts\n- Merge devfile and devlist configuration as documented\n- Resubscribe MQTT topics after DISCOVER when already connected\n- Add MQTT connect timeout instead of infinite wait\n- Fix sensor message routing to use two-argument updateInfo\n- Refactor config loading, device registry, and MQTT bridge modules\n- Add MQTasmotaSensor base class for shared Tasmota sensor behavior\n- Unsubscribe MQTT topics when nodes are removed\n- Add legacy config regression test suite\n\n0.50.0\nDONE refactor Controller/Nodes for Pythonic & commenting\nDONE add user defined default status_prefix & cmd_prefix\nDONE add numofnodes\nDONE add MQDroplet device\n\n0.40.3\nDONE: fixed typos in POLYGLOT_CONFIG.md\nSTARTED: Organize device types according to Tasmota, Sensor etc.\nTODO: Reorganize sample devfile for clarity and comments\n\n0.40.2\nDONE README.md clean-up\nDONE POLYGLOT_CONFIG.md clean-up\n0.40.1\nDONE s31 displays in program\n0.40.0\nDONE change numbering to allow for branch management\nDONE raw fix docs & allow int in addition to str\nDONE find topic by topic if no device_id find\nDONE:discover button updates nodes and MQTT subscriptions\nDONE config.md fixes\nDONE status for switch device available in programs\nDONE internal: improve logging for debug\n","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"b1313f7c-a92c-4238-aa2c-c0e49b3f8b6e","isPerpetual":true,"version":"0.50.3","branch":"beta","url":"https://github.com/sejgit/udi-mqtt-pg3x"}],"eisy":true,"devPath":"null","uuid":"6016023b-ebfc-4602-90c6-79bdc755aa4b","devMode":false,"ts_updated":"1782432729","from_store":"Beta"},{"docs":"https://forum.universal-devices.com/forum/324-itach-ir/","longPoll":"600","executable":"initializer.py","readme":"null","status":"active","oauth":"null","url":"https://github.com/JavierRefuerzo/iTach_IR_Node_Server.git","devd":"null","name":"iTach-IR","language":"python3","isyAccess":false,"developer":"javier@universal-devices.com","ip_added":"75.166.45.142","version_na":"2022.08.01","nsInfoPoll":"0","profile_version":"0.0.1","logLevel":"INFO","ts_added":"1642890967","shortPoll":"60","author":"Javier Refuerzo","version":"2022.08.01","persist_folder":"null","discover":false,"prem":true,"customParams":"{\"url\":\"http://192.168.0.70\",\"Example Device\":\"function, code1, hexcode1, code2, hexcode2  \\\"INPUT AUX\\\",\\\"sendir,1:1,1,38000,1,69,341,172,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,64,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,64,21,21,21,1603,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AC 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0643 0155 0057 0015 0E44\\\",,  \\\"INPUT BD/DVD\\\",\\\"sendir,1:1,1,38000,1,69,341,171,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,64,21,21,21,21,21,21,21,64,21,64,21,64,21,21,21,21,21,64,21,64,21,64,21,21,21,1604,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AB 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0644 0155 0057 0015 0E44\\\",,  \\\"INPUT CABLE/SAT\\\",\\\"sendir,1:1,1,38000,1,69,341,172,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,1604,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AC 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0644 0155 0057 0015 0E44\\\",,  \\\"INPUT GAME\\\",\\\"sendir,1:1,1,38000,1,69,341,172,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,64,21,1604,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AC 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0644 0155 0057 0015 0E44\\\",,  \\\"INPUT NET\\\",\\\"sendir,1:1,1,38000,1,69,341,172,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,21,21,1604,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AC 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0644 0155 0057 0015 0E44\\\",,  \\\"INPUT PC\\\",\\\"sendir,1:1,1,38000,1,69,341,171,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,21,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,64,21,21,21,1603,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AB 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0643 0155 0057 0015 0E44\\\",,  \\\"INPUT PHONO\\\",\\\"sendir,1:1,1,38000,1,69,341,172,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,1604,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AC 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0644 0155 0057 0015 0E44\\\",,  \\\"INPUT TUNER\\\",\\\"sendir,1:1,1,38000,1,69,341,172,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,1604,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AC 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0644 0155 0057 0015 0E44\\\",,  \\\"INPUT TV/CD\\\",\\\"sendir,1:1,1,38000,1,69,341,172,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,64,21,21,21,64,21,64,21,64,21,64,21,1603,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AC 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0643 0155 0057 0015 0E44\\\",,  \\\"INPUT USB\\\",\\\"sendir,1:1,1,38000,1,69,341,172,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,21,21,21,21,64,21,64,21,21,21,21,21,21,21,21,21,64,21,64,21,21,21,1561,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AC 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0619 0155 0057 0015 0E44\\\",,  \\\"MUTE TOGGLE\\\",\\\"sendir,1:1,1,38000,1,69,341,171,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,64,21,1604,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AB 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0644 0155 0057 0015 0E44\\\",,  \\\"POWER TOGGLE\\\",\\\"sendir,1:1,1,38000,1,69,341,171,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,64,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,21,21,1603,341,87,21,3652\\\",\\\"0000 006D 0022 0002 0155 00AB 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0643 0155 0057 0015 0E44\\\",,  \\\"VOLUME DOWN\\\",\\\"sendir,1:1,1,38000,1,1,341,171,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,64,21,64,21,1603\\\",\\\"0000 006D 0000 0022 0155 00AB 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0643\\\",,  \\\"VOLUME UP\\\",\\\"sendir,1:1,1,38000,1,1,341,171,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,64,21,64,21,1603\\\",\\\"0000 006D 0000 0022 0155 00AB 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0643\\\",,\"}","nsdata":"None","desc":"iTach IR.","polisy":true,"license":"https://github.com/JavierRefuerzo/iTach_IR_Node_Server/blob/main/LICENSE","changelog":"null","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"12ab287c-4dca-4bbf-90c4-6d470fd37545","isPerpetual":true,"version":"2023.1.9","branch":"main","url":"https://github.com/JavierRefuerzo/iTach_IR_Node_Server.git"}],"branch":"main","eisy":true,"uuid":"4009bc9f-0cec-40d2-8966-cc77469b2401","ts_updated":"1693582987"},{"docs":"https://github.com/UniversalDevicesInc/ring/blob/master/README.md","longPoll":"3600","executable":"ring.py","readme":"Click here for more info:","status":"active","oauth":"{\n  \"name\": \"ring\",\n  \"client_id\": \"pgprod\",\n  \"client_secret\": \"mc18xlukpdtnn1os13ztkqzfho6ju9d1owntg6mhbkqlo4xm1q7ih6z0d2fcbmho\",\n  \"auth_endpoint\": \"https://oauth.ring.com/oauth/authorize\",\n  \"token_endpoint\": \"https://oauth.ring.com/oauth/token\",\n  \"scope\": \"read\",\n  \"addScope\": false\n}","devd":"null","name":"Ring-BetaTEST","language":"python3","devUser":"null","isyAccess":false,"developer":"benoit@universal-devices.com","ip_added":"24.138.11.123","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.3","logLevel":"INFO","ts_added":"1760465663","shortPoll":"300","author":"Benoit Mercier","persist_folder":"null","discover":false,"fileUpload":false,"prem":true,"customParams":"null","nsdata":"null","desc":"The Ring nodeserver creates nodes for your doorbells, stickup cams & floodlights.","polisy":true,"license":"https://github.com/UniversalDevicesInc/ring/blob/master/LICENSE","changelog":"null","authorize":true,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"day","price":0,"recurring":10,"edition":"Standard","id":"733fc6a8-8cca-4104-ad53-7f3c050b5d6f","isTrial":true,"version":"1.2.7","branch":"master","url":"https://github.com/UniversalDevicesInc/ring.git"},{"price":9,"edition":"Standard","id":"0c168f43-66dd-4894-9ecc-afdc12b375b1","isPerpetual":true,"version":"1.2.7","branch":"master","url":"https://github.com/UniversalDevicesInc/ring.git"}],"eisy":true,"devPath":"null","uuid":"bde44191-474a-49f9-8dc8-495c751f958c","devMode":false,"ts_updated":"1762887194","from_store":"Beta"},{"docs":"http://github.com/sejgit/udi-mqtt-pg3x/blob/main/POLYGLOT_CONFIG.md","longPoll":"600","executable":"mqtt-poly.py","status":"active","name":"mqtt-poly","language":"python3","devUser":"admin","isyAccess":false,"developer":"stephenearljenkins@me.com","ip_added":"104.28.104.66","version_na":"null","nsInfoPoll":"0","profile_version":"0.50.0","logLevel":"INFO","ts_added":"1713113974","shortPoll":"60","author":"headrom","discover":true,"fileUpload":false,"prem":true,"customParams":"{\n\"devlist\":\" \"\n}","desc":"depreciated, use MQTT non-production","polisy":true,"license":"http://github.com/sejgit/udi-mqtt-pg3x/blob/main/LICENSE","changelog":"VERSION = '0.50.0'\n\n\"\"\"\n0.50.0\nDONE refactor Controller/Nodes for Pythonic & commenting\nDONE add user defined default status_prefix & cmd_prefix\nDONE add numofnodes\nDONE add MQDroplet device\n\n0.40.3\nDONE: fixed typos in POLYGLOT_CONFIG.md\nSTARTED: Organize device types according to Tasmota, Sensor etc.\nTODO: Reorganize sample devfile for clarity and comments\n\n0.40.2\nDONE README.md clean-up\nDONE POLYGLOT_CONFIG.md clean-up\n0.40.1\nDONE s31 displays in program\n0.40.0\nDONE change numbering to allow for branch management\nDONE raw fix docs & allow int in addition to str\nDONE find topic by topic if no device_id find\nDONE:discover button updates nodes and MQTT subscriptions\nDONE config.md fixes\nDONE status for switch device available in programs\nDONE internal: improve logging for debug\n","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"9bed6446-a7c6-4e67-aa02-fc8eee738429","isPerpetual":true,"version":"0.50.0","branch":"main","url":"https://github.com/sejgit/udi-mqtt-pg3x"}],"eisy":true,"devPath":"/usr/home/admin/polyglot/nodeservers/udi-mqtt-pg3x","uuid":"bcde0eed-26a5-431b-ad36-a92eda9465df","devMode":false,"ts_updated":"1769999907","from_store":"Beta"},{"docs":"https://github.com/UniversalDevicesInc-PG3/udi-poly-kasa/blob/master/README.md","longPoll":"240","executable":"kasa-poly.py","readme":"https://github.com/UniversalDevicesInc-PG3/udi-poly-kasa/blob/beta/README.md","status":"active","oauth":"null","devd":"null","name":"Kasa","language":"python3","devUser":"null","isyAccess":false,"developer":"jimsearle@gmail.com","ip_added":"70.181.79.77","version_na":"null","nsInfoPoll":"0","profile_version":"3.3.23","logLevel":"WARNING","ts_added":"1701369506","shortPoll":"30","author":"Jimbo.Automates","persist_folder":"null","discover":true,"fileUpload":false,"prem":true,"customParams":"null","nsdata":"null","desc":"TP-Link Kasa Node Server","polisy":true,"license":"https://github.com/UniversalDevicesInc-PG3/udi-poly-kasa/blob/master/LICENSE","changelog":"https://github.com/UniversalDevicesInc-PG3/udi-poly-kasa/blob/beta/CHANGELOG.md","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"month","price":0,"recurring":"1","edition":"Free","id":"42bd2b21-54dc-40b4-b8b1-9c95df79e1d9","isTrial":true,"version":"3.3.30","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/Kasa-beta-3.3.30.zip"},{"price":30,"edition":"Standard","id":"4b3754d8-1092-45a5-8f69-e1c9dccf66ea","isPerpetual":true,"version":"3.3.30","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/Kasa-beta-3.3.30.zip"}],"eisy":true,"devPath":"null","uuid":"47434058-cf83-4ad5-b7ed-c0faa511fe60","devMode":false,"ts_updated":"1783624421","from_store":"Production"},{"docs":"WIP","longPoll":"600","executable":"matter.py","readme":"# Matter server controller plugin (c) 2025 Universal Devices\n\nThe Matter server controller plugin serves as a front end to the eisy matter bridge service. The matter bridge service allows you to expose your eisy as a bridge within the matter ecosystem.\n\nThe current version allows you to expose your insteon nodes as matter devices to other matter-enabled hubs such as Google Home or Apple Home.\n\nFuture versions of the matter bridge service will extend support for additional node types.\n\n## Installation\nMake sure your eisy is running the latest release by running upgrade packages in the admin console.\n\n## Requirements\n\n1. eisy with the latest release. \n2. PG3x with the latest release.\n\n# Release Notes\n\n1.1.0 - Initial Release.","status":"active","name":"iox-matter","language":"python3","devUser":"admin","isyAccess":false,"developer":"pmouli@mac.com","ip_added":"24.91.249.167","version_na":"null","nsInfoPoll":"0","profile_version":"1.3.0","logLevel":"INFO","ts_added":"1739981803","shortPoll":"60","author":"pradpoly","persist_folder":"config","discover":false,"fileUpload":true,"prem":true,"nsdata":"i*IZI<I3)BPT_hlV)*;8ZiqsZ/r(LI","desc":"Controller for eisy matter bridge service.","polisy":false,"license":"MIT","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"month","price":0,"recurring":6,"edition":"Standard","id":"bda318b7-2bd7-47e1-a788-50c24c48979b","isTrial":true,"version":"1.3.0","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/matter.tar.gz"}],"eisy":true,"uuid":"d193c79a-dcb1-427c-aabf-3efd5feb8f27","devMode":false,"ts_updated":"1757345715","from_store":"Beta"},{"docs":"https://github.com/jimboca/udi-poly-homekit/blob/main/README.md","longPoll":"600","executable":"homekit-poly.py","readme":"<a href=\"https://github.com/jimboca/udi-poly-homekit-hub/blob/beta/README.md\">README</a>\n","status":"active","name":"HomeKitHub","language":"python3","devUser":"admin","isyAccess":false,"developer":"jimsearle@gmail.com","ip_added":"68.224.233.143","version_na":"null","nsInfoPoll":"0","profile_version":"0.2.1","logLevel":"DEBUG","ts_added":"1782420532","shortPoll":"60","author":"JimBo.Automates","persist_folder":"persistent","discover":true,"fileUpload":false,"prem":true,"desc":"Polyglot PG3x Node Server: HomeKit Accessory Protocol (HAP) controller hub with a local WebSocket & MQTT API for other Node Servers (e.g. udi-poly-ecobee in Local mode).  Version 2.0.0 Professional adds creating generic devices Thermostat, Bulb, Switch, Plug... directly.","polisy":true,"license":"https://github.com/jimboca/udi-poly-homekit/blob/main/LICENSE","changelog":"<a href=\"https://github.com/jimboca/udi-poly-homekit-hub/blob/beta/CHANGELOG.md\">CHANGELOG</a>\n","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"day","price":0,"recurring":14,"edition":"Standard","id":"58ddce45-a6a6-455e-91b8-84e43349624e","isTrial":true,"version":"2.0.16","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/HomeKitHub-beta-2.0.16.zip"},{"recurringPeriod":"day","price":0,"recurring":14,"edition":"Professional","id":"bee6b32f-112c-45b7-b659-23ddc9426f9d","isTrial":true,"version":"2.0.16","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/HomeKitHub-beta-2.0.16.zip"}],"eisy":true,"devPath":"/home/admin/dev/pg3/plugins/udi-poly-homekit","uuid":"87acf399-dbb6-4b90-ac6e-03cbff07f379","devMode":false,"ts_updated":"1783877651","from_store":"Beta"},{"docs":"https://github.com/sejgit/udi-hunterdouglas-pg3/blob/master/README.md","longPoll":"600","executable":"hunterdouglas-poly.py","status":"active","name":"HunterDouglas","language":"python3","devUser":"admin","isyAccess":false,"developer":"stephenearljenkins@me.com","ip_added":"104.28.104.66","version_na":"null","nsInfoPoll":"0","profile_version":"1.13.5","logLevel":"INFO","ts_added":"1715914073","shortPoll":"60","author":"headrom","persist_folder":"/usr/home/admin/polyglot/nodeservers/udi-hunterdouglas-pg3","discover":true,"fileUpload":false,"prem":true,"customParams":"{\"gatewayip\": \"powerview-g3.local\"}","desc":"Hunter Douglas Shades integration.  Works with Generation 2 or 3 gateways & blinds.","polisy":true,"license":"https://github.com/sejgit/udi-hunterdouglas-pg3/blob/master/LICENSE","changelog":"VERSION = \"1.13.5\"\n\"\"\"\n1.13.5\nDONE sync versionHistory.md with hunterdouglas-poly.py; older history in versionHistory.md only\nDONE fix ready_event poll checks (Controller, Shade, Scene)\nDONE fix updateAllFromServer throttling and in-progress guard\nDONE fix parameterHandler startup flag after checkParams\nDONE replace eval() with json/ast parsing for gatewayip list\nDONE accept gateway hostnames in addition to IP addresses\nDONE thread-safe stale gateway event cleanup\nDONE reset controller event_polling_in on thread exit\nDONE add HTTP GET timeout to match PUT\nDONE G3 shade discovery sets roomId and default batteryStatus\nDONE Shade updateData null guards for missing shade data\nDONE fix battery-alert event batteryLevel key handling\nDONE fix Scene Gen2 active check (generation not gateway IP)\nDONE safe scene-deactivated remove from sceneIdsActive\nDONE consolidate PowerView URL constants into utils/urls.py\nDONE consolidate gateway event lookup helpers in utils/gateway_events.py\nDONE shared start_event_poll_thread helper for node event polling\nDONE fix start_event_poll_thread when called from Controller\nDONE get_gateway_event wait timeout so pollers cannot block indefinitely\nDONE SSE Not Found handling restarts stream without stopping node pollers\nDONE G2 updateAllFromServerG2 fails if rooms/shades/scenes fetch fails\n\n1.13.4\nDONE package updates \"dependabot\"\n\n1.13.3\nDONE package updates \"dependabot\"\nDONE fix typo, crash on batteryLevel event\nDONE fix timeout, drop every 300s timeout\n\n1.13.2\nDONE requirements.txt changes\nDONE comments improvements\nDONE testing additions\n\n1.13.1\nDONE refactor controller discovery, put, get, goodip functions\nDONE refactor controller startup, config, params, naming, logging\nDONE refactor cmdSetPos\n\n1.13.0\nDONE polling rewrite, controller: shortPoll=G2 poll, heartbeat for all, re-start G3 events, longPoll=G3 poll\nDONE polling rewrite, shade: shortPoll: re-start events if stopped, longPoll: not-used\nDONE polling rewrite, scene: shortPoll: re-start events if stopped, manually clear G2 scene activate, longPoll: not-used\nNOTE default & recommend setting shortPoll=60, longPoll=600\nDONE major re-write of function and Event routines\nDONE add number of nodes managed by controller to controller node\n","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"532cd6c3-c15a-419d-98a7-55ee5cf9fea4","isPerpetual":true,"version":"1.13.5","branch":"master","url":"https://github.com/sejgit/udi-hunterdouglas-pg3"}],"eisy":true,"devPath":"/usr/home/admin/polyglot/nodeservers/udi-hunterdouglas-pg3","uuid":"28a10a63-d138-4fdc-b983-dd3982b3d893","devMode":false,"ts_updated":"1781999840","from_store":"Production"},{"docs":"https://github.com/UniversalDevicesInc-PG3/udi-poly-ELK/blob/master/README.md","longPoll":"240","executable":"elk-poly.py","readme":"null","status":"active","oauth":"null","url":"http://pg3store.isy.io/v2/nodeservers/beta/ELK.zip","devd":"null","name":"ELK","language":"python3","isyAccess":false,"developer":"jimsearle@gmail.com","ip_added":"70.181.79.77","version_na":"3.4.1","nsInfoPoll":"0","profile_version":"3.4.1","logLevel":"DEBUG","ts_added":"1659070518","shortPoll":"30","author":"Jimbo.Automates","version":"3.4.1","persist_folder":"null","discover":true,"prem":true,"customParams":"{\n  \"temperature_unit\": \"F\",\n  \"host\": \"\",\n  \"user_code\": \"\",\n  \"areas\": \"1\",\n  \"outputs\": \"\",\n  \"change_node_names\": \"false\"\n}\n","nsdata":"null","desc":"ELK Alarm System Nodeserver","polisy":true,"license":"https://github.com/UniversalDevicesInc-PG3/udi-poly-ELK/blob/master/LICENSE","changelog":"null","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"month","price":0,"recurring":"1","edition":"Free","id":"867a94c2-1f3a-4449-9cf4-2cbcc6b4401b","isTrial":true,"version":"3.10.0","branch":null,"url":"https://pg3store.isy.io/v2/nodeservers/beta/ELK.zip"},{"price":30,"edition":"Free","id":"d09911d4-f097-4fb1-806c-7ab73e98375a","isPerpetual":true,"version":"3.4.1","branch":null,"url":"http://pg3store.isy.io/v2/nodeservers/beta/ELK.zip"}],"eisy":true,"uuid":"41497e63-17c1-42c6-ae65-90d44dbb6343","ts_updated":"1693857364","from_store":"Production"},{"longPoll":"600","docs":"POLYGLOT_CONFIG.md","executable":"linez.py","status":"active","name":"Linez","language":"python3","devUser":"admin","isyAccess":false,"developer":"oztronix@comcast.net","ip_added":"76.20.55.237","nsInfoPoll":"0","profile_version":"1.1.6","logLevel":"INFO","ts_added":"1731505308","shortPoll":"10","author":"TJF1960","discover":false,"fileUpload":false,"prem":true,"desc":"The Linez Power Monitors were produced by the now defunct JLM Energy based in Rocklin California and were used, 1 per panel, mostly in residential, to monitor building, solar and grid usage.\n","polisy":true,"license":"LICENSE","authorize":false,"purchaseOptions":[{"price":0,"edition":"Free","id":"2871bd07-be98-4743-a3a5-8de3e8ccb449","isPerpetual":true,"version":"1.1.6","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/linez.zip"}],"install":"install.sh","eisy":true,"uuid":"2d4c07e8-de5e-4257-9062-4e7d5f9d44ae","devMode":false,"ts_updated":"1731505308","from_store":"Beta"},{"docs":"https://github.com/UniversalDevicesInc-PG3/udi-poly-ecobee/blob/master/README.md","longPoll":"180","executable":"ecobee-poly.py","readme":"https://github.com/UniversalDevicesInc-PG3/udi-poly-ecobee/blob/beta/README.md","status":"active","oauth":"null","url":"http://pg3store.isy.io/v2/nodeservers/beta/Ecobee.zip","devd":"null","name":"Ecobee","language":"python3","devUser":"null","isyAccess":false,"developer":"jimsearle@gmail.com","ip_added":"70.181.79.77","version_na":"3.1.0","nsInfoPoll":"0","profile_version":"4.1.1","logLevel":"DEBUG","ts_added":"1658623547","shortPoll":"60","author":"Jimbo.Automates","version":"3.1.0","persist_folder":"null","discover":true,"fileUpload":false,"prem":true,"customParams":"null","nsdata":"{\n  \"api_key\": \"eeRigKDRCmR0zaNvLGABRG4eLpEc7r34\",\n  \"api_key_pin\": \"2aFymqxQsvp6z7MHQFPqT89NQwC0Bu4K\"\n}","desc":"Ecobee Nodeserver with API, or Homekit backends.  (API is currently blocked by Ecobee)","polisy":true,"license":"https://github.com/UniversalDevicesInc-PG3/udi-poly-ecobee/blob/master/LICENSE","changelog":"https://github.com/UniversalDevicesInc-PG3/udi-poly-ecobee/blob/beta/CHANGELOG.md","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"month","price":0,"recurring":"1","edition":"Free","id":"36cbe6d9-7db0-4dd3-a03a-8308843f10ce","isTrial":true,"version":"4.1.10","branch":null,"url":"https://pg3store.isy.io/v2/nodeservers/beta/Ecobee-beta-4.1.10.zip"}],"eisy":true,"devPath":"null","uuid":"ba7aea17-9731-4515-bc0d-f2efa5a338df","devMode":false,"ts_updated":"1782257117","from_store":"Production"},{"docs":"https://github.com/AZTurtle/SensorPushNS","longPoll":"3600","executable":"sensorpush.py","status":"active","oauth":"{\n  \"name\": \"SensorPushNS\",\n  \"client_id\": \"SensorPushNS\",\n  \"client_secret\": \"Y74zxcf2wi9ytMfMJFUrC2c3dkSyzzrB4TDFDf3J\",\n  \"auth_endpoint\": \"https://cloud.sensorpush.com/prod/\",\n  \"token_endpoint\": \"https://api.sensorpush.com/api/v1/oauth/token/\"\n}","name":"SensorPushNS","language":"python3","devUser":"null","isyAccess":false,"developer":"jamesbennett@azturtle.com","ip_added":"70.176.155.96","version_na":"null","nsInfoPoll":"0","profile_version":"0.0.4","logLevel":"CRITICAL","ts_added":"1691428738","shortPoll":"60","author":"AZTurtle","discover":false,"fileUpload":false,"prem":true,"customParams":"{\"Number of Samples\":\"1\"}","desc":"A node server for providing integration with SensorPush G1 WiFi Gateways and their associated sensors.\nUses OAuth2 for authentication with your SensorPush account and should not require any more interaction.\nStill in early developement, looking for feedback!\n","polisy":false,"license":"https://raw.githubusercontent.com/UniversalDevicesInc/pg3-python-interface/master/LICENSE","authorize":true,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"day","price":0,"recurring":15,"edition":"Free","id":"555dd314-4aca-4f20-ac3d-d287cc65fb47","isTrial":true,"version":"0.0.4","branch":"master","url":"https://github.com/AZTurtle/SensorPushNS"},{"price":10,"edition":"Standard","id":"bbb868a9-49b9-4036-928e-f11ea5177786","isPerpetual":true,"version":"0.0.4","branch":"master","url":"https://github.com/AZTurtle/SensorPushNS"}],"eisy":true,"devPath":"null","uuid":"f29e05ce-d055-4200-b449-b161c021ac0d","devMode":false,"ts_updated":"1779662974","from_store":"Production"},{"docs":"https://github.com/UniversalDevicesInc-PG3/udi-poly-Camect/blob/main/README.md","longPoll":"300","executable":"camect-poly.py","readme":"https://github.com/UniversalDevicesInc-PG3/udi-poly-Camect/blob/beta/README.md","status":"active","oauth":"null","devd":"null","name":"Camect","language":"python3","devUser":"null","isyAccess":false,"developer":"jimsearle@gmail.com","ip_added":"72.219.97.125","version_na":"null","nsInfoPoll":"0","profile_version":"3.0.9","logLevel":"DEBUG","ts_added":"1745793277","shortPoll":"30","author":"Jimbo.Automates","persist_folder":"null","discover":true,"fileUpload":false,"prem":true,"customParams":"null","nsdata":"{\n    \"user\": \"\",\n    \"password\": \"\"\n},\n","desc":"Camect UDI Polyglot V3 Nodeserver","polisy":true,"license":"TBD","changelog":"https://github.com/UniversalDevicesInc-PG3/udi-poly-Camect/blob/beta/CHANGELOG.md","authorize":false,"install":"install.sh","purchaseOptions":[{"branch":"","id":"051247ca-6275-4a98-b9a5-9f75752ce32f","price":25,"edition":"Standard","version":"3.1.3","isPerpetual":true,"url":"https://pg3store.isy.io/v2/nodeservers/beta/Camect-beta-3.1.3.zip"},{"branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/Camect-beta-3.1.3.zip","price":0,"edition":"Free","isTrial":true,"id":"d9d25e7e-a453-4a34-be07-22de0d51c43b","version":"3.1.3","recurring":1,"recurringPeriod":"month"}],"eisy":true,"devPath":"null","uuid":"76331b95-1734-4dd9-b40f-d9819f6b5e6f","devMode":false,"ts_updated":"1785098551","from_store":"Production"},{"docs":"https://github.com/sjpbailey/udi-rheem-poly-master-v3/blob/master/README.md","longPoll":"120","executable":"rheem-poly.py","readme":"null","status":"active","oauth":"null","devd":"null","name":"Rheem_Tankless","language":"python3","devUser":"null","isyAccess":false,"developer":"sjpbailey@comcast.net","ip_added":"98.41.236.33","version_na":"1.0.0","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1679194860","shortPoll":"60","author":"Steve Bailey","version":"1.0.0","persist_folder":"null","discover":false,"prem":true,"customParams":"{\n\t\t\"email\": \"joe@ddd.net\",\n\t\t\"password\": \"go with your password\"\n}","nsdata":"null","desc":"This Node Server is for a single Rheem Tankless GAS Water Heater for communications to the Econet API.\nFuture will include Multiple site heaters, electric, heat pump water heaters.\nThis node server is linked to the Rheem Econet API. It is for One water heater only and was tested on a Tankless Gas water heater.\nCurrently it shows its mode 'GAS' and your setpoint that you can now adjust, you can also remotely power the unit down.\n\nConfiguration: is your email address and your password for Econet.","polisy":true,"license":"https://github.com/sjpbailey/udi-rheem-poly-master-v3/blob/master/LICENSE","changelog":"Oct 28, 2023:\n1. Added Setpoint. \n2. Added Unoccupied/Occupied mode, Powers Off Device.\n3. Need to buy Econet adapter for second water heater!\n4. Need to Add Electric and Heat pump models.","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Free","id":"1bbc5563-b660-47fb-a6d4-37263f39991a","isPerpetual":true,"version":"1.0.1","branch":"master","url":"https://github.com/sjpbailey/udi-rheem-poly-master-v3"}],"eisy":true,"devPath":"null","uuid":"6634a506-0bd0-4f94-acf0-85aa276f6a8b","devMode":false,"ts_updated":"1704115451","from_store":"Local"},{"docs":"https://github.com/sjpbailey/udi-poly-gpm-scruggs-python/blob/main/README.md","longPoll":"600","executable":"GPMController.py","status":"active","name":"GPM_Meter","language":"python3","devUser":"admin","isyAccess":false,"developer":"sjpbailey@comcast.net","ip_added":"98.41.236.33","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"INFO","ts_added":"1703023231","shortPoll":"60","author":"Bailey","discover":false,"prem":true,"customParams":"{\n\t\t\"ip\": \"0.0.0.0\"\n\t}","desc":"This Node Server Plugin is for Jimmy Scruggs, \nIt inputs a Hall Effect GPM sensor into an Arduino UNO running Sketch \"flow_GPM.ino\". From there it is connected to the USB port of the host Server Raspberry PI. There the GPM program sends out the GPM via UDP Socket to the Eisy Static IP address. The RPI is running \"talktoarduino.py\" this sends it to your client machine IP address set to the Eisy Static IP address. The RPI runs \"talktoarduino.py\" program and must be started with auto start on the RPI. \n          !!The Server IP address has to be set the same as your Eisy or Polisy Static IP Address!!","polisy":true,"license":"https://github.com/sjpbailey/udi-poly-gpm-scruggs-python/blob/main/LICENSE","changelog":"December 20, 2023\n1. Added first round of Arduino and RPi programs to the Plugin.\nJanuary 16, 2024\n1. Revised C for Arduino","authorize":false,"install":"install.sh","purchaseOptions":[{"price":0,"edition":"Standard","id":"ebedd10e-bbd2-4a33-a31b-aefff13e79e0","isPerpetual":true,"version":"1.0.0","branch":"main","url":"https://github.com/sjpbailey/udi-poly-gpm-scruggs-python"}],"eisy":true,"uuid":"553b0e94-b58d-480b-81a9-434646e46fd7","devMode":false,"ts_updated":"1705461262","from_store":"Beta"},{"docs":"https://github.com/BME-nodeservers/docs/blob/master/udi-meross-poly.md","longPoll":"600","executable":"meross.py","readme":"Copyright(C) 2025 Robert Paauwe\n\nThis plug-in integrates Meross (https://www.meross.com) smart home\ndevices. Meross devices are WiFi based devices that are typically\nmanaged using the Meross mobile App and communicate via a \nproprietary API with the Meross servers.\n\nSince the API is proprietary and not publicly documented, this \nplug-in is based on various efforts to reverse engineer the protocol\nand as such, may break if Meross makes changes to the API.\n\nWhile developing this plug-in I've experienced significant issues\nsimply getting the devices to work.  It took many attempts to\npair/provision the MSS115 plugs with the mobile app. The SmartHub\ncontinues to go off-line frequently and fails to accept commands \nbeing sent to it.  At this point, I can't recommend purchasing \nMeross devices based on the existence of this plug-in.\n\nSupported devices:\n<ul>\n  <li>MSS115   (Smart plug mini)\n  <li>MSH300HK (SmartHub)\n  <li>MS200    (SmartHub + door/window sensor)\n  <li>MSS110 (Smart Outlet)\n  <li>MSS620 (indoor/outdoor outlet)\n  <li>MSS510 (non-dimming switch)\n  <li>MSS550 (non-dimming 3-way switch)\n  <li>MSS650 (dimming switch)\n  <li>MSS570 (dimming 3-way switch)\n  <li>MSL120 (LED RGB bulb)\n</ul>\n\nIf you have devices that are not on the above supported device list,\nplease note that it's typically not a lot of effort to add support \nfor other devices.  If you run the plug-in, it will output the\ninformation I need to add support for unknown device types in the\nlog.  Sending that log to me should provide enough information for \nme to add support for these devices into the plug-in.\n\nTBD support:\n<ul>\n  <li>MSS210 (Smart plug)\n  <li>MSS305 (Smart plug with power consumption)\n  <li>MSS310 (Smart plug with power consumption)\n  <li>MSS310h (Smart plug with power consumption)\n  <li>MSS425E/MSS425F (Smart strip)\n  <li>MSS530H (Wall-mount switches)\n  <li>MSG100 (Garage opener)\n  <li>MSG200 (3-doors Garage opener)\n  <li>MSH300 (Smart hub + valve thermostat)\n  <li>MS100 (Smart hub + temperature/humidity sensor)\n  <li>MS100F (temperature/humidity sensor)\n  <li>MSS710\n  <li>MSXH0 (Smart Humidifier)\n</ul>\n\n","status":"active","oauth":"null","devd":"null","name":"Meross","language":"python3","devUser":"admin","isyAccess":false,"developer":"bpaauwe@bobsplace.com","ip_added":"73.48.241.215","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"DEBUG","ts_added":"1743272883","shortPoll":"60","author":"Bob Paauwe","persist_folder":"null","discover":true,"fileUpload":false,"prem":true,"customParams":"{\n\"Email\": \"\",\n\"Password\": \"\",\n\"Locale\": \"US\"\n}","nsdata":"null","desc":"Support for Meross smart home devices (https://www.meross.com)","polisy":true,"license":"https://raw.githubusercontent.com/BME-nodeservers/docs/refs/heads/master/LICENSE","changelog":"1.0.9 - fix bug in RGB bulbs, fix bug in Dimmer switches\n1.0.8 - re-authenticate if token expires.\n1.0.7 - fix  bug in initialize_node that was crashing startup\n1.0.6 - Initialize nodes from initial query, add some debug info, fix bug in bulb polling, fix but in setting outlet channel\n1.0.5 - Sixth beta release\n1.0.4 - Fifth beta release\n1.0.3 - Fourth beta release\n1.0.2 - Third beta release\n1.0.1 - Second beta release\n1.0.0  - Initial beta release","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"day","price":0,"recurring":30,"edition":"Standard","id":"682752e0-bed9-4518-88b5-a676bb7840a7","isTrial":true,"version":"1.0.9","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/udi-meross-poly.zip"},{"price":10,"edition":"Standard","id":"94bfffb5-ed5c-4c01-ab07-c77ab91cad8c","isPerpetual":true,"version":"1.0.9","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/udi-meross-poly.zip"}],"eisy":true,"devPath":"null","uuid":"0697b47d-3e6a-421c-91f4-99e913978eed","devMode":false,"ts_updated":"1761436142","from_store":"Local"},{"docs":"NA","longPoll":"600","executable":"moenflo-poly.py","readme":"https://github.com/jimboca/udi-poly-moenflo/blob/beta/README.md","status":"active","name":"MoenFlo","language":"python3","devUser":"admin","isyAccess":false,"developer":"jimsearle@gmail.com","ip_added":"68.224.233.143","version_na":"null","nsInfoPoll":"0","profile_version":"1.0.0","logLevel":"DEBUG","ts_added":"1782411513","shortPoll":"60","author":"JimBo.Automates","discover":false,"fileUpload":false,"prem":true,"desc":"Plugin for Moen Flow Devices","polisy":true,"license":"NA","changelog":"https://github.com/jimboca/udi-poly-moenflo/blob/beta/CHANGELOG.md","authorize":false,"install":"install.sh","purchaseOptions":[{"recurringPeriod":"day","price":0,"recurring":14,"edition":"Free","id":"e9feb3c1-1073-4c79-bfc7-b02829705438","isTrial":true,"version":"1.0.2","branch":"","url":"https://pg3store.isy.io/v2/nodeservers/beta/MoenFlo-beta-1.0.2.zip"}],"eisy":true,"devPath":"/home/admin/dev/pg3/plugins/udi-poly-moenflo","uuid":"f58eb1a5-fb93-4ff5-b910-2b18d5b93a55","devMode":false,"ts_updated":"1783563608","from_store":"Local"}]