{"id":47841266,"url":"https://github.com/optimdata/node-red-contrib-ifm-vvb001","last_synced_at":"2026-04-03T20:40:13.793Z","repository":{"id":57711150,"uuid":"511684813","full_name":"optimdata/node-red-contrib-ifm-vvb001","owner":"optimdata","description":"Node-Red Node nodes that handles data transfers from IFM VVB001 vibration sensor ","archived":false,"fork":false,"pushed_at":"2022-12-22T09:04:07.000Z","size":193,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-09-23T15:11:45.026Z","etag":null,"topics":["html","iot","javascript","node-red","vibration-sensor"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/optimdata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-07T21:56:24.000Z","updated_at":"2025-01-23T06:38:45.000Z","dependencies_parsed_at":"2023-01-30T06:31:23.897Z","dependency_job_id":null,"html_url":"https://github.com/optimdata/node-red-contrib-ifm-vvb001","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/optimdata/node-red-contrib-ifm-vvb001","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optimdata%2Fnode-red-contrib-ifm-vvb001","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optimdata%2Fnode-red-contrib-ifm-vvb001/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optimdata%2Fnode-red-contrib-ifm-vvb001/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optimdata%2Fnode-red-contrib-ifm-vvb001/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/optimdata","download_url":"https://codeload.github.com/optimdata/node-red-contrib-ifm-vvb001/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optimdata%2Fnode-red-contrib-ifm-vvb001/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31375775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:53:18.093Z","status":"ssl_error","status_checked_at":"2026-04-03T17:53:17.617Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["html","iot","javascript","node-red","vibration-sensor"],"created_at":"2026-04-03T20:40:12.995Z","updated_at":"2026-04-03T20:40:13.722Z","avatar_url":"https://github.com/optimdata.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-red-contrib-ifm-vvb001\n\n[Node-RED](http://nodered.org) nodes that handles data transfers from [IFM VVB sensors](https://www.ifm.com/fr/en/product/VVB001).\n\nIt includes the following nodes to retrieve monitoring data and transfer a raw acceleration **BLOB**\\*:\n\n- `get data`: Gets the monitoring data from a VVB sensorO (V rms, A rms, A peak, Temperature and Crest).\n- `stream blob`: Start a BLOB generation, extract it and convert it to m/s^2 unit.\n- `blob status`: Return the status of the BLOB (ex: transmission is in progress or idle)\n- `abort blob` : Run the abort BLOB transfer command. If the data transfer must be stopped before the end of the transfer, the transfer must be aborted. If not, a new Start command for reading the BLOB can't be raised with success.\n\n\\*A **BLOB** is a record of raw acceleration at a high frequency (4 seconds at a frequency of 25 KHz which represents a time serie of 100K values)\n\n\u003ca name=\"installation\"\u003e\u003c/a\u003e\n\n# Installation\n\n\u003ca name=\"installation_in_node-red\"\u003e\u003c/a\u003e\n\n## In Node-RED (preferred)\n\n- Via Manage Palette -\u003e Search for \"node-red-contrib-ifm-vvb001\"\n\n\u003ca name=\"installation_in_a_shell\"\u003e\u003c/a\u003e\n\n## In a shell\n\nBasic installation:\n\n- go to the Node-RED \"userDir\" folder, typically `~/.node-red`\n- run `npm install node-red-contrib-ifm-vvb001`\n\n# Usage\n\n\u003ca name=\"usage\"\u003e\u003c/a\u003e\n\n## Usage of _get data_\n\n\u003ca name=\"usage_get_data\"\u003e\u003c/a\u003e\n\nThe easiest usage of the node `get data` is the following:\n\n\u003cimg src=\"images/example-get-data.png\" alt=\"get-data basic usage\"/\u003e\n\nThis node will return a modified `msg` with the following `payload`:\n\n```json\n{\n  \"data\": {\n    \"v_Rms\": 0.0001,\n    \"a_Peak\": 0.2,\n    \"a_Rms\": 0,\n    \"Temperature\": 33,\n    \"Crest\": 4.2,\n    \"status\": \"OK\"\n  },\n  \"ts\": \"2022-07-07T21:32:22.133Z\"\n}\n```\n\nwhere:\n\n- `v_Rms` is the speed root mean square in m/s\n- `a_Peak` is the acceleration peak in m/s^2\n- `a_Rms` is the acceleration root mean square in m/s^2\n- `Temperature` is the temperature is celsius degrees\n- `Crest`\n- `Status` is the device status\n- `ts` is the timestamp of this event\n\n## Usage of _stream blob_\n\n\u003ca name=\"usage_stream_blob\"\u003e\u003c/a\u003e\n\nThe easiest usage of the node `stream blob` is the following:\n\n\u003cimg src=\"images/example-stream-blob.png\" alt=\"stream-blob basic usage\"/\u003e\n\nThe `blob status` node check if there is an ongoing blob acquisition. If it is the case, you cannot run stream blob until the actual blob transfer is finished or aborted using `abort blob`.\n\nThe `stream blob` node will return a modified `msg` with the following `payload`:\n\n```json\n{\n  \"ts\": \"2022-07-07T21:43:34.542Z\",\n  \"length\": 200000,\n  \"acceleration\": [\n    1.010053825378418,\n    1.0848726272583007,\n    1.1035773277282714,\n    \"...\"\n  ],\n  \"crc\": \"4076F8421C\"\n}\n```\n\nwhere:\n\n- `length` is the BLOB length in bytes (200K)\n- `acceleration` is the raw acceleration recorded on 4 seconds using 25 KHz acquisition (vector of 100K values)\n- `crc` is the CRC signature of the BLOB\n- `ts` is the start timestamp of this recording\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foptimdata%2Fnode-red-contrib-ifm-vvb001","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foptimdata%2Fnode-red-contrib-ifm-vvb001","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foptimdata%2Fnode-red-contrib-ifm-vvb001/lists"}