node-red-contrib-xmeye
v1.1.2
Published
Node Red nodes for support of Xmeye devices
Downloads
14
Readme
node-red-contrib-xmeye
Node Red nodes for integration of XMEye devices (IP cameras and DVRs)
Support for XMeye devices in SmartHome projects using Node-RED.
The goal of the project is to allow using and configure devices supports XMeye protocol in Node-Red
Getting Started
Prerequisites: Node-RED installation. For details see here.
Install via npm
$ cd ~/.node-red
$ npm install node-red-contrib-xmeye
then restart node-red
The XMeyye devices are represented by config Nodes (single Node per device). The flow Nodes references a device node. It can be defined a project object to group and control multiple XMeye devices in the local network.
Example
- Device Represents a control channel to a XMeye device (TODO add usage example)
- Playback Represents a media channel to a XMeye device (TODO add usage example)
- Selector The selector node can be used to access multiple devices instead fo multiple Device and Playback nodes. A current devie is selected at a time and can be switched on the fly.
[ { "id": "dc7ef83971e27895", "type": "tab", "label": "Playback", "disabled": false, "info": "", "env": [] }, { "id": "ca952c31f454ed0b", "type": "mp4frag", "z": "dc7ef83971e27895", "name": "", "hlsPlaylistSize": 4, "hlsPlaylistExtra": 0, "basePath": "id", "repeated": "false", "timeLimit": 10000, "preBuffer": 1, "autoStart": "false", "x": 720, "y": 620, "wires": [ [ "f4cfc207e32a645a" ], [] ] }, { "id": "f4cfc207e32a645a", "type": "ui_mp4frag", "z": "dc7ef83971e27895", "name": "", "group": "aa235049e8b54295", "order": 16, "width": 6, "height": 4, "readyPoster": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAMAAACtqHJCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMzgwMTE3NDA3MjA2ODExODIyQUIzREQ3RTA0MDAyNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRkU5MkM4RDJCNTkxMUVCQjJCOTg0MEQ0QThCQ0YyQyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRkU5MkM4QzJCNTkxMUVCQjJCOTg0MEQ0QThCQ0YyQyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjc3RjExNzQwNzIwNjgxMTgyMkFDQTkzQjdGQkY1MzAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDM4MDExNzQwNzIwNjgxMTgyMkFCM0REN0UwNDAwMjQiLz4gPC9yZGY6RGVzY3Jp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", "errorPoster": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAMAAACtqHJCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMzgwMTE3NDA3MjA2ODExODIyQUIzREQ3RTA0MDAyNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRkU5MkM5MTJCNTkxMUVCQjJCOTg0MEQ0QThCQ0YyQyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRkU5MkM5MDJCNTkxMUVCQjJCOTg0MEQ0QThCQ0YyQyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjc3RjExNzQwNzIwNjgxMTgyMkFDQTkzQjdGQkY1MzAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDM4MDExNzQwNzIwNjgxMTgyMkFCM0REN0UwNDAwMjQiLz4gPC9yZGY6RGVzY3Jp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", "hlsJsConfig": "{"liveDurationInfinity":true,"liveBackBufferLength":5,"maxBufferLength":10,"manifestLoadingTimeOut":1000,"manifestLoadingMaxRetry":10,"manifestLoadingRetryDelay":500}", "autoplay": "true", "unload": "true", "threshold": 0.1, "controls": "true", "muted": "true", "players": [ "socket.io", "hls.js", "hls", "mp4" ], "x": 670, "y": 680, "wires": [ [] ] }, { "id": "662e9f33d4d938b4", "type": "inject", "z": "dc7ef83971e27895", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 300, "y": 240, "wires": [ [ "c87783c3bb3c3af3" ] ] }, { "id": "e0d403c45ad5e2ac", "type": "ui_dropdown", "z": "dc7ef83971e27895", "name": "listCams", "label": "Cams", "tooltip": "", "place": "Select option", "group": "aa235049e8b54295", "order": 2, "width": "8", "height": "1", "passthru": true, "multiple": false, "options": [], "payload": "", "topic": "selectDevice", "topicType": "str", "className": "", "x": 480, "y": 300, "wires": [ [ "d36abd2566df9c6c" ] ] }, { "id": "2b6bb0849c6b43e3", "type": "tasmota-switch", "z": "dc7ef83971e27895", "device": "1f19cb7cbd4ecb08", "name": "t1_03_2", "outputs": 1, "sendDevice": true, "uidisabler": false, "idx": "1", "supportPulseTime": false, "supportChangeTime": false, "x": 320, "y": 1260, "wires": [ [] ] }, { "id": "edfdb7e3876e5a88", "type": "tasmota-sensor", "z": "dc7ef83971e27895", "device": "6c4675ce2eae2f2e", "name": "th_01", "outputs": 1, "sendDevice": true, "uidisabler": false, "rules": [], "outputTopic": "", "x": 310, "y": 1380, "wires": [ [] ] }, { "id": "448fae055991c243", "type": "ui_dropdown", "z": "dc7ef83971e27895", "name": "Records", "label": "Records", "tooltip": "", "place": "Select record", "group": "aa235049e8b54295", "order": 14, "width": "9", "height": "1", "passthru": false, "multiple": false, "options": [ { "label": "", "value": "", "type": "str" } ], "payload": "", "topic": "download", "topicType": "str", "className": "", "x": 480, "y": 480, "wires": [ [ "d36abd2566df9c6c" ] ] }, { "id": "fb7c648fdcca2b46", "type": "ui_button", "z": "dc7ef83971e27895", "name": "Refresh records", "group": "aa235049e8b54295", "order": 15, "width": "1", "height": "1", "passthru": true, "label": "", "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "sync", "payload": "", "payloadType": "str", "topic": "queryFiles", "topicType": "str", "x": 480, "y": 420, "wires": [ [ "d36abd2566df9c6c" ] ] }, { "id": "8724eb7668245cec", "type": "function", "z": "dc7ef83971e27895", "name": "Init range", "func": "const setDayBegin = (d) => {\n d.setHours(0) \n d.setMinutes(0) \n d.setSeconds(0) \n} \n\nconst setDayEnd = (d) => {\n d.setHours(23) \n d.setMinutes(59) \n d.setSeconds(59) \n} \n\nconst d = new Date();\n\nmsg.payload = { begin: 0, end: 0 }\nif (msg.topic === 'today') {\n msg.payload.begin = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()),\n msg.payload.end = Date.now()\n}\nelse if (msg.topic === 'yesterday') {\n msg.payload.begin = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 1),\n msg.payload.end = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() -1, 23, 59, 59)\n}\nelse if (msg.topic === 'week') {\n msg.payload.begin = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 7),\n msg.payload.end = Date.now()\n}\nelse return\n\nmsg.topic = 'setRange'\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "/\nconst options = [\n { 'Hintertür': 3 },\n { 'Wohnwagen': 4 },\n { 'Strand': 12 },\n { 'Carport': 14 },\n { Cam13: 13 },\n { Cam15: 15 },\n { Cam16: 16 }\n];\nreturn {options, payload: 13};\n/**/", "finalize": "", "libs": [], "x": 300, "y": 100, "wires": [ [ "f647c06a63ac518c", "d36abd2566df9c6c" ] ] }, { "id": "5520ad1fde9c2abd", "type": "ui_text_input", "z": "dc7ef83971e27895", "name": "beginDate", "label": "Begin Date", "tooltip": "", "group": "aa235049e8b54295", "order": 7, "width": "3", "height": "1", "passthru": false, "mode": "text", "delay": 300, "topic": "beginDate", "sendOnBlur": true, "className": "", "topicType": "str", "x": 690, "y": 40, "wires": [ [ "d36abd2566df9c6c" ] ] }, { "id": "c3d8d7409ad385dc", "type": "ui_text_input", "z": "dc7ef83971e27895", "name": "beginTime", "label": "Begin Time", "tooltip": "", "group": "aa235049e8b54295", "order": 9, "width": "2", "height": "1", "passthru": false, "mode": "text", "delay": 300, "topic": "beginTime", "sendOnBlur": true, "className": "", "topicType": "str", "x": 690, "y": 80, "wires": [ [ "d36abd2566df9c6c" ] ] }, { "id": "a9308b0f766718cf", "type": "ui_text_input", "z": "dc7ef83971e27895", "name": "endTime", "label": "End Time", "tooltip": "", "group": "aa235049e8b54295", "order": 10, "width": "2", "height": "1", "passthru": false, "mode": "text", "delay": 300, "topic": "endTime", "sendOnBlur": true, "className": "", "topicType": "str", "x": 680, "y": 160, "wires": [ [ "d36abd2566df9c6c" ] ] }, { "id": "fd95f03b0958ddf2", "type": "ui_text_input", "z": "dc7ef83971e27895", "name": "endDate", "label": "End Date", "tooltip": "", "group": "aa235049e8b54295", "order": 8, "width": "3", "height": "1", "passthru": false, "mode": "text", "delay": 300, "topic": "endDate", "sendOnBlur": true, "className": "", "topicType": "str", "x": 680, "y": 120, "wires": [ [ "d36abd2566df9c6c" ] ] }, { "id": "f647c06a63ac518c", "type": "function", "z": "dc7ef83971e27895", "name": "Split range", "func": "const range = msg.payload;\nconst strBegin = new Date(range.begin).toISOString()\nconst strEnd = new Date(range.end).toISOString()\nreturn [\n { payload: strBegin.slice(0, 10) },\n { payload: strBegin.slice(11, 19) },\n { payload: strEnd.slice(0, 10) },\n { payload: strEnd.slice(11, 19) }\n];\n", "outputs": 4, "noerr": 0, "initialize": "/\nconst options = [\n { 'Hintertür': 3 },\n { 'Wohnwagen': 4 },\n { 'Strand': 12 },\n { 'Carport': 14 },\n { Cam13: 13 },\n { Cam15: 15 },\n { Cam16: 16 }\n];\nreturn {options, payload: 13};\n/**/", "finalize": "", "libs": [], "x": 470, "y": 100, "wires": [ [ "5520ad1fde9c2abd" ], [ "c3d8d7409ad385dc" ], [ "fd95f03b0958ddf2" ], [ "a9308b0f766718cf" ] ] }, { "id": "e87318e228ec3ded", "type": "ui_button", "z": "dc7ef83971e27895", "name": "Today", "group": "aa235049e8b54295", "order": 4, "width": "2", "height": "1", "passthru": true, "label": "Today", "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "payload": "", "payloadType": "date", "topic": "today", "topicType": "str", "x": 110, "y": 80, "wires": [ [ "8724eb7668245cec" ] ] }, { "id": "d04ceab52f9f687f", "type": "ui_button", "z": "dc7ef83971e27895", "name": "Yesterday", "group": "aa235049e8b54295", "order": 5, "width": "3", "height": "1", "passthru": true, "label": "Yesterday", "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "payload": "", "payloadType": "date", "topic": "yesterday", "topicType": "str", "x": 120, "y": 120, "wires": [ [ "8724eb7668245cec" ] ] }, { "id": "8ccf9cee49732539", "type": "ui_button", "z": "dc7ef83971e27895", "name": "LastWeek", "group": "aa235049e8b54295", "order": 6, "width": "3", "height": "1", "passthru": false, "label": "Last Week", "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "payload": "", "payloadType": "date", "topic": "week", "topicType": "str", "x": 120, "y": 160, "wires": [ [ "8724eb7668245cec" ] ] }, { "id": "d36abd2566df9c6c", "type": "xmeye-selector", "z": "dc7ef83971e27895", "name": "Selector", "manager": "c8e97093082c3e1e", "x": 680, "y": 480, "wires": [ [ "c3135f21e56aebd4", "69fc54f092951f2d" ], [ "ca952c31f454ed0b" ], [] ] }, { "id": "c87783c3bb3c3af3", "type": "ui_button", "z": "dc7ef83971e27895", "name": "Init", "group": "aa235049e8b54295", "order": 1, "width": "2", "height": "1", "passthru": true, "label": "Init", "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "payload": "", "payloadType": "str", "topic": "init", "topicType": "str", "x": 470, "y": 240, "wires": [ [ "d36abd2566df9c6c" ] ] }, { "id": "c3135f21e56aebd4", "type": "switch", "z": "dc7ef83971e27895", "name": "Action", "property": "Action", "propertyType": "msg", "rules": [ { "t": "eq", "v": "listDevices", "vt": "str" }, { "t": "eq", "v": "selectDevice", "vt": "str" }, { "t": "eq", "v": "getRange", "vt": "str" }, { "t": "eq", "v": "autoQueryFiles", "vt": "str" }, { "t": "eq", "v": "queryFiles", "vt": "str" }, { "t": "eq", "v": "download", "vt": "str" }, { "t": "eq", "v": "record", "vt": "str" }, { "t": "eq", "v": "send", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 8, "x": 130, "y": 380, "wires": [ [ "e0d403c45ad5e2ac" ], [ "fb7c648fdcca2b46" ], [ "f647c06a63ac518c" ], [ "d59f6d96645fbcc1" ], [ "448fae055991c243" ], [ "224d3c6d2ecdb80a", "582607b9dcd4d521" ], [ "9fa1de052525e0ce" ], [] ] }, { "id": "69fc54f092951f2d", "type": "debug", "z": "dc7ef83971e27895", "name": "Selector response", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 750, "y": 340, "wires": [] }, { "id": "2e83476f2a5113de", "type": "ui_button", "z": "dc7ef83971e27895", "name": "Get range", "group": "aa235049e8b54295", "order": 3, "width": "2", "height": "1", "passthru": true, "label": "Get range", "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "payload": "", "payloadType": "str", "topic": "getRange", "topicType": "str", "x": 480, "y": 180, "wires": [ [ "d36abd2566df9c6c" ] ] }, { "id": "9fa1de052525e0ce", "type": "exec", "z": "dc7ef83971e27895", "command": "ffmpeg -loglevel quiet -c copy -f mp4 -movflags +frag_keyframe+empty_moov+default_base_moof pipe:1 -i ", "addpay": "payload", "append": "", "useSpawn": "true", "timer": "", "winHide": false, "oldrc": false, "name": "play file", "x": 480, "y": 660, "wires": [ [ "ca952c31f454ed0b" ], [], [] ] }, { "id": "224d3c6d2ecdb80a", "type": "ui_text", "z": "dc7ef83971e27895", "group": "aa235049e8b54295", "order": 12, "width": "3", "height": "1", "name": "txtDnProgress", "label": "Progress", "format": "{{msg.payload && msg.payload.progress || 0}}%", "layout": "row-spread", "className": "", "x": 500, "y": 540, "wires": [] }, { "id": "d59f6d96645fbcc1", "type": "ui_switch", "z": "dc7ef83971e27895", "name": "autoQueryFiles", "label": "Query Files", "tooltip": "", "group": "aa235049e8b54295", "order": 11, "width": "4", "height": "1", "passthru": false, "decouple": "true", "topic": "autoQueryFiles", "topicType": "str", "style": "", "onvalue": "true", "onvalueType": "bool", "onicon": "", "oncolor": "", "offvalue": "false", "offvalueType": "bool", "officon": "", "offcolor": "", "animate": false, "className": "", "x": 480, "y": 360, "wires": [ [ "d36abd2566df9c6c" ] ] }, { "id": "582607b9dcd4d521", "type": "ui_text", "z": "dc7ef83971e27895", "group": "aa235049e8b54295", "order": 13, "width": "3", "height": "1", "name": "txtDnSize", "label": "Size", "format": "{{(msg.payload && msg.payload.recSize || 0)/1000}}K", "layout": "row-spread", "className": "", "x": 480, "y": 600, "wires": [] }, { "id": "aa235049e8b54295", "type": "ui_group", "name": "Standard", "tab": "630774cc308f9b40", "order": 1, "disp": true, "width": "10", "collapse": false, "className": "" }, { "id": "1f19cb7cbd4ecb08", "type": "tasmota-device", "manager": "f940f2077062977f", "broker": "3e4e502ae9129c26", "device": "t1_03", "name": "t1_03", "group": "", "ip": "", "host": "t1-03", "mac": "", "version": "0x8020003", "module": "28", "relais": "0", "friendlynames": "Licht PcTisch,Licht Office,Tasmota3,Tasmota4,Tasmota5,Tasmota6,Tasmota7,Tasmota8", "fullTopic": "tasmota/%topic%/%prefix%", "cmndPrefix": "cmnd", "statPrefix": "stat", "telePrefix": "tele", "qos": "1" }, { "id": "6c4675ce2eae2f2e", "type": "tasmota-device", "manager": "f940f2077062977f", "broker": "3e4e502ae9129c26", "device": "th_01", "name": "th_01", "group": "", "ip": "", "host": "th-01", "mac": "", "version": "0x8020003", "module": "3", "relais": "0", "friendlynames": "Sonoff TH16 01,Sonoff2,Sonoff3,Sonoff4,,,,", "fullTopic": "tasmota/%topic%/%prefix%", "cmndPrefix": "cmnd", "statPrefix": "stat", "telePrefix": "tele", "qos": "1" }, { "id": "c8e97093082c3e1e", "type": "xmeye-manager", "dbUri": "http://192.168.192.200/SmartHome/data/", "name": "hausen", "network": "" }, { "id": "630774cc308f9b40", "type": "ui_tab", "name": "Xmeye", "icon": "dashboard", "disabled": false, "hidden": false }, { "id": "f940f2077062977f", "type": "tasmota-manager", "dbUri": "http://192.168.192.200/SmartHome/data/", "name": "hausen", "network": "192.168.13.0/24" }, { "id": "3e4e502ae9129c26", "type": "tasmota-mqtt-broker", "name": "sihabro2", "broker": "192.168.13.222", "port": "1883", "clientid": "openhab_dev_pc", "usetls": false, "keepalive": "60", "cleansession": true } ]
Disclaimer
The software is provided as-is under the MIT license. The author cannot be held responsible for any unintended behaviours.
Thanks
If you like our ideas and want to support further development, you can donate here: