{"id":23480466,"url":"https://github.com/qtoggle/qtoggleserver-thingspeak","last_synced_at":"2025-04-13T19:46:37.105Z","repository":{"id":99675815,"uuid":"238300515","full_name":"qtoggle/qtoggleserver-thingspeak","owner":"qtoggle","description":"Send values from qToggleServer to ThingSpeak","archived":false,"fork":false,"pushed_at":"2022-12-29T11:17:03.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-16T08:28:05.228Z","etag":null,"topics":["qtoggle","qtoggleserver","thingspeak"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qtoggle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-04T20:34:04.000Z","updated_at":"2022-09-30T08:43:04.000Z","dependencies_parsed_at":"2023-09-10T08:15:13.149Z","dependency_job_id":null,"html_url":"https://github.com/qtoggle/qtoggleserver-thingspeak","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qtoggle%2Fqtoggleserver-thingspeak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qtoggle%2Fqtoggleserver-thingspeak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qtoggle%2Fqtoggleserver-thingspeak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qtoggle%2Fqtoggleserver-thingspeak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qtoggle","download_url":"https://codeload.github.com/qtoggle/qtoggleserver-thingspeak/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248772990,"owners_count":21159385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["qtoggle","qtoggleserver","thingspeak"],"created_at":"2024-12-24T20:13:28.979Z","updated_at":"2025-04-13T19:46:37.099Z","avatar_url":"https://github.com/qtoggle.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## About\n\nThis is an addon for [qToggleServer](https://github.com/qtoggle/qtoggleserver).\n\nIt allows sending values from qToggleServer to [ThingSpeak](https://thingspeak.com/).\n\n\n## Install\n\nInstall using pip:\n\n    pip install qtoggleserver-thingspeak\n\n\n## Usage\n\nYou'll need to register your account on [ThingSpeak](https://thingspeak.com/), if you haven't done it already. After\ncreating a new channel, you'll find a *write API key*; copy it and use it in the configuration below.\n\n\n##### `qtoggleserver.conf:`\n``` ini\n...\nevent_handlers = [\n    ...\n    {\n        driver = \"qtoggleserver.thingspeak.ThingSpeakEventHandler\"\n        api_key = \"FJ3U5TL443012EF7\"\n        fields = {\n            \"first_port_id\" = 1     # association between port id and ThingSpeak field number\n            \"second_port_id\" = 2\n        }\n        min_period = 5              # don't specify both min_period and period!\n        period = 10\n        ...\n    }\n    ...\n]\n...\n```\n\nThe `fields` option associates a port to one of the 8 available ThinkSpeak channel fields. The channel is indirectly\nidentified by the API key, so there's no direct reference to its id in the configuration. Make sure you're using double\nquotes around port ids in `fields` mapping; ports containing dots in their id will break the configuration otherwise.\n\nThe optional `min_period` field, if specified, will gather samples from given ports during a period of specified\nseconds. The following value change event will simply push gathered samples, together, to ThingSpeak. Only values\nthat have changed during this time window will be pushed.\n\nThe optional `period` field, if specified, indicates a fixed sampling period, in seconds. Given ports will be sampled\nwith regular cadence. The last port value at the moment of sampling will be sent to ThingSpeak.\n\nYou must specify one and only one of `min_period` and `period`, depending on the desired behavior.  \n\nFor advanced event filtering, see\n[Filter Event Handlers](https://github.com/qtoggle/qtoggleserver/wiki/Filter-Event-Handlers).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqtoggle%2Fqtoggleserver-thingspeak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqtoggle%2Fqtoggleserver-thingspeak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqtoggle%2Fqtoggleserver-thingspeak/lists"}