{"adoption": {"forks": 309, "observed_at": "2026-08-28T04:04:35.606445+00:00", "stars": 1390}, "canonical_url": "https://ross.abutalabs.com/products/emqx-neuron", "card": {"archived": false, "artifact_type": "service", "description": "Open source industrial connectivity server", "domain": ["iot"], "enriched": true, "function": ["iot", "message-queue", "streaming", "middleware"], "health_score": 99, "homepage": "https://www.emqx.com/en/products/emqx-neuron", "language": "C", "license": "LGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["emqx/neuron"], "name": "emqx/neuron", "platform": ["cross-platform"], "pushed_at": "2026-08-21T03:46:38+00:00", "repo": "emqx/neuron", "stars": 1390, "tags": ["industrial-iot", "modbus", "opcua", "plc", "mqtt-bridge", "edge-computing", "protocol-converter", "sparkplug-b", "iiot-gateway", "industrial-automation", "automation", "messaging", "linux", "docker", "arm", "x86"], "topics": ["iot", "plc", "c", "mqtt", "modbus", "opcua", "siemens-s7", "omron", "mitsubishi", "dtu", "industrial-iot", "manufacturing", "iot-middleware", "industry-40", "iiot", "iot-edge"], "urls": [], "use_cases": ["connect PLCs to an MQTT broker", "convert Modbus data to MQTT", "collect sensor data from factory floor", "bridge industrial protocols to cloud platforms", "stream SCADA data to MES or ERP systems", "run edge data processing on industrial gateways", "integrate Siemens S7 or OPC UA devices with IIoT platforms"], "what_it_is": "Neuron is an open-source industrial IoT connectivity server written in C that bridges factory-floor devices (PLCs, sensors, meters) with modern data platforms. It supports many industrial protocols such as Modbus, OPC UA, and Ethernet/IP, converts them to MQTT, and offers lightweight edge deployment with pluggable, hot-swappable modules.", "when_to_avoid": ["you need a full-featured web dashboard or extended protocol set only available in the commercial NeuronEX edition", "you need cloud-native connectors to AWS, Azure, or Google Cloud out of the box", "your use case is general-purpose IoT without industrial protocols"], "when_to_choose": ["you need to connect heterogeneous industrial devices and protocols to MQTT", "you want a lightweight edge gateway under 10MB for ARM/x86/RISC-V hardware", "you need hot-pluggable protocol adapters and northbound Sparkplug B integration", "you want open-source core with optional commercial support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/emqx-neuron", "repo": "emqx/neuron", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:39:38.629782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "18cb448235b677aefb2ca9f39454fe803db0dbfce5ff89cd766e66d563a9e36a", "fetched_at": "2026-08-28T04:04:35.606445+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emqx/neuron"}, {"content_hash": "1d270677b25d716ad71fb05d5cfc0dead83dae4080a10cb2fd945dfcd62962ca", "fetched_at": "2026-08-29T11:54:56.172567+00:00", "kind": "homepage", "missing": false, "url": "https://www.emqx.com/en/products/emqx-neuron"}, {"content_hash": "58afbea90b66066d7974297e1d819e2064cbec3feb6ba48e559c9cf0c857168d", "fetched_at": "2026-08-29T11:54:56.178985+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/rules.html"}, {"content_hash": "d00d0a933c193b1fb764a6728a08696d915ef78dd7033bfd3641ef51326e32e5", "fetched_at": "2026-08-29T11:54:56.182683+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/sink/sink.html"}, {"content_hash": "000f306b39c1bfd1120156453bdc2f1909cc6648a1b1970a1f1991719f718b6f", "fetched_at": "2026-08-29T11:54:56.186673+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/application/nodered.html"}, {"content_hash": "51628e92a60e1485757aa77ff7b27195fb886dc918291b050fea590c2de0886c", "fetched_at": "2026-08-29T11:54:56.189541+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en"}, {"content_hash": "a997c98e4922fa39e370856cee598836aaf5f34f0978111430bc326b88e6e887", "fetched_at": "2026-08-29T11:54:56.192295+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt"}, {"content_hash": "c7b8e517fbb4b3bbcd30e82499c918382c4d23aa06a3451f21398e09165ee793", "fetched_at": "2026-08-29T11:54:56.195417+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/about"}, {"content_hash": "2b07d8f79861bf2099f84666c6f8708cb36ee8d7f8584f11ab93393025e0497c", "fetched_at": "2026-08-29T11:54:56.175454+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/pricing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:39:38.629782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "18cb448235b677aefb2ca9f39454fe803db0dbfce5ff89cd766e66d563a9e36a", "fetched_at": "2026-08-28T04:04:35.606445+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emqx/neuron"}, {"content_hash": "1d270677b25d716ad71fb05d5cfc0dead83dae4080a10cb2fd945dfcd62962ca", "fetched_at": "2026-08-29T11:54:56.172567+00:00", "kind": "homepage", "missing": false, "url": "https://www.emqx.com/en/products/emqx-neuron"}, {"content_hash": "58afbea90b66066d7974297e1d819e2064cbec3feb6ba48e559c9cf0c857168d", "fetched_at": "2026-08-29T11:54:56.178985+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/rules.html"}, {"content_hash": "d00d0a933c193b1fb764a6728a08696d915ef78dd7033bfd3641ef51326e32e5", "fetched_at": "2026-08-29T11:54:56.182683+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/sink/sink.html"}, {"content_hash": "000f306b39c1bfd1120156453bdc2f1909cc6648a1b1970a1f1991719f718b6f", "fetched_at": "2026-08-29T11:54:56.186673+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/application/nodered.html"}, {"content_hash": "51628e92a60e1485757aa77ff7b27195fb886dc918291b050fea590c2de0886c", "fetched_at": "2026-08-29T11:54:56.189541+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en"}, {"content_hash": "a997c98e4922fa39e370856cee598836aaf5f34f0978111430bc326b88e6e887", "fetched_at": "2026-08-29T11:54:56.192295+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt"}, {"content_hash": "c7b8e517fbb4b3bbcd30e82499c918382c4d23aa06a3451f21398e09165ee793", "fetched_at": "2026-08-29T11:54:56.195417+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/about"}, {"content_hash": "2b07d8f79861bf2099f84666c6f8708cb36ee8d7f8584f11ab93393025e0497c", "fetched_at": "2026-08-29T11:54:56.175454+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/pricing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:39:38.629782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "18cb448235b677aefb2ca9f39454fe803db0dbfce5ff89cd766e66d563a9e36a", "fetched_at": "2026-08-28T04:04:35.606445+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emqx/neuron"}, {"content_hash": "1d270677b25d716ad71fb05d5cfc0dead83dae4080a10cb2fd945dfcd62962ca", "fetched_at": "2026-08-29T11:54:56.172567+00:00", "kind": "homepage", "missing": false, "url": "https://www.emqx.com/en/products/emqx-neuron"}, {"content_hash": "58afbea90b66066d7974297e1d819e2064cbec3feb6ba48e559c9cf0c857168d", "fetched_at": "2026-08-29T11:54:56.178985+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/rules.html"}, {"content_hash": "d00d0a933c193b1fb764a6728a08696d915ef78dd7033bfd3641ef51326e32e5", "fetched_at": "2026-08-29T11:54:56.182683+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/sink/sink.html"}, {"content_hash": "000f306b39c1bfd1120156453bdc2f1909cc6648a1b1970a1f1991719f718b6f", "fetched_at": "2026-08-29T11:54:56.186673+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/application/nodered.html"}, {"content_hash": "51628e92a60e1485757aa77ff7b27195fb886dc918291b050fea590c2de0886c", "fetched_at": "2026-08-29T11:54:56.189541+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en"}, {"content_hash": "a997c98e4922fa39e370856cee598836aaf5f34f0978111430bc326b88e6e887", "fetched_at": "2026-08-29T11:54:56.192295+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt"}, {"content_hash": "c7b8e517fbb4b3bbcd30e82499c918382c4d23aa06a3451f21398e09165ee793", "fetched_at": "2026-08-29T11:54:56.195417+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/about"}, {"content_hash": "2b07d8f79861bf2099f84666c6f8708cb36ee8d7f8584f11ab93393025e0497c", "fetched_at": "2026-08-29T11:54:56.175454+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/pricing"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:39:38.629782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "18cb448235b677aefb2ca9f39454fe803db0dbfce5ff89cd766e66d563a9e36a", "fetched_at": "2026-08-28T04:04:35.606445+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emqx/neuron"}, {"content_hash": "1d270677b25d716ad71fb05d5cfc0dead83dae4080a10cb2fd945dfcd62962ca", "fetched_at": "2026-08-29T11:54:56.172567+00:00", "kind": "homepage", "missing": false, "url": "https://www.emqx.com/en/products/emqx-neuron"}, {"content_hash": "58afbea90b66066d7974297e1d819e2064cbec3feb6ba48e559c9cf0c857168d", "fetched_at": "2026-08-29T11:54:56.178985+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/rules.html"}, {"content_hash": "d00d0a933c193b1fb764a6728a08696d915ef78dd7033bfd3641ef51326e32e5", "fetched_at": "2026-08-29T11:54:56.182683+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/sink/sink.html"}, {"content_hash": "000f306b39c1bfd1120156453bdc2f1909cc6648a1b1970a1f1991719f718b6f", "fetched_at": "2026-08-29T11:54:56.186673+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/application/nodered.html"}, {"content_hash": "51628e92a60e1485757aa77ff7b27195fb886dc918291b050fea590c2de0886c", "fetched_at": "2026-08-29T11:54:56.189541+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en"}, {"content_hash": "a997c98e4922fa39e370856cee598836aaf5f34f0978111430bc326b88e6e887", "fetched_at": "2026-08-29T11:54:56.192295+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt"}, {"content_hash": "c7b8e517fbb4b3bbcd30e82499c918382c4d23aa06a3451f21398e09165ee793", "fetched_at": "2026-08-29T11:54:56.195417+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/about"}, {"content_hash": "2b07d8f79861bf2099f84666c6f8708cb36ee8d7f8584f11ab93393025e0497c", "fetched_at": "2026-08-29T11:54:56.175454+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/pricing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:39:38.629782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "18cb448235b677aefb2ca9f39454fe803db0dbfce5ff89cd766e66d563a9e36a", "fetched_at": "2026-08-28T04:04:35.606445+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emqx/neuron"}, {"content_hash": "1d270677b25d716ad71fb05d5cfc0dead83dae4080a10cb2fd945dfcd62962ca", "fetched_at": "2026-08-29T11:54:56.172567+00:00", "kind": "homepage", "missing": false, "url": "https://www.emqx.com/en/products/emqx-neuron"}, {"content_hash": "58afbea90b66066d7974297e1d819e2064cbec3feb6ba48e559c9cf0c857168d", "fetched_at": "2026-08-29T11:54:56.178985+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/rules.html"}, {"content_hash": "d00d0a933c193b1fb764a6728a08696d915ef78dd7033bfd3641ef51326e32e5", "fetched_at": "2026-08-29T11:54:56.182683+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/sink/sink.html"}, {"content_hash": "000f306b39c1bfd1120156453bdc2f1909cc6648a1b1970a1f1991719f718b6f", "fetched_at": "2026-08-29T11:54:56.186673+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/application/nodered.html"}, {"content_hash": "51628e92a60e1485757aa77ff7b27195fb886dc918291b050fea590c2de0886c", "fetched_at": "2026-08-29T11:54:56.189541+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en"}, {"content_hash": "a997c98e4922fa39e370856cee598836aaf5f34f0978111430bc326b88e6e887", "fetched_at": "2026-08-29T11:54:56.192295+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt"}, {"content_hash": "c7b8e517fbb4b3bbcd30e82499c918382c4d23aa06a3451f21398e09165ee793", "fetched_at": "2026-08-29T11:54:56.195417+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/about"}, {"content_hash": "2b07d8f79861bf2099f84666c6f8708cb36ee8d7f8584f11ab93393025e0497c", "fetched_at": "2026-08-29T11:54:56.175454+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/pricing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:39:38.629782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "18cb448235b677aefb2ca9f39454fe803db0dbfce5ff89cd766e66d563a9e36a", "fetched_at": "2026-08-28T04:04:35.606445+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emqx/neuron"}, {"content_hash": "1d270677b25d716ad71fb05d5cfc0dead83dae4080a10cb2fd945dfcd62962ca", "fetched_at": "2026-08-29T11:54:56.172567+00:00", "kind": "homepage", "missing": false, "url": "https://www.emqx.com/en/products/emqx-neuron"}, {"content_hash": "58afbea90b66066d7974297e1d819e2064cbec3feb6ba48e559c9cf0c857168d", "fetched_at": "2026-08-29T11:54:56.178985+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/rules.html"}, {"content_hash": "d00d0a933c193b1fb764a6728a08696d915ef78dd7033bfd3641ef51326e32e5", "fetched_at": "2026-08-29T11:54:56.182683+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/sink/sink.html"}, {"content_hash": "000f306b39c1bfd1120156453bdc2f1909cc6648a1b1970a1f1991719f718b6f", "fetched_at": "2026-08-29T11:54:56.186673+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/application/nodered.html"}, {"content_hash": "51628e92a60e1485757aa77ff7b27195fb886dc918291b050fea590c2de0886c", "fetched_at": "2026-08-29T11:54:56.189541+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en"}, {"content_hash": "a997c98e4922fa39e370856cee598836aaf5f34f0978111430bc326b88e6e887", "fetched_at": "2026-08-29T11:54:56.192295+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt"}, {"content_hash": "c7b8e517fbb4b3bbcd30e82499c918382c4d23aa06a3451f21398e09165ee793", "fetched_at": "2026-08-29T11:54:56.195417+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/about"}, {"content_hash": "2b07d8f79861bf2099f84666c6f8708cb36ee8d7f8584f11ab93393025e0497c", "fetched_at": "2026-08-29T11:54:56.175454+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/pricing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.606445+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:39:38.629782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "18cb448235b677aefb2ca9f39454fe803db0dbfce5ff89cd766e66d563a9e36a", "fetched_at": "2026-08-28T04:04:35.606445+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emqx/neuron"}, {"content_hash": "1d270677b25d716ad71fb05d5cfc0dead83dae4080a10cb2fd945dfcd62962ca", "fetched_at": "2026-08-29T11:54:56.172567+00:00", "kind": "homepage", "missing": false, "url": "https://www.emqx.com/en/products/emqx-neuron"}, {"content_hash": "58afbea90b66066d7974297e1d819e2064cbec3feb6ba48e559c9cf0c857168d", "fetched_at": "2026-08-29T11:54:56.178985+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/rules.html"}, {"content_hash": "d00d0a933c193b1fb764a6728a08696d915ef78dd7033bfd3641ef51326e32e5", "fetched_at": "2026-08-29T11:54:56.182683+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/sink/sink.html"}, {"content_hash": "000f306b39c1bfd1120156453bdc2f1909cc6648a1b1970a1f1991719f718b6f", "fetched_at": "2026-08-29T11:54:56.186673+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/application/nodered.html"}, {"content_hash": "51628e92a60e1485757aa77ff7b27195fb886dc918291b050fea590c2de0886c", "fetched_at": "2026-08-29T11:54:56.189541+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en"}, {"content_hash": "a997c98e4922fa39e370856cee598836aaf5f34f0978111430bc326b88e6e887", "fetched_at": "2026-08-29T11:54:56.192295+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt"}, {"content_hash": "c7b8e517fbb4b3bbcd30e82499c918382c4d23aa06a3451f21398e09165ee793", "fetched_at": "2026-08-29T11:54:56.195417+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/about"}, {"content_hash": "2b07d8f79861bf2099f84666c6f8708cb36ee8d7f8584f11ab93393025e0497c", "fetched_at": "2026-08-29T11:54:56.175454+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/pricing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:39:38.629782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "18cb448235b677aefb2ca9f39454fe803db0dbfce5ff89cd766e66d563a9e36a", "fetched_at": "2026-08-28T04:04:35.606445+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emqx/neuron"}, {"content_hash": "1d270677b25d716ad71fb05d5cfc0dead83dae4080a10cb2fd945dfcd62962ca", "fetched_at": "2026-08-29T11:54:56.172567+00:00", "kind": "homepage", "missing": false, "url": "https://www.emqx.com/en/products/emqx-neuron"}, {"content_hash": "58afbea90b66066d7974297e1d819e2064cbec3feb6ba48e559c9cf0c857168d", "fetched_at": "2026-08-29T11:54:56.178985+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/rules.html"}, {"content_hash": "d00d0a933c193b1fb764a6728a08696d915ef78dd7033bfd3641ef51326e32e5", "fetched_at": "2026-08-29T11:54:56.182683+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/sink/sink.html"}, {"content_hash": "000f306b39c1bfd1120156453bdc2f1909cc6648a1b1970a1f1991719f718b6f", "fetched_at": "2026-08-29T11:54:56.186673+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/application/nodered.html"}, {"content_hash": "51628e92a60e1485757aa77ff7b27195fb886dc918291b050fea590c2de0886c", "fetched_at": "2026-08-29T11:54:56.189541+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en"}, {"content_hash": "a997c98e4922fa39e370856cee598836aaf5f34f0978111430bc326b88e6e887", "fetched_at": "2026-08-29T11:54:56.192295+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt"}, {"content_hash": "c7b8e517fbb4b3bbcd30e82499c918382c4d23aa06a3451f21398e09165ee793", "fetched_at": "2026-08-29T11:54:56.195417+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/about"}, {"content_hash": "2b07d8f79861bf2099f84666c6f8708cb36ee8d7f8584f11ab93393025e0497c", "fetched_at": "2026-08-29T11:54:56.175454+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/pricing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:39:38.629782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "18cb448235b677aefb2ca9f39454fe803db0dbfce5ff89cd766e66d563a9e36a", "fetched_at": "2026-08-28T04:04:35.606445+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emqx/neuron"}, {"content_hash": "1d270677b25d716ad71fb05d5cfc0dead83dae4080a10cb2fd945dfcd62962ca", "fetched_at": "2026-08-29T11:54:56.172567+00:00", "kind": "homepage", "missing": false, "url": "https://www.emqx.com/en/products/emqx-neuron"}, {"content_hash": "58afbea90b66066d7974297e1d819e2064cbec3feb6ba48e559c9cf0c857168d", "fetched_at": "2026-08-29T11:54:56.178985+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/rules.html"}, {"content_hash": "d00d0a933c193b1fb764a6728a08696d915ef78dd7033bfd3641ef51326e32e5", "fetched_at": "2026-08-29T11:54:56.182683+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/sink/sink.html"}, {"content_hash": "000f306b39c1bfd1120156453bdc2f1909cc6648a1b1970a1f1991719f718b6f", "fetched_at": "2026-08-29T11:54:56.186673+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/application/nodered.html"}, {"content_hash": "51628e92a60e1485757aa77ff7b27195fb886dc918291b050fea590c2de0886c", "fetched_at": "2026-08-29T11:54:56.189541+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en"}, {"content_hash": "a997c98e4922fa39e370856cee598836aaf5f34f0978111430bc326b88e6e887", "fetched_at": "2026-08-29T11:54:56.192295+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt"}, {"content_hash": "c7b8e517fbb4b3bbcd30e82499c918382c4d23aa06a3451f21398e09165ee793", "fetched_at": "2026-08-29T11:54:56.195417+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/about"}, {"content_hash": "2b07d8f79861bf2099f84666c6f8708cb36ee8d7f8584f11ab93393025e0497c", "fetched_at": "2026-08-29T11:54:56.175454+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/pricing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:39:38.629782+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "18cb448235b677aefb2ca9f39454fe803db0dbfce5ff89cd766e66d563a9e36a", "fetched_at": "2026-08-28T04:04:35.606445+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emqx/neuron"}, {"content_hash": "1d270677b25d716ad71fb05d5cfc0dead83dae4080a10cb2fd945dfcd62962ca", "fetched_at": "2026-08-29T11:54:56.172567+00:00", "kind": "homepage", "missing": false, "url": "https://www.emqx.com/en/products/emqx-neuron"}, {"content_hash": "58afbea90b66066d7974297e1d819e2064cbec3feb6ba48e559c9cf0c857168d", "fetched_at": "2026-08-29T11:54:56.178985+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/rules.html"}, {"content_hash": "d00d0a933c193b1fb764a6728a08696d915ef78dd7033bfd3641ef51326e32e5", "fetched_at": "2026-08-29T11:54:56.182683+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/streaming-processing/sink/sink.html"}, {"content_hash": "000f306b39c1bfd1120156453bdc2f1909cc6648a1b1970a1f1991719f718b6f", "fetched_at": "2026-08-29T11:54:56.186673+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en/neuronex/latest/application/nodered.html"}, {"content_hash": "51628e92a60e1485757aa77ff7b27195fb886dc918291b050fea590c2de0886c", "fetched_at": "2026-08-29T11:54:56.189541+00:00", "kind": "site_page", "missing": false, "url": "https://docs.emqx.com/en"}, {"content_hash": "a997c98e4922fa39e370856cee598836aaf5f34f0978111430bc326b88e6e887", "fetched_at": "2026-08-29T11:54:56.192295+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt"}, {"content_hash": "c7b8e517fbb4b3bbcd30e82499c918382c4d23aa06a3451f21398e09165ee793", "fetched_at": "2026-08-29T11:54:56.195417+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/about"}, {"content_hash": "2b07d8f79861bf2099f84666c6f8708cb36ee8d7f8584f11ab93393025e0497c", "fetched_at": "2026-08-29T11:54:56.175454+00:00", "kind": "site_page", "missing": false, "url": "https://www.emqx.com/en/pricing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 87}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1901, "days_push": 12, "days_rel": 91, "gap_med": 18.5, "n_releases_24m": 21}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}