-
2application/pom.xml
-
9application/src/main/data/json/edge/rule_chains/edge_root_rule_chain.json
-
548application/src/main/data/json/system/scada_symbols/3-phase-voltage-relay-hp.svg
-
344application/src/main/data/json/system/scada_symbols/apartments-hp.svg
-
473application/src/main/data/json/system/scada_symbols/battery-hp.svg
-
108application/src/main/data/json/system/scada_symbols/bottom-flow-meter.svg
-
346application/src/main/data/json/system/scada_symbols/bottom-light-bulb-hp.svg
-
346application/src/main/data/json/system/scada_symbols/consumers-hp.svg
-
2application/src/main/data/json/system/scada_symbols/control-panel-hp.svg
-
346application/src/main/data/json/system/scada_symbols/crane-hp.svg
-
444application/src/main/data/json/system/scada_symbols/curcuit-breaker-hp.svg
-
355application/src/main/data/json/system/scada_symbols/drawwork-hp.svg
-
354application/src/main/data/json/system/scada_symbols/drill-hp.svg
-
361application/src/main/data/json/system/scada_symbols/drilling-line-hp.svg
-
354application/src/main/data/json/system/scada_symbols/drilling-rig-hp.svg
-
2application/src/main/data/json/system/scada_symbols/dynamic-vertical-scale-hp.svg
-
332application/src/main/data/json/system/scada_symbols/electrical-distribution-board-hp.svg
-
360application/src/main/data/json/system/scada_symbols/electrical-engine-hp.svg
-
482application/src/main/data/json/system/scada_symbols/energy-meter-hp.svg
-
876application/src/main/data/json/system/scada_symbols/four-rate-energy-meter-hp.svg
-
359application/src/main/data/json/system/scada_symbols/fuel-generator-hp.svg
-
361application/src/main/data/json/system/scada_symbols/gas-preventer-hp.svg
-
363application/src/main/data/json/system/scada_symbols/gas-wellhead-hp.svg
-
363application/src/main/data/json/system/scada_symbols/heat-exchanger-hp.svg
-
297application/src/main/data/json/system/scada_symbols/high-voltage-tower-hp.svg
-
293application/src/main/data/json/system/scada_symbols/hook-hp.svg
-
2application/src/main/data/json/system/scada_symbols/horizontal-connector-hp.svg
-
439application/src/main/data/json/system/scada_symbols/horizontal-curcuit-breaker-hp.svg
-
378application/src/main/data/json/system/scada_symbols/horizontal-energy-system-controller-hp.svg
-
108application/src/main/data/json/system/scada_symbols/horizontal-inline-flow-meter.svg
-
349application/src/main/data/json/system/scada_symbols/house-hp.svg
-
358application/src/main/data/json/system/scada_symbols/industrial-fuel-generator-hp.svg
-
578application/src/main/data/json/system/scada_symbols/inverter-hp.svg
-
342application/src/main/data/json/system/scada_symbols/large-horizontal-separator-connector-hp.svg
-
350application/src/main/data/json/system/scada_symbols/large-horizontal-separator-hp.svg
-
578application/src/main/data/json/system/scada_symbols/large-inverter-hp.svg
-
350application/src/main/data/json/system/scada_symbols/large-vertical-separator-connector-hp.svg
-
350application/src/main/data/json/system/scada_symbols/large-vertical-separator-hp.svg
-
2application/src/main/data/json/system/scada_symbols/leak-sensor.svg
-
2application/src/main/data/json/system/scada_symbols/left-analog-water-level-meter.svg
-
2application/src/main/data/json/system/scada_symbols/left-drain-pipe.svg
-
2application/src/main/data/json/system/scada_symbols/left-elbow-drain-pipe.svg
-
104application/src/main/data/json/system/scada_symbols/left-flow-meter.svg
-
2application/src/main/data/json/system/scada_symbols/long-bottom-filter.svg
-
2application/src/main/data/json/system/scada_symbols/long-horizontal-connector-hp.svg
-
2application/src/main/data/json/system/scada_symbols/long-top-filter.svg
-
2application/src/main/data/json/system/scada_symbols/long-vertical-connector-hp.svg
-
278application/src/main/data/json/system/scada_symbols/low-voltage-tower-hp.svg
-
334application/src/main/data/json/system/scada_symbols/low-voltage-transformer-tower-hp.svg
-
344application/src/main/data/json/system/scada_symbols/manufacture-hp.svg
-
743application/src/main/data/json/system/scada_symbols/meter.svg
-
357application/src/main/data/json/system/scada_symbols/oil-pump-hp.svg
-
267application/src/main/data/json/system/scada_symbols/platform-hp.svg
-
371application/src/main/data/json/system/scada_symbols/power-socket-hp.svg
-
359application/src/main/data/json/system/scada_symbols/power-transformer-hp.svg
-
343application/src/main/data/json/system/scada_symbols/preventer-hp.svg
-
2application/src/main/data/json/system/scada_symbols/right-analog-water-level-meter.svg
-
2application/src/main/data/json/system/scada_symbols/right-drain-pipe.svg
-
2application/src/main/data/json/system/scada_symbols/right-elbow-drain-pipe.svg
-
104application/src/main/data/json/system/scada_symbols/right-flow-meter.svg
-
346application/src/main/data/json/system/scada_symbols/rotor-hp.svg
-
2application/src/main/data/json/system/scada_symbols/short-bottom-filter.svg
-
2application/src/main/data/json/system/scada_symbols/short-left-drain-pipe.svg
-
2application/src/main/data/json/system/scada_symbols/short-right-drain-pipe.svg
-
2application/src/main/data/json/system/scada_symbols/short-top-filter.svg
-
2application/src/main/data/json/system/scada_symbols/simple-vertical-scale-hp.svg
-
373application/src/main/data/json/system/scada_symbols/single-key-switch-hp.svg
-
342application/src/main/data/json/system/scada_symbols/small-horizontal-separator-connector-hp.svg
-
342application/src/main/data/json/system/scada_symbols/small-horizontal-separator-hp.svg
-
717application/src/main/data/json/system/scada_symbols/small-left-meter.svg
-
688application/src/main/data/json/system/scada_symbols/small-meter.svg
-
359application/src/main/data/json/system/scada_symbols/small-power-transformer-hp.svg
-
717application/src/main/data/json/system/scada_symbols/small-right-center.svg
-
342application/src/main/data/json/system/scada_symbols/small-vertical-separator-connector-hp.svg
-
342application/src/main/data/json/system/scada_symbols/small-vertical-separator-hp.svg
-
353application/src/main/data/json/system/scada_symbols/solar-panel-hp.svg
-
357application/src/main/data/json/system/scada_symbols/stand-solar-panel-hp.svg
-
747application/src/main/data/json/system/scada_symbols/three-rate-energy-meter-hp.svg
-
108application/src/main/data/json/system/scada_symbols/top-flow-meter.svg
-
346application/src/main/data/json/system/scada_symbols/top-light-bulb-hp.svg
-
377application/src/main/data/json/system/scada_symbols/turbine-hp.svg
-
489application/src/main/data/json/system/scada_symbols/two-key-switch-hp.svg
-
618application/src/main/data/json/system/scada_symbols/two-rate-energy-meter-hp.svg
-
2application/src/main/data/json/system/scada_symbols/vertical-connector-hp.svg
-
378application/src/main/data/json/system/scada_symbols/vertical-energy-system-controller-hp.svg
-
108application/src/main/data/json/system/scada_symbols/vertical-inline-flow-meter.svg
-
439application/src/main/data/json/system/scada_symbols/voltage-relay-hp.svg
-
584application/src/main/data/json/system/scada_symbols/voltage-stabilizer-hp.svg
-
370application/src/main/data/json/system/scada_symbols/wind-turbine-cluster-hp.svg
-
360application/src/main/data/json/system/scada_symbols/wind-turbine-hp.svg
-
1application/src/main/data/json/system/widget_bundles/buttons.json
-
1application/src/main/data/json/system/widget_bundles/control_widgets.json
-
10application/src/main/data/json/system/widget_bundles/general_high_performance_scada_symbols.json
-
48application/src/main/data/json/system/widget_bundles/high_performance_scada_energy_system.json
-
2application/src/main/data/json/system/widget_bundles/high_performance_scada_fluid_system.json
-
34application/src/main/data/json/system/widget_bundles/high_performance_scada_oil_gas.json
-
4application/src/main/data/json/system/widget_bundles/scada_fluid_system.json
-
51application/src/main/data/json/system/widget_types/value_stepper.json
-
9application/src/main/data/json/tenant/device_profile/rule_chain_template.json
-
7application/src/main/data/json/tenant/rule_chains/root_rule_chain.json
|
After Width: | Height: | Size: 25 KiB |
@ -0,0 +1,344 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="400" fill="none" version="1.1" viewBox="0 0 400 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Apartments", |
|||
"description": "Apartments with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy", |
|||
"consumer" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m25 106c0-2.761 2.2386-5 5-5h210c2.761 0 5 2.239 5 5v266c0 2.761-2.239 5-5 5h-210c-2.7614 0-5-2.239-5-5v-266z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><rect x="143" y="146" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="143" y="254" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="143" y="200" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="143" y="308" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m155 6c0-2.7614 2.239-5 5-5h210c2.761 0 5 2.2386 5 5v366c0 2.761-2.239 5-5 5h-210c-2.761 0-5-2.239-5-5v-366z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><rect x="269" y="57" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="269" y="165" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="269" y="111" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="269" y="219" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="175" y="57" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="175" y="165" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="175" y="111" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="175" y="219" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="216" y="286" width="98" height="91" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="49" y="146" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="49" y="254" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="49" y="200" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="49" y="308" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="1" y="377" width="398" height="22" rx="5" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m134.53 0s-134.53 0-134.53 67v328.36c0 2.6512 3.5818 4.6403 8 4.6403h384c4.418 0 8-1.9892 8-4.6403v-328.36c0-67-132.14-67-132.14-67h-67.86zm134.14 81.2c-2.5774 0-4.6666 1.2536-4.6666 2.8v300.4c0 1.5464 2.0894 2.8 4.6666 2.8h29.332c2.5774 0 4.6666-1.2536 4.6666-2.8v-300.4c0-1.5464-2.0894-2.8-4.6666-2.8z" fill-opacity="0" style="stroke-width:1.4784" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 320.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,473 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="200" fill="none" version="1.1" viewBox="0 0 600 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Battery", |
|||
"description": "Battery with various states and scalable quantity.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"rechargeable", |
|||
"storage", |
|||
"lithium-ion", |
|||
"ev" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "indicator", |
|||
"stateRenderFunction": "if (ctx.values.running) {\n element.fill(ctx.properties.runningIndicatorColor);\n} else {\n element.fill(ctx.properties.stoppedIndicatorColor);\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "label", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.labelFont, ctx.properties.labelColor);\nctx.api.text(element, ctx.properties.label);", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "left-bottom-connector", |
|||
"stateRenderFunction": "if (!ctx.properties.leftBottomConnector) {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "left-connector", |
|||
"stateRenderFunction": "if (!ctx.properties.leftConnector) {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "left-top-connector", |
|||
"stateRenderFunction": "if (!ctx.properties.leftTopConnector) {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "right-bottom-connector", |
|||
"stateRenderFunction": "if (!ctx.properties.rightBottomConnector) {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "right-connector", |
|||
"stateRenderFunction": "if (!ctx.properties.rightConnector) {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "right-top-connector", |
|||
"stateRenderFunction": "if (!ctx.properties.rightTopConnector) {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "runningIndicatorColor", |
|||
"name": "{i18n:scada.symbol.indicator-colors}", |
|||
"type": "color", |
|||
"default": "#198038", |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedIndicatorColor", |
|||
"name": "{i18n:scada.symbol.indicator-colors}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "label", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "text", |
|||
"default": "ON", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 30, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "400", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "color", |
|||
"default": "#1A1A1A", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "leftConnector", |
|||
"name": "{i18n:scada.symbol.left-connector}", |
|||
"group": "{i18n:scada.symbol.connectors-positions}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "leftTopConnector", |
|||
"name": "{i18n:scada.symbol.left-top-connector}", |
|||
"group": "{i18n:scada.symbol.connectors-positions}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "leftBottomConnector", |
|||
"name": "{i18n:scada.symbol.left-bottom-connector}", |
|||
"group": "{i18n:scada.symbol.connectors-positions}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "rightConnector", |
|||
"name": "{i18n:scada.symbol.right-connector}", |
|||
"group": "{i18n:scada.symbol.connectors-positions}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "rightTopConnector", |
|||
"name": "{i18n:scada.symbol.right-top-connector}", |
|||
"group": "{i18n:scada.symbol.connectors-positions}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "rightBottomConnector", |
|||
"name": "{i18n:scada.symbol.right-bottom-connector}", |
|||
"group": "{i18n:scada.symbol.connectors-positions}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" tb:tag="background"> |
|||
<rect x="1" y="41" width="598" height="120" rx="6" stroke="#000" stroke-width="2"/> |
|||
<circle cx="468" cy="102.5" r="12"/> |
|||
<circle cx="468" cy="101.5" r="11" stroke="#000" stroke-opacity=".87" stroke-width="2"/> |
|||
<circle cx="84" cy="101.5" r="11" stroke="#1a1a1a" stroke-width="2"/> |
|||
<circle cx="516" cy="102.5" r="12"/> |
|||
<circle cx="516" cy="101.5" r="11" stroke="#000" stroke-opacity=".87" stroke-width="2"/> |
|||
<circle cx="132" cy="101.5" r="11" stroke="#1a1a1a" stroke-width="2"/> |
|||
</g><circle cx="204" cy="102" r="10" fill="#198038" tb:tag="indicator"/><text x="221" y="105.37933" fill="#000000" font-family="Roboto" font-size="30px" font-weight="400" tb:tag="label" xml:space="preserve"><tspan dominant-baseline="middle">ON</tspan></text><path d="m103 200h-6s7.858-27.047 14-44c6.324-17.455 18-44 18-44h6s-11.676 26.545-18 44c-6.142 16.953-14 44-14 44z" fill="#1a1a1a" tb:tag="left-bottom-connector"/><path d="m103 0h-6s-6.4394 26.077-9.5 43c-3.2977 18.234-6.5 47-6.5 47h6s2.7023-26.766 6-45c3.0606-16.923 10-45 10-45z" fill="#1a1a1a" tb:tag="left-top-connector"/><path d="m497 0h6s6.439 26.077 9.5 43c3.298 18.234 6.5 47 6.5 47h-6s-2.702-26.766-6-45c-3.061-16.923-10-45-10-45z" fill="#1a1a1a" tb:tag="right-top-connector"/><path d="m0 100h73" stroke="#1a1a1a" stroke-width="6" tb:tag="left-connector"/><path d="m527 100h73" stroke="#1a1a1a" stroke-width="6" tb:tag="right-connector"/><path d="m497 200h6s-7.858-27.047-14-44c-6.324-17.455-18-44-18-44h-6s11.676 26.545 18 44c6.142 16.953 14 44 14 44z" fill="#1a1a1a" tb:tag="right-bottom-connector"/><path d="m201.8 40s-201.8 0-201.8 20.435v100.15c0 0.80861 5.3727 1.4153 12 1.4153h576c6.627 0 12-0.60671 12-1.4153v-100.15c0-20.435-198.21-20.435-198.21-20.435h-101.79zm201.21 24.766c-3.8661 0-6.9999 0.38235-6.9999 0.854v91.622c0 0.47165 3.1341 0.854 6.9999 0.854h43.998c3.8661 0 6.9999-0.38235 6.9999-0.854v-91.622c0-0.47165-3.1341-0.854-6.9999-0.854z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 73 KiB |
@ -0,0 +1,346 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="200" fill="none" version="1.1" viewBox="0 0 200 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Bottom light bulb", |
|||
"description": "Bottom light bulb with various states.", |
|||
"searchTags": [ |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<path d="m77.22 69 1.6-8h42.36l1.6 8h-45.56z"/> |
|||
<path d="m77.117 69h45.742c0.108 0.2569 0.244 0.5047 0.385 0.7358 0.342 0.5586 0.824 1.1869 1.403 1.8699 1.16 1.3677 2.802 3.0619 4.738 5.0193 0.519 0.5244 1.059 1.0689 1.62 1.6328 3.641 3.6659 8.098 8.154 12.557 13.274 10.326 11.856 20.438 26.862 20.438 42.468 0 21.266-7.121 37.489-18.622 48.399-11.511 10.92-27.5 16.601-45.378 16.601-17.878 0-33.867-5.681-45.378-16.601-11.502-10.91-18.622-27.133-18.622-48.399 0-15.606 10.106-30.612 20.426-42.468 4.456-5.1195 8.9107-9.6073 12.55-13.273 0.5601-0.5643 1.1009-1.1091 1.6194-1.6337 1.9344-1.9574 3.576-3.6516 4.735-5.0193 0.5788-0.683 1.0604-1.3114 1.4022-1.87 0.1413-0.231 0.2771-0.4787 0.3847-0.7355z"/> |
|||
<path d="m80.13 5.9751c1.5245-3.049 4.6409-4.9751 8.0498-4.9751h23.64c3.409 0 6.525 1.926 8.05 4.9751l6.18 12.361c0.625 1.2497 0.95 2.6277 0.95 4.0249v38.639h-54v-38.639c0-1.3972 0.3253-2.7752 0.9502-4.0249l6.1803-12.361z"/> |
|||
</g><path d="m73 53h54" stroke="#1A1A1A" stroke-width="2"/><path d="m73 21h54" stroke="#1A1A1A" stroke-width="2"/><path d="m67.265 0s-67.265 0-67.265 33.5v164.18c0 1.3256 1.7909 2.3202 4 2.3202h192c2.209 0 4-0.9946 4-2.3202v-164.18c0-33.5-66.07-33.5-66.07-33.5h-33.93zm67.07 40.6c-1.2887 0-2.3333 0.6268-2.3333 1.4v150.2c0 0.7732 1.0447 1.4 2.3333 1.4h14.666c1.2887 0 2.3333-0.6268 2.3333-1.4v-150.2c0-0.7732-1.0447-1.4-2.3333-1.4z" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,346 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="400" fill="none" version="1.1" viewBox="0 0 600 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Consumers", |
|||
"description": "Consumers with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<path d="m21 240.65c0-1.409 0.5943-2.752 1.6366-3.699l104-94.546c1.907-1.734 4.819-1.734 6.726 0l104 94.546c1.043 0.947 1.637 2.29 1.637 3.699v131.35c0 2.761-2.239 5-5 5h-208c-2.7614 0-5-2.239-5-5v-131.35z"/> |
|||
<path d="m130.68 141.26-0.678-0.626-0.678 0.626-112.38 103.74h-14.385l127.44-117.64 127.44 117.64h-14.384l-112.38-103.74z"/> |
|||
</g><rect x="56" y="307" width="44" height="70" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m80 240c0-0.552 0.4477-1 1-1h18c0.5523 0 1 0.448 1 1v44c0 0.552-0.4477 1-1 1h-18c-0.5523 0-1-0.448-1-1v-44z" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m170 240c0-0.552 0.448-1 1-1h18c0.552 0 1 0.448 1 1v44c0 0.552-0.448 1-1 1h-18c-0.552 0-1-0.448-1-1v-44z" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m170 308c0-0.552 0.448-1 1-1h18c0.552 0 1 0.448 1 1v44c0 0.552-0.448 1-1 1h-18c-0.552 0-1-0.448-1-1v-44z" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m56 240c0-0.552 0.4477-1 1-1h18c0.5523 0 1 0.448 1 1v44c0 0.552-0.4477 1-1 1h-18c-0.5523 0-1-0.448-1-1v-44z" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m146 240c0-0.552 0.448-1 1-1h18c0.552 0 1 0.448 1 1v44c0 0.552-0.448 1-1 1h-18c-0.552 0-1-0.448-1-1v-44z" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect transform="rotate(-90 194 285)" x="194" y="285" width="46" height="20" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m146 308c0-0.552 0.448-1 1-1h18c0.552 0 1 0.448 1 1v44c0 0.552-0.448 1-1 1h-18c-0.552 0-1-0.448-1-1v-44z" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect transform="rotate(-90 194 353)" x="194" y="353" width="46" height="20" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m129.26 178.32c0.397-0.442 1.089-0.442 1.486 0l0.744-0.669-0.744 0.669 13.51 15.01c0.579 0.644 0.122 1.669-0.744 1.669h-27.018c-0.866 0-1.323-1.025-0.744-1.669l13.51-15.01z" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m425 176v1.804l1.53-0.956 60.94-38.088c0.666-0.416 1.53 0.063 1.53 0.848v37.392h85c2.761 0 5 2.239 5 5v190c0 2.761-2.239 5-5 5h-217c-2.761 0-5-2.239-5-5v-194.8c0-0.369 0.204-0.709 0.529-0.882l71-37.867c0.667-0.355 1.471 0.127 1.471 0.882v36.667z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m519.88 19.938c0.033-0.527 0.47-0.9376 0.998-0.9376h30.242c0.528 0 0.965 0.4106 0.998 0.9376l9.75 156c0.036 0.575-0.421 1.062-0.998 1.062h-49.742c-0.577 0-1.034-0.487-0.998-1.062l9.75-156z" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="429" y="236" width="38" height="38" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="385" y="236" width="38" height="38" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="429" y="280" width="38" height="38" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="385" y="280" width="38" height="38" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="473" y="236" width="38" height="38" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="473" y="280" width="38" height="38" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="517" y="236" width="38" height="38" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="517" y="280" width="38" height="38" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m190 6c0-2.7614 2.239-5 5-5h210c2.761 0 5 2.2386 5 5v366c0 2.761-2.239 5-5 5h-210c-2.761 0-5-2.239-5-5v-366z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><rect x="304" y="57" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="304" y="165" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="304" y="111" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="304" y="219" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="210" y="57" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="210" y="165" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="210" y="111" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="210" y="219" width="86" height="36" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="251" y="286" width="98" height="91" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="1" y="377" width="598" height="22" rx="5" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m201.8 0s-201.8 0-201.8 67v328.36c0 2.6512 5.3727 4.6403 12 4.6403h576c6.627 0 12-1.9892 12-4.6403v-328.36c0-67-198.21-67-198.21-67h-101.79zm201.21 81.2c-3.8661 0-6.9999 1.2536-6.9999 2.8v300.4c0 1.5464 3.1341 2.8 6.9999 2.8h43.998c3.8661 0 6.9999-1.2536 6.9999-2.8v-300.4c0-1.5464-3.1341-2.8-6.9999-2.8z" fill-opacity="0" style="stroke-width:1.8107" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 320.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@ -0,0 +1,346 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="1e3" height="1200" fill="none" version="1.1" viewBox="0 0 1e3 1200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Crane", |
|||
"description": "Crane with various states.", |
|||
"searchTags": [ |
|||
"crane" |
|||
], |
|||
"widgetSizeX": 5, |
|||
"widgetSizeY": 6, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1a1a1a" stroke-width="2" tb:tag="background"> |
|||
<path d="m999 1101h-518v98h518z"/> |
|||
<path d="m89 301h-88v38h88z"/> |
|||
<path d="m38.637 353.25c1.8257-2.795 3.0211-5.169 3.5801-7.616 0.4834-2.115 0.4778-4.225 0.0646-6.636h22.765c0.4236 2.76 0.5531 8.434-2.4543 17.437-1.0074 3.015-3.2478 5.918-6.1765 8.829-2.4452 2.43-5.2981 4.799-8.1981 7.207-0.57 0.473-1.1418 0.948-1.7126 1.425-3.4492 2.882-6.8589 5.843-9.4634 8.969s-4.4841 6.511-4.7352 10.25c-0.4781 7.123 1.5349 12.183 4.5904 15.755 3.0323 3.545 7.0211 5.546 10.381 6.711 2.6292 0.911 7.97 1.542 12.913-0.172 2.4934-0.865 4.9095-2.335 6.8093-4.687 1.9017-2.355 3.2394-5.537 3.6645-9.748 0.2685-2.66 0.4677-4.993 0.639-7.001 0.0914-1.07 0.1749-2.048 0.2566-2.933 0.2394-2.589 0.4634-4.351 0.8094-5.493 0.345-1.138 0.6919-1.294 0.9494-1.334 0.2122-0.033 0.5457-0.012 1.0684 0.146 0.5169 0.156 1.1513 0.424 1.9388 0.814 8.6238 4.272 11.837 11.217 12.524 18.027 0.6932 6.867-1.1952 13.571-2.7777 17.098-6.6047 14.722-20.145 23.7-37.326 23.7-10.333 0-18.218-1.819-24.553-5.103-6.3316-3.283-11.186-8.065-15.404-14.105-3.3703-4.826-6.7534-12.808-7.5927-21.713-0.83751-8.887 0.86149-18.628 7.5566-27.085 6.2949-7.951 12.501-11.818 17.718-14.561 0.9365-0.492 1.8598-0.957 2.7531-1.407 1.5646-0.788 3.0372-1.53 4.3284-2.291 2.0627-1.216 3.8384-2.576 5.0837-4.483z"/> |
|||
</g><path d="m559.64 1101-515.24-1098.3 341.87 221.97 538.94 876.28z" stroke="#1a1a1a" stroke-width="2"/><path d="m148 225h237" stroke="#1a1a1a" stroke-width="2"/><path d="m249 438h269" stroke="#1a1a1a" stroke-width="2"/><path d="m362 680h304" stroke="#1a1a1a" stroke-width="2"/><path d="m491 955h344" stroke="#1a1a1a" stroke-width="2"/><path d="m249 437.92 136.32-212.92" stroke="#1a1a1a" stroke-width="2"/><path d="m362 680.92 155.32-242.92" stroke="#1a1a1a" stroke-width="1.9997"/><path d="m492 954.92 175.31-274.92" stroke="#1a1a1a" stroke-width="2.0018"/><path d="m44 2v299" stroke="#1a1a1a" stroke-width="2"/><path d="m336.32 0s-336.32 0-336.32 201v985.08c0 7.9536 8.9545 13.921 20 13.921h960c11.045 0 20-5.9676 20-13.921v-985.08c0-201-330.35-201-330.35-201h-169.65zm335.35 243.6c-6.4435 0-11.667 3.7608-11.667 8.4v901.2c0 4.6392 5.2235 8.4 11.667 8.4h73.33c6.4435 0 11.667-3.7608 11.667-8.4v-901.2c0-4.6392-5.2235-8.4-11.667-8.4z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,444 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="400" fill="none" version="1.1" viewBox="0 0 200 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Circuit breaker", |
|||
"description": "Circuit breaker with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"ev", |
|||
"switch" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "breaker", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "var initial = ctx.values.initialState;\nvar action = initial ? 'offUpdateState' : 'onUpdateState';\n\nctx.api.callAction(event, action, undefined, {\n next: () => {\n ctx.api.setValue('initialState', !initial);\n }\n});" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "breaker-trigger", |
|||
"stateRenderFunction": "element.fill(ctx.properties.disabledColor);\nif (ctx.values.initialState) {\n element.transform({translateY: 0});\n} else {\n element.transform({translateY: 160});\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "label", |
|||
"stateRenderFunction": "if (ctx.properties.label) {\n element.show();\n var label = ctx.values.initialState ? ctx.properties.onLabel : ctx.properties.offLabel;\n ctx.api.font(element, ctx.properties.labelFont, ctx.properties.labelColor);\n ctx.api.text(element, label);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "label-box", |
|||
"stateRenderFunction": "var color = ctx.properties.disabledColor;\nif (ctx.values.initialState) {\n color = ctx.properties.enabledColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "initialState", |
|||
"name": "{i18n:scada.symbol.on-off-state}", |
|||
"hint": "{i18n:scada.symbol.on-off-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": "{i18n:scada.symbol.on}", |
|||
"falseLabel": "{i18n:scada.symbol.off}", |
|||
"stateLabel": "", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "onUpdateState", |
|||
"name": "{i18n:scada.symbol.on-update-state}", |
|||
"hint": "{i18n:scada.symbol.on-update-state-hint}", |
|||
"group": null, |
|||
"type": "action", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": { |
|||
"action": "EXECUTE_RPC", |
|||
"executeRpc": { |
|||
"method": "setState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"setAttribute": { |
|||
"scope": "SERVER_SCOPE", |
|||
"key": "state" |
|||
}, |
|||
"putTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"valueToData": { |
|||
"type": "CONSTANT", |
|||
"constantValue": true, |
|||
"valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;" |
|||
} |
|||
}, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "offUpdateState", |
|||
"name": "{i18n:scada.symbol.off-update-state}", |
|||
"hint": "{i18n:scada.symbol.off-update-state-hint}", |
|||
"group": null, |
|||
"type": "action", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": { |
|||
"action": "EXECUTE_RPC", |
|||
"executeRpc": { |
|||
"method": "setState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"setAttribute": { |
|||
"key": "state", |
|||
"scope": "SERVER_SCOPE" |
|||
}, |
|||
"putTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"valueToData": { |
|||
"type": "CONSTANT", |
|||
"constantValue": false, |
|||
"valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;" |
|||
} |
|||
}, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "label", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "onLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "text", |
|||
"default": "ON", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "text", |
|||
"default": "OFF", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 42, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "400", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "color", |
|||
"default": "#1A1A1A", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "enabledColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.enabled}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "disabledColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.disabled}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect width="200" height="400" fill="#fff" tb:tag="background"/><rect x="1" y="1" width="198" height="398" stroke="#000" stroke-opacity=".87" stroke-width="2"/><g tb:tag="breaker"> |
|||
<path d="m50 100h100v198c0 1.105-0.895 2-2 2h-96c-1.1046 0-2-0.895-2-2v-198z"/> |
|||
<path d="m51 101h98v197c0 0.552-0.448 1-1 1h-96c-0.5523 0-1-0.448-1-1v-197z" stroke="#000" stroke-opacity=".87" stroke-width="2" tb:tag="label-box"/> |
|||
<text x="100" y="201.65533" fill="#000000" font-family="Roboto" font-size="40px" font-weight="400" text-anchor="middle" tb:tag="label" xml:space="preserve"><tspan dominant-baseline="start">ON</tspan></text> |
|||
<g tb:tag="breaker-trigger"> |
|||
<rect x="24" y="100" width="152" height="40" rx="2" fill="#999"/> |
|||
<rect x="25" y="101" width="150" height="38" rx="1" stroke="#000" stroke-opacity=".87" stroke-width="2"/> |
|||
</g> |
|||
</g><circle cx="100" cy="50" r="20" fill="#fff"/><circle cx="100" cy="50" r="19" stroke="#000" stroke-opacity=".87" stroke-width="2"/><circle cx="100" cy="350" r="20" fill="#fff"/><circle cx="100" cy="350" r="19" stroke="#000" stroke-opacity=".87" stroke-width="2"/><path d="m100 0v31" stroke="#1a1a1a" stroke-width="6"/><path d="m100 369v31" stroke="#1a1a1a" stroke-width="6"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,355 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="400" fill="none" version="1.1" viewBox="0 0 600 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Drawwork", |
|||
"description": "Drawwork with various states.", |
|||
"searchTags": [ |
|||
"drawwork" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "circle-background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = '#dedede';\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "drawwork-background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1a1a1a" tb:tag="drawwork-background"> |
|||
<path d="m65.049 374 49.936-64h143.35l49.622 64z" stroke-width="2"/> |
|||
<rect x="24.777" y="374" width="324" height="24.999" rx="3.6512" stroke-width="2.0011"/> |
|||
<rect x="188" y="1" width="333" height="252" stroke-width="2"/> |
|||
<rect x="521" y="1" width="78" height="398" stroke-width="2"/> |
|||
<circle cx="187" cy="187" r="186" stroke-width="2"/> |
|||
</g><mask id="path-6-inside-1_4465_2848" fill="#ffffff"> |
|||
<path d="m308.33 187c0 66.274-53.726 120-120 120s-120-53.726-120-120 53.726-120 120-120 120 53.726 120 120zm-221.31 0c0 55.95 45.357 101.31 101.31 101.31s101.31-45.357 101.31-101.31-45.357-101.31-101.31-101.31-101.31 45.357-101.31 101.31z"/> |
|||
</mask><path d="m308.33 187c0 66.274-53.726 120-120 120s-120-53.726-120-120 53.726-120 120-120 120 53.726 120 120zm-221.31 0c0 55.95 45.357 101.31 101.31 101.31s101.31-45.357 101.31-101.31-45.357-101.31-101.31-101.31-101.31 45.357-101.31 101.31z" fill="#dedede" mask="url(#path-6-inside-1_4465_2848)" stroke="#1a1a1a" stroke-width="4" tb:tag="circle-background"/><line x1="421.5" x2="421.5" y1="4.3711e-8" y2="254" stroke="#1a1a1a" stroke-width="2"/><line x1="442" x2="442" y1="4.3711e-8" y2="254" stroke="#1a1a1a" stroke-width="2"/><line x1="462" x2="462" y1="4.3711e-8" y2="254" stroke="#1a1a1a" stroke-width="2"/><line x1="482" x2="482" y1="4.3711e-8" y2="254" stroke="#1a1a1a" stroke-width="2"/><line x1="502" x2="502" y1="4.3711e-8" y2="254" stroke="#1a1a1a" stroke-width="2"/><path d="m201.79 0s-201.79 0-201.79 67v328.36c0 2.6512 5.3727 4.6404 12 4.6404h576c6.627 0 12-1.9892 12-4.6404v-328.36c0-67-198.21-67-198.21-67h-101.79zm201.21 81.2c-3.8661 0-6.9999 1.2536-6.9999 2.8v300.4c0 1.5464 3.1341 2.8 6.9999 2.8h43.998c3.8661 0 6.9999-1.2536 6.9999-2.8v-300.4c0-1.5464-3.1341-2.8-6.9999-2.8z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,354 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="200" fill="none" version="1.1" viewBox="0 0 200 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Drill", |
|||
"description": "Drill with various states.", |
|||
"searchTags": [ |
|||
"drill", |
|||
"drilling" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<mask id="path-5-inside-1_4566_53869" fill="#ffffff"> |
|||
<path d="m160 113.52v50.507h-20.5l-10.711-48.771c-13.492 6.47-22.789 20.101-22.789 35.871 0 22.024 18.132 39.877 40.5 39.877s40.5-17.853 40.5-39.877c0-17.362-11.27-32.133-27-37.607z" clip-rule="evenodd" fill-rule="evenodd"/> |
|||
</mask><mask id="path-7-inside-2_4566_53869" fill="#ffffff"> |
|||
<path d="m40 113.52v50.507h20.5l10.711-48.771c13.492 6.47 22.789 20.101 22.789 35.871 0 22.024-18.132 39.877-40.5 39.877s-40.5-17.853-40.5-39.877c0-17.362 11.27-32.133 27-37.607z" clip-rule="evenodd" fill-rule="evenodd"/> |
|||
</mask><g fill="#fff" tb:tag="background"> |
|||
<path d="m62.143 81 10.732-80h54.25l10.732 80z" stroke="#1a1a1a" stroke-width="2"/> |
|||
<path d="m70 81h60v103.02c-0.122 0.098-0.274 0.218-0.453 0.358-0.534 0.419-1.312 1.019-2.284 1.739-1.945 1.442-4.662 3.363-7.751 5.283-3.092 1.921-6.539 3.829-9.947 5.255-3.421 1.431-6.73 2.344-9.565 2.344-2.8349 0-6.1436-0.913-9.5652-2.344-3.4077-1.426-6.8551-3.334-9.9469-5.255-3.0891-1.92-5.806-3.841-7.7511-5.283-0.9721-0.72-1.7501-1.32-2.2841-1.739-0.179-0.14-0.3305-0.26-0.4527-0.358z" stroke="#1a1a1a" stroke-width="2"/> |
|||
<path d="m120.9 81.054c4e-3 -0.0183 8e-3 -0.0363 0.012-0.054h24.671l15.413 23.301v60.699h-22.222c-0.093-0.212-0.209-0.478-0.346-0.794-0.389-0.898-0.951-2.199-1.637-3.812-1.373-3.226-3.245-7.696-5.241-12.672-4.001-9.972-8.476-21.912-10.459-29.961-2.355-9.559-2.358-18.942-1.767-25.951 0.296-3.5009 0.739-6.4002 1.108-8.4209 0.184-1.0102 0.35-1.8002 0.468-2.3352z" stroke="#1a1a1a" stroke-width="2"/> |
|||
<path d="m79.096 81.054c-0.0041-0.0183-0.0081-0.0363-0.012-0.054h-24.67l-15.413 23.301v60.699h22.222c0.0926-0.212 0.2084-0.478 0.3456-0.794 0.3896-0.898 0.951-2.199 1.6373-3.812 1.3728-3.226 3.2446-7.696 5.2411-12.672 4.0007-9.972 8.4754-21.912 10.459-29.961 2.3552-9.559 2.3585-18.942 1.7667-25.951-0.2956-3.5009-0.7389-6.4002-1.1075-8.4209-0.1842-1.0102-0.3497-1.8002-0.4685-2.3352z" stroke="#1a1a1a" stroke-width="2"/> |
|||
<path d="m160 113.52v50.507h-20.5l-10.711-48.771c-13.492 6.47-22.789 20.101-22.789 35.871 0 22.024 18.132 39.877 40.5 39.877s40.5-17.853 40.5-39.877c0-17.362-11.27-32.133-27-37.607z" clip-rule="evenodd" fill-rule="evenodd"/> |
|||
<path d="m40 113.52v50.507h20.5l10.711-48.771c13.492 6.47 22.789 20.101 22.789 35.871 0 22.024-18.132 39.877-40.5 39.877s-40.5-17.853-40.5-39.877c0-17.362 11.27-32.133 27-37.607z" clip-rule="evenodd" fill-rule="evenodd"/> |
|||
</g><path d="m139.62 111.98 0.876 52.023-2 0.033-0.876-52.022zm20.376 1.533h-2v-2.814l2.657 0.925zm0 50.507h2v2h-2zm-20.5 0v2h-1.608l-0.345-1.571zm-10.711-48.771-0.865-1.804 2.277-1.091 0.541 2.466zm33.211-1.736v50.507h-4v-50.507zm-2 52.507h-20.5v-4h20.5zm-22.453-1.571-10.712-48.771 3.907-0.858 10.711 48.771zm-7.893-47.397c-12.836 6.156-21.654 19.109-21.654 34.068h-4c0-16.58 9.776-30.89 23.924-37.675zm-21.654 34.068c0 20.89 17.208 37.877 38.5 37.877v4c-23.443 0-42.5-18.72-42.5-41.877zm38.5 37.877c21.292 0 38.5-16.987 38.5-37.877h4c0 23.157-19.057 41.877-42.5 41.877zm38.5-37.877c0-16.469-10.69-30.51-25.657-35.719l1.314-3.777c16.494 5.739 28.343 21.24 28.343 39.496z" fill="#1a1a1a" mask="url(#path-5-inside-1_4566_53869)"/><path d="m59.5 111.84v52.183h2v-52.183zm-19.5 1.676h2v-2.814l-2.6574 0.925zm0 50.507h-2v2h2zm20.5 0v2h1.6084l0.345-1.571zm10.711-48.771 0.8648-1.804-2.2766-1.091-0.5417 2.466zm-33.211-1.736v50.507h4v-50.507zm2 52.507h20.5v-4h-20.5zm22.453-1.571 10.711-48.771-3.9069-0.858-10.711 48.771zm7.8931-47.397c12.836 6.156 21.654 19.109 21.654 34.068h4c0-16.58-9.7765-30.89-23.924-37.675zm21.654 34.068c0 20.89-17.208 37.877-38.5 37.877v4c23.443 0 42.5-18.72 42.5-41.877zm-38.5 37.877c-21.292 0-38.5-16.987-38.5-37.877h-4c0 23.157 19.057 41.877 42.5 41.877zm-38.5-37.877c0-16.469 10.69-30.51 25.657-35.719l-1.3148-3.777c-16.493 5.739-28.343 21.24-28.343 39.496z" fill="#1a1a1a" mask="url(#path-7-inside-2_4566_53869)"/><path d="m121.36 81.141 17.501 23.335" stroke="#1a1a1a" stroke-width="2"/><path d="m138.65 164.92v-61.051" stroke="#1a1a1a" stroke-width="2"/><path d="m138.59 104.21h22.274" stroke="#1a1a1a" stroke-width="2"/><path d="m79.019 81.141-17.854 23.246" stroke="#1a1a1a" stroke-width="2"/><path d="m61.342 164.58-0.17678-60.281" stroke="#1a1a1a" stroke-width="2"/><path d="m39.023 104.3 22.185 0.0442" stroke="#1a1a1a" stroke-width="2"/><path d="m67.264 0s-67.264 0-67.264 33.5v164.18c0 1.3256 1.7909 2.3202 4 2.3202h192c2.209 0 4-0.9946 4-2.3202v-164.18c0-33.5-66.07-33.5-66.07-33.5h-33.929zm67.07 40.6c-1.2887 0-2.3333 0.6268-2.3333 1.4v150.2c0 0.7732 1.0447 1.4 2.3333 1.4h14.666c1.2887 0 2.3333-0.6268 2.3333-1.4v-150.2c0-0.7732-1.0447-1.4-2.3333-1.4z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 17 KiB |
@ -0,0 +1,361 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="400" fill="none" version="1.1" viewBox="0 0 200 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Drilling line", |
|||
"description": "Drilling line with various states.", |
|||
"searchTags": [ |
|||
"drilling line" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "secondary-background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = '#dedede';\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke-width="2" tb:tag="background"> |
|||
<path d="m63 121h74v240h-74z" stroke="#1A1A1A"/> |
|||
<ellipse cx="100.54" cy="101" rx="99.422" ry="100"/> |
|||
<g transform="translate(-.043811 1)" clip-path="url(#clip0_4864_4144)" stroke="#727171"> |
|||
<path d="m97.225 37.672c-7.5861-19.484-16.826-28.051-22.054-34.859l-28.813 0.75778-20.347 24.447c1.6695-1.8123 10.516-0.092 32.545 21.288 22.029 21.38 29.908 40.861 31.093 47.929l15.475-10.344c0-15.191-0.313-29.735-7.899-49.219z"/> |
|||
<path d="m166.5 132.89c20.8 2.127 32.637-2.193 41.079-3.744l12.457-25.992-12.488-29.253c0.852 2.312-4.71 9.4022-33.78 19.267-29.07 9.8649-50.001 7.9989-56.833 5.8331l-3.553 17.159c13.521 6.923 32.318 14.603 53.118 16.73z"/> |
|||
<path d="m46.728 132.5c-14.634 14.934-23.517 27.044-27.569 34.611l12.551 25.947 30.656 8.48c-2.3389-0.776-4.4126-9.546 6.0037-38.423s24.928-44.076 30.881-48.066l-12.593-9.458c-13.844 6.253-25.296 11.976-39.93 26.909z"/> |
|||
</g> |
|||
<circle cx="100.47" cy="101.51" r="20.796" fill="#dedede" stroke="#000" tb:tag="secondary-background"/> |
|||
<path d="m39 361h122v38h-122z" fill="#dedede" stroke="#000" tb:tag="secondary-background"/> |
|||
</g><ellipse cx="100.11" cy="101" rx="99.009" ry="99.164" stroke="#000" stroke-width="2"/><path d="m67.264 0s-67.264 0-67.264 67v328.36c0 2.6512 1.7909 4.6404 4 4.6404h192c2.209 0 4-1.9892 4-4.6404v-328.36c0-67-66.07-67-66.07-67h-33.929zm67.07 81.2c-1.2887 0-2.3333 1.2536-2.3333 2.8v300.4c0 1.5464 1.0447 2.8 2.3333 2.8h14.666c1.2887 0 2.3333-1.2536 2.3333-2.8v-300.4c0-1.5464-1.0447-2.8-2.3333-2.8z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><defs> |
|||
<clipPath id="clip0_4864_4144"> |
|||
<rect width="200" height="200" rx="100" fill="#fff"/> |
|||
</clipPath> |
|||
</defs> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,354 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="800" height="1800" fill="none" version="1.1" viewBox="0 0 800 1800"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Drilling rig", |
|||
"description": "Drilling rig with various states.", |
|||
"searchTags": [ |
|||
"drilling rig" |
|||
], |
|||
"widgetSizeX": 4, |
|||
"widgetSizeY": 9, |
|||
"tags": [ |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "drilling-ring", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m280.06 201h239.89c2.435 0 4.516 1.754 4.928 4.153l273.94 1593.8h-797.63l273.94-1593.8c0.413-2.399 2.493-4.153 4.928-4.153z" stroke="#1a1a1a" stroke-width="2"/><line x1="276.08" x2="575.67" y1="202.29" y2="501.88" stroke="#1a1a1a" stroke-width="1.9986"/><line x1="523.29" x2="224.71" y1="201.71" y2="500.29" stroke="#1a1a1a" stroke-width="1.9986"/><line x1="225.08" x2="647.67" y1="500.29" y2="922.88" stroke="#1a1a1a" stroke-width="1.999"/><line x1="573.88" x2="151.29" y1="502.29" y2="924.88" stroke="#1a1a1a" stroke-width="1.999"/><line x1="152.71" x2="751.29" y1="925.29" y2="1523.9" stroke="#1a1a1a" stroke-width="1.9993"/><line x1="647.29" x2="48.707" y1="924.71" y2="1523.3" stroke="#1a1a1a" stroke-width="1.9993"/><path d="m389.98 1028.8c2.365-3.65 3.896-6.72 4.6109-9.87 0.64099-2.82 0.61099-5.64 0.017-8.92h30.21c0.58999 3.57 0.85699 11.11-3.162 23.22-1.333 4.02-4.2859 7.86-8.1039 11.68-3.19 3.19-6.9109 6.3-10.681 9.45-0.73999 0.62-1.482 1.24-2.223 1.86-4.4839 3.77-8.8969 7.63-12.264 11.69-3.366 4.07-5.7649 8.44-6.0849 13.24-0.61599 9.24 1.978 15.78 5.8949 20.39 3.8929 4.58 9.0239 7.17 13.365 8.69 3.366 1.17 10.24 1.99 16.595-0.23 3.199-1.11 6.2889-3.01 8.7169-6.03 2.429-3.03 4.1489-7.14 4.6969-12.59 0.349-3.48 0.607-6.53 0.82999-9.15 0.119-1.4 0.227-2.69 0.334-3.85 0.31099-3.38 0.60399-5.72 1.064-7.25 0.461-1.53 0.96899-1.88 1.476-1.96 0.337-0.05 0.81799-0.01 1.519 0.2 0.69499 0.21 1.536 0.57 2.566 1.09 11.321 5.64 15.547 14.83 16.45 23.83 0.90799 9.05-1.564 17.88-3.637 22.53-8.6369 19.38-26.348 31.19-48.797 31.19-13.467 0-23.767-2.39-32.055-6.71-8.2839-4.32-14.63-10.62-20.134-18.55-4.4109-6.36-8.8289-16.85-9.9249-28.56-1.095-11.69 1.125-24.52 9.8889-35.66 8.2179-10.45 16.325-15.53 23.13-19.13 1.229-0.65 2.434-1.27 3.598-1.85 2.026-1.03 3.924-1.99 5.5949-2.99 2.665-1.58 4.9279-3.33 6.5099-5.76z" fill="#dedede" stroke="#1a1a1a" stroke-width="2"/><path d="m339 1150h122v38h-122z" fill="#dedede" stroke="#1a1a1a" stroke-width="2"/><path d="m339 981h122v38h-122z" fill="#dedede" stroke="#1a1a1a" stroke-width="2"/><path d="m363 1188h74v487h-74z" fill="#dedede" stroke="#1a1a1a" stroke-width="2"/><path d="m363 201h74v780h-74z" stroke="#1a1a1a" stroke-width="2"/><circle cx="401.33" cy="120" r="119" fill="#dedede" stroke="#1a1a1a" stroke-width="2.0026"/><g clip-path="url(#clip0_4613_175962)" fill="#dedede"> |
|||
<path d="m397.27 45.19c-9.0358-23.378-20.04-33.657-26.268-41.826l-34.32 0.90925-24.236 29.334c1.9888-2.1746 12.525-0.11046 38.765 25.543 26.239 25.653 35.623 49.028 37.035 57.509l18.432-12.412c0-18.227-0.37246-35.679-9.4092-59.057z" stroke="#727171" stroke-width="1.996"/> |
|||
<path d="m480.57 159.3c24.917 2.557 39.097-2.6364 49.21-4.5l14.922-31.246-14.959-35.167c1.0206 2.7794-5.643 11.303-40.467 23.162-34.824 11.859-59.898 9.617-68.082 7.0128l-4.2568 20.627c16.198 8.3224 38.716 17.554 63.633 20.112z" stroke="#727171" stroke-width="2.0051"/> |
|||
<path d="m337.34 158.51c-17.566 17.88-28.229 32.38-33.094 41.44l15.066 31.067 36.799 10.153c-2.8073-0.928-5.2964-11.429 7.2073-46.004 12.504-34.575 29.922-52.773 37.069-57.55l-15.116-11.324c-16.619 7.4871-30.366 14.338-47.932 32.219z" stroke="#727171" stroke-width="2.0037"/> |
|||
<ellipse cx="401.68" cy="120.34" rx="24.997" ry="24.997" stroke="#1a1a1a" stroke-width="2.0051"/> |
|||
</g><circle cx="401.33" cy="120" r="119" stroke="#1a1a1a" stroke-width="2.0026"/><defs> |
|||
<clipPath id="clip0_4613_175962"> |
|||
<rect x="281.33" width="240" height="240" rx="120" fill="#fff"/> |
|||
</clipPath> |
|||
</defs><g fill="#fff" stroke="#1a1a1a" stroke-width="2" tb:tag="drilling-ring"> |
|||
<path d="m229 1675h342v91h-342z"/> |
|||
<path d="m141 1765h518v34h-518z"/> |
|||
</g><path d="m269.06 0s-269.06 0-269.06 301.5v1477.6c0 11.93 7.1636 20.882 16 20.882h768c8.836 0 16-8.9514 16-20.882v-1477.6c0-301.5-264.28-301.5-264.28-301.5h-135.72zm268.28 365.4c-5.1548 0-9.3332 5.6412-9.3332 12.6v1351.8c0 6.9588 4.1788 12.6 9.3332 12.6h58.664c5.1548 0 9.3332-5.6412 9.3332-12.6v-1351.8c0-6.9588-4.1788-12.6-9.3332-12.6z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
@ -0,0 +1,332 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="600" fill="none" version="1.1" viewBox="0 0 400 600"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Electrical distribution board", |
|||
"description": "Electrical distribution board with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"fuse", |
|||
"panel" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 3, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "icon", |
|||
"stateRenderFunction": "var showIcon = ctx.properties.showIcon;\nvar showLabel = ctx.properties.label;\nif (showIcon) {\n element.show();\n var icon = ctx.properties.icon;\n var iconSize = ctx.properties.iconSize;\n var iconColor = ctx.properties.iconColor;\n ctx.api.icon(element, icon, iconSize, iconColor, true);\n if (!showLabel) {\n element.transform({translateX: 200, translateY: 310});\n }\n} else {\n element.hide()\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "triangle", |
|||
"stateRenderFunction": "if (ctx.properties.showTriangle) {\n element.show();\n element.stroke(ctx.properties.triangleColor);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "showIcon", |
|||
"name": "{i18n:scada.symbol.icon}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "iconSize", |
|||
"name": "{i18n:scada.symbol.icon}", |
|||
"type": "number", |
|||
"default": 44, |
|||
"fieldSuffix": "px", |
|||
"min": 0, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "icon", |
|||
"name": "{i18n:scada.symbol.icon}", |
|||
"type": "icon", |
|||
"default": "bolt", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showTriangle", |
|||
"name": "{i18n:scada.symbol.triangle}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "triangleColor", |
|||
"name": "{i18n:scada.symbol.triangle}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "iconColor", |
|||
"name": "{i18n:scada.symbol.icon}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"divider": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="398" height="598" rx="3" fill="#fff" stroke="#1a1a1a" stroke-width="2" tb:tag="background"/><path d="m150.82 344.75c-1.541 0-2.503-1.669-1.731-3.002l49.176-84.942c0.771-1.33 2.692-1.33 3.462 0l49.177 84.942c0.772 1.333-0.19 3.002-1.731 3.002h-98.353z" stroke="#D12730" stroke-width="8" tb:tag="triangle"/><g transform="translate(200,310)" tb:tag="icon"> |
|||
<path d="m4.3731-15.914-16.841 15.085c-1.041 0.943-0.455 2.682 0.943 2.812l13.151 1.268-7.884 10.989c-0.358 0.504-0.309 1.203 0.13 1.642 0.487 0.488 1.251 0.504 1.755 0.033l16.841-15.086c1.041-0.943 0.455-2.682-0.943-2.812l-13.151-1.268 7.885-10.989c0.357-0.504 0.308-1.203-0.131-1.642-0.487-0.488-1.251-0.504-1.755-0.032z" fill="#1a1a1a"/> |
|||
</g><path d="m134.53 0s-134.53 0-134.53 100.5v492.54c0 3.9768 3.5818 6.9606 8 6.9606h384c4.418 0 8-2.9838 8-6.9606v-492.54c0-100.5-132.14-100.5-132.14-100.5h-67.86zm134.14 121.8c-2.5774 0-4.6666 1.8804-4.6666 4.2v450.6c0 2.3196 2.0894 4.2 4.6666 4.2h29.332c2.5774 0 4.6666-1.8804 4.6666-4.2v-450.6c0-2.3196-2.0894-4.2-4.6666-4.2z" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,360 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="400" fill="none" version="1.1" viewBox="0 0 600 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Electrical engine", |
|||
"description": "Electrical engine with various states.", |
|||
"searchTags": [ |
|||
"extraction", |
|||
"power" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<rect x="161" y="21" width="178" height="30" rx="1"/> |
|||
<rect x="201" y="1" width="98" height="20" rx="1"/> |
|||
<rect x="51" y="377" width="398" height="22" rx="3"/> |
|||
<path d="m76.152 377 32.051-38h283.59l32.051 38h-347.7z"/> |
|||
<path d="m1 100c0-27.062 21.938-49 49-49h446c1.657 0 3 1.3431 3 3v282c0 1.657-1.343 3-3 3h-446c-27.062 0-49-21.938-49-49v-190z"/> |
|||
<path d="m499 116h16v158h-16v-158z"/> |
|||
<path d="m515 29c0-1.6569 1.343-3 3-3h26c1.657 0 3 1.3431 3 3v332c0 1.657-1.343 3-3 3h-26c-1.657 0-3-1.343-3-3v-332z"/> |
|||
<path d="m545 183c0-1.657 1.343-3 3-3h48c1.657 0 3 1.343 3 3v24c0 1.657-1.343 3-3 3h-48c-1.657 0-3-1.343-3-3v-24z"/> |
|||
</g><path d="m56 50v290" stroke="#1A1A1A" stroke-width="2"/><path d="m56 83h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 67h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 99h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 115h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 131h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 147h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 163h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 179h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 211h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 195h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 227h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 259h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 243h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 275h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 291h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 307h389" stroke="#1A1A1A" stroke-width="2"/><path d="m56 323h389" stroke="#1A1A1A" stroke-width="2"/><path d="m445 50v290" stroke="#1A1A1A" stroke-width="2"/><path d="m201.79 0s-201.79 0-201.79 67v328.36c0 2.6512 5.3727 4.6404 12 4.6404h576c6.627 0 12-1.9892 12-4.6404v-328.36c0-67-198.21-67-198.21-67h-101.79zm201.21 81.2c-3.8661 0-6.9999 1.2536-6.9999 2.8v300.4c0 1.5464 3.1341 2.8 6.9999 2.8h43.998c3.8661 0 6.9999-1.2536 6.9999-2.8v-300.4c0-1.5464-3.1341-2.8-6.9999-2.8z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 316)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,482 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="400" fill="none" version="1.1" viewBox="0 0 400 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Energy meter", |
|||
"description": "Energy meter with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "label", |
|||
"stateRenderFunction": "if (ctx.properties.showLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.labelFont, ctx.properties.labelColor);\n ctx.api.text(element, ctx.properties.label);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "units", |
|||
"stateRenderFunction": "if (ctx.properties.showUnits) {\n element.show();\n ctx.api.font(element, ctx.properties.unitsFont, ctx.properties.unitsColor);\n ctx.api.text(element, ctx.properties.units);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.valueFont, ctx.properties.valueColor);\nctx.api.text(element, ctx.api.formatValue(ctx.values.measured, 0, null, 0));", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.valueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "measured", |
|||
"name": "{i18n:scada.symbol.measured}", |
|||
"hint": "{i18n:scada.symbol.measured-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "measured" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "label", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "text", |
|||
"default": "T1", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "400", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showUnits", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "units", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "units", |
|||
"default": "kWh", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "unitsFont", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "unitsColor", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 48, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="398" height="398" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><rect x="49" y="143" width="302" height="114" rx="3" fill="#DEDEDE" stroke="#1A1A1A" stroke-width="2" tb:tag="value-box"/><text x="199.83594" y="217.64844" fill="#002878" font-family="Roboto" font-size="48px" font-weight="400" text-anchor="middle" tb:tag="value" xml:space="preserve"><tspan dominant-baseline="start">000023</tspan></text><text x="199.89453" y="341.65625" fill="#000000" font-family="Roboto" font-size="36px" font-weight="400" text-anchor="middle" tb:tag="units" xml:space="preserve"><tspan dominant-baseline="start">kWh</tspan></text><text x="199.70117" y="83.648438" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="label" xml:space="default"><tspan dominant-baseline="start">T1</tspan></text><path d="m134.53-2e-4s-134.53 0-134.53 67v328.36c0 2.6512 3.5818 4.6404 8 4.6404h384c4.418 0 8-1.9892 8-4.6404v-328.36c0-67-132.14-67-132.14-67h-67.858zm134.14 81.2c-2.5774 0-4.6666 1.2536-4.6666 2.8v300.4c0 1.5464 2.0894 2.8 4.6666 2.8h29.332c2.5774 0 4.6666-1.2536 4.6666-2.8v-300.4c0-1.5464-2.0894-2.8-4.6666-2.8z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 17 KiB |
@ -0,0 +1,876 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="400" fill="none" version="1.1" viewBox="0 0 600 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Four-rate energy meter", |
|||
"description": "Four-rate energy meter with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "export-label", |
|||
"stateRenderFunction": "if (ctx.properties.showExportLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.exportLabelFont, ctx.properties.exportLabelColor);\n ctx.api.text(element, ctx.properties.exportLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "export-rate", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.exportValueFont, ctx.properties.exportValueColor);\nctx.api.text(element, ctx.api.formatValue(ctx.values.exportRate, 0, null, 0));", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "night-label", |
|||
"stateRenderFunction": "if (ctx.properties.showNightLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.nightLabelFont, ctx.properties.nightLabelColor);\n ctx.api.text(element, ctx.properties.nightLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "night-rate", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.nightValueFont, ctx.properties.nightValueColor);\nctx.api.text(element, ctx.api.formatValue(ctx.values.nightRate, 0, null, 0));", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "off-peak-label", |
|||
"stateRenderFunction": "if (ctx.properties.showOffPeakLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.offPeakLabelFont, ctx.properties.offPeakLabelColor);\n ctx.api.text(element, ctx.properties.offPeakLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "off-peak-rate", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.offPeakValueFont, ctx.properties.offPeakValueColor);\nctx.api.text(element, ctx.api.formatValue(ctx.values.offPeakRate, 0, null, 0));", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "peak-label", |
|||
"stateRenderFunction": "if (ctx.properties.showPeakLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.peakLabelFont, ctx.properties.peakLabelColor);\n ctx.api.text(element, ctx.properties.peakLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "peak-rate", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.peakValueFont, ctx.properties.peakValueColor);\nctx.api.text(element, ctx.api.formatValue(ctx.values.peakRate, 0, null, 0));", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "units", |
|||
"stateRenderFunction": "if (ctx.properties.showUnits) {\n element.show();\n ctx.api.font(element, ctx.properties.unitsFont, ctx.properties.unitsColor);\n ctx.api.text(element, ctx.properties.units);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-export", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.exportValueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-night", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.nightValueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-off-peak", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.offPeakValueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-peak", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.peakValueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "offPeakRate", |
|||
"name": "{i18n:scada.symbol.off-peak-rate}", |
|||
"hint": "{i18n:scada.symbol.measured-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "offPeakRate" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "nightRate", |
|||
"name": "{i18n:scada.symbol.night-rate}", |
|||
"hint": "{i18n:scada.symbol.measured-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "nightRate" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "peakRate", |
|||
"name": "{i18n:scada.symbol.peak-rate}", |
|||
"hint": "{i18n:scada.symbol.measured-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "peakRate" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "exportRate", |
|||
"name": "{i18n:scada.symbol.export-rate}", |
|||
"hint": "{i18n:scada.symbol.measured-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "exportRate" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showOffPeakLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "text", |
|||
"default": "T1", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "color", |
|||
"default": "#000000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakValueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 48, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showNightLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "text", |
|||
"default": "T2", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightValueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 48, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showPeakLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "text", |
|||
"default": "T3", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakValueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 48, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showExportLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.export-rate}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "exportLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.export-rate}", |
|||
"type": "text", |
|||
"default": "Export", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "exportLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.export-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "exportLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.export-rate}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "exportValueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.export-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 48, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "exportValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.export-rate}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "exportValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.export-rate}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showUnits", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "units", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "units", |
|||
"default": "kWh", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "unitsFont", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "unitsColor", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="598" height="398" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><rect x="49" y="81" width="238" height="82" rx="3" fill="#dedede" stroke="#1a1a1a" stroke-width="2" tb:tag="value-box-off-peak"/><rect x="313" y="81" width="238" height="82" rx="3" fill="#dedede" stroke="#1a1a1a" stroke-width="2" tb:tag="value-box-night"/><rect x="49" y="237" width="238" height="82" rx="3" fill="#dedede" stroke="#1a1a1a" stroke-width="2" tb:tag="value-box-peak"/><rect x="313" y="237" width="238" height="82" rx="3" fill="#dedede" stroke="#1a1a1a" stroke-width="2" tb:tag="value-box-export"/><text x="171.2998" y="58.286133" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="off-peak-label" xml:space="default"><tspan dominant-baseline="start">T1</tspan></text><text x="433.2998" y="58.734375" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="night-label"><tspan dominant-baseline="start">T2</tspan></text><text x="169.2998" y="214.23438" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="peak-label" xml:space="default"><tspan dominant-baseline="start">T3</tspan></text><text x="432.31152" y="213.78613" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="export-label" xml:space="default"><tspan dominant-baseline="start">Export</tspan></text><text x="169.45312" y="139.625" fill="#002878" font-family="Roboto" font-size="48px" font-weight="400" text-anchor="middle" tb:tag="off-peak-rate" xml:space="default"><tspan dominant-baseline="start">000223</tspan></text><text x="433.45312" y="139.625" fill="#002878" font-family="Roboto" font-size="48px" font-weight="400" text-anchor="middle" tb:tag="night-rate" xml:space="default"><tspan dominant-baseline="start">000223</tspan></text><text x="169.45312" y="295.625" fill="#002878" font-family="Roboto" font-size="48px" font-weight="400" text-anchor="middle" tb:tag="peak-rate" xml:space="default"><tspan dominant-baseline="start">000223</tspan></text><text x="433.45312" y="295.625" fill="#002878" font-family="Roboto" font-size="48px" font-weight="400" text-anchor="middle" tb:tag="export-rate" xml:space="default"><tspan dominant-baseline="start">000223</tspan></text><text x="299.89453" y="371.67578" fill="#000000" font-family="Roboto" font-size="36px" font-weight="400" text-anchor="middle" tb:tag="units" xml:space="preserve"><tspan dominant-baseline="start">kWh</tspan></text><path d="m201.8-2e-4s-201.8 0-201.8 67v328.36c0 2.6512 5.3727 4.6404 12 4.6404h576c6.627 0 12-1.9892 12-4.6404v-328.36c0-67-198.21-67-198.21-67h-101.79zm201.21 81.2c-3.8661 0-6.9999 1.2536-6.9999 2.8v300.4c0 1.5464 3.1341 2.8 6.9999 2.8h43.998c3.8661 0 6.9999-1.2536 6.9999-2.8v-300.4c0-1.5464-3.1341-2.8-6.9999-2.8z" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 30 KiB |
@ -0,0 +1,359 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="400" fill="none" version="1.1" viewBox="0 0 600 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Fuel generator", |
|||
"description": "Fuel generator with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy", |
|||
"fuel", |
|||
"generation" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<path d="m1 24c0-12.702 10.298-23 23-23h95c12.703 0 23 10.298 23 23v37c0 3.866-3.134 7-7 7h-14c-3.866 0-7-3.134-7-7v-21c0-6.0751-4.925-11-11-11h-63c-6.0751 0-11 4.9249-11 11v282c0 6.075 4.9249 11 11 11h520c6.075 0 11-4.925 11-11v-314c0-3.866 3.134-7 7-7h14c3.866 0 7 3.134 7 7v330c0 12.703-10.297 23-23 23h-552c-12.702 0-23-10.297-23-23v-314z"/> |
|||
<path d="m29 78c0-12.702 10.298-23 23-23h496c12.703 0 23 10.298 23 23v244c0 6.075-4.925 11-11 11h-520c-6.0751 0-11-4.925-11-11v-244z"/> |
|||
<circle cx="478" cy="350" r="49"/> |
|||
<path d="m60 361h30v33c0 2.761-2.2386 5-5 5h-20c-2.7614 0-5-2.239-5-5v-33z"/> |
|||
<path d="m221 44c0-12.702 10.297-23 23-23h272c12.703 0 23 10.298 23 23v11h-318v-11z"/> |
|||
</g><line x1="87" x2="181" y1="211" y2="211" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="87" x2="181" y1="243" y2="243" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="87" x2="181" y1="275" y2="275" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="203" x2="297" y1="211" y2="211" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="203" x2="297" y1="243" y2="243" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="203" x2="297" y1="275" y2="275" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><path d="m201.8 0s-201.8 0-201.8 67v328.36c0 2.6512 5.3727 4.6403 12 4.6403h576c6.627 0 12-1.9892 12-4.6403v-328.36c0-67-198.21-67-198.21-67h-101.79zm201.21 81.2c-3.8661 0-6.9999 1.2536-6.9999 2.8v300.4c0 1.5464 3.1341 2.8 6.9999 2.8h43.998c3.8661 0 6.9999-1.2536 6.9999-2.8v-300.4c0-1.5464-3.1341-2.8-6.9999-2.8z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,361 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="200" fill="none" version="1.1" viewBox="0 0 200 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Gas preventer", |
|||
"description": "Gas preventer with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<rect x="58" y="177" width="84" height="22" rx="2"/> |
|||
<rect x="41" y="147" width="118" height="30" rx="2"/> |
|||
<rect x="1" y="1" width="198" height="146" rx="2"/> |
|||
<rect x="1" y="33" width="198" height="38"/> |
|||
<circle cx="20" cy="52" r="7"/> |
|||
<circle cx="52" cy="52" r="7"/> |
|||
<circle cx="84" cy="52" r="7"/> |
|||
<circle cx="116" cy="52" r="7"/> |
|||
<circle cx="148" cy="52" r="7"/> |
|||
<circle cx="180" cy="52" r="7"/> |
|||
</g><path d="m67.263 0s-67.263 0-67.263 33.5v164.18c0 1.3256 1.7909 2.3202 4 2.3202h192c2.209 0 4-0.9946 4-2.3202v-164.18c0-33.5-66.07-33.5-66.07-33.5h-33.93zm67.07 40.6c-1.2887 0-2.3333 0.6268-2.3333 1.4v150.2c0 0.7732 1.0447 1.4 2.3333 1.4h14.666c1.2887 0 2.3333-0.6268 2.3333-1.4v-150.2c0-0.7732-1.0447-1.4-2.3333-1.4z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,116)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 116)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,363 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="800" height="1000" fill="none" version="1.1" viewBox="0 0 800 1000"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Gas wellhead", |
|||
"description": "Gas wellhead with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 4, |
|||
"widgetSizeY": 5, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m368 869h1v-45c0-0.552 0.448-1 1-1h60c0.552 0 1 0.448 1 1v45h1 38c0.552 0 1 0.448 1 1v60c0 0.552-0.448 1-1 1h-39v45c0 0.552-0.448 1-1 1h-60c-0.552 0-1-0.448-1-1v-45h-39c-0.552 0-1-0.448-1-1v-60c0-0.552 0.448-1 1-1h38z" stroke="#1A1A1A" stroke-width="2"/><rect x="385" y="116" width="30" height="143" stroke="#1A1A1A" stroke-width="2"/><rect x="377" y="106" width="46" height="10" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="377" y="259" width="46" height="10" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="385" y="588" width="30" height="225" stroke="#1A1A1A" stroke-width="2"/><rect x="385" y="341" width="30" height="225" stroke="#1A1A1A" stroke-width="2"/><rect x="377" y="578" width="46" height="10" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="377" y="331" width="46" height="10" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="377" y="813" width="46" height="10" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="377" y="566" width="46" height="10" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="377" y="94" width="46" height="10" rx="1" stroke="#1A1A1A" stroke-width="2"/><circle cx="400" cy="30" r="29" stroke="#1A1A1A" stroke-width="2"/><circle cx="400" cy="30" r="20" stroke="#1A1A1A" stroke-width="2"/><rect x="390" y="57" width="2" height="37" fill="#1A1A1A"/><rect x="176" y="285" width="143" height="30" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="408" y="57" width="2" height="37" fill="#1A1A1A"/><rect x="176" y="885" width="143" height="30" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="646" y="285" width="143" height="30" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="646" y="885" width="143" height="30" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="11" y="285" width="143" height="30" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="11" y="885" width="143" height="30" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="481" y="285" width="143" height="30" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="481" y="885" width="143" height="30" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="319" y="277" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="319" y="877" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="789" y="277" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="789" y="877" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="329" y="269" width="142" height="62" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="166" y="277" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="166" y="877" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="636" y="277" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="636" y="877" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="154" y="277" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="154" y="877" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="624" y="277" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="624" y="877" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="1" y="277" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="1" y="877" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="471" y="277" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="471" y="877" width="10" height="46" rx="1" stroke="#1A1A1A" stroke-width="2"/><g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<rect x="281" y="977" width="238" height="22" rx="1"/> |
|||
<path d="m436.76 159.34-0.692-0.919-0.813 0.814-27.767 27.766 27.767 27.766 0.813 0.814 0.692-0.919c5.803-7.698 9.243-17.279 9.243-27.661s-3.44-19.963-9.243-27.661zm-10.147-8.434 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381-10.382 0-19.963 3.44-27.661 9.243l-0.919 0.692 0.814 0.813 26.766 26.767 27.61-27.61zm-62.705 9.485-0.84-0.84-0.684 0.971c-5.28 7.488-8.381 16.623-8.381 26.479s3.101 18.991 8.381 26.479l0.684 0.971 27.45-27.45-26.61-26.61zm8.329 61.862-0.814 0.813 0.919 0.692c7.698 5.803 17.279 9.243 27.661 9.243 9.856 0 18.991-3.101 26.479-8.381l0.971-0.684-28.45-28.45-26.766 26.767zm27.766-98.252c34.794 0 63 28.206 63 63s-28.206 63-63 63-63-28.206-63-63 28.206-63 63-63z"/> |
|||
<path d="m436.76 430.34-0.692-0.919-0.813 0.814-27.767 27.766 27.767 27.766 0.813 0.814 0.692-0.919c5.803-7.698 9.243-17.279 9.243-27.661s-3.44-19.963-9.243-27.661zm-10.147-8.434 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381-10.382 0-19.963 3.44-27.661 9.243l-0.919 0.692 0.814 0.813 26.766 26.767 27.61-27.61zm-62.705 9.485-0.84-0.84-0.684 0.971c-5.28 7.488-8.381 16.623-8.381 26.479s3.101 18.991 8.381 26.479l0.684 0.971 27.45-27.45-26.61-26.61zm8.329 61.862-0.814 0.813 0.919 0.692c7.698 5.803 17.279 9.243 27.661 9.243 9.856 0 18.991-3.101 26.479-8.381l0.971-0.684-28.45-28.45-26.766 26.767zm27.766-98.252c34.794 0 63 28.206 63 63s-28.206 63-63 63-63-28.206-63-63 28.206-63 63-63z"/> |
|||
<path d="m436.76 677.34-0.692-0.919-0.813 0.814-27.767 27.766 27.767 27.766 0.813 0.814 0.692-0.919c5.803-7.698 9.243-17.279 9.243-27.661s-3.44-19.963-9.243-27.661zm-10.147-8.434 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381-10.382 0-19.963 3.44-27.661 9.243l-0.919 0.692 0.814 0.813 26.766 26.767 27.61-27.61zm-62.705 9.485-0.84-0.84-0.684 0.971c-5.28 7.488-8.381 16.623-8.381 26.479s3.101 18.991 8.381 26.479l0.684 0.971 27.45-27.45-26.61-26.61zm8.329 61.862-0.814 0.813 0.919 0.692c7.698 5.803 17.279 9.243 27.661 9.243 9.856 0 18.991-3.101 26.479-8.381l0.971-0.684-28.45-28.45-26.766 26.767zm27.766-98.252c34.794 0 63 28.206 63 63s-28.206 63-63 63-63-28.206-63-63 28.206-63 63-63z"/> |
|||
<path d="m275.66 336.76 0.919-0.692-0.814-0.813-27.766-27.767-27.766 27.767-0.814 0.813 0.919 0.692c7.698 5.803 17.279 9.243 27.661 9.243s19.963-3.44 27.661-9.243zm8.434-10.147 0.84 0.84 0.684-0.971c5.28-7.488 8.381-16.623 8.381-26.479 0-10.382-3.44-19.963-9.243-27.661l-0.692-0.919-0.813 0.814-26.767 26.766 27.61 27.61zm-9.485-62.705 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381s-18.991 3.101-26.479 8.381l-0.971 0.684 27.45 27.45 26.61-26.61zm-61.862 8.329-0.813-0.814-0.692 0.919c-5.803 7.698-9.243 17.279-9.243 27.661 0 9.856 3.101 18.991 8.381 26.479l0.684 0.971 28.45-28.45-26.767-26.766zm98.252 27.766c0 34.794-28.206 63-63 63s-63-28.206-63-63 28.206-63 63-63 63 28.206 63 63z"/> |
|||
<path d="m275.66 936.76 0.919-0.692-0.814-0.813-27.766-27.767-27.766 27.767-0.814 0.813 0.919 0.692c7.698 5.803 17.279 9.243 27.661 9.243s19.963-3.44 27.661-9.243zm8.434-10.147 0.84 0.84 0.684-0.971c5.28-7.488 8.381-16.623 8.381-26.479 0-10.382-3.44-19.963-9.243-27.661l-0.692-0.919-0.813 0.814-26.767 26.766 27.61 27.61zm-9.485-62.705 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381s-18.991 3.101-26.479 8.381l-0.971 0.684 27.45 27.45 26.61-26.61zm-61.862 8.329-0.813-0.814-0.692 0.919c-5.803 7.698-9.243 17.279-9.243 27.661 0 9.856 3.101 18.991 8.381 26.479l0.684 0.971 28.45-28.45-26.767-26.766zm98.252 27.766c0 34.794-28.206 63-63 63s-63-28.206-63-63 28.206-63 63-63 63 28.206 63 63z"/> |
|||
<path d="m745.66 336.76 0.919-0.692-0.814-0.813-27.766-27.767-27.766 27.767-0.814 0.813 0.919 0.692c7.698 5.803 17.279 9.243 27.661 9.243s19.963-3.44 27.661-9.243zm8.434-10.147 0.84 0.84 0.684-0.971c5.28-7.488 8.381-16.623 8.381-26.479 0-10.382-3.44-19.963-9.243-27.661l-0.692-0.919-0.813 0.814-26.767 26.766 27.61 27.61zm-9.485-62.705 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381s-18.991 3.101-26.479 8.381l-0.971 0.684 27.45 27.45 26.61-26.61zm-61.862 8.329-0.813-0.814-0.692 0.919c-5.803 7.698-9.243 17.279-9.243 27.661 0 9.856 3.101 18.991 8.381 26.479l0.684 0.971 28.45-28.45-26.767-26.766zm98.252 27.766c0 34.794-28.206 63-63 63s-63-28.206-63-63 28.206-63 63-63 63 28.206 63 63z"/> |
|||
<path d="m745.66 936.76 0.919-0.692-0.814-0.813-27.766-27.767-27.766 27.767-0.814 0.813 0.919 0.692c7.698 5.803 17.279 9.243 27.661 9.243s19.963-3.44 27.661-9.243zm8.434-10.147 0.84 0.84 0.684-0.971c5.28-7.488 8.381-16.623 8.381-26.479 0-10.382-3.44-19.963-9.243-27.661l-0.692-0.919-0.813 0.814-26.767 26.766 27.61 27.61zm-9.485-62.705 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381s-18.991 3.101-26.479 8.381l-0.971 0.684 27.45 27.45 26.61-26.61zm-61.862 8.329-0.813-0.814-0.692 0.919c-5.803 7.698-9.243 17.279-9.243 27.661 0 9.856 3.101 18.991 8.381 26.479l0.684 0.971 28.45-28.45-26.767-26.766zm98.252 27.766c0 34.794-28.206 63-63 63s-63-28.206-63-63 28.206-63 63-63 63 28.206 63 63z"/> |
|||
<path d="m110.66 336.76 0.919-0.692-0.814-0.813-27.059-27.06-0.7071-0.707-0.7071 0.707-27.059 27.06-0.8134 0.813 0.9186 0.692c7.6985 5.803 17.28 9.243 27.661 9.243s19.963-3.44 27.661-9.243zm8.434-10.147 0.84 0.84 0.684-0.971c5.28-7.488 8.381-16.623 8.381-26.479 0-10.382-3.44-19.963-9.243-27.661l-0.692-0.919-0.813 0.814-26.06 26.059-0.7071 0.707 0.7071 0.707 26.903 26.903zm-9.485-62.705 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381s-18.991 3.101-26.479 8.381l-0.9707 0.684 0.8399 0.84 25.903 25.903 0.7071 0.707 0.7071-0.707 25.903-25.903zm-61.862 8.329-0.8134-0.814-0.6923 0.919c-5.8024 7.698-9.2427 17.279-9.2427 27.661 0 9.856 3.1011 18.991 8.3807 26.479l0.6844 0.971 0.8399-0.84 26.903-26.903 0.7071-0.707-0.7071-0.707-26.059-26.059zm98.252 27.766c0 34.794-28.206 63-63 63-34.794 0-63-28.206-63-63s28.206-63 63-63c34.794 0 63 28.206 63 63z"/> |
|||
<path d="m110.66 936.76 0.919-0.692-0.814-0.813-27.059-27.06-0.7071-0.707-0.7071 0.707-27.059 27.06-0.8134 0.813 0.9186 0.692c7.6985 5.803 17.28 9.243 27.661 9.243s19.963-3.44 27.661-9.243zm8.434-10.147 0.84 0.84 0.684-0.971c5.28-7.488 8.381-16.623 8.381-26.479 0-10.382-3.44-19.963-9.243-27.661l-0.692-0.919-0.813 0.814-26.06 26.059-0.7071 0.707 0.7071 0.707 26.903 26.903zm-9.485-62.705 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381s-18.991 3.101-26.479 8.381l-0.9707 0.684 0.8399 0.84 25.903 25.903 0.7071 0.707 0.7071-0.707 25.903-25.903zm-61.862 8.329-0.8134-0.814-0.6923 0.919c-5.8024 7.698-9.2427 17.279-9.2427 27.661 0 9.856 3.1011 18.991 8.3807 26.479l0.6844 0.971 0.8399-0.84 26.903-26.903 0.7071-0.707-0.7071-0.707-26.059-26.059zm98.252 27.766c0 34.794-28.206 63-63 63-34.794 0-63-28.206-63-63s28.206-63 63-63c34.794 0 63 28.206 63 63z"/> |
|||
<path d="m580.66 336.76 0.919-0.692-0.814-0.813-27.766-27.767-27.766 27.767-0.814 0.813 0.919 0.692c7.698 5.803 17.279 9.243 27.661 9.243s19.963-3.44 27.661-9.243zm8.434-10.147 0.84 0.84 0.684-0.971c5.28-7.488 8.381-16.623 8.381-26.479 0-10.382-3.44-19.963-9.243-27.661l-0.692-0.919-0.813 0.814-26.767 26.766 27.61 27.61zm-9.485-62.705 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381s-18.991 3.101-26.479 8.381l-0.971 0.684 27.45 27.45 26.61-26.61zm-61.862 8.329-0.813-0.814-0.692 0.919c-5.803 7.698-9.243 17.279-9.243 27.661 0 9.856 3.101 18.991 8.381 26.479l0.684 0.971 28.45-28.45-26.767-26.766zm98.252 27.766c0 34.794-28.206 63-63 63s-63-28.206-63-63 28.206-63 63-63 63 28.206 63 63z"/> |
|||
<path d="m580.66 936.76 0.919-0.692-0.814-0.813-27.766-27.767-27.766 27.767-0.814 0.813 0.919 0.692c7.698 5.803 17.279 9.243 27.661 9.243s19.963-3.44 27.661-9.243zm8.434-10.147 0.84 0.84 0.684-0.971c5.28-7.488 8.381-16.623 8.381-26.479 0-10.382-3.44-19.963-9.243-27.661l-0.692-0.919-0.813 0.814-26.767 26.766 27.61 27.61zm-9.485-62.705 0.84-0.84-0.971-0.684c-7.488-5.28-16.623-8.381-26.479-8.381s-18.991 3.101-26.479 8.381l-0.971 0.684 27.45 27.45 26.61-26.61zm-61.862 8.329-0.813-0.814-0.692 0.919c-5.803 7.698-9.243 17.279-9.243 27.661 0 9.856 3.101 18.991 8.381 26.479l0.684 0.971 28.45-28.45-26.767-26.766zm98.252 27.766c0 34.794-28.206 63-63 63s-63-28.206-63-63 28.206-63 63-63 63 28.206 63 63z"/> |
|||
</g><path d="m269.05 0s-269.05 0-269.05 167.5v820.9c0 6.628 7.1636 11.601 16 11.601h768c8.836 0 16-4.973 16-11.601v-820.9c0-167.5-264.28-167.5-264.28-167.5h-135.72zm268.28 203c-5.1548 0-9.3332 3.134-9.3332 7v751c0 3.866 4.1788 7 9.3332 7h58.664c5.1548 0 9.3332-3.134 9.3332-7v-751c0-3.866-4.1788-7-9.3332-7z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,916)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 916)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 24 KiB |
@ -0,0 +1,363 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="600" fill="none" version="1.1" viewBox="0 0 600 600"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Heat exchanger", |
|||
"description": "Heat exchanger with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 3, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<path d="m1 5c0-2.2091 1.7909-4 4-4h590c2.209 0 4 1.7909 4 4v134h-598v-134z"/> |
|||
<path d="m121 317h358v54c0 2.209-1.791 4-4 4h-350c-2.209 0-4-1.791-4-4v-54z"/> |
|||
<rect x="271" y="375" width="58" height="80"/> |
|||
<rect x="248" y="456" width="104" height="14" rx="2"/> |
|||
<path d="m221 474c0-2.209 1.791-4 4-4h150c2.209 0 4 1.791 4 4v125h-158v-125z"/> |
|||
<path d="m120.65 317-79.111-178h516.92l-79.111 178h-358.7z"/> |
|||
<path d="m263 318v56"/> |
|||
<path d="m188 318v56"/> |
|||
<path d="m413 318v56"/> |
|||
<path d="m200 0v138"/> |
|||
<path d="m400 0v138"/> |
|||
<path d="m338 318v56"/> |
|||
</g><path d="m201.79 0s-201.79 0-201.79 100.5v492.54c0 3.9768 5.3727 6.9606 12 6.9606h576c6.627 0 12-2.9838 12-6.9606v-492.54c0-100.5-198.21-100.5-198.21-100.5h-101.79zm201.21 121.8c-3.8661 0-6.9999 1.8804-6.9999 4.2v450.6c0 2.3196 3.1341 4.2 6.9999 4.2h43.998c3.8661 0 6.9999-1.8804 6.9999-4.2v-450.6c0-2.3196-3.1341-4.2-6.9999-4.2z" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,297 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="800" fill="none" version="1.1" viewBox="0 0 400 800"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP High voltage tower", |
|||
"description": "High voltage tower with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 4, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#999999", |
|||
"divider": false |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#999" stroke="#1a1a1a" tb:tag="background"> |
|||
<path d="m140 300h120" stroke-width="2"/> |
|||
<path d="m397 240v63" stroke-width="6"/> |
|||
<path d="m312 100v50" stroke-width="2"/> |
|||
<path d="m88 100v50" stroke-width="2"/> |
|||
<path d="m3 240v63" stroke-width="6"/> |
|||
<path d="m294 150h36" stroke-width="2"/> |
|||
<path d="m70 150h36" stroke-width="2"/> |
|||
<path d="m259.73 61 66.5 38h-252.47l66.5-38z" stroke-width="2"/> |
|||
<path d="m399.62 239h-399.23l139.46-58h120.32z" stroke-width="2.0004"/> |
|||
<path d="m259.02 299.7 99.599 497.5-158.17-79.085-0.447-0.224-0.447 0.224-158.17 79.085 99.599-497.5 0.019-0.097v-238.19l59-59.983 59 59.983v238.19z" stroke-width="2"/> |
|||
<path d="m200.08 718.22-130.08-67.22" stroke-width="2.0033"/> |
|||
<path d="m200.08 584-129.08 67.226" stroke-width="2.0006"/> |
|||
<path d="m200 718.22 130.08-67.22" stroke-width="2.0033"/> |
|||
<path d="m200 584 129.08 67.226" stroke-width="2.0006"/> |
|||
<path d="m200 584.22 105.08-54.222" stroke-width="2.0009"/> |
|||
<path d="m200 476 105.08 54.222" stroke-width="2.0009"/> |
|||
<path d="m200 476.52 85.077-44.225" stroke-width="2.0013"/> |
|||
<path d="m200 387.29 85.073 44.215" stroke-width="2.0113"/> |
|||
<path d="m200 387.22 69.098-35.23" stroke-width="1.9864"/> |
|||
<path d="m200.09 387.22-69.098-35.23" stroke-width="1.9864"/> |
|||
<path d="m200.09 475.5-85.094-43.216" stroke-width="2.0007"/> |
|||
<path d="m200.09 387.28-85.094 43.216" stroke-width="2.0007"/> |
|||
<path d="m200.08 584.22-105.08-54.222" stroke-width="2.0009"/> |
|||
<path d="m200.08 476-105.08 54.219" stroke-width="2.004"/> |
|||
<path d="m141 300h118" stroke-width="2"/> |
|||
<path d="m141 61h118" stroke-width="2"/> |
|||
<path d="m141 181h118" stroke-width="2"/> |
|||
<path d="m141 239h118" stroke-width="2"/> |
|||
<path d="m141 99h118" stroke-width="2"/> |
|||
<path d="m141 61h118" stroke-width="2"/> |
|||
</g><path d="m134.53 0s-134.53 0-134.53 134v656.72c0 5.3024 3.5818 9.2806 8 9.2806h384c4.418 0 8-3.9784 8-9.2806v-656.72c0-134-132.14-134-132.14-134h-67.86zm134.14 162.4c-2.5774 0-4.6666 2.5072-4.6666 5.6v600.8c0 3.0928 2.0894 5.6 4.6666 5.6h29.332c2.5774 0 4.6666-2.5072 4.6666-5.6v-600.8c0-3.0928-2.0894-5.6-4.6666-5.6z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,716)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 720.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 12 KiB |
@ -0,0 +1,293 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="400" fill="none" version="1.1" viewBox="0 0 200 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Hook", |
|||
"description": "Hook with various states.", |
|||
"searchTags": [ |
|||
"hook", |
|||
"drilling" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "hook", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.hookColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "hookColor", |
|||
"name": "{i18n:scada.symbol.hook-color}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "", |
|||
"divider": false, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1a1a1a" stroke-width="2" tb:tag="hook"> |
|||
<path d="m83.979 279.78c2.3649-3.644 3.8966-6.715 4.6115-9.864 0.64089-2.823 0.61129-5.644 0.017-8.921h30.209c0.58999 3.566 0.85699 11.114-3.162 23.222-1.333 4.015-4.2859 7.854-8.1039 11.674-3.19 3.19-6.9109 6.3-10.681 9.45-0.74019 0.619-1.4823 1.239-2.2226 1.862-4.4846 3.772-8.8978 7.63-12.264 11.697-3.3665 4.066-5.7648 8.433-6.0848 13.232-0.61659 9.244 1.9776 15.781 5.8941 20.39 3.8938 4.582 9.0245 7.176 13.366 8.691 3.3656 1.175 10.24 1.992 16.594-0.225 3.199-1.116 6.2889-3.011 8.7169-6.037 2.429-3.028 4.149-7.131 4.6969-12.59 0.34899-3.477 0.60699-6.524 0.82999-9.148 0.119-1.403 0.22699-2.684 0.33399-3.846 0.311-3.382 0.60399-5.72 1.064-7.249 0.46099-1.528 0.96899-1.88 1.476-1.959 0.33699-0.054 0.81799-0.013 1.519 0.199 0.69499 0.211 1.536 0.57 2.566 1.084 11.321 5.643 15.547 14.835 16.45 23.832 0.90798 9.053-1.564 17.881-3.637 22.532-8.6369 19.376-26.348 31.189-48.797 31.189-13.468 0-23.767-2.387-32.055-6.711-8.2843-4.322-14.63-10.617-20.134-18.55-4.4111-6.357-8.8287-16.852-9.925-28.56-1.0945-11.689 1.1254-24.52 9.889-35.661 8.2183-10.447 16.325-15.531 23.129-19.132 1.2292-0.65 2.4347-1.261 3.5979-1.851 2.0264-1.027 3.9244-1.989 5.5955-2.981 2.6649-1.581 4.9275-3.332 6.5092-5.769z"/> |
|||
<path d="m58.08 261.38c-1.9988-1.28-4.4082-3.607-7.1067-6.92-2.688-3.299-5.6227-7.526-8.6813-12.552-6.1167-10.053-12.701-23.261-18.777-38.55-12.154-30.585-22.24-69.418-22.511-107.89-0.43146-61.407 29.982-85.126 51.186-90.56 10.719-2.7467 30.395-3.9859 49.703-3.9086 19.316 0.07727 38.034 1.4712 46.85 3.9039 17.425 4.8087 50.257 32.066 50.257 90.571 0 32.108-9.83 70.081-22.104 101.85-6.133 15.874-12.866 30.17-19.264 41.38-6.423 11.254-12.436 19.266-17.095 22.714-1.119 0.828-3.04 1.62-5.682 2.327-2.615 0.701-5.841 1.294-9.494 1.775-7.304 0.96-16.24 1.459-25.255 1.477-9.0138 0.019-18.079-0.442-25.642-1.393-3.7817-0.476-7.1717-1.072-9.9838-1.787-2.8296-0.72-5.0029-1.542-6.4004-2.437z"/> |
|||
</g><mask id="path-5-inside-1_4471_52357" fill="#ffffff"> |
|||
<path d="m172.8 99c0 39.765-32.236 72-72 72-39.765 0-72-32.235-72-72 0-39.764 32.236-72 72-72 39.764 0 72 32.236 72 72zm-132.78 0c0 33.57 27.214 60.784 60.784 60.784 33.57 0 60.784-27.214 60.784-60.784 0-33.57-27.214-60.784-60.784-60.784-33.57 0-60.784 27.214-60.784 60.784z"/> |
|||
</mask><path d="m172.8 99c0 39.765-32.236 72-72 72-39.765 0-72-32.235-72-72 0-39.764 32.236-72 72-72 39.764 0 72 32.236 72 72zm-132.78 0c0 33.57 27.214 60.784 60.784 60.784 33.57 0 60.784-27.214 60.784-60.784 0-33.57-27.214-60.784-60.784-60.784-33.57 0-60.784 27.214-60.784 60.784z" fill="#dedede" mask="url(#path-5-inside-1_4471_52357)" stroke="#1a1a1a" stroke-width="4"/><path d="m67.264 0s-67.264 0-67.264 67v328.36c0 2.6512 1.7909 4.6404 4 4.6404h192c2.209 0 4-1.9892 4-4.6404v-328.36c0-67-66.07-67-66.07-67h-33.929zm67.07 81.2c-1.2887 0-2.3333 1.2536-2.3333 2.8v300.4c0 1.5464 1.0447 2.8 2.3333 2.8h14.666c1.2887 0 2.3333-1.2536 2.3333-2.8v-300.4c0-1.5464-1.0447-2.8-2.3333-2.8z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.3 KiB |
@ -0,0 +1,439 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="200" fill="none" version="1.1" viewBox="0 0 400 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Horizontal circuit breaker", |
|||
"description": "Horizontal circuit breaker with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"ev" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "breaker", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "var initial = ctx.values.initialState;\nvar action = initial ? 'offUpdateState' : 'onUpdateState';\n\nctx.api.callAction(event, action, undefined, {\n next: () => {\n ctx.api.setValue('initialState', !initial);\n }\n});" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "breaker-trigger", |
|||
"stateRenderFunction": "element.fill(ctx.properties.disabledColor);\nif (ctx.values.initialState) {\n element.transform({translateX: 0});\n} else {\n element.transform({translateX: -160});\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "label", |
|||
"stateRenderFunction": "if (ctx.properties.label) {\n element.show();\n var label = ctx.values.initialState ? ctx.properties.onLabel : ctx.properties.offLabel;\n ctx.api.font(element, ctx.properties.labelFont, ctx.properties.labelColor);\n ctx.api.text(element, label);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "label-box", |
|||
"stateRenderFunction": "var color = ctx.properties.disabledColor;\nif (ctx.values.initialState) {\n color = ctx.properties.enabledColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "initialState", |
|||
"name": "{i18n:scada.symbol.on-off-state}", |
|||
"hint": "{i18n:scada.symbol.on-off-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": "{i18n:scada.symbol.on}", |
|||
"falseLabel": "{i18n:scada.symbol.off}", |
|||
"stateLabel": "", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "onUpdateState", |
|||
"name": "{i18n:scada.symbol.on-update-state}", |
|||
"hint": "{i18n:scada.symbol.on-update-state-hint}", |
|||
"group": null, |
|||
"type": "action", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": { |
|||
"action": "EXECUTE_RPC", |
|||
"executeRpc": { |
|||
"method": "setState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"setAttribute": { |
|||
"scope": "SERVER_SCOPE", |
|||
"key": "state" |
|||
}, |
|||
"putTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"valueToData": { |
|||
"type": "CONSTANT", |
|||
"constantValue": true, |
|||
"valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;" |
|||
} |
|||
}, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "offUpdateState", |
|||
"name": "{i18n:scada.symbol.off-update-state}", |
|||
"hint": "{i18n:scada.symbol.off-update-state-hint}", |
|||
"group": null, |
|||
"type": "action", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": { |
|||
"action": "EXECUTE_RPC", |
|||
"executeRpc": { |
|||
"method": "setState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"setAttribute": { |
|||
"key": "state", |
|||
"scope": "SERVER_SCOPE" |
|||
}, |
|||
"putTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"valueToData": { |
|||
"type": "CONSTANT", |
|||
"constantValue": false, |
|||
"valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;" |
|||
} |
|||
}, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "label", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "onLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "text", |
|||
"default": "ON", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "text", |
|||
"default": "OFF", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 42, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "400", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "color", |
|||
"default": "#1A1A1A", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "enabledColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.enabled}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "disabledColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.disabled}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="398" height="198" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><circle cx="49" cy="100" r="19" stroke="#1a1a1a" stroke-width="2"/><circle cx="351" cy="100" r="19" stroke="#1a1a1a" stroke-width="2"/><path d="m0 100h31" stroke="#1A1A1A" stroke-width="6"/><path d="m369 100h31" stroke="#1A1A1A" stroke-width="6"/><g tb:tag="breaker"> |
|||
<path d="m101 51h198v97c0 0.552-0.448 1-1 1h-196c-0.552 0-1-0.448-1-1v-97z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="label-box"/> |
|||
<text x="200.83984" y="114.56055" fill="#000000" font-family="Roboto" font-size="40px" font-weight="400" text-anchor="middle" tb:tag="label" xml:space="preserve"><tspan dominant-baseline="start">ON</tspan></text> |
|||
<rect x="261" y="25" width="38" height="150" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2" tb:tag="breaker-trigger"/> |
|||
</g><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,378 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="400" fill="none" version="1.1" viewBox="0 0 600 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Horizontal energy systems controller", |
|||
"description": "Horizontal energy systems controller with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"monitoring" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.disconnectedColor;\nif (ctx.values.connected) {\n color = ctx.properties.connectedColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "indicator", |
|||
"stateRenderFunction": "var color = ctx.properties.disconnectedIndicatorColor;\nif (ctx.values.connected) {\n color = ctx.properties.connectedIndicatorColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "label", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.labelFont, ctx.properties.labelColor);\n ctx.api.text(element, ctx.properties.label);", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "connected", |
|||
"name": "{i18n:scada.symbol.connected}", |
|||
"hint": "{i18n:scada.symbol.connected-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.connected}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "connected" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "connectedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.connected}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "disconnectedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.disconnected}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "connectedIndicatorColor", |
|||
"name": "{i18n:scada.symbol.indicator}", |
|||
"type": "color", |
|||
"default": "#198038", |
|||
"subLabel": "{i18n:scada.symbol.connected}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "disconnectedIndicatorColor", |
|||
"name": "{i18n:scada.symbol.indicator}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"subLabel": "{i18n:scada.symbol.disconnected}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "label", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "text", |
|||
"default": "Connected", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 30, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="17" width="598" height="366" rx="5" fill="#fff" stroke="#000" stroke-opacity=".87" stroke-width="2" tb:tag="background"/><rect x="26" y="1" width="148" height="16" rx="1" fill="#999" stroke="#000" stroke-opacity=".87" stroke-width="2"/><rect x="26" y="383" width="148" height="16" rx="1" fill="#999" stroke="#000" stroke-opacity=".87" stroke-width="2"/><rect x="426" y="383" width="148" height="16" rx="1" fill="#999" stroke="#000" stroke-opacity=".87" stroke-width="2"/><rect x="226" y="1" width="148" height="16" rx="1" fill="#999" stroke="#000" stroke-opacity=".87" stroke-width="2"/><rect x="426" y="1" width="148" height="16" rx="1" fill="#999" stroke="#000" stroke-opacity=".87" stroke-width="2"/><circle cx="66" cy="88" r="10" fill="#198038" tb:tag="indicator"/><text x="83.31543" y="91.589844" fill="#000000" font-family="Roboto" font-size="30px" font-weight="400" tb:tag="label" xml:space="preserve"><tspan dominant-baseline="middle">Connected</tspan></text><path d="m201.8 0s-201.8 0-201.8 67v328.36c0 2.6512 5.3727 4.6403 12 4.6403h576c6.627 0 12-1.9892 12-4.6403v-328.36c0-67-198.21-67-198.21-67h-101.79zm201.21 81.2c-3.8661 0-6.9999 1.2536-6.9999 2.8v300.4c0 1.5464 3.1341 2.8 6.9999 2.8h43.998c3.8661 0 6.9999-1.2536 6.9999-2.8v-300.4c0-1.5464-3.1341-2.8-6.9999-2.8z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 320.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 76 KiB |
@ -0,0 +1,349 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="400" fill="none" version="1.1" viewBox="0 0 400 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP House", |
|||
"description": "House with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy", |
|||
"consumer" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<path d="m370 377h-340c-2.7614 0-5-2.239-5-5v-185.42c0-1.372 0.5635-2.683 1.5584-3.627l170-161.31c1.93-1.8306 4.954-1.8306 6.884 0l170 161.31c0.995 0.944 1.558 2.255 1.558 3.627v185.42c0 2.761-2.239 5-5 5z"/> |
|||
<path d="m287 60c0-2.7614 2.239-5 5-5h54.5c2.761 0 5 2.2386 5 5v86.08c0 4.322-5.113 6.609-8.334 3.727l-54.5-48.763c-1.06-0.949-1.666-2.3042-1.666-3.7267v-37.317z"/> |
|||
<rect x="1" y="377" width="398" height="22" rx="5"/> |
|||
<path d="m29.655 185h-24.568c-0.9085 0-1.3463-1.114-0.68102-1.732l193.55-180c1.151-1.0709 2.935-1.0709 4.086 0l193.55 180c0.665 0.618 0.227 1.732-0.681 1.732h-24.568c-1.256 0-2.467-0.473-3.39-1.325l-164.92-152.16c-1.149-1.0601-2.919-1.0601-4.068 0l-164.92 152.16c-0.9235 0.852-2.1339 1.325-3.3904 1.325z"/> |
|||
</g><rect x="89" y="187" width="30" height="63" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="221" y="187" width="30" height="63" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="221" y="286" width="30" height="63" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="89" y="286" width="64" height="91" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="123" y="187" width="30" height="63" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="255" y="187" width="30" height="63" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="255" y="286" width="30" height="63" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="289" y="187" width="30" height="63" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="289" y="286" width="30" height="63" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m200.7 104.07 27.061 26.216c0.645 0.625 0.203 1.718-0.696 1.718h-54.122c-0.899 0-1.341-1.093-0.696-1.718l27.061-26.216c0.388-0.375 1.004-0.375 1.392 0z" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m134.53 0s-134.53 0-134.53 67v328.36c0 2.6512 3.5818 4.6403 8 4.6403h384c4.418 0 8-1.9892 8-4.6403v-328.36c0-67-132.14-67-132.14-67h-67.86zm134.14 81.2c-2.5774 0-4.6666 1.2536-4.6666 2.8v300.4c0 1.5464 2.0894 2.8 4.6666 2.8h29.332c2.5774 0 4.6666-1.2536 4.6666-2.8v-300.4c0-1.5464-2.0894-2.8-4.6666-2.8z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 320.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,358 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="1000" height="600" fill="none" version="1.1" viewBox="0 0 1000 600"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Industrial fuel generator", |
|||
"description": "Industrial fuel generator with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy", |
|||
"fuel", |
|||
"generation" |
|||
], |
|||
"widgetSizeX": 5, |
|||
"widgetSizeY": 3, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "sub-background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = '#999999';\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="998" height="598" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><rect x="1" y="1" width="998" height="28" stroke="#1A1A1A" stroke-width="2"/><line x1="858" x2="952" y1="361" y2="361" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="858" x2="952" y1="393" y2="393" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="858" x2="952" y1="425" y2="425" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="858" x2="952" y1="457" y2="457" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="858" x2="952" y1="67" y2="67" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="858" x2="952" y1="99" y2="99" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="858" x2="952" y1="131" y2="131" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><line x1="858" x2="952" y1="163" y2="163" stroke="#1A1A1A" stroke-linecap="round" stroke-width="6"/><rect x="79" y="96" width="278" height="338" rx="3" stroke="#1A1A1A" stroke-width="2"/><rect x="479" y="96" width="278" height="338" rx="3" stroke="#1A1A1A" stroke-width="2"/><circle cx="418" cy="278" r="19" stroke="#1A1A1A" stroke-width="2"/><circle cx="418" cy="278" r="7" fill="#1A1A1A"/><rect x="1" y="501" width="998" height="98" fill="#999" stroke="#1A1A1A" stroke-width="2" tb:tag="sub-background"/><path d="m336.32 0s-336.32 0-336.32 100.5v492.54c0 3.9768 8.9545 6.9604 20 6.9604h960c11.045 0 20-2.9838 20-6.9604v-492.54c0-100.5-330.35-100.5-330.35-100.5h-169.65zm335.35 121.8c-6.4435 0-11.666 1.8804-11.666 4.2v450.6c0 2.3196 5.2235 4.2 11.666 4.2h73.33c6.4435 0 11.666-1.8804 11.666-4.2v-450.6c0-2.3196-5.2235-4.2-11.666-4.2z" fill-opacity="0" style="stroke-width:2.8629" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 67 KiB |
@ -0,0 +1,342 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="1000" height="600" fill="none" version="1.1" viewBox="0 0 1000 600"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Large horizontal separator with connector", |
|||
"description": "Large horizontal separator with connector with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 5, |
|||
"widgetSizeY": 3, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="81" width="898" height="518" rx="159" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m1e3 300h-8c-16.569 0-30-13.431-30-30v-237c0-16.568-13.431-30-30-30h-240c-16.569 0-30 13.432-30 30v47" stroke="#1A1A1A" stroke-width="6"/><path d="m336.71-0.31324s-336.32 0-336.32 100.5v492.54c0 3.9768 8.9545 6.9605 20 6.9605h960c11.045 0 20-2.9838 20-6.9605v-492.54c0-100.5-330.35-100.5-330.35-100.5h-169.65zm335.35 121.8c-6.4435 0-11.666 1.8804-11.666 4.2v450.6c0 2.3196 5.2235 4.2 11.666 4.2h73.33c6.4435 0 11.666-1.8804 11.666-4.2v-450.6c0-2.3196-5.2235-4.2-11.666-4.2z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,516)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0,516)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,350 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="1000" height="600" fill="none" version="1.1" viewBox="0 0 1000 600"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Large horizontal separator", |
|||
"description": "Large horizontal separator with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 5, |
|||
"widgetSizeY": 3, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="998" height="598" rx="159" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m336.32 0s-336.32 0-336.32 100.5v492.54c0 3.9768 8.9545 6.9605 20 6.9605h960c11.045 0 20-2.9838 20-6.9605v-492.54c0-100.5-330.35-100.5-330.35-100.5h-169.65zm335.35 121.8c-6.4435 0-11.666 1.8804-11.666 4.2v450.6c0 2.3196 5.2235 4.2 11.666 4.2h73.33c6.4435 0 11.666-1.8804 11.666-4.2v-450.6c0-2.3196-5.2235-4.2-11.666-4.2z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,516)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 516)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 68 KiB |
@ -0,0 +1,350 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="1000" fill="none" version="1.1" viewBox="0 0 600 1000"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Large vertical separator with connector", |
|||
"description": "Large vertical separator with connector with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 5, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m1 744c0 44.821 7.8e-4 78.376 2.1766 105.01 2.1748 26.619 6.5177 46.23 15.153 63.178 15.244 29.918 39.568 54.242 69.486 69.486 16.948 8.636 36.56 12.979 63.178 15.153 26.63 2.176 60.185 2.177 105.01 2.177h8c44.821 0 78.376-1e-3 105.01-2.177 26.619-2.174 46.23-6.517 63.178-15.153 29.918-15.244 54.242-39.568 69.486-69.486 8.636-16.948 12.979-36.559 15.153-63.178 2.176-26.63 2.177-60.185 2.177-105.01v-388c0-44.821-1e-3 -78.376-2.177-105.01-2.174-26.619-6.517-46.23-15.153-63.179-15.244-29.917-39.568-54.241-69.486-69.485-16.948-8.636-36.559-12.979-63.178-15.153-26.63-2.176-60.185-2.177-105.01-2.177h-8c-44.821 0-78.376 1e-3 -105.01 2.177-26.619 2.174-46.23 6.517-63.178 15.153-29.918 15.244-54.242 39.568-69.486 69.485-8.6357 16.949-12.979 36.56-15.153 63.179-2.1758 26.63-2.1766 60.185-2.1766 105.01v388z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m600 700h-10c-16.569 0-30-13.431-30-30v-637c0-16.569-13.431-30-30-30h-240c-16.569 0-30 13.432-30 30v67" stroke="#1A1A1A" stroke-width="6"/><path d="m201.92 0s-201.79 0-201.79 167.5v820.9c0 6.628 5.3727 11.601 12 11.601h576c6.627 0 12-4.973 12-11.601v-820.9c0-167.5-198.21-167.5-198.21-167.5h-101.79zm201.21 203c-3.8661 0-6.9996 3.134-6.9996 7v751c0 3.866 3.1341 7 6.9996 7h43.998c3.8661 0 6.9996-3.134 6.9996-7v-751c0-3.866-3.1341-7-6.9996-7z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,916)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 916)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,350 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="1000" fill="none" version="1.1" viewBox="0 0 600 1000"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Large vertical separator", |
|||
"description": "Large vertical separator with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 5, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="598" height="998" rx="159" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m201.79 0s-201.79 0-201.79 167.5v820.9c0 6.628 5.3727 11.601 12 11.601h576c6.627 0 12-4.973 12-11.601v-820.9c0-167.5-198.21-167.5-198.21-167.5h-101.79zm201.21 203c-3.8661 0-6.9996 3.134-6.9996 7v751c0 3.866 3.1341 7 6.9996 7h43.998c3.8661 0 6.9996-3.134 6.9996-7v-751c0-3.866-3.1341-7-6.9996-7z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,916)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 916)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.3 KiB |
@ -0,0 +1,278 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="800" fill="none" version="1.1" viewBox="0 0 400 800"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Low voltage tower", |
|||
"description": "Low voltage tower with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 4, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#999999", |
|||
"divider": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#999" stroke="#1a1a1a" tb:tag="background"> |
|||
<path d="m397 352v-55" stroke-width="6"/> |
|||
<path d="m3 352v-55" stroke-width="6"/> |
|||
<path d="m397 152v-55" stroke-width="6"/> |
|||
<path d="m3 152v-55" stroke-width="6"/> |
|||
<rect transform="matrix(-4.3711e-8 1 1 4.3711e-8 -4.3711e-8 150)" x="1" y="1" width="46" height="184" rx="1" stroke-width="2"/> |
|||
<rect transform="matrix(-4.3711e-8 1 1 4.3711e-8 214 150)" x="1" y="1" width="46" height="184" rx="1" stroke-width="2"/> |
|||
<rect transform="matrix(-4.3711e-8 1 1 4.3711e-8 -4.3711e-8 350)" x="1" y="1" width="46" height="184" rx="1" stroke-width="2"/> |
|||
<rect transform="matrix(-4.3711e-8 1 1 4.3711e-8 214 350)" x="1" y="1" width="46" height="184" rx="1" stroke-width="2"/> |
|||
<rect x="185" y="1" width="30" height="798" rx="5" stroke-width="2"/> |
|||
</g><path d="m134.53 0s-134.53 0-134.53 134v656.72c0 5.3024 3.5818 9.2806 8 9.2806h384c4.418 0 8-3.9784 8-9.2806v-656.72c0-134-132.14-134-132.14-134h-67.86zm134.14 162.4c-2.5774 0-4.6666 2.5072-4.6666 5.6v600.8c0 3.0928 2.0894 5.6 4.6666 5.6h29.332c2.5774 0 4.6666-2.5072 4.6666-5.6v-600.8c0-3.0928-2.0894-5.6-4.6666-5.6z" fill-opacity="0" style="stroke-width:2.0908" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 11 KiB |
@ -0,0 +1,334 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="800" fill="none" version="1.1" viewBox="0 0 400 800"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Low voltage transformer tower", |
|||
"description": "Low voltage transformer tower with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 4, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "transformer", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#999999" |
|||
}, |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.stopped}" |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}" |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#999" stroke="#1A1A1A" tb:tag="background"> |
|||
<rect x="1" y="351" width="398" height="46" rx="1" stroke-width="2"/> |
|||
<rect x="1" y="151" width="398" height="46" rx="1" stroke-width="2"/> |
|||
<rect x="185" y="1" width="30" height="798" rx="5" stroke-width="2"/> |
|||
<path d="m3 97v55" stroke-width="6"/> |
|||
<path d="m3 297v55" stroke-width="6"/> |
|||
<path d="m397 97v55" stroke-width="6"/> |
|||
<path d="m397 297v55" stroke-width="6"/> |
|||
</g><g fill="#fff" tb:tag="transformer"> |
|||
<rect x="131" y="501" width="138" height="134" stroke="#1A1A1A" stroke-width="2"/> |
|||
<rect x="121" y="479" width="158" height="22" rx="1" stroke="#1A1A1A" stroke-width="2"/> |
|||
<rect x="121" y="635" width="158" height="22" rx="1" stroke="#1A1A1A" stroke-width="2"/> |
|||
<path d="m162.17 602.42c-1.185 0-1.925-1.284-1.331-2.31l37.828-65.339c0.592-1.024 2.07-1.024 2.663 0l37.828 65.339c0.594 1.026-0.146 2.31-1.331 2.31h-75.657z" stroke="#1A1A1A" stroke-width="6.1538"/> |
|||
<path d="m203.36 565.96-12.954 11.604c-0.801 0.725-0.351 2.063 0.725 2.163l10.116 0.976-6.065 8.453c-0.275 0.387-0.237 0.925 0.1 1.262 0.375 0.376 0.963 0.388 1.351 0.025l12.954-11.604c0.801-0.725 0.351-2.063-0.725-2.163l-10.116-0.975 6.065-8.453c0.275-0.388 0.237-0.926-0.1-1.263-0.375-0.375-0.963-0.388-1.351-0.025z" fill="#1A1A1A"/> |
|||
</g><path d="m134.53 0s-134.53 0-134.53 134v656.72c0 5.3024 3.5818 9.2806 8 9.2806h384c4.418 0 8-3.9784 8-9.2806v-656.72c0-134-132.14-134-132.14-134h-67.86zm134.14 162.4c-2.5774 0-4.6666 2.5072-4.6666 5.6v600.8c0 3.0928 2.0894 5.6 4.6666 5.6h29.332c2.5774 0 4.6666-2.5072 4.6666-5.6v-600.8c0-3.0928-2.0894-5.6-4.6666-5.6z" fill-opacity="0" style="stroke-width:2.0908" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,344 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="400" fill="none" version="1.1" viewBox="0 0 400 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Manufacture", |
|||
"description": "Manufacture with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy", |
|||
"consumer" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m294.35 1.9284c0.037-0.52316 0.473-0.92842 0.997-0.92842h35.314c0.524 0 0.96 0.40526 0.997 0.92843l11.195 156c0.041 0.579-0.417 1.072-0.998 1.072h-57.702c-0.581 0-1.039-0.493-0.998-1.072l11.195-156z" fill="#999" stroke="#1A1A1A" stroke-width="2"/><path d="m94.682 136.73 73.318-68.43v70l1.682-1.57 73.318-68.43v68.699h132c2.761 0 5 2.239 5 5v230c0 2.761-2.239 5-5 5h-350c-2.7614 0-5-2.239-5-5v-235.13c0-0.277 0.115-0.542 0.3177-0.731l72.682-67.837v70l1.6823-1.57z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><rect x="72" y="203" width="58" height="58" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="138" y="203" width="58" height="58" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="204" y="203" width="58" height="58" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="270" y="203" width="58" height="58" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="72" y="269" width="58" height="58" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="138" y="269" width="58" height="58" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="204" y="269" width="58" height="58" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="270" y="269" width="58" height="58" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect x="1" y="377" width="398" height="22" rx="5" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m134.53 0s-134.53 0-134.53 67v328.36c0 2.6512 3.5818 4.6403 8 4.6403h384c4.418 0 8-1.9892 8-4.6403v-328.36c0-67-132.14-67-132.14-67h-67.86zm134.14 81.2c-2.5774 0-4.6666 1.2536-4.6666 2.8v300.4c0 1.5464 2.0894 2.8 4.6666 2.8h29.332c2.5774 0 4.6666-1.2536 4.6666-2.8v-300.4c0-1.5464-2.0894-2.8-4.6666-2.8z" fill-opacity="0" style="stroke-width:1.4784" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 320.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,743 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="100" height="400" fill="none" version="1.1" viewBox="0 0 100 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "Meter", |
|||
"description": "Meter displays the current value with a moving pointer on the scale.", |
|||
"searchTags": [ |
|||
"scale", |
|||
"level", |
|||
"progress", |
|||
"thermometer" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 4, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "progress-indicator", |
|||
"stateRenderFunction": "function calculateOffset(value, minValue, maxValue, initial) {\n var clampedValue = Math.max(Math.min(value, Math.max(minValue, maxValue)), Math.min(minValue, maxValue));\n var normalizedValue = minValue < maxValue\n ? (clampedValue - minValue) / (maxValue - minValue)\n : (minValue - clampedValue) / (minValue - maxValue);\n var offset = initial - (normalizedValue * initial);\n return offset;\n}\n\nvar valueSet = element.remember('valueSet');\n\nif (ctx.properties.progressArrow && !ctx.properties.progressBar) {\n element.show();\n var initial = ctx.properties.valueBox ? 329: 366;\n if (!valueSet) {\n element.remember('valueSet', true);\n element.transform({\n translateY: initial\n });\n }\n \n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n var value = ctx.values.value;\n \n var colorProcessor = ctx.properties.progressArrowColor;\n colorProcessor.update(value);\n var fill = colorProcessor.color;\n element.attr({fill: fill});\n \n var offset = calculateOffset(value, minValue, maxValue, initial);\n\n var elementOffset = element.remember('offset');\n if (offset !== elementOffset) {\n element.remember('offset', offset);\n ctx.api.cssAnimate(element, 500).transform({\n translateY: offset\n });\n }\n} else {\n element.hide();\n if (valueSet) {\n element.remember('valueSet', false);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressBar", |
|||
"stateRenderFunction": "if (ctx.properties.progressBar) {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressBorder", |
|||
"stateRenderFunction": "if (!ctx.properties.valueBox) {\n element.attr({'height': 367})\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressCircle", |
|||
"stateRenderFunction": "if (!ctx.properties.valueBox) {\n element.attr({cy:383});\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressFill", |
|||
"stateRenderFunction": "if (!ctx.properties.valueBox) {\n element.attr({y:-378});\n}\n\nfunction calculateOffset(value, minValue, maxValue, initial) {\n var clampedValue = Math.max(Math.min(value, Math.max(minValue, maxValue)), Math.min(minValue, maxValue));\n var normalizedValue = minValue < maxValue\n ? (clampedValue - minValue) / (maxValue - minValue)\n : (minValue - clampedValue) / (minValue - maxValue);\n var offset = normalizedValue * initial;\n return offset;\n}\n\nvar valueSet = element.remember('valueSet');\nif (ctx.properties.progressBar) {\n var initial = ctx.properties.valueBox ? 329: 366;\n if (!valueSet) {\n element.remember('valueSet', true);\n element.attr({height: 2});\n }\n \n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n var value = ctx.values.value;\n \n var colorProcessor = ctx.properties.progressBarColor;\n colorProcessor.update(value);\n var fill = colorProcessor.color;\n element.attr({fill: fill, stroke: fill});\n ctx.tags.progressCircle[0].fill(fill);\n \n var height = calculateOffset(value, minValue, maxValue, initial);\n\n var elementHeight = element.remember('height');\n if (height !== elementHeight) {\n element.remember('height', height);\n ctx.api.cssAnimate(element, 500).attr({height: height+2});\n }\n} else {\n if (valueSet) {\n element.remember('valueSet', false);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "scale", |
|||
"stateRenderFunction": "var scaleSet = element.remember('scaleSet');\nif (!scaleSet) {\n element.remember('scaleSet', true);\n element.clear();\n \n var majorIntervals = ctx.properties.majorIntervals;\n var minorIntervals = ctx.properties.minorIntervals;\n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n \n var start = 11;\n var end = ctx.properties.valueBox ? 328 : 365;\n var majorIntervalLength = end / majorIntervals;\n var minorIntervalLength = majorIntervalLength / minorIntervals;\n element.add(ctx.svg.line(63, end+11, 63, 11).stroke({ width: 1 }).attr({class: 'majorTick'}));\n for (var i = 0; i < majorIntervals+1; i++) {\n var y = start + i * majorIntervalLength;\n var line = ctx.svg.line(51, y, 63, y).stroke({ width: 1 }).attr({class: 'majorTick'});\n element.add(line);\n var majorText = (maxValue - ((maxValue - (minValue)) / (majorIntervals) * i)).toFixed(0);\n var majorTickText = ctx.svg.text(majorText);\n majorTickText.attr({x: 45, y: y + 2, 'text-anchor': 'end', class: 'majorTickText'});\n majorTickText.first().attr({'dominant-baseline': 'middle'});\n element.add(majorTickText);\n if (i < majorIntervals) {\n drawMinorTicks(y, minorIntervals, minorIntervalLength);\n }\n }\n}\n\nvar majorFont = ctx.properties.majorFont;\nvar majorColor = ctx.properties.majorColor;\nvar minorColor = ctx.properties.minorColor;\nif (ctx.values.critical) {\n majorColor = ctx.properties.majorCriticalColor;\n minorColor = ctx.properties.minorCriticalColor;\n} else if (ctx.values.warning) {\n majorColor = ctx.properties.minorWarningColor;\n minorColor = ctx.properties.minorWarningColor;\n}\n\nvar majorTicks = element.find('line.majorTick');\nmajorTicks.forEach(t => t.attr({stroke: majorColor}));\n\nvar majorTicksText = element.find('text.majorTickText');\nctx.api.font(majorTicksText, majorFont, majorColor);\n\nvar minorTicks = element.find('line.minorTick');\nminorTicks.forEach(t => t.attr({stroke: minorColor}));\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\nfunction drawMinorTicks(start, minorIntervals, minorIntervalLength) {\n for (var i = 1; i < minorIntervals; i++) {\n var minorY = start + i * minorIntervalLength;\n var minorLine = ctx.svg.line(57, minorY, 63, minorY).stroke({ width: 1 }).attr({class: 'minorTick'});\n element.add(minorLine);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-background", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n var colorProcessor = ctx.properties.valueBoxColor;\n colorProcessor.update(ctx.values.value);\n element.attr({fill: colorProcessor.color});\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-text", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n var valueTextFont = ctx.properties.valueTextFont;\n var valueTextColor = ctx.properties.valueTextColor;\n var currentVolume = ctx.values.value;\n var valueText = ctx.api.formatValue(currentVolume, 0, ctx.properties.valueUnits, false);\n var colorProcessor = ctx.properties.valueTextColor;\n colorProcessor.update(ctx.values.value);\n ctx.api.font(element, valueTextFont, colorProcessor.color);\n ctx.api.text(element, valueText);\n}", |
|||
"actions": null |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "value", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"hint": null, |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "waterLevel" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning-state}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical-state}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "minValue", |
|||
"name": "{i18n:scada.symbol.min-max-value}", |
|||
"type": "number", |
|||
"default": 0, |
|||
"required": true, |
|||
"subLabel": "{i18n:scada.symbol.min-value}", |
|||
"divider": true, |
|||
"min": -1000, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "maxValue", |
|||
"name": "{i18n:scada.symbol.min-max-value}", |
|||
"type": "number", |
|||
"default": 100, |
|||
"required": true, |
|||
"subLabel": "{i18n:scada.symbol.max-value}", |
|||
"max": 1000, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressBar", |
|||
"name": "{i18n:scada.symbol.progress-bar}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressBarColor", |
|||
"name": "{i18n:scada.symbol.progress-bar}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#4D94E1", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "progressBar", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressArrow", |
|||
"name": "{i18n:scada.symbol.progress-arrow}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressArrowColor", |
|||
"name": "{i18n:scada.symbol.progress-arrow}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#1C943E", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "progressArrow", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueBox", |
|||
"name": "{i18n:scada.symbol.value-box}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueBoxColor", |
|||
"name": "{i18n:scada.symbol.value-box}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#F3F3F3", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueUnits", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "units", |
|||
"default": "%", |
|||
"subLabel": "{i18n:scada.symbol.units}", |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueTextFont", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 14, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueTextColor", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#0000008A", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorIntervals", |
|||
"name": "{i18n:scada.symbol.major-ticks}", |
|||
"type": "number", |
|||
"default": 10, |
|||
"subLabel": "{i18n:scada.symbol.intervals}", |
|||
"divider": true, |
|||
"min": 1, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorFont", |
|||
"name": "{i18n:scada.symbol.major-ticks}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 12, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#747474", |
|||
"subLabel": "{i18n:scada.symbol.normal}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorWarningColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorCriticalColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorIntervals", |
|||
"name": "{i18n:scada.symbol.minor-ticks}", |
|||
"type": "number", |
|||
"default": 10, |
|||
"subLabel": "{i18n:scada.symbol.intervals}", |
|||
"min": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#747474", |
|||
"subLabel": "{i18n:scada.symbol.normal}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorWarningColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorCriticalColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m16 400c-2.2091 0-4-1.791-4-4v-392c0-2.2091 1.7909-4 4-4h68c2.2091 0 4 1.7909 4 4v392c0 2.209-1.7909 4-4 4h-68z" fill="#E5E5E5" tb:tag="background"/><path d="m16 400c-2.2091 0-4-1.791-4-4v-392c0-2.2091 1.7909-4 4-4h68c2.2091 0 4 1.7909 4 4v392c0 2.209-1.7909 4-4 4h-68z" fill="url(#paint0_linear_2475_365165)"/><path d="m16 398.5c-1.3807 0-2.5-1.119-2.5-2.5v-392c0-1.3807 1.1193-2.5 2.5-2.5h68c1.3807 0 2.5 1.1193 2.5 2.5v392c0 1.381-1.1193 2.5-2.5 2.5h-68z" stroke="#000" stroke-opacity=".12" stroke-width="3"/><g tb:tag="scale"> |
|||
<path d="m27.539 10.44v8.5605h-1.4121v-6.8848l-2.0918 0.709v-1.166l3.3339-1.2187h0.17zm8.7754 3.58v1.3946c0 0.6679-0.0665 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.2461 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2383 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5468 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.5859 0.7032 0.1641 0.2851 0.2891 0.6308 0.375 1.0371 0.086 0.4023 0.129 0.8711 0.129 1.4062zm-1.4122 1.5938v-1.8047c0-0.3398-0.0195-0.6387-0.0585-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1133-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4336 0.3984-0.1171 0.1836-0.207 0.4258-0.2695 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0195 0.6465 0.0586 0.9082s0.0977 0.4863 0.1758 0.6738c0.0781 0.1836 0.1719 0.3359 0.2812 0.457 0.1133 0.1172 0.2422 0.2032 0.3868 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2226 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441 0.0585-0.3047 0.0878-0.6699 0.0878-1.0957zm8.4825-1.5938v1.3946c0 0.6679-0.0664 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.246 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2383 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.586 0.7032 0.164 0.2851 0.289 0.6308 0.375 1.0371 0.0859 0.4023 0.1289 0.8711 0.1289 1.4062zm-1.4121 1.5938v-1.8047c0-0.3398-0.0196-0.6387-0.0586-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0196 0.6465 0.0586 0.9082 0.0391 0.2617 0.0977 0.4863 0.1758 0.6738 0.0781 0.1836 0.1719 0.3359 0.2813 0.457 0.1132 0.1172 0.2421 0.2032 0.3867 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441s0.0879-0.6699 0.0879-1.0957z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m31.891 50.186h0.1172c0.5391 0 0.9883-0.0703 1.3477-0.2109 0.3633-0.1445 0.6523-0.3438 0.8672-0.5977 0.2148-0.2539 0.3691-0.5527 0.4628-0.8965 0.0938-0.3437 0.1407-0.7168 0.1407-1.1191v-1.4707c0-0.3477-0.0371-0.6523-0.1114-0.9141-0.0703-0.2656-0.1718-0.4863-0.3046-0.6621-0.129-0.1797-0.2793-0.3144-0.4512-0.4043-0.168-0.0898-0.3496-0.1347-0.5449-0.1347-0.2149 0-0.4082 0.0488-0.5801 0.1465-0.168 0.0937-0.3106 0.2246-0.4278 0.3925-0.1132 0.1641-0.2011 0.3575-0.2636 0.5801-0.0586 0.2188-0.0879 0.4531-0.0879 0.7031 0 0.2344 0.0273 0.461 0.082 0.6797 0.0586 0.2149 0.1445 0.4063 0.2578 0.5742 0.1133 0.168 0.2559 0.3008 0.4278 0.3985 0.1718 0.0976 0.373 0.1465 0.6035 0.1465 0.2187 0 0.4199-0.0411 0.6035-0.1231 0.1836-0.0859 0.3437-0.2012 0.4805-0.3457 0.1367-0.1445 0.2441-0.3066 0.3222-0.4863 0.0782-0.1797 0.1211-0.3633 0.1289-0.5508l0.5391 0.1641c0 0.2968-0.0625 0.5898-0.1875 0.8789-0.1211 0.2851-0.291 0.5468-0.5098 0.7851-0.2148 0.2344-0.4668 0.4219-0.7558 0.5625-0.2852 0.1407-0.5957 0.211-0.9317 0.211-0.4062 0-0.7656-0.0762-1.0781-0.2286-0.3086-0.1562-0.5664-0.3671-0.7734-0.6328-0.2032-0.2656-0.3555-0.5703-0.4571-0.914-0.1015-0.3438-0.1523-0.7051-0.1523-1.084 0-0.4102 0.0625-0.7949 0.1875-1.1543s0.3066-0.6758 0.5449-0.9492c0.2383-0.2774 0.5274-0.4922 0.8672-0.6446 0.3438-0.1562 0.7324-0.2343 1.166-0.2343 0.461 0 0.8653 0.0898 1.2129 0.2695 0.3477 0.1797 0.6406 0.4277 0.8789 0.7441s0.418 0.6836 0.5391 1.1016 0.1816 0.8672 0.1816 1.3477v0.498c0 0.5039-0.0449 0.9902-0.1347 1.459-0.0899 0.4648-0.2364 0.8965-0.4395 1.2949-0.1992 0.3945-0.4629 0.7422-0.791 1.043-0.3242 0.2969-0.7227 0.5293-1.1953 0.6972-0.4688 0.1641-1.0196 0.2461-1.6524 0.2461h-0.1289v-1.166zm11.494-3.8672v1.3946c0 0.6679-0.0664 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.246 0.293-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2382 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3926 0.2305 0.1796 0.4258 0.414 0.586 0.7031 0.164 0.2851 0.289 0.6308 0.375 1.0371 0.0859 0.4023 0.1289 0.8711 0.1289 1.4062zm-1.4121 1.5938v-1.8047c0-0.3398-0.0196-0.6387-0.0586-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0546-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4335 0.3985-0.1172 0.1835-0.2071 0.4257-0.2696 0.7265-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0196 0.6465 0.0586 0.9082 0.0391 0.2617 0.0977 0.4863 0.1758 0.6738 0.0781 0.1836 0.1719 0.336 0.2813 0.457 0.1132 0.1172 0.2421 0.2032 0.3867 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441s0.0879-0.6699 0.0879-1.0957z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m36.332 81.274c0 0.5313-0.123 0.9785-0.3691 1.3418s-0.582 0.6387-1.0078 0.8262c-0.4219 0.1836-0.8985 0.2754-1.4297 0.2754-0.5313 0-1.0098-0.0918-1.4356-0.2754-0.4257-0.1875-0.7617-0.4629-1.0078-0.8262s-0.3691-0.8105-0.3691-1.3418c0-0.3515 0.0683-0.6699 0.2051-0.9551 0.1367-0.289 0.33-0.5371 0.58-0.7441 0.254-0.2109 0.5508-0.373 0.8907-0.4863 0.3437-0.1133 0.7187-0.1699 1.125-0.1699 0.539 0 1.0215 0.0996 1.4472 0.2988 0.4258 0.1992 0.7598 0.4746 1.002 0.8262 0.2461 0.3515 0.3691 0.7617 0.3691 1.2304zm-1.4179-0.0703c0-0.2851-0.0586-0.5351-0.1758-0.75-0.1172-0.2148-0.2813-0.3808-0.4922-0.498s-0.4551-0.1758-0.7324-0.1758c-0.2813 0-0.5254 0.0586-0.7325 0.1758-0.207 0.1172-0.3691 0.2832-0.4863 0.498-0.1133 0.2149-0.1699 0.4649-0.1699 0.75 0 0.2891 0.0566 0.5391 0.1699 0.75 0.1133 0.207 0.2754 0.3652 0.4863 0.4746 0.211 0.1094 0.459 0.1641 0.7442 0.1641 0.2851 0 0.5312-0.0547 0.7383-0.1641 0.207-0.1094 0.3672-0.2676 0.4804-0.4746 0.1133-0.2109 0.17-0.4609 0.17-0.75zm1.2246-3.8906c0 0.4258-0.1133 0.8047-0.3399 1.1367-0.2226 0.332-0.5312 0.5938-0.9258 0.7852-0.3945 0.1875-0.8437 0.2812-1.3476 0.2812-0.5078 0-0.9609-0.0937-1.3594-0.2812-0.3945-0.1914-0.7051-0.4532-0.9316-0.7852-0.2227-0.332-0.334-0.7109-0.334-1.1367 0-0.5078 0.1113-0.9356 0.334-1.2832 0.2265-0.3516 0.5371-0.6192 0.9316-0.8027 0.3945-0.1836 0.8457-0.2754 1.3535-0.2754s0.959 0.0918 1.3535 0.2754c0.3946 0.1835 0.7032 0.4511 0.9258 0.8027 0.2266 0.3476 0.3399 0.7754 0.3399 1.2832zm-1.4121 0.0469c0-0.2539-0.0508-0.4766-0.1524-0.668-0.0976-0.1953-0.2363-0.3477-0.416-0.457-0.1797-0.1094-0.3926-0.1641-0.6387-0.1641s-0.459 0.0527-0.6386 0.1582c-0.1797 0.1055-0.3184 0.2539-0.4161 0.4453-0.0976 0.1914-0.1464 0.4199-0.1464 0.6856 0 0.2617 0.0488 0.4902 0.1464 0.6855 0.0977 0.1914 0.2364 0.3418 0.4161 0.4512 0.1836 0.1094 0.3984 0.164 0.6445 0.164s0.459-0.0546 0.6387-0.164 0.3183-0.2598 0.416-0.4512c0.0976-0.1953 0.1465-0.4238 0.1465-0.6855zm8.6582 1.2597v1.3946c0 0.6679-0.0664 1.2382-0.1993 1.7109-0.1289 0.4687-0.3164 0.8496-0.5625 1.1426-0.246 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2383 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.586 0.7032 0.164 0.2851 0.289 0.6308 0.375 1.0371 0.0859 0.4023 0.1289 0.8711 0.1289 1.4062zm-1.4121 1.5938v-1.8047c0-0.3399-0.0196-0.6387-0.0586-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0196 0.6465 0.0586 0.9082 0.0391 0.2617 0.0977 0.4863 0.1758 0.6738 0.0781 0.1836 0.1719 0.3359 0.2813 0.457 0.1132 0.1172 0.2421 0.2032 0.3867 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441s0.0879-0.6699 0.0879-1.0957z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m36.42 107.37v0.773l-3.4101 7.758h-1.4883l3.4043-7.406h-4.418v-1.125h5.9121zm6.9649 3.55v1.395c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.142-0.246 0.293-0.541 0.508-0.8847 0.645-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.221-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.643-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.395c0-0.671 0.0664-1.238 0.1992-1.699 0.1328-0.465 0.3222-0.842 0.5683-1.131 0.2461-0.293 0.5391-0.506 0.8789-0.638 0.3438-0.133 0.7266-0.2 1.1485-0.2 0.3398 0 0.6523 0.043 0.9375 0.129 0.289 0.082 0.5469 0.213 0.7734 0.393 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.406zm-1.4121 1.594v-1.805c0-0.339-0.0196-0.638-0.0586-0.896-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.184-0.168-0.332-0.2813-0.445-0.1132-0.118-0.2422-0.202-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.214-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.296-0.0879 0.658-0.0879 1.083v1.805c0 0.344 0.0196 0.647 0.0586 0.908 0.0391 0.262 0.0977 0.487 0.1758 0.674 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.117 0.2421 0.203 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m35.02 139.62h0.1758v1.155h-0.0996c-0.5039 0-0.9395 0.078-1.3066 0.234-0.3633 0.156-0.6621 0.371-0.8965 0.644-0.2344 0.274-0.4102 0.594-0.5274 0.961-0.1132 0.364-0.1699 0.75-0.1699 1.161v1.341c0 0.34 0.0371 0.641 0.1113 0.903 0.0743 0.257 0.1778 0.474 0.3106 0.65 0.1367 0.172 0.293 0.303 0.4687 0.393 0.1758 0.089 0.3653 0.134 0.5684 0.134 0.2109 0 0.4023-0.043 0.5742-0.129 0.1719-0.089 0.3184-0.212 0.4395-0.369 0.1211-0.156 0.2129-0.341 0.2754-0.556s0.0937-0.45 0.0937-0.703c0-0.243-0.0312-0.469-0.0937-0.68-0.0586-0.215-0.1465-0.402-0.2637-0.563-0.1172-0.164-0.2637-0.291-0.4395-0.38-0.1718-0.094-0.3711-0.141-0.5976-0.141-0.2813 0-0.5371 0.066-0.7676 0.199-0.2266 0.133-0.4102 0.307-0.5508 0.522-0.1367 0.211-0.2109 0.435-0.2226 0.673l-0.5391-0.175c0.0313-0.364 0.1113-0.69 0.2402-0.979 0.1328-0.289 0.3067-0.535 0.5215-0.738 0.2149-0.203 0.4629-0.358 0.7442-0.463 0.2851-0.109 0.5976-0.164 0.9375-0.164 0.414 0 0.7734 0.078 1.0781 0.234 0.3047 0.157 0.5566 0.369 0.7558 0.639 0.2032 0.266 0.3536 0.57 0.4512 0.914 0.1016 0.34 0.1524 0.695 0.1524 1.066 0 0.411-0.0625 0.793-0.1875 1.149-0.125 0.351-0.3086 0.66-0.5508 0.926-0.2383 0.265-0.5293 0.472-0.8731 0.621-0.3398 0.148-0.7265 0.222-1.1601 0.222-0.4571 0-0.8653-0.088-1.2246-0.263-0.3555-0.176-0.6582-0.418-0.9082-0.727-0.2461-0.308-0.4336-0.664-0.5625-1.066-0.1289-0.403-0.1934-0.828-0.1934-1.278v-0.586c0-0.648 0.082-1.259 0.2461-1.834 0.1641-0.578 0.416-1.087 0.7559-1.529 0.3437-0.441 0.7832-0.787 1.3183-1.037 0.5352-0.254 1.1738-0.381 1.916-0.381zm8.3653 3.604v1.394c0 0.668-0.0664 1.239-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.508-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.085-0.543-0.22-0.7734-0.404-0.2305-0.183-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.642-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.699 0.1328-0.465 0.3222-0.842 0.5683-1.131 0.2461-0.293 0.5391-0.506 0.8789-0.639 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.129 0.289 0.082 0.5469 0.213 0.7734 0.392 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.286 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.872 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.261-0.0977-0.482-0.1758-0.662-0.0742-0.183-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.215-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.297-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.909 0.0391 0.261 0.0977 0.486 0.1758 0.674 0.0781 0.183 0.1719 0.335 0.2813 0.457 0.1132 0.117 0.2421 0.203 0.3867 0.257 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129 0.1719-0.085 0.3164-0.222 0.4336-0.41 0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m32.236 176.53-1.125-0.275 0.4629-4.289h4.5996v1.195h-3.4277l-0.2344 2.092c0.1328-0.078 0.3164-0.154 0.5508-0.229 0.2344-0.078 0.502-0.117 0.8027-0.117 0.4024 0 0.7618 0.067 1.0782 0.199 0.3203 0.129 0.5918 0.319 0.8144 0.569 0.2227 0.246 0.3926 0.547 0.5098 0.902 0.1172 0.352 0.1758 0.748 0.1758 1.19 0 0.394-0.0586 0.763-0.1758 1.107-0.1133 0.344-0.2852 0.646-0.5156 0.908-0.2305 0.262-0.5215 0.467-0.8731 0.615-0.3477 0.145-0.7598 0.217-1.2363 0.217-0.3555 0-0.6973-0.051-1.0254-0.152-0.3242-0.106-0.6152-0.26-0.8731-0.463-0.2578-0.207-0.4648-0.461-0.6211-0.762-0.1562-0.304-0.246-0.654-0.2695-1.049h1.3828c0.0352 0.278 0.1114 0.514 0.2285 0.709 0.1211 0.192 0.2813 0.338 0.4805 0.44 0.1992 0.101 0.4297 0.152 0.6914 0.152 0.2383 0 0.4434-0.041 0.6153-0.123 0.1718-0.086 0.3144-0.207 0.4277-0.363 0.1172-0.16 0.2031-0.348 0.2578-0.563 0.0586-0.214 0.0879-0.453 0.0879-0.714 0-0.25-0.0332-0.479-0.0996-0.686-0.0625-0.207-0.1582-0.387-0.2871-0.539-0.125-0.152-0.2832-0.27-0.4746-0.352-0.1914-0.086-0.4121-0.129-0.6621-0.129-0.336 0-0.5938 0.049-0.7735 0.147-0.1758 0.098-0.3398 0.219-0.4922 0.363zm11.148-1.013v1.394c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.643-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.7 0.1328-0.465 0.3222-0.841 0.5683-1.131 0.2461-0.293 0.5391-0.505 0.8789-0.638 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.128 0.289 0.082 0.5469 0.213 0.7734 0.393 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.184-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.214-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.296-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.908 0.0391 0.262 0.0977 0.487 0.1758 0.674 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.118 0.2421 0.203 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m36.631 209.76v1.125h-6.1524l-0.0469-0.85 3.6797-5.765h1.1309l-1.2246 2.097-2.1153 3.393h4.7286zm-1.0664-5.49v8.531h-1.4122v-8.531h1.4122zm7.8203 3.55v1.395c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.849-0.5625 1.142-0.246 0.293-0.541 0.508-0.8847 0.645-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.221-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.643-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.395c0-0.672 0.0664-1.238 0.1992-1.699 0.1328-0.465 0.3222-0.842 0.5683-1.131 0.2461-0.293 0.5391-0.506 0.8789-0.638 0.3438-0.133 0.7266-0.2 1.1485-0.2 0.3398 0 0.6523 0.043 0.9375 0.129 0.289 0.082 0.5469 0.213 0.7734 0.393 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.402 0.1289 0.871 0.1289 1.406zm-1.4121 1.594v-1.805c0-0.339-0.0196-0.638-0.0586-0.896-0.0391-0.262-0.0977-0.483-0.1758-0.662-0.0742-0.184-0.168-0.332-0.2813-0.446-0.1132-0.117-0.2422-0.201-0.3867-0.251-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.042-0.586 0.128-0.1718 0.082-0.3164 0.215-0.4335 0.399-0.1172 0.183-0.2071 0.426-0.2696 0.726-0.0586 0.297-0.0879 0.659-0.0879 1.084v1.805c0 0.344 0.0196 0.647 0.0586 0.908 0.0391 0.262 0.0977 0.487 0.1758 0.674 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.117 0.2421 0.203 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.223 0.4336-0.41c0.1172-0.191 0.2051-0.44 0.2637-0.744 0.0586-0.305 0.0879-0.67 0.0879-1.096z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m32.412 240.2h0.8438c0.3281 0 0.5996-0.057 0.8144-0.17 0.2188-0.113 0.3809-0.27 0.4863-0.469 0.1055-0.199 0.1582-0.428 0.1582-0.685 0-0.27-0.0488-0.5-0.1464-0.692-0.0938-0.195-0.2383-0.346-0.4336-0.451-0.1914-0.105-0.4356-0.158-0.7325-0.158-0.25 0-0.4765 0.051-0.6796 0.152-0.1993 0.098-0.3575 0.238-0.4747 0.422-0.1171 0.18-0.1757 0.395-0.1757 0.645h-1.418c0-0.454 0.1191-0.856 0.3574-1.207 0.2383-0.352 0.5625-0.627 0.9727-0.827 0.414-0.203 0.8789-0.304 1.3945-0.304 0.5508 0 1.0313 0.091 1.4414 0.275 0.4141 0.18 0.7363 0.449 0.9668 0.809 0.2305 0.359 0.3457 0.804 0.3457 1.336 0 0.242-0.0566 0.488-0.1699 0.738s-0.2813 0.478-0.5039 0.685c-0.2227 0.204-0.5 0.37-0.832 0.498-0.3321 0.125-0.7168 0.188-1.1543 0.188h-1.0606v-0.785zm0 1.101v-0.773h1.0606c0.5 0 0.9257 0.059 1.2773 0.176 0.3555 0.117 0.6445 0.279 0.8672 0.486 0.2226 0.203 0.3848 0.436 0.4863 0.697 0.1055 0.262 0.1582 0.539 0.1582 0.832 0 0.399-0.0722 0.754-0.2168 1.067-0.1406 0.308-0.3418 0.57-0.6035 0.785s-0.5684 0.377-0.9199 0.486c-0.3477 0.11-0.7266 0.164-1.1367 0.164-0.3672 0-0.7188-0.05-1.0547-0.152-0.336-0.102-0.6367-0.252-0.9024-0.451-0.2656-0.203-0.4765-0.455-0.6328-0.756-0.1523-0.305-0.2285-0.656-0.2285-1.055h1.4121c0 0.254 0.0586 0.479 0.1758 0.674 0.1211 0.191 0.2891 0.342 0.5039 0.451 0.2188 0.11 0.4688 0.164 0.75 0.164 0.2969 0 0.5527-0.052 0.7676-0.158 0.2148-0.105 0.3789-0.262 0.4922-0.469 0.1172-0.207 0.1758-0.457 0.1758-0.75 0-0.332-0.0645-0.601-0.1934-0.808s-0.3125-0.36-0.5508-0.457c-0.2383-0.102-0.5195-0.153-0.8437-0.153h-0.8438zm10.973-1.177v1.394c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.642-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.7 0.1328-0.464 0.3222-0.841 0.5683-1.13 0.2461-0.293 0.5391-0.506 0.8789-0.639 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.129 0.289 0.082 0.5469 0.212 0.7734 0.392 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.183-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.215-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.297-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.909 0.0391 0.261 0.0977 0.486 0.1758 0.673 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.118 0.2421 0.204 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m36.473 276.28v1.125h-5.7188v-0.967l2.7773-3.029c0.3047-0.344 0.545-0.641 0.7208-0.891 0.1757-0.25 0.2988-0.474 0.3691-0.674 0.0742-0.203 0.1113-0.4 0.1113-0.591 0-0.27-0.0508-0.506-0.1523-0.709-0.0977-0.207-0.2422-0.37-0.4336-0.487-0.1914-0.121-0.4238-0.181-0.6973-0.181-0.3164 0-0.582 0.068-0.7969 0.205-0.2148 0.136-0.3769 0.326-0.4863 0.568-0.1094 0.238-0.164 0.512-0.164 0.82h-1.4122c0-0.496 0.1133-0.949 0.3399-1.359 0.2265-0.414 0.5547-0.742 0.9844-0.984 0.4297-0.246 0.9472-0.37 1.5527-0.37 0.5703 0 1.0547 0.096 1.4531 0.288 0.3985 0.191 0.7012 0.462 0.9082 0.814 0.211 0.352 0.3164 0.768 0.3164 1.248 0 0.266-0.0429 0.529-0.1289 0.791-0.0859 0.262-0.209 0.524-0.3691 0.785-0.1563 0.258-0.3418 0.518-0.5567 0.78-0.2148 0.257-0.4511 0.519-0.7089 0.785l-1.8457 2.033h3.9375zm6.9121-3.856v1.395c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.142-0.246 0.293-0.541 0.508-0.8847 0.645-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.221-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.643-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.395c0-0.671 0.0664-1.238 0.1992-1.699 0.1328-0.465 0.3222-0.842 0.5683-1.131 0.2461-0.293 0.5391-0.506 0.8789-0.638 0.3438-0.133 0.7266-0.2 1.1485-0.2 0.3398 0 0.6523 0.043 0.9375 0.129 0.289 0.082 0.5469 0.213 0.7734 0.393 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.406zm-1.4121 1.594v-1.805c0-0.339-0.0196-0.638-0.0586-0.896-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.184-0.168-0.332-0.2813-0.445-0.1132-0.118-0.2422-0.202-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.214-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.296-0.0879 0.658-0.0879 1.083v1.805c0 0.344 0.0196 0.647 0.0586 0.908 0.0391 0.262 0.0977 0.487 0.1758 0.674 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.117 0.2421 0.203 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m34.609 301.14v8.56h-1.4121v-6.885l-2.0918 0.709v-1.166l3.334-1.218h0.1699zm8.7754 3.58v1.394c0 0.668-0.0664 1.239-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.508-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.085-0.543-0.22-0.7734-0.404-0.2305-0.183-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.642-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.699 0.1328-0.465 0.3222-0.842 0.5683-1.131 0.2461-0.293 0.5391-0.506 0.8789-0.639 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.129 0.289 0.082 0.5469 0.213 0.7734 0.392 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.286 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.872 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.261-0.0977-0.482-0.1758-0.662-0.0742-0.183-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.215-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.297-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.909 0.0391 0.261 0.0977 0.486 0.1758 0.674 0.0781 0.183 0.1719 0.335 0.2813 0.457 0.1132 0.117 0.2421 0.203 0.3867 0.257 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129 0.1719-0.085 0.3164-0.222 0.4336-0.41 0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m43.385 337.02v1.394c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.643-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.7 0.1328-0.465 0.3222-0.841 0.5683-1.131 0.2461-0.293 0.5391-0.505 0.8789-0.638 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.128 0.289 0.082 0.5469 0.213 0.7734 0.393 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.184-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.214-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.296-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.908 0.0391 0.262 0.0977 0.487 0.1758 0.674 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.118 0.2421 0.203 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m63 10v329h1v-329z" fill="#747474" style="stroke-width:.70711"/> |
|||
<line x1="52" x2="64" y1="10.5" y2="10.5" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="13.79" y2="13.79" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="17.08" y2="17.08" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="20.37" y2="20.37" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="23.66" y2="23.66" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="26.95" y2="26.95" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="30.24" y2="30.24" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="33.53" y2="33.53" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="36.82" y2="36.82" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="40.11" y2="40.11" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="43.4" y2="43.4" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="46.69" y2="46.69" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="49.98" y2="49.98" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="53.27" y2="53.27" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="56.56" y2="56.56" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="59.85" y2="59.85" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="63.14" y2="63.14" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="66.43" y2="66.43" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="69.72" y2="69.72" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="73.01" y2="73.01" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="76.3" y2="76.3" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="79.59" y2="79.59" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="82.88" y2="82.88" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="86.17" y2="86.17" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="89.46" y2="89.46" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="92.75" y2="92.75" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="96.04" y2="96.04" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="99.33" y2="99.33" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="102.62" y2="102.62" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="105.91" y2="105.91" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="109.2" y2="109.2" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="112.49" y2="112.49" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="115.78" y2="115.78" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="119.07" y2="119.07" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="122.36" y2="122.36" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="125.65" y2="125.65" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="128.94" y2="128.94" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="132.23" y2="132.23" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="135.52" y2="135.52" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="138.81" y2="138.81" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="142.1" y2="142.1" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="145.39" y2="145.39" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="148.68" y2="148.68" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="151.97" y2="151.97" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="155.26" y2="155.26" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="158.55" y2="158.55" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="161.84" y2="161.84" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="165.13" y2="165.13" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="168.42" y2="168.42" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="171.71" y2="171.71" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="175" y2="175" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="178.29" y2="178.29" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="181.58" y2="181.58" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="184.87" y2="184.87" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="188.16" y2="188.16" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="191.45" y2="191.45" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="194.74" y2="194.74" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="198.03" y2="198.03" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="201.32" y2="201.32" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="204.61" y2="204.61" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="207.9" y2="207.9" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="211.19" y2="211.19" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="214.48" y2="214.48" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="217.77" y2="217.77" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="221.06" y2="221.06" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="224.35" y2="224.35" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="227.64" y2="227.64" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="230.93" y2="230.93" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="234.22" y2="234.22" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="237.51" y2="237.51" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="240.8" y2="240.8" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="244.09" y2="244.09" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="247.38" y2="247.38" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="250.67" y2="250.67" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="253.96" y2="253.96" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="257.25" y2="257.25" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="260.54" y2="260.54" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="263.83" y2="263.83" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="267.12" y2="267.12" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="270.41" y2="270.41" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="273.7" y2="273.7" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="276.99" y2="276.99" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="280.28" y2="280.28" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="283.57" y2="283.57" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="286.86" y2="286.86" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="290.15" y2="290.15" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="293.44" y2="293.44" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="296.73" y2="296.73" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="300.02" y2="300.02" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="303.31" y2="303.31" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="306.6" y2="306.6" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="309.89" y2="309.89" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="313.18" y2="313.18" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="316.47" y2="316.47" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="319.76" y2="319.76" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="323.05" y2="323.05" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="326.34" y2="326.34" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="329.63" y2="329.63" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="332.92" y2="332.92" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="336.21" y2="336.21" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="339.5" y2="339.5" stroke="#747474"/> |
|||
</g><g tb:tag="progressBar"> |
|||
<rect x="68" y="10.5" width="6" height="331" ry="1.12" stroke="#cecece" tb:tag="progressBorder"/> |
|||
<rect transform="scale(1,-1)" x="68" y="-342" width="6" height="125" ry="1.12" fill="#4d94e1" stroke="#4d94e1" tb:tag="progressFill"/> |
|||
<circle cx="71" cy="347" r="7" fill="#4d94e1" tb:tag="progressCircle"/> |
|||
</g><g transform="translate(0,329)" fill="#1c943e" style="display: none;" tb:tag="progress-indicator"> |
|||
<path d="m63.022 10.562 10.5 6.062v-12.124z" style=""/> |
|||
</g><g filter="url(#filter0_ii_2475_365165)" tb:tag="value-box"> |
|||
<rect x="21.5" y="362" width="56" height="30" rx="4" fill="#f3f3f3" fill-opacity=".75" tb:tag="value-box-background"/> |
|||
<rect x="22.5" y="363" width="54" height="28" rx="3" stroke="#fff" stroke-width="2"/> |
|||
<text x="50.492188" y="378.0625" fill="#727171" font-family="Roboto" font-size="14px" font-weight="500" text-anchor="middle" tb:tag="value-text" xml:space="preserve"><tspan dominant-baseline="middle">37%</tspan></text> |
|||
</g><path d="m37.56 0s-25.56 0-25.56 67v328.36c0 2.6512 0.68053 4.6404 1.52 4.6404h72.96c0.83942 0 1.52-1.9892 1.52-4.6404v-328.36c0-67-25.107-67-25.107-67h-12.893zm25.487 81.2c-0.48969 0-0.88669 1.2536-0.88669 2.8v300.4c0 1.5464 0.39697 2.8 0.88669 2.8h5.5733c0.48969 0 0.88669-1.2536 0.88669-2.8v-300.4c0-1.5464-0.39697-2.8-0.88669-2.8z" fill="#000" fill-opacity="0" style="stroke-width:.17436" tb:tag="clickArea"/><defs> |
|||
<filter id="filter0_ii_2475_365165" x="19.5" y="360" width="60" height="34" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"> |
|||
<feFlood flood-opacity="0" result="BackgroundImageFix"/> |
|||
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/> |
|||
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> |
|||
<feOffset dx="-2" dy="2"/> |
|||
<feGaussianBlur stdDeviation="3"/> |
|||
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/> |
|||
<feColorMatrix values="0 0 0 0 0.445833 0 0 0 0 0.445833 0 0 0 0 0.445833 0 0 0 0.5 0"/> |
|||
<feBlend in2="shape" result="effect1_innerShadow_2475_365165"/> |
|||
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> |
|||
<feOffset dx="2" dy="-2"/> |
|||
<feGaussianBlur stdDeviation="2"/> |
|||
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/> |
|||
<feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0"/> |
|||
<feBlend in2="effect1_innerShadow_2475_365165" result="effect2_innerShadow_2475_365165"/> |
|||
</filter> |
|||
<linearGradient id="paint0_linear_2475_365165" x1="88" x2="12" y1="200" y2="200.04" gradientUnits="userSpaceOnUse"> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="0"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".02629"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".11617"/> |
|||
<stop stop-color="#fff" stop-opacity=".3" offset=".49829"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".88762"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".96591"/> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="1"/> |
|||
</linearGradient> |
|||
</defs> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 58 KiB |
@ -0,0 +1,357 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="1000" height="1200" fill="none" version="1.1" viewBox="0 0 1000 1200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Oil pump", |
|||
"description": "Oil pump with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 5, |
|||
"widgetSizeY": 6, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1161" width="998" height="38" rx="3" stroke="#1A1A1A" stroke-width="2"/><path d="m315.2 1161 151.18-840.74 63.841-21.443 154.58 862.18h-369.61z" stroke="#1A1A1A" stroke-width="2"/><path d="m900 541v384" stroke="#000" stroke-width="6"/><path d="m315 1160 313-313" stroke="#1A1A1A" stroke-width="2"/><path d="m685 1160-313-313" stroke="#1A1A1A" stroke-width="2"/><path d="m628 847-217-217" stroke="#1A1A1A" stroke-width="2"/><path d="m589 630-151-151" stroke="#1A1A1A" stroke-width="2"/><path d="m562 479-106-106" stroke="#1A1A1A" stroke-width="2"/><path d="m438 479 106-106" stroke="#1A1A1A" stroke-width="2"/><path d="m411 630 151-151" stroke="#1A1A1A" stroke-width="2"/><path d="m372 847 217-217" stroke="#1A1A1A" stroke-width="2"/><path d="m372 847h256" stroke="#1A1A1A" stroke-width="2"/><path d="m410 630h180" stroke="#1A1A1A" stroke-width="2"/><path d="m438 479h124" stroke="#1A1A1A" stroke-width="2"/><path d="m114 451 154 564" stroke="#1A1A1A" stroke-width="2"/><rect x="861" y="1143" width="78" height="18" rx="1" stroke="#1A1A1A" stroke-width="2"/><rect x="881" y="925" width="38" height="218" stroke="#1A1A1A" stroke-width="2"/><path d="m920 1100h80" stroke="#1A1A1A" stroke-width="6"/><g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<path d="m91.339 388.56c0.0845-1.178 0.8541-2.197 1.9665-2.601l563.4-204.78c1.558-0.567 3.28 0.236 3.847 1.791l0.939-0.343-0.939 0.343 23.263 63.828c0.566 1.553-0.235 3.272-1.793 3.839l-592 215.18c-2.0459 0.744-4.1755-0.866-4.0202-3.029l5.3305-74.221z"/> |
|||
<path d="m682.58 4.8723-69.104 147.33c-0.776 1.654-0.587 3.599 0.493 5.073l279.32 381.28c0.926 1.265 2.393 2.021 3.961 2.041l31.595 0.409c2.586 0.033 4.775-1.947 5.019-4.523 24.171-254.85-96.897-453.81-161.98-523.16-0.794-0.8464-1.821-1.3367-2.973-1.4758l-81.21-9.8032c-2.138-0.25813-4.201 0.88532-5.116 2.8362z"/> |
|||
<path d="m341.58 903.6c0.934-0.934 2.338-0.737 2.922 0.302 4.821 8.575 17.591 33.981 20.073 66.303 2.478 32.286-5.299 71.486-41.597 107.78-36.297 36.3-75.496 44.08-107.78 41.6-32.322-2.48-57.728-15.25-66.303-20.07-1.039-0.59-1.236-1.99-0.302-2.93l192.98-192.98z"/> |
|||
<path d="m24.767 832.67c0.5636-1.6 2.0759-2.671 3.7729-2.671h152.67c1.791 0 3.364 1.191 3.85 2.915l18.592 66c0.199 0.71 0.199 1.46 0 2.17l-18.592 66c-0.486 1.724-2.059 2.915-3.85 2.915h-152.67c-1.697 0-3.2093-1.071-3.7729-2.671l-23.239-66c-0.30274-0.86-0.30274-1.798 0-2.658l23.239-66z"/> |
|||
<rect x="65" y="970" width="76" height="191"/> |
|||
<path d="m134.96 889.96c6.62-6.619 17.351-6.619 23.97 0l124.1 124.11c6.619 6.61 6.619 17.35 0 23.97-6.62 6.61-17.351 6.61-23.97 0l-124.1-124.11c-6.619-6.619-6.619-17.35 0-23.97z"/> |
|||
</g><path d="m278.34 1033.8c-4.296 4.29-11.261 4.29-15.557 0-4.295-4.3-4.295-11.26 0-15.56 4.296-4.29 11.261-4.29 15.557 0 4.296 4.3 4.296 11.26 0 15.56z" stroke="#1A1A1A" stroke-width="2"/><path d="m155.75 910.75c-4.296 4.296-11.261 4.296-15.556 0-4.296-4.296-4.296-11.261 0-15.556 4.295-4.296 11.26-4.296 15.556 0 4.296 4.295 4.296 11.26 0 15.556z" stroke="#1A1A1A" stroke-width="2"/><path d="m336.32 0s-336.32 0-336.32 201v985.08c0 7.9536 8.9545 13.921 20 13.921h960c11.045 0 20-5.9676 20-13.921v-985.08c0-201-330.35-201-330.35-201h-169.65zm335.35 243.6c-6.4435 0-11.666 3.7608-11.666 8.4v901.2c0 4.6392 5.2235 8.4 11.666 8.4h73.33c6.4435 0 11.666-3.7608 11.666-8.4v-901.2c0-4.6392-5.2235-8.4-11.666-8.4z" fill="#000" fill-opacity="0" style="stroke-width:2.2361" tb:tag="clickArea"/><g transform="translate(0,1116)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 1116)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,267 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="1200" height="600" fill="none" version="1.1" viewBox="0 0 1200 600"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Platform", |
|||
"description": "Platform with various states.", |
|||
"searchTags": [ |
|||
"platform", |
|||
"drilling" |
|||
], |
|||
"widgetSizeX": 6, |
|||
"widgetSizeY": 3, |
|||
"tags": [ |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m1199 201.7v397.3h-1198v-397.3c0.62677 0.346 1.4439 0.79199 2.4378 1.328 2.5404 1.371 6.2364 3.328 10.864 5.676 9.2543 4.696 22.238 10.957 37.156 17.218 29.8 12.508 67.456 25.078 98.542 25.078s68.743-12.57 98.542-25.078c14.918-6.261 27.902-12.522 37.156-17.218 4.628-2.348 8.324-4.305 10.864-5.676 1.27-0.68499 2.252-1.224 2.916-1.592 0.204-0.113 0.379-0.209 0.522-0.28999 0.143 0.081 0.318 0.17699 0.522 0.28999 0.664 0.368 1.646 0.907 2.916 1.592 2.54 1.371 6.236 3.328 10.864 5.676 9.254 4.696 22.238 10.957 37.156 17.218 29.799 12.508 67.456 25.078 98.542 25.078s68.743-12.57 98.542-25.078c14.918-6.261 27.902-12.522 37.156-17.218 4.628-2.348 8.324-4.305 10.864-5.676 1.27-0.68499 2.252-1.224 2.916-1.592 0.204-0.113 0.379-0.209 0.522-0.28999 0.143 0.081 0.318 0.17699 0.522 0.28999 0.664 0.368 1.646 0.907 2.916 1.592 2.54 1.371 6.236 3.328 10.864 5.676 9.254 4.696 22.238 10.957 37.156 17.218 29.799 12.508 67.456 25.078 98.542 25.078s68.743-12.57 98.542-25.078c14.918-6.261 27.902-12.522 37.156-17.218 4.628-2.348 8.324-4.305 10.864-5.676 1.27-0.68499 2.252-1.224 2.916-1.592 0.204-0.113 0.379-0.209 0.522-0.28999 0.143 0.081 0.318 0.17699 0.522 0.28999 0.664 0.368 1.646 0.907 2.916 1.592 2.54 1.371 6.236 3.328 10.864 5.676 9.254 4.696 22.238 10.957 37.156 17.218 29.799 12.508 67.452 25.078 98.542 25.078s68.74-12.57 98.54-25.078c14.92-6.261 27.9-12.522 37.16-17.218 4.63-2.348 8.32-4.305 10.86-5.676 1-0.536 1.81-0.98199 2.44-1.328z" stroke="#1a1a1a" stroke-width="2"/><path d="m700 300h500" stroke="#1a1a1a" stroke-width="6"/><path d="m600 0v200" stroke="#1a1a1a" stroke-width="6"/><path d="m600 400v200" stroke="#1a1a1a" stroke-width="6"/><path d="m700 300h-85c-8.284 0-15 6.716-15 15v85" stroke="#1a1a1a" stroke-width="6"/><path d="m700 300h-85c-8.284 0-15-6.716-15-15v-85" stroke="#1a1a1a" stroke-width="6"/><path d="m600 200v200" stroke="#1a1a1a" stroke-width="6"/><path d="m600 313v-26s0 13 14 13c-14 0-14 13-14 13z" fill="#1a1a1a" stroke="#1a1a1a" stroke-width="2"/><rect x="1074" y="99" width="48" height="462" stroke="#1a1a1a" stroke-width="2"/><rect x="1037" y="561" width="122" height="38" stroke="#1a1a1a" stroke-width="2"/><rect x="78" y="99" width="48" height="462" stroke="#1a1a1a" stroke-width="2"/><rect x="41" y="561" width="122" height="38" stroke="#1a1a1a" stroke-width="2"/><rect x="1" y="1" width="1198" height="98" stroke="#1a1a1a" stroke-width="2"/><path d="m599.68 99.026-598.68-98.026" stroke="#1a1a1a" stroke-width="2.0003"/><path d="m599.68 99.026-598.68-98.027" stroke="#1a1a1a" stroke-width="1.9995"/><path d="m600 99.026 598.68-98.026" stroke="#1a1a1a" stroke-width="2.0003"/><path d="m599.68 0.99987-598.68 98.027" stroke="#1a1a1a" stroke-width="1.9995"/><path d="m600 1.0007 599.68 98.025" stroke="#1a1a1a" stroke-width="2.0011"/><path d="m403.58 0s-403.58 0-403.58 100.5v492.54c0 3.9768 10.745 6.9606 24 6.9606h1152c13.254 0 24-2.9838 24-6.9606v-492.54c0-100.5-396.42-100.5-396.42-100.5h-203.57zm402.42 121.8c-7.7322 0-14 1.8804-14 4.2v450.6c0 2.3196 6.2682 4.2 14 4.2h87.996c7.7322 0 14-1.8804 14-4.2v-450.6c0-2.3196-6.2682-4.2-14-4.2z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,516)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 516)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,371 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="200" fill="none" version="1.1" viewBox="0 0 200 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Power socket", |
|||
"description": "Power socket with various states.", |
|||
"searchTags": [ |
|||
"EU socket", |
|||
"US socket", |
|||
"Middle East socket", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "eu-socket", |
|||
"stateRenderFunction": "if (ctx.properties.socketType === 'eu') {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "middle-east-socket", |
|||
"stateRenderFunction": "if (ctx.properties.socketType === 'middleEast') {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "us-socket", |
|||
"stateRenderFunction": "if (ctx.properties.socketType === 'us') {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "socketType", |
|||
"name": "{i18n:scada.symbol.socket}", |
|||
"type": "select", |
|||
"default": "eu", |
|||
"fieldClass": "flex", |
|||
"items": [ |
|||
{ |
|||
"value": "eu", |
|||
"label": "EU" |
|||
}, |
|||
{ |
|||
"value": "us", |
|||
"label": "US" |
|||
}, |
|||
{ |
|||
"value": "middleEast", |
|||
"label": "Middle East" |
|||
} |
|||
], |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="198" height="198" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><g tb:tag="eu-socket"> |
|||
<circle cx="100" cy="100" r="69" stroke="#1A1A1A" stroke-width="2"/> |
|||
<circle cx="100" cy="64" r="7" stroke="#727171" stroke-width="2"/> |
|||
<circle cx="129" cy="100" r="8" fill="#1A1A1A"/> |
|||
<circle cx="71" cy="100" r="8" fill="#1A1A1A"/> |
|||
</g><g style="display: none;" tb:tag="us-socket"> |
|||
<rect x="74" y="84" width="6" height="32" rx="1" fill="#1a1a1a" style=""/> |
|||
<rect x="120" y="84" width="6" height="32" rx="1" fill="#1a1a1a" style=""/> |
|||
<rect x="31" y="31" width="138" height="138" rx="3" stroke="#1a1a1a" stroke-width="2" style=""/> |
|||
</g><g style="display: none;" tb:tag="middle-east-socket"> |
|||
<rect x="31" y="31" width="138" height="138" rx="3" stroke="#1a1a1a" stroke-width="2" style=""/> |
|||
<rect transform="rotate(90,85,124)" x="85" y="124" width="6" height="24" rx="1" fill="#1a1a1a" style=""/> |
|||
<rect transform="rotate(-90,115,130)" x="115" y="130" width="6" height="24" rx="1" fill="#1a1a1a" style=""/> |
|||
<rect x="95" y="70" width="10" height="24" rx="1" fill="#1a1a1a" style=""/> |
|||
</g><path d="m67.267 0s-67.267 0-67.267 33.5v164.18c0 1.3256 1.7909 2.3202 4 2.3202h192c2.209 0 4-0.9946 4-2.3202v-164.18c0-33.5-66.07-33.5-66.07-33.5h-33.93zm67.07 40.6c-1.2887 0-2.3333 0.6268-2.3333 1.4v150.2c0 0.7732 1.0447 1.4 2.3333 1.4h14.666c1.2887 0 2.3333-0.6268 2.3333-1.4v-150.2c0-0.7732-1.0447-1.4-2.3333-1.4z" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,359 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="600" fill="none" version="1.1" viewBox="0 0 400 600"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Power transformer", |
|||
"description": "Power transformer with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 3, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke-width="2" tb:tag="background"> |
|||
<rect x="17" y="161" width="366" height="398" rx="5" stroke="#1a1a1a"/> |
|||
<rect x="1" y="559" width="398" height="40" rx="5" stroke="#1a1a1a"/> |
|||
<path d="m67 35.406c0-3.4797 1.5105-6.788 4.1398-9.0673l5.4938-4.7625c5.6366-4.8862 12.846-7.576 20.306-7.576h6.1218c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.1947 0-8.3588-0.7133-12.314-2.1094l-2.1886-0.7724c-4.7978-1.6933-8.0062-6.2281-8.0062-11.316v-2.3965z" stroke="#1A1A1A"/> |
|||
<path d="m67 73.406c0-3.4797 1.5105-6.788 4.1398-9.0673l5.4938-4.7625c5.6366-4.8862 12.846-7.576 20.306-7.576h6.1218c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.1947 0-8.3588-0.7133-12.314-2.1094l-2.1886-0.7724c-4.7978-1.6933-8.0062-6.2281-8.0062-11.316v-2.3965z" stroke="#1A1A1A"/> |
|||
<path d="m67 111.41c0-3.48 1.5105-6.788 4.1398-9.068l5.4938-4.762c5.6366-4.8862 12.846-7.576 20.306-7.576h6.1218c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.762c2.63 2.28 4.14 5.588 4.14 9.068v2.396c0 5.088-3.208 9.623-8.006 11.316l-2.189 0.773c-3.955 1.396-8.119 2.109-12.314 2.109h-20.982c-4.1947 0-8.3588-0.713-12.314-2.109l-2.1886-0.773c-4.7978-1.693-8.0062-6.228-8.0062-11.316v-2.396z" stroke="#1A1A1A"/> |
|||
<rect x="85" y="128" width="30" height="11" rx="1" stroke="#1A1A1A"/> |
|||
<path d="m267 35.406c0-3.4797 1.51-6.788 4.14-9.0673l5.494-4.7625c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.195 0-8.359-0.7133-12.314-2.1094l-2.189-0.7724c-4.798-1.6933-8.006-6.2281-8.006-11.316z" stroke="#1a1a1a"/> |
|||
<path d="m267 73.406c0-3.4797 1.51-6.788 4.14-9.0673l5.494-4.7625c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.195 0-8.359-0.7133-12.314-2.1094l-2.189-0.7724c-4.798-1.6933-8.006-6.2281-8.006-11.316z" stroke="#1a1a1a"/> |
|||
<path d="m267 111.41c0-3.48 1.51-6.788 4.14-9.068l5.494-4.762c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.762c2.63 2.28 4.14 5.588 4.14 9.068v2.396c0 5.088-3.208 9.623-8.006 11.316l-2.189 0.773c-3.955 1.396-8.119 2.109-12.314 2.109h-20.982c-4.195 0-8.359-0.713-12.314-2.109l-2.189-0.773c-4.798-1.693-8.006-6.228-8.006-11.316z" stroke="#1a1a1a"/> |
|||
<rect x="285" y="128" width="30" height="11" rx="1" stroke="#1a1a1a"/> |
|||
<path d="m167 35.406c0-3.4797 1.51-6.788 4.14-9.0673l5.494-4.7625c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.195 0-8.359-0.7133-12.314-2.1094l-2.189-0.7724c-4.798-1.6933-8.006-6.2281-8.006-11.316z" stroke="#1a1a1a"/> |
|||
<path d="m167 73.406c0-3.4797 1.51-6.788 4.14-9.0673l5.494-4.7625c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.195 0-8.359-0.7133-12.314-2.1094l-2.189-0.7724c-4.798-1.6933-8.006-6.2281-8.006-11.316z" stroke="#1a1a1a"/> |
|||
<path d="m167 111.41c0-3.48 1.51-6.788 4.14-9.068l5.494-4.762c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.762c2.63 2.28 4.14 5.588 4.14 9.068v2.396c0 5.088-3.208 9.623-8.006 11.316l-2.189 0.773c-3.955 1.396-8.119 2.109-12.314 2.109h-20.982c-4.195 0-8.359-0.713-12.314-2.109l-2.189-0.773c-4.798-1.693-8.006-6.228-8.006-11.316z" stroke="#1a1a1a"/> |
|||
<rect x="185" y="128" width="30" height="11" rx="1" stroke="#1a1a1a"/> |
|||
<rect x="1" y="139" width="398" height="22" rx="5" stroke="#1A1A1A"/> |
|||
</g><path d="m150.82 410.75c-1.541 0-2.503-1.669-1.731-3.002l49.176-84.942c0.771-1.33 2.692-1.33 3.462 0l49.177 84.942c0.772 1.333-0.19 3.002-1.731 3.002h-98.353z" stroke="#1A1A1A" stroke-width="8"/><path d="m204.37 363.34-16.841 15.085c-1.041 0.943-0.455 2.682 0.943 2.812l13.151 1.268-7.884 10.989c-0.358 0.504-0.309 1.203 0.13 1.642 0.487 0.488 1.251 0.504 1.755 0.033l16.841-15.086c1.041-0.943 0.455-2.682-0.943-2.812l-13.151-1.268 7.885-10.989c0.357-0.504 0.308-1.203-0.131-1.642-0.487-0.488-1.251-0.504-1.755-0.032z" fill="#1A1A1A"/><rect x="90" width="20" height="15" rx="2" fill="#1A1A1A"/><rect x="290" width="20" height="15" rx="2" fill="#1a1a1a"/><rect x="190" width="20" height="15" rx="2" fill="#1a1a1a"/><path d="m134.53 0s-134.53 0-134.53 100.5v492.54c0 3.9768 3.5818 6.9605 8 6.9605h384c4.418 0 8-2.9838 8-6.9605v-492.54c0-100.5-132.14-100.5-132.14-100.5h-67.86zm134.14 121.8c-2.5774 0-4.6666 1.8804-4.6666 4.2v450.6c0 2.3196 2.0894 4.2 4.6666 4.2h29.332c2.5774 0 4.6666-1.8804 4.6666-4.2v-450.6c0-2.3196-2.0894-4.2-4.6666-4.2z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,516)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 520.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 17 KiB |
@ -0,0 +1,343 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="200" fill="none" version="1.1" viewBox="0 0 400 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Preventer", |
|||
"description": "Preventer with various states.", |
|||
"searchTags": [ |
|||
"preventer", |
|||
"drilling" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m137 15h1v-14h124v14h32.947l46.053 4.8993v21.201l-46.053 4.8993h-9.947v24h45.907l68.093 12.829v32.342l-68.093 12.829h-45.907v25h8.938l47.062 5.883v20.234l-47.062 5.883h-31.938v14h-124v-14h-31.938l-47.062-5.883v-20.234l47.062-5.883h8.938v-25h-45.907l-68.093-12.829v-32.342l68.093-12.829h45.907v-24h-9.947l-46.053-4.8993v-21.201l46.053-4.8993z" tb:tag="background" fill="#fff" stroke="#1a1a1a" stroke-width="2"/><path d="m134.53 0s-134.53 0-134.53 33.5v164.18c0 1.3256 3.5818 2.3202 8 2.3202h384c4.418 0 8-0.9946 8-2.3202v-164.18c0-33.5-132.14-33.5-132.14-33.5h-67.858zm134.14 40.6c-2.5774 0-4.6666 0.6268-4.6666 1.4v150.2c0 0.7732 2.0894 1.4 4.6666 1.4h29.332c2.5774 0 4.6666-0.6268 4.6666-1.4v-150.2c0-0.7732-2.0894-1.4-4.6666-1.4z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 72 KiB |
@ -0,0 +1,346 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="200" fill="none" version="1.1" viewBox="0 0 400 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Rotor", |
|||
"description": "Rotor with various states.", |
|||
"searchTags": [ |
|||
"rotor", |
|||
"drilling" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "rotor-background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m163 1h74v76h-74v-76z" fill="#fff" stroke="#1A1A1A" stroke-width="2"/><g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="rotor-background"> |
|||
<path d="m51 77h298v88h-298v-88z"/> |
|||
<path d="m1 165h398v34h-398l-5e-5 -34z"/> |
|||
</g><path d="m134.53 0s-134.53 0-134.53 33.5v164.18c0 1.3256 3.5818 2.3202 8 2.3202h384c4.418 0 8-0.9946 8-2.3202v-164.18c0-33.5-132.14-33.5-132.14-33.5h-67.858zm134.14 40.6c-2.5774 0-4.6666 0.6268-4.6666 1.4v150.2c0 0.7732 2.0894 1.4 4.6666 1.4h29.332c2.5774 0 4.6666-0.6268 4.6666-1.4v-150.2c0-0.7732-2.0894-1.4-4.6666-1.4z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,116)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0,116)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
@ -0,0 +1,373 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="200" fill="none" version="1.1" viewBox="0 0 200 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Single-key switch", |
|||
"description": "Single-key switch with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "button", |
|||
"stateRenderFunction": "var color = ctx.properties.disabledColor;\nif (ctx.values.initialState) {\n color = ctx.properties.enabledColor;\n}\nelement.attr({fill: color});", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "var initial = ctx.values.initialState;\nvar action = initial ? 'offUpdateState' : 'onUpdateState';\n\nctx.api.callAction(event, action, undefined, {\n next: () => {\n ctx.api.setValue('initialState', !initial);\n }\n});" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "initialState", |
|||
"name": "{i18n:scada.symbol.on-off-state}", |
|||
"hint": "{i18n:scada.symbol.on-off-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": "{i18n:scada.symbol.on}", |
|||
"falseLabel": "{i18n:scada.symbol.off}", |
|||
"stateLabel": "", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "onUpdateState", |
|||
"name": "{i18n:scada.symbol.on-update-state}", |
|||
"hint": "{i18n:scada.symbol.on-update-state-hint}", |
|||
"group": null, |
|||
"type": "action", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": { |
|||
"action": "EXECUTE_RPC", |
|||
"executeRpc": { |
|||
"method": "setState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"setAttribute": { |
|||
"scope": "SERVER_SCOPE", |
|||
"key": "state" |
|||
}, |
|||
"putTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"valueToData": { |
|||
"type": "CONSTANT", |
|||
"constantValue": true, |
|||
"valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;" |
|||
} |
|||
}, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "offUpdateState", |
|||
"name": "{i18n:scada.symbol.off-update-state}", |
|||
"hint": "{i18n:scada.symbol.off-update-state-hint}", |
|||
"group": null, |
|||
"type": "action", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": { |
|||
"action": "EXECUTE_RPC", |
|||
"executeRpc": { |
|||
"method": "setState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"setAttribute": { |
|||
"key": "state", |
|||
"scope": "SERVER_SCOPE" |
|||
}, |
|||
"putTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"valueToData": { |
|||
"type": "CONSTANT", |
|||
"constantValue": false, |
|||
"valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;" |
|||
} |
|||
}, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "enabledColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.enabled}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "disabledColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.disabled}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="198" height="198" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m26 29c0-1.6569 1.3431-3 3-3h142c1.657 0 3 1.3431 3 3v142c0 1.657-1.343 3-3 3h-142c-1.6569 0-3-1.343-3-3v-142z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="button"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,342 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="1000" height="400" fill="none" version="1.1" viewBox="0 0 1000 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Small horizontal separator with connector", |
|||
"description": "Small horizontal separator with connector with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 5, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="81" width="898" height="318" rx="119" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m1e3 300h-8c-16.569 0-30-13.431-30-30v-237c0-16.568-13.431-30-30-30h-240c-16.569 0-30 13.432-30 30v47" stroke="#1A1A1A" stroke-width="6"/><path d="m336.71 0.31299s-336.32 0-336.32 67v328.36c0 2.6512 8.9545 4.6403 20 4.6403h960c11.045 0 20-1.9892 20-4.6403v-328.36c0-67-330.35-67-330.35-67h-169.65zm335.35 81.2c-6.4435 0-11.666 1.2536-11.666 2.8v300.4c0 1.5464 5.2235 2.8 11.666 2.8h73.33c6.4435 0 11.666-1.2536 11.666-2.8v-300.4c0-1.5464-5.2235-2.8-11.666-2.8z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 316)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,342 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="1000" height="400" fill="none" version="1.1" viewBox="0 0 1000 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Small horizontal separator", |
|||
"description": "Small horizontal separator with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 5, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="998" height="398" rx="159" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m336.32 0s-336.32 0-336.32 67v328.36c0 2.6512 8.9545 4.6403 20 4.6403h960c11.045 0 20-1.9892 20-4.6403v-328.36c0-67-330.35-67-330.35-67h-169.65zm335.35 81.2c-6.4435 0-11.666 1.2536-11.666 2.8v300.4c0 1.5464 5.2235 2.8 11.666 2.8h73.33c6.4435 0 11.666-1.2536 11.666-2.8v-300.4c0-1.5464-5.2235-2.8-11.666-2.8z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 316)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,717 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="100" height="200" fill="none" version="1.1" viewBox="0 0 100 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "Small left meter", |
|||
"description": "Small left meter displays the current value with a moving pointer on the scale.", |
|||
"searchTags": [ |
|||
"scale", |
|||
"level", |
|||
"progress", |
|||
"thermometer" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "progress-indicator", |
|||
"stateRenderFunction": "function calculateOffset(value, minValue, maxValue, initial) {\n var clampedValue = Math.max(Math.min(value, Math.max(minValue, maxValue)), Math.min(minValue, maxValue));\n var normalizedValue = minValue < maxValue\n ? (clampedValue - minValue) / (maxValue - minValue)\n : (minValue - clampedValue) / (minValue - maxValue);\n var offset = initial - (normalizedValue * initial);\n return offset;\n}\n\nvar valueSet = element.remember('valueSet');\n\nif (ctx.properties.progressArrow && !ctx.properties.progressBar) {\n element.show();\n var initial = ctx.properties.valueBox ? 135 : 168;\n if (!valueSet) {\n element.remember('valueSet', true);\n element.transform({\n translateY: initial\n });\n }\n \n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n var value = ctx.values.value;\n \n var colorProcessor = ctx.properties.progressArrowColor;\n colorProcessor.update(value);\n var fill = colorProcessor.color;\n element.attr({fill: fill});\n \n var offset = calculateOffset(value, minValue, maxValue, initial);\n\n var elementOffset = element.remember('offset');\n if (offset !== elementOffset) {\n element.remember('offset', offset);\n ctx.api.cssAnimate(element, 500).transform({\n translateY: offset\n });\n }\n} else {\n element.hide();\n if (valueSet) {\n element.remember('valueSet', false);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressBar", |
|||
"stateRenderFunction": "if (ctx.properties.progressBar) {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressBorder", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n element.attr({'height': 137})\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressCircle", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n element.attr({cy:152});\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressFill", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n element.attr({y:-147});\n}\n\nfunction calculateOffset(value, minValue, maxValue, initial) {\n var clampedValue = Math.max(Math.min(value, Math.max(minValue, maxValue)), Math.min(minValue, maxValue));\n var normalizedValue = minValue < maxValue\n ? (clampedValue - minValue) / (maxValue - minValue)\n : (minValue - clampedValue) / (minValue - maxValue);\n var offset = normalizedValue * initial;\n return offset;\n}\n\nvar valueSet = element.remember('valueSet');\nif (ctx.properties.progressBar) {\n var initial = ctx.properties.valueBox ? 135: 168;\n if (!valueSet) {\n element.remember('valueSet', true);\n element.attr({height: 2});\n }\n \n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n var value = ctx.values.value;\n \n var colorProcessor = ctx.properties.progressBarColor;\n colorProcessor.update(value);\n var fill = colorProcessor.color;\n element.attr({fill: fill, stroke: fill});\n ctx.tags.progressCircle[0].fill(fill);\n \n var height = calculateOffset(value, minValue, maxValue, initial);\n\n var elementHeight = element.remember('height');\n if (height !== elementHeight) {\n element.remember('height', height);\n ctx.api.cssAnimate(element, 500).attr({height: height+2});\n }\n} else {\n if (valueSet) {\n element.remember('valueSet', false);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "scale", |
|||
"stateRenderFunction": "var scaleSet = element.remember('scaleSet');\nif (!scaleSet) {\n element.remember('scaleSet', true);\n element.clear();\n \n var majorIntervals = ctx.properties.majorIntervals;\n var minorIntervals = ctx.properties.minorIntervals;\n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n \n var start = 11;\n var end = ctx.properties.valueBox ? 134 : 167;\n var majorIntervalLength = end / majorIntervals;\n var minorIntervalLength = majorIntervalLength / minorIntervals;\n element.add(ctx.svg.line(50, end+11, 50, 11).stroke({ width: 1 }).attr({class: 'majorTick'}));\n for (var i = 0; i < majorIntervals+1; i++) {\n var y = start + i * majorIntervalLength;\n var line = ctx.svg.line(38, y, 50, y).stroke({ width: 1 }).attr({class: 'majorTick'});\n element.add(line);\n var majorText = (maxValue - ((maxValue - (minValue)) / (majorIntervals) * i)).toFixed(0);\n var majorTickText = ctx.svg.text(majorText);\n majorTickText.attr({x: 32, y: y + 2, 'text-anchor': 'end', class: 'majorTickText'});\n majorTickText.first().attr({'dominant-baseline': 'middle'});\n element.add(majorTickText);\n if (i < majorIntervals) {\n drawMinorTicks(y, minorIntervals, minorIntervalLength);\n }\n }\n}\n\nvar majorFont = ctx.properties.majorFont;\nvar majorColor = ctx.properties.majorColor;\nvar minorColor = ctx.properties.minorColor;\nif (ctx.values.critical) {\n majorColor = ctx.properties.majorCriticalColor;\n minorColor = ctx.properties.minorCriticalColor;\n} else if (ctx.values.warning) {\n majorColor = ctx.properties.minorWarningColor;\n minorColor = ctx.properties.minorWarningColor;\n}\n\nvar majorTicks = element.find('line.majorTick');\nmajorTicks.forEach(t => t.attr({stroke: majorColor}));\n\nvar majorTicksText = element.find('text.majorTickText');\nctx.api.font(majorTicksText, majorFont, majorColor);\n\nvar minorTicks = element.find('line.minorTick');\nminorTicks.forEach(t => t.attr({stroke: minorColor}));\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\nfunction drawMinorTicks(start, minorIntervals, minorIntervalLength) {\n for (var i = 1; i < minorIntervals; i++) {\n var minorY = start + i * minorIntervalLength;\n var minorLine = ctx.svg.line(44, minorY, 50, minorY).stroke({ width: 1 }).attr({class: 'minorTick'});\n element.add(minorLine);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-background", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n var colorProcessor = ctx.properties.valueBoxColor;\n colorProcessor.update(ctx.values.value);\n element.attr({fill: colorProcessor.color});\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-text", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n var valueTextFont = ctx.properties.valueTextFont;\n var valueTextColor = ctx.properties.valueTextColor;\n var currentVolume = ctx.values.value;\n var valueText = ctx.api.formatValue(currentVolume, 0, ctx.properties.valueUnits, false);\n var colorProcessor = ctx.properties.valueTextColor;\n colorProcessor.update(ctx.values.value);\n ctx.api.font(element, valueTextFont, colorProcessor.color);\n ctx.api.text(element, valueText);\n}", |
|||
"actions": null |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "value", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"hint": null, |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "waterLevel" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning-state}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical-state}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "minValue", |
|||
"name": "{i18n:scada.symbol.min-max-value}", |
|||
"type": "number", |
|||
"default": 0, |
|||
"required": true, |
|||
"subLabel": "{i18n:scada.symbol.min-value}", |
|||
"divider": true, |
|||
"min": -1000, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "maxValue", |
|||
"name": "{i18n:scada.symbol.min-max-value}", |
|||
"type": "number", |
|||
"default": 100, |
|||
"required": true, |
|||
"subLabel": "{i18n:scada.symbol.max-value}", |
|||
"max": 1000, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressBar", |
|||
"name": "{i18n:scada.symbol.progress-bar}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressBarColor", |
|||
"name": "{i18n:scada.symbol.progress-bar}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#4D94E1", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "progressBar", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressArrow", |
|||
"name": "{i18n:scada.symbol.progress-arrow}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressArrowColor", |
|||
"name": "{i18n:scada.symbol.progress-arrow}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#1C943E", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "progressArrow", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueBox", |
|||
"name": "{i18n:scada.symbol.value-box}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueBoxColor", |
|||
"name": "{i18n:scada.symbol.value-box}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#F3F3F3", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueUnits", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "units", |
|||
"default": "%", |
|||
"subLabel": "{i18n:scada.symbol.units}", |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueTextFont", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 14, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueTextColor", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#0000008A", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorIntervals", |
|||
"name": "{i18n:scada.symbol.major-ticks}", |
|||
"type": "number", |
|||
"default": 5, |
|||
"subLabel": "{i18n:scada.symbol.intervals}", |
|||
"divider": true, |
|||
"min": 1, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorFont", |
|||
"name": "{i18n:scada.symbol.major-ticks}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 12, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#747474", |
|||
"subLabel": "{i18n:scada.symbol.normal}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorWarningColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorCriticalColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorIntervals", |
|||
"name": "{i18n:scada.symbol.minor-ticks}", |
|||
"type": "number", |
|||
"default": 10, |
|||
"subLabel": "{i18n:scada.symbol.intervals}", |
|||
"min": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#747474", |
|||
"subLabel": "{i18n:scada.symbol.normal}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorWarningColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorCriticalColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m4 200c-2.2091 0-4-1.791-4-4v-192c0-2.2091 1.7909-4 4-4h68c2.2091 0 4 1.7909 4 4v192c0 2.209-1.7909 4-4 4h-68z" fill="#E5E5E5" tb:tag="background"/><path d="m4 200c-2.2091 0-4-1.791-4-4v-192c0-2.2091 1.7909-4 4-4h68c2.2091 0 4 1.7909 4 4v192c0 2.209-1.7909 4-4 4h-68z" fill="url(#paint0_linear_3742_299967)"/><path d="m4 198.5c-1.3807 0-2.5-1.119-2.5-2.5v-192c0-1.3807 1.1193-2.5 2.5-2.5h68c1.3807 0 2.5 1.1193 2.5 2.5v192c0 1.381-1.1193 2.5-2.5 2.5h-68z" stroke="#000" stroke-opacity=".12" stroke-width="3"/><g tb:tag="scale"> |
|||
<g fill="#919191"> |
|||
<path d="m14.539 10.088v8.5605h-1.4121v-6.8848l-2.0918 0.709v-1.166l3.3339-1.2187zm8.7754 3.58v1.3946c0 0.6679-0.0665 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.2461 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2383 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5468 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.5859 0.7032 0.1641 0.2851 0.2891 0.6308 0.375 1.0371 0.086 0.4023 0.129 0.8711 0.129 1.4062zm-1.4122 1.5938v-1.8047c0-0.3398-0.0195-0.6387-0.0585-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1133-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4336 0.3984-0.1171 0.1836-0.207 0.4258-0.2695 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0195 0.6465 0.0586 0.9082s0.0977 0.4863 0.1758 0.6738c0.0781 0.1836 0.1719 0.3359 0.2812 0.457 0.1133 0.1172 0.2422 0.2032 0.3868 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2226 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441 0.0585-0.3047 0.0878-0.6699 0.0878-1.0957zm8.4825-1.5938v1.3946c0 0.6679-0.0664 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.246 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2383 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.586 0.7032 0.164 0.2851 0.289 0.6308 0.375 1.0371 0.0859 0.4023 0.1289 0.8711 0.1289 1.4062zm-1.4121 1.5938v-1.8047c0-0.3398-0.0196-0.6387-0.0586-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0196 0.6465 0.0586 0.9082 0.0391 0.2617 0.0977 0.4863 0.1758 0.6738 0.0781 0.1836 0.1719 0.3359 0.2813 0.457 0.1132 0.1172 0.2421 0.2032 0.3867 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441s0.0879-0.6699 0.0879-1.0957z"/> |
|||
<path d="m23.332 49.374c0 0.5313-0.123 0.9785-0.3691 1.3418s-0.582 0.6387-1.0078 0.8262c-0.4219 0.1836-0.8985 0.2754-1.4297 0.2754-0.5313 0-1.0098-0.0918-1.4356-0.2754-0.4257-0.1875-0.7617-0.4629-1.0078-0.8262s-0.3691-0.8105-0.3691-1.3418c0-0.3515 0.0683-0.6699 0.2051-0.955 0.1367-0.2891 0.33-0.5372 0.58-0.7442 0.254-0.2109 0.5508-0.373 0.8907-0.4863 0.3437-0.1133 0.7187-0.1699 1.125-0.1699 0.539 0 1.0215 0.0996 1.4472 0.2988 0.4258 0.1992 0.7598 0.4746 1.002 0.8262 0.2461 0.3515 0.3691 0.7617 0.3691 1.2304zm-1.4179-0.0703c0-0.2851-0.0586-0.5351-0.1758-0.75-0.1172-0.2148-0.2813-0.3808-0.4922-0.498s-0.4551-0.1758-0.7324-0.1758c-0.2813 0-0.5254 0.0586-0.7325 0.1758-0.207 0.1172-0.3691 0.2832-0.4863 0.498-0.1133 0.2149-0.1699 0.4649-0.1699 0.75 0 0.2891 0.0566 0.5391 0.1699 0.75 0.1133 0.207 0.2754 0.3653 0.4863 0.4746 0.211 0.1094 0.459 0.1641 0.7442 0.1641 0.2851 0 0.5312-0.0547 0.7383-0.1641 0.207-0.1093 0.3672-0.2676 0.4804-0.4746 0.1133-0.2109 0.17-0.4609 0.17-0.75zm1.2246-3.8906c0 0.4258-0.1133 0.8047-0.3399 1.1367-0.2226 0.332-0.5312 0.5938-0.9258 0.7852-0.3945 0.1875-0.8437 0.2812-1.3476 0.2812-0.5078 0-0.9609-0.0937-1.3594-0.2812-0.3945-0.1914-0.7051-0.4532-0.9316-0.7852-0.2227-0.332-0.334-0.7109-0.334-1.1367 0-0.5078 0.1113-0.9356 0.334-1.2832 0.2265-0.3516 0.5371-0.6192 0.9316-0.8027 0.3945-0.1836 0.8457-0.2754 1.3535-0.2754s0.959 0.0918 1.3535 0.2754c0.3946 0.1835 0.7032 0.4511 0.9258 0.8027 0.2266 0.3476 0.3399 0.7754 0.3399 1.2832zm-1.4121 0.0469c0-0.2539-0.0508-0.4766-0.1524-0.668-0.0976-0.1953-0.2363-0.3477-0.416-0.457-0.1797-0.1094-0.3926-0.1641-0.6387-0.1641s-0.459 0.0527-0.6386 0.1582c-0.1797 0.1055-0.3184 0.2539-0.4161 0.4453-0.0976 0.1914-0.1464 0.4199-0.1464 0.6856 0 0.2617 0.0488 0.4902 0.1464 0.6855 0.0977 0.1914 0.2364 0.3418 0.4161 0.4512 0.1836 0.1094 0.3984 0.164 0.6445 0.164s0.459-0.0546 0.6387-0.164 0.3183-0.2598 0.416-0.4512c0.0976-0.1953 0.1465-0.4238 0.1465-0.6855zm8.6582 1.2597v1.3946c0 0.6679-0.0664 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.246 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2382 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.586 0.7032 0.164 0.2851 0.289 0.6308 0.375 1.0371 0.0859 0.4023 0.1289 0.8711 0.1289 1.4062zm-1.4121 1.5938v-1.8047c0-0.3398-0.0196-0.6387-0.0586-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0196 0.6465 0.0586 0.9082 0.0391 0.2617 0.0977 0.4863 0.1758 0.6738 0.0781 0.1836 0.1719 0.336 0.2813 0.457 0.1132 0.1172 0.2421 0.2032 0.3867 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441s0.0879-0.6699 0.0879-1.0957z"/> |
|||
<path d="m22.02 74.016h0.1758v1.1543h-0.0996c-0.5039 0-0.9395 0.0781-1.3066 0.2343-0.3633 0.1563-0.6621 0.3711-0.8965 0.6446-0.2344 0.2734-0.4102 0.5937-0.5274 0.9609-0.1132 0.3633-0.1699 0.75-0.1699 1.1602v1.3418c0 0.3398 0.0371 0.6406 0.1113 0.9023 0.0743 0.2578 0.1778 0.4746 0.3106 0.6504 0.1367 0.1719 0.293 0.3027 0.4687 0.3926 0.1758 0.0898 0.3653 0.1347 0.5684 0.1347 0.2109 0 0.4023-0.0429 0.5742-0.1289 0.1719-0.0898 0.3184-0.2129 0.4395-0.3691 0.1211-0.1563 0.2129-0.3418 0.2754-0.5567 0.0625-0.2148 0.0937-0.4492 0.0937-0.7031 0-0.2422-0.0312-0.4687-0.0937-0.6797-0.0586-0.2148-0.1465-0.4023-0.2637-0.5625-0.1172-0.164-0.2637-0.291-0.4395-0.3808-0.1718-0.0938-0.3711-0.1406-0.5976-0.1406-0.2813 0-0.5371 0.0664-0.7676 0.1992-0.2266 0.1328-0.4102 0.3066-0.5508 0.5215-0.1367 0.2109-0.2109 0.4355-0.2226 0.6738l-0.5391-0.1758c0.0313-0.3633 0.1113-0.6895 0.2402-0.9785 0.1328-0.2891 0.3067-0.5352 0.5215-0.7383 0.2149-0.2031 0.4629-0.3574 0.7442-0.4629 0.2851-0.1094 0.5976-0.164 0.9375-0.164 0.414 0 0.7734 0.0781 1.0781 0.2343 0.3047 0.1563 0.5566 0.3692 0.7558 0.6387 0.2032 0.2656 0.3536 0.5703 0.4512 0.9141 0.1016 0.3398 0.1524 0.6953 0.1524 1.0664 0 0.4101-0.0625 0.7929-0.1875 1.1484-0.125 0.3516-0.3086 0.6602-0.5508 0.9258-0.2383 0.2656-0.5293 0.4726-0.8731 0.6211-0.3398 0.1484-0.7265 0.2226-1.1601 0.2226-0.4571 0-0.8653-0.0879-1.2246-0.2636-0.3555-0.1758-0.6582-0.418-0.9082-0.7266-0.2461-0.3086-0.4336-0.6641-0.5625-1.0664s-0.1934-0.8281-0.1934-1.2773v-0.586c0-0.6484 0.082-1.2598 0.2461-1.834 0.1641-0.5781 0.416-1.0879 0.7559-1.5293 0.3437-0.4414 0.7832-0.7871 1.3183-1.0371 0.5352-0.2539 1.1738-0.3808 1.916-0.3808zm8.3653 3.6035v1.3945c0 0.668-0.0664 1.2383-0.1993 1.7109-0.1289 0.4688-0.3164 0.8497-0.5625 1.1426-0.246 0.293-0.541 0.5078-0.8847 0.6446-0.3399 0.1367-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.0429-0.9375-0.1289-0.2852-0.0859-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.2929-0.2852-0.6425-0.375-1.0488-0.086-0.4062-0.1289-0.8769-0.1289-1.4121v-1.3945c0-0.6719 0.0664-1.2383 0.1992-1.6992 0.1328-0.4649 0.3222-0.8418 0.5683-1.1309 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.043 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3926 0.2305 0.1797 0.4258 0.4141 0.586 0.7031 0.164 0.2852 0.289 0.6309 0.375 1.0371 0.0859 0.4024 0.1289 0.8711 0.1289 1.4063zm-1.4121 1.5937v-1.8047c0-0.3398-0.0196-0.6386-0.0586-0.8964-0.0391-0.2618-0.0977-0.4825-0.1758-0.6622-0.0742-0.1835-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2011-0.3867-0.2519-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.0429-0.586 0.1289-0.1718 0.082-0.3164 0.2148-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2968-0.0879 0.6582-0.0879 1.0839v1.8047c0 0.3438 0.0196 0.6465 0.0586 0.9082 0.0391 0.2618 0.0977 0.4864 0.1758 0.6739 0.0781 0.1836 0.1719 0.3359 0.2813 0.457 0.1132 0.1172 0.2421 0.2031 0.3867 0.2578 0.1484 0.0547 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.0429 0.5918-0.1289 0.1719-0.0859 0.3164-0.2226 0.4336-0.4101 0.1172-0.1914 0.2051-0.4395 0.2637-0.7442s0.0879-0.6699 0.0879-1.0957z"/> |
|||
<path d="m23.631 111.66v1.125h-6.1524l-0.0469-0.85 3.6797-5.765h1.1309l-1.2246 2.097-2.1153 3.393zm-1.0664-5.49v8.531h-1.4122v-8.531zm7.8203 3.55v1.395c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.292-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.643-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.395c0-0.671 0.0664-1.238 0.1992-1.699 0.1328-0.465 0.3222-0.842 0.5683-1.131 0.2461-0.293 0.5391-0.505 0.8789-0.638 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.042 0.9375 0.128 0.289 0.082 0.5469 0.213 0.7734 0.393 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.406zm-1.4121 1.594v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.184-0.168-0.332-0.2813-0.445-0.1132-0.118-0.2422-0.202-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.214-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.296-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.908 0.0391 0.262 0.0977 0.487 0.1758 0.674 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.117 0.2421 0.203 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z"/> |
|||
<path d="m23.473 145.48v1.125h-5.7188v-0.967l2.7773-3.029c0.3047-0.344 0.545-0.641 0.7208-0.891 0.1757-0.25 0.2988-0.474 0.3691-0.673 0.0742-0.204 0.1113-0.401 0.1113-0.592 0-0.27-0.0508-0.506-0.1523-0.709-0.0977-0.207-0.2422-0.369-0.4336-0.487-0.1914-0.121-0.4238-0.181-0.6973-0.181-0.3164 0-0.582 0.068-0.7969 0.205-0.2148 0.137-0.3769 0.326-0.4863 0.568-0.1094 0.239-0.164 0.512-0.164 0.821h-1.4122c0-0.497 0.1133-0.95 0.3399-1.36 0.2265-0.414 0.5547-0.742 0.9844-0.984 0.4297-0.246 0.9472-0.369 1.5527-0.369 0.5703 0 1.0547 0.095 1.4531 0.287 0.3985 0.191 0.7012 0.463 0.9082 0.814 0.211 0.352 0.3164 0.768 0.3164 1.248 0 0.266-0.0429 0.53-0.1289 0.791-0.0859 0.262-0.209 0.524-0.3691 0.785-0.1563 0.258-0.3418 0.518-0.5567 0.78-0.2148 0.258-0.4511 0.519-0.7089 0.785l-1.8457 2.033zm6.9121-3.855v1.394c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.642-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.7 0.1328-0.464 0.3222-0.841 0.5683-1.13 0.2461-0.293 0.5391-0.506 0.8789-0.639 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.129 0.289 0.082 0.5469 0.212 0.7734 0.392 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.183-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.215-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.297-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.909 0.0391 0.261 0.0977 0.486 0.1758 0.673 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.118 0.2421 0.204 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z"/> |
|||
<path d="m30.385 173.02v1.394c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.643-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.7 0.1328-0.465 0.3222-0.841 0.5683-1.131 0.2461-0.293 0.5391-0.505 0.8789-0.638 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.128 0.289 0.082 0.5469 0.213 0.7734 0.393 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.184-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.214-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.296-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.908 0.0391 0.262 0.0977 0.487 0.1758 0.674 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.118 0.2421 0.203 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z"/> |
|||
</g> |
|||
<g transform="matrix(1 0 0 1.0194 9.4118e-7 -3.9105)" stroke="#747474"> |
|||
<path d="m50.695 14.031v164.03h0.22794v-164.03z" fill="#747474" stroke-width=".77206"/> |
|||
<line x1="39" x2="51" y1="14.145" y2="14.145"/> |
|||
<line x1="45" x2="51" y1="17.76" y2="17.76"/> |
|||
<line x1="45" x2="51" y1="21.02" y2="21.02"/> |
|||
<line x1="45" x2="51" y1="24.28" y2="24.28"/> |
|||
<line x1="45" x2="51" y1="27.54" y2="27.54"/> |
|||
<line x1="45" x2="51" y1="30.8" y2="30.8"/> |
|||
<line x1="45" x2="51" y1="34.06" y2="34.06"/> |
|||
<line x1="45" x2="51" y1="37.32" y2="37.32"/> |
|||
<line x1="45" x2="51" y1="40.58" y2="40.58"/> |
|||
<line x1="45" x2="51" y1="43.84" y2="43.84"/> |
|||
<line x1="39" x2="51" y1="47.1" y2="47.1"/> |
|||
<line x1="45" x2="51" y1="50.36" y2="50.36"/> |
|||
<line x1="45" x2="51" y1="53.62" y2="53.62"/> |
|||
<line x1="45" x2="51" y1="56.88" y2="56.88"/> |
|||
<line x1="45" x2="51" y1="60.14" y2="60.14"/> |
|||
<line x1="45" x2="51" y1="63.4" y2="63.4"/> |
|||
<line x1="45" x2="51" y1="66.66" y2="66.66"/> |
|||
<line x1="45" x2="51" y1="69.92" y2="69.92"/> |
|||
<line x1="45" x2="51" y1="73.18" y2="73.18"/> |
|||
<line x1="45" x2="51" y1="76.44" y2="76.44"/> |
|||
<line x1="39" x2="51" y1="79.7" y2="79.7"/> |
|||
<line x1="45" x2="51" y1="82.96" y2="82.96"/> |
|||
<line x1="45" x2="51" y1="86.22" y2="86.22"/> |
|||
<line x1="45" x2="51" y1="89.48" y2="89.48"/> |
|||
<line x1="45" x2="51" y1="92.74" y2="92.74"/> |
|||
<line x1="45" x2="51" y1="96" y2="96"/> |
|||
<line x1="45" x2="51" y1="99.26" y2="99.26"/> |
|||
<line x1="45" x2="51" y1="102.52" y2="102.52"/> |
|||
<line x1="45" x2="51" y1="105.78" y2="105.78"/> |
|||
<line x1="45" x2="51" y1="109.04" y2="109.04"/> |
|||
<line x1="39" x2="51" y1="112.3" y2="112.3"/> |
|||
<line x1="45" x2="51" y1="115.56" y2="115.56"/> |
|||
<line x1="45" x2="51" y1="118.82" y2="118.82"/> |
|||
<line x1="45" x2="51" y1="122.08" y2="122.08"/> |
|||
<line x1="45" x2="51" y1="125.34" y2="125.34"/> |
|||
<line x1="45" x2="51" y1="128.6" y2="128.6"/> |
|||
<line x1="45" x2="51" y1="131.86" y2="131.86"/> |
|||
<line x1="45" x2="51" y1="135.12" y2="135.12"/> |
|||
<line x1="45" x2="51" y1="138.38" y2="138.38"/> |
|||
<line x1="45" x2="51" y1="141.64" y2="141.64"/> |
|||
<line x1="39" x2="51" y1="144.9" y2="144.9"/> |
|||
<line x1="45" x2="51" y1="148.16" y2="148.16"/> |
|||
<line x1="45" x2="51" y1="151.42" y2="151.42"/> |
|||
<line x1="45" x2="51" y1="154.68" y2="154.68"/> |
|||
<line x1="45" x2="51" y1="157.94" y2="157.94"/> |
|||
<line x1="45" x2="51" y1="161.2" y2="161.2"/> |
|||
<line x1="45" x2="51" y1="164.46" y2="164.46"/> |
|||
<line x1="45" x2="51" y1="167.72" y2="167.72"/> |
|||
<line x1="45" x2="51" y1="170.98" y2="170.98"/> |
|||
<line x1="45" x2="51" y1="174.24" y2="174.24"/> |
|||
<line x1="38.985" x2="50.985" y1="177.96" y2="177.96"/> |
|||
</g> |
|||
</g><path d="m96 200c2.2091 0 4-1.791 4-4v-192c0-2.2091-1.7909-4-4-4h-4c-2.2091 0-4 1.7909-4 4v192c0 2.209 1.7909 4 4 4h4z" fill="#93979B"/><path d="m96 200c2.2091 0 4-1.791 4-4v-192c0-2.2091-1.7909-4-4-4h-4c-2.2091 0-4 1.7909-4 4v192c0 2.209 1.7909 4 4 4h4z" fill="url(#paint1_linear_3742_299967)"/><path d="m96 198.5c1.3807 0 2.5-1.119 2.5-2.5v-192c0-1.3807-1.1193-2.5-2.5-2.5h-4c-1.3807 0-2.5 1.1193-2.5 2.5v192c0 1.381 1.1193 2.5 2.5 2.5h4z" stroke="#000" stroke-opacity=".12" stroke-width="3"/><path d="m76 140c0 2.209 1.7908 4 3.9999 4h4c2.2092 0 4.0001-1.791 4.0001-4v-92c0-2.2091-1.7909-4-4-4h-4c-2.2091 0-4 1.7909-4 4v92z" fill="#647484"/><path d="m76 140c0 2.209 1.7908 4 3.9999 4h4c2.2092 0 4.0001-1.791 4.0001-4v-92c0-2.2091-1.7909-4-4-4h-4c-2.2091 0-4 1.7909-4 4v92z" fill="url(#paint2_linear_3742_299967)"/><path d="m77.5 140c0 1.38 1.1193 2.5 2.4999 2.5h4c1.3808 0 2.5001-1.119 2.5001-2.5v-92c0-1.3807-1.1193-2.5-2.5-2.5h-4c-1.3807 0-2.5 1.1193-2.5 2.5v92z" stroke="#000" stroke-opacity=".12" stroke-width="3"/><defs> |
|||
<linearGradient id="paint0_linear_3742_299967" x1="76" x2=".00010292" y1="100" y2="100.09" gradientUnits="userSpaceOnUse"> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="0"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".02629"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".11617"/> |
|||
<stop stop-color="#fff" stop-opacity=".3" offset=".49829"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".88762"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".96591"/> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="1"/> |
|||
</linearGradient> |
|||
<linearGradient id="paint1_linear_3742_299967" x1="89.93" x2="134" y1="-14.344" y2="205.53" gradientUnits="userSpaceOnUse"> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="0"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".23574"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".39937"/> |
|||
<stop stop-color="#fff" stop-opacity=".3" offset=".49829"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".59721"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".76303"/> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="1"/> |
|||
</linearGradient> |
|||
<linearGradient id="paint2_linear_3742_299967" x1="83.045" x2="78.639" y1="47.812" y2="139.03" gradientUnits="userSpaceOnUse"> |
|||
<stop stop-color="#020202" stop-opacity=".2" offset="0"/> |
|||
<stop stop-color="#020202" stop-opacity=".18" offset=".090959"/> |
|||
<stop stop-color="#020202" stop-opacity=".1" offset=".1"/> |
|||
<stop stop-color="#020202" stop-opacity=".08" offset=".20513"/> |
|||
<stop stop-color="#020202" stop-opacity=".05" offset=".21555"/> |
|||
<stop stop-color="#020202" stop-opacity=".02" offset=".36962"/> |
|||
<stop stop-color="#fff" stop-opacity=".01" offset=".37768"/> |
|||
<stop stop-color="#fff" stop-opacity=".01" offset=".62413"/> |
|||
<stop stop-color="#020202" stop-opacity=".02" offset=".6313"/> |
|||
<stop stop-color="#020202" stop-opacity=".05" offset=".77601"/> |
|||
<stop stop-color="#020202" stop-opacity=".08" offset=".7898"/> |
|||
<stop stop-color="#020202" stop-opacity=".1" offset=".9"/> |
|||
<stop stop-color="#020202" stop-opacity=".18" offset=".90846"/> |
|||
<stop stop-color="#020202" stop-opacity=".2" offset="1"/> |
|||
</linearGradient> |
|||
<filter id="filter0_ii_3742_299961" x="20" y="162" width="60" height="32" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"> |
|||
<feFlood flood-opacity="0" result="BackgroundImageFix"/> |
|||
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/> |
|||
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> |
|||
<feOffset dx="-2" dy="2"/> |
|||
<feGaussianBlur stdDeviation="3"/> |
|||
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/> |
|||
<feColorMatrix values="0 0 0 0 0.445833 0 0 0 0 0.445833 0 0 0 0 0.445833 0 0 0 0.5 0"/> |
|||
<feBlend in2="shape" result="effect1_innerShadow_3742_299961"/> |
|||
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> |
|||
<feOffset dx="2" dy="-2"/> |
|||
<feGaussianBlur stdDeviation="2"/> |
|||
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/> |
|||
<feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0"/> |
|||
<feBlend in2="effect1_innerShadow_3742_299961" result="effect2_innerShadow_3742_299961"/> |
|||
</filter> |
|||
</defs><g tb:tag="progressBar"> |
|||
<rect x="56" y="10.5" width="6" height="169" ry="1.12" stroke="#cecece" tb:tag="progressBorder"/> |
|||
<rect transform="scale(1,-1)" x="56" y="-180" width="6" height="62" ry="1.12" fill="#4d94e1" stroke="#4d94e1" tb:tag="progressFill"/> |
|||
<circle cx="59" cy="185" r="7" fill="#4d94e1" tb:tag="progressCircle"/> |
|||
</g><g transform="translate(0,166)" fill="#1c943e" style="display: none;" tb:tag="progress-indicator"> |
|||
<path d="m52 10.562 10.5 6.062v-12.124z" style=""/> |
|||
</g><g transform="translate(-12)" filter="url(#filter0_ii_3742_299961)" style="display: none;" tb:tag="value-box"> |
|||
<rect x="22" y="164" width="56" height="28" rx="4" fill="#fffefe" fill-opacity=".75" tb:tag="value-box-background" style=""/> |
|||
<rect x="23" y="165" width="54" height="26" rx="3" stroke="#fff" stroke-width="2" style=""/> |
|||
<text x="49.853027" y="179.5625" fill="#727171" font-family="Roboto" font-size="14px" font-weight="500" text-anchor="middle" tb:tag="value-text" xml:space="preserve" style=""><tspan dominant-baseline="middle">37%</tspan></text> |
|||
</g><path d="m25.56-0.12402s-25.56 0-25.56 33.5v164.18c0 1.3256 0.68053 2.3202 1.52 2.3202h72.96c0.83942 0 1.52-0.9946 1.52-2.3202v-164.18c0-33.5-25.107-33.5-25.107-33.5h-12.893zm25.487 40.6c-0.48969 0-0.88669 0.6268-0.88669 1.4v150.2c0 0.7732 0.39697 1.4 0.88669 1.4h5.5733c0.48969 0 0.88669-0.6268 0.88669-1.4v-150.2c0-0.7732-0.39697-1.4-0.88669-1.4z" fill-opacity="0" tb:tag="clickArea"/> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 45 KiB |
@ -0,0 +1,688 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="100" height="200" fill="none" version="1.1" viewBox="0 0 100 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "Small meter", |
|||
"description": "Small meter displays the current value with a moving pointer on the scale.", |
|||
"searchTags": [ |
|||
"scale", |
|||
"level", |
|||
"progress", |
|||
"thermometer" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "progress-indicator", |
|||
"stateRenderFunction": "function calculateOffset(value, minValue, maxValue, initial) {\n var clampedValue = Math.max(Math.min(value, Math.max(minValue, maxValue)), Math.min(minValue, maxValue));\n var normalizedValue = minValue < maxValue\n ? (clampedValue - minValue) / (maxValue - minValue)\n : (minValue - clampedValue) / (minValue - maxValue);\n var offset = initial - (normalizedValue * initial);\n return offset;\n}\n\nvar valueSet = element.remember('valueSet');\n\nif (ctx.properties.progressArrow && !ctx.properties.progressBar) {\n element.show();\n var initial = ctx.properties.valueBox ? 132 : 167;\n if (!valueSet) {\n element.remember('valueSet', true);\n element.transform({\n translateY: initial\n });\n }\n \n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n var value = ctx.values.value;\n \n var colorProcessor = ctx.properties.progressArrowColor;\n colorProcessor.update(value);\n var fill = colorProcessor.color;\n element.attr({fill: fill});\n \n var offset = calculateOffset(value, minValue, maxValue, initial);\n\n var elementOffset = element.remember('offset');\n if (offset !== elementOffset) {\n element.remember('offset', offset);\n ctx.api.cssAnimate(element, 500).transform({\n translateY: offset\n });\n }\n} else {\n element.hide();\n if (valueSet) {\n element.remember('valueSet', false);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressBar", |
|||
"stateRenderFunction": "if (ctx.properties.progressBar) {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressBorder", |
|||
"stateRenderFunction": "if (!ctx.properties.valueBox) {\n element.attr({'height': 168})\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressCircle", |
|||
"stateRenderFunction": "if (!ctx.properties.valueBox) {\n element.attr({cy:185});\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressFill", |
|||
"stateRenderFunction": "if (!ctx.properties.valueBox) {\n element.attr({y:-180});\n}\n\nfunction calculateOffset(value, minValue, maxValue, initial) {\n var clampedValue = Math.max(Math.min(value, Math.max(minValue, maxValue)), Math.min(minValue, maxValue));\n var normalizedValue = minValue < maxValue\n ? (clampedValue - minValue) / (maxValue - minValue)\n : (minValue - clampedValue) / (minValue - maxValue);\n var offset = normalizedValue * initial;\n return offset;\n}\n\nvar valueSet = element.remember('valueSet');\nif (ctx.properties.progressBar) {\n var initial = ctx.properties.valueBox ? 132: 168;\n if (!valueSet) {\n element.remember('valueSet', true);\n element.attr({height: 2});\n }\n \n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n var value = ctx.values.value;\n \n var colorProcessor = ctx.properties.progressBarColor;\n colorProcessor.update(value);\n var fill = colorProcessor.color;\n element.attr({fill: fill, stroke: fill});\n ctx.tags.progressCircle[0].fill(fill);\n \n var height = calculateOffset(value, minValue, maxValue, initial);\n\n var elementHeight = element.remember('height');\n if (height !== elementHeight) {\n element.remember('height', height);\n ctx.api.cssAnimate(element, 500).attr({height: height+2});\n }\n} else {\n if (valueSet) {\n element.remember('valueSet', false);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "scale", |
|||
"stateRenderFunction": "var scaleSet = element.remember('scaleSet');\nif (!scaleSet) {\n element.remember('scaleSet', true);\n element.clear();\n \n var majorIntervals = ctx.properties.majorIntervals;\n var minorIntervals = ctx.properties.minorIntervals;\n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n \n var start = 11;\n var end = ctx.properties.valueBox ? 132 : 167;\n var majorIntervalLength = end / majorIntervals;\n var minorIntervalLength = majorIntervalLength / minorIntervals;\n element.add(ctx.svg.line(63, end+11, 63, 11).stroke({ width: 1 }).attr({class: 'majorTick'}));\n for (var i = 0; i < majorIntervals+1; i++) {\n var y = start + i * majorIntervalLength;\n var line = ctx.svg.line(51, y, 63, y).stroke({ width: 1 }).attr({class: 'majorTick'});\n element.add(line);\n var majorText = (maxValue - ((maxValue - (minValue)) / (majorIntervals) * i)).toFixed(0);\n var majorTickText = ctx.svg.text(majorText);\n majorTickText.attr({x: 45, y: y + 2, 'text-anchor': 'end', class: 'majorTickText'});\n majorTickText.first().attr({'dominant-baseline': 'middle'});\n element.add(majorTickText);\n if (i < majorIntervals) {\n drawMinorTicks(y, minorIntervals, minorIntervalLength);\n }\n }\n}\n\nvar majorFont = ctx.properties.majorFont;\nvar majorColor = ctx.properties.majorColor;\nvar minorColor = ctx.properties.minorColor;\nif (ctx.values.critical) {\n majorColor = ctx.properties.majorCriticalColor;\n minorColor = ctx.properties.minorCriticalColor;\n} else if (ctx.values.warning) {\n majorColor = ctx.properties.minorWarningColor;\n minorColor = ctx.properties.minorWarningColor;\n}\n\nvar majorTicks = element.find('line.majorTick');\nmajorTicks.forEach(t => t.attr({stroke: majorColor}));\n\nvar majorTicksText = element.find('text.majorTickText');\nctx.api.font(majorTicksText, majorFont, majorColor);\n\nvar minorTicks = element.find('line.minorTick');\nminorTicks.forEach(t => t.attr({stroke: minorColor}));\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\nfunction drawMinorTicks(start, minorIntervals, minorIntervalLength) {\n for (var i = 1; i < minorIntervals; i++) {\n var minorY = start + i * minorIntervalLength;\n var minorLine = ctx.svg.line(57, minorY, 63, minorY).stroke({ width: 1 }).attr({class: 'minorTick'});\n element.add(minorLine);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-background", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n var colorProcessor = ctx.properties.valueBoxColor;\n colorProcessor.update(ctx.values.value);\n element.attr({fill: colorProcessor.color});\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-text", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n var valueTextFont = ctx.properties.valueTextFont;\n var valueTextColor = ctx.properties.valueTextColor;\n var currentVolume = ctx.values.value;\n var valueText = ctx.api.formatValue(currentVolume, 0, ctx.properties.valueUnits, false);\n var colorProcessor = ctx.properties.valueTextColor;\n colorProcessor.update(ctx.values.value);\n ctx.api.font(element, valueTextFont, colorProcessor.color);\n ctx.api.text(element, valueText);\n}", |
|||
"actions": null |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "value", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"hint": null, |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "waterLevel" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning-state}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical-state}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "minValue", |
|||
"name": "{i18n:scada.symbol.min-max-value}", |
|||
"type": "number", |
|||
"default": 0, |
|||
"required": true, |
|||
"subLabel": "{i18n:scada.symbol.min-value}", |
|||
"divider": true, |
|||
"min": -1000, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "maxValue", |
|||
"name": "{i18n:scada.symbol.min-max-value}", |
|||
"type": "number", |
|||
"default": 100, |
|||
"required": true, |
|||
"subLabel": "{i18n:scada.symbol.max-value}", |
|||
"max": 1000, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressBar", |
|||
"name": "{i18n:scada.symbol.progress-bar}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressBarColor", |
|||
"name": "{i18n:scada.symbol.progress-bar}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#4D94E1", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "progressBar", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressArrow", |
|||
"name": "{i18n:scada.symbol.progress-arrow}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressArrowColor", |
|||
"name": "{i18n:scada.symbol.progress-arrow}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#1C943E", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "progressArrow", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueBox", |
|||
"name": "{i18n:scada.symbol.value-box}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueBoxColor", |
|||
"name": "{i18n:scada.symbol.value-box}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#F3F3F3", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueUnits", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "units", |
|||
"default": "%", |
|||
"subLabel": "{i18n:scada.symbol.units}", |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueTextFont", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 14, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueTextColor", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#0000008A", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorIntervals", |
|||
"name": "{i18n:scada.symbol.major-ticks}", |
|||
"type": "number", |
|||
"default": 5, |
|||
"subLabel": "{i18n:scada.symbol.intervals}", |
|||
"divider": true, |
|||
"min": 1, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorFont", |
|||
"name": "{i18n:scada.symbol.major-ticks}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 12, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#747474", |
|||
"subLabel": "{i18n:scada.symbol.normal}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorWarningColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorCriticalColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorIntervals", |
|||
"name": "{i18n:scada.symbol.minor-ticks}", |
|||
"type": "number", |
|||
"default": 10, |
|||
"subLabel": "{i18n:scada.symbol.intervals}", |
|||
"min": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#747474", |
|||
"subLabel": "{i18n:scada.symbol.normal}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorWarningColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorCriticalColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m16 200c-2.2091 0-4-1.791-4-4v-192c0-2.2091 1.7909-4 4-4h68c2.2091 0 4 1.7909 4 4v192c0 2.209-1.7909 4-4 4h-68z" fill="#E5E5E5" tb:tag="background"/><path d="m16 200c-2.2091 0-4-1.791-4-4v-192c0-2.2091 1.7909-4 4-4h68c2.2091 0 4 1.7909 4 4v192c0 2.209-1.7909 4-4 4h-68z" fill="url(#paint0_linear_3742_299961)"/><path d="m16 198.5c-1.3807 0-2.5-1.119-2.5-2.5v-192c0-1.3807 1.1193-2.5 2.5-2.5h68c1.3807 0 2.5 1.1193 2.5 2.5v192c0 1.381-1.1193 2.5-2.5 2.5h-68z" stroke="#000" stroke-opacity=".12" stroke-width="3"/><g tb:tag="scale"> |
|||
<path d="m28.539 10.088v8.5605h-1.4121v-6.8848l-2.0918 0.709v-1.166l3.3339-1.2187zm8.7754 3.58v1.3946c0 0.6679-0.0665 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.2461 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2383 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5468 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.5859 0.7032 0.1641 0.2851 0.2891 0.6308 0.375 1.0371 0.086 0.4023 0.129 0.8711 0.129 1.4062zm-1.4122 1.5938v-1.8047c0-0.3398-0.0195-0.6387-0.0585-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1133-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4336 0.3984-0.1171 0.1836-0.207 0.4258-0.2695 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0195 0.6465 0.0586 0.9082s0.0977 0.4863 0.1758 0.6738c0.0781 0.1836 0.1719 0.3359 0.2812 0.457 0.1133 0.1172 0.2422 0.2032 0.3868 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2226 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441 0.0585-0.3047 0.0878-0.6699 0.0878-1.0957zm8.4825-1.5938v1.3946c0 0.6679-0.0664 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.246 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2383 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.586 0.7032 0.164 0.2851 0.289 0.6308 0.375 1.0371 0.0859 0.4023 0.1289 0.8711 0.1289 1.4062zm-1.4121 1.5938v-1.8047c0-0.3398-0.0196-0.6387-0.0586-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0196 0.6465 0.0586 0.9082 0.0391 0.2617 0.0977 0.4863 0.1758 0.6738 0.0781 0.1836 0.1719 0.3359 0.2813 0.457 0.1132 0.1172 0.2421 0.2032 0.3867 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441s0.0879-0.6699 0.0879-1.0957z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m37.332 40.682c0 0.5313-0.123 0.9785-0.3691 1.3418s-0.582 0.6387-1.0078 0.8262c-0.4219 0.1836-0.8985 0.2754-1.4297 0.2754-0.5313 0-1.0098-0.0918-1.4356-0.2754-0.4257-0.1875-0.7617-0.4629-1.0078-0.8262s-0.3691-0.8105-0.3691-1.3418c0-0.3515 0.0683-0.6699 0.2051-0.955 0.1367-0.2891 0.33-0.5372 0.58-0.7442 0.254-0.2109 0.5508-0.373 0.8907-0.4863 0.3437-0.1133 0.7187-0.1699 1.125-0.1699 0.539 0 1.0215 0.0996 1.4472 0.2988 0.4258 0.1992 0.7598 0.4746 1.002 0.8262 0.2461 0.3515 0.3691 0.7617 0.3691 1.2304zm-1.4179-0.0703c0-0.2851-0.0586-0.5351-0.1758-0.75-0.1172-0.2148-0.2813-0.3808-0.4922-0.498s-0.4551-0.1758-0.7324-0.1758c-0.2813 0-0.5254 0.0586-0.7325 0.1758-0.207 0.1172-0.3691 0.2832-0.4863 0.498-0.1133 0.2149-0.1699 0.4649-0.1699 0.75 0 0.2891 0.0566 0.5391 0.1699 0.75 0.1133 0.207 0.2754 0.3653 0.4863 0.4746 0.211 0.1094 0.459 0.1641 0.7442 0.1641 0.2851 0 0.5312-0.0547 0.7383-0.1641 0.207-0.1093 0.3672-0.2676 0.4804-0.4746 0.1133-0.2109 0.17-0.4609 0.17-0.75zm1.2246-3.8906c0 0.4258-0.1133 0.8047-0.3399 1.1367-0.2226 0.332-0.5312 0.5938-0.9258 0.7852-0.3945 0.1875-0.8437 0.2812-1.3476 0.2812-0.5078 0-0.9609-0.0937-1.3594-0.2812-0.3945-0.1914-0.7051-0.4532-0.9316-0.7852-0.2227-0.332-0.334-0.7109-0.334-1.1367 0-0.5078 0.1113-0.9356 0.334-1.2832 0.2265-0.3516 0.5371-0.6192 0.9316-0.8027 0.3945-0.1836 0.8457-0.2754 1.3535-0.2754s0.959 0.0918 1.3535 0.2754c0.3946 0.1835 0.7032 0.4511 0.9258 0.8027 0.2266 0.3476 0.3399 0.7754 0.3399 1.2832zm-1.4121 0.0469c0-0.2539-0.0508-0.4766-0.1524-0.668-0.0976-0.1953-0.2363-0.3477-0.416-0.457-0.1797-0.1094-0.3926-0.1641-0.6387-0.1641s-0.459 0.0527-0.6386 0.1582c-0.1797 0.1055-0.3184 0.2539-0.4161 0.4453-0.0976 0.1914-0.1464 0.4199-0.1464 0.6856 0 0.2617 0.0488 0.4902 0.1464 0.6855 0.0977 0.1914 0.2364 0.3418 0.4161 0.4512 0.1836 0.1094 0.3984 0.164 0.6445 0.164s0.459-0.0546 0.6387-0.164 0.3183-0.2598 0.416-0.4512c0.0976-0.1953 0.1465-0.4238 0.1465-0.6855zm8.6582 1.2597v1.3946c0 0.6679-0.0664 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.246 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2382 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.586 0.7032 0.164 0.2851 0.289 0.6308 0.375 1.0371 0.0859 0.4023 0.1289 0.8711 0.1289 1.4062zm-1.4121 1.5938v-1.8047c0-0.3398-0.0196-0.6387-0.0586-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0196 0.6465 0.0586 0.9082 0.0391 0.2617 0.0977 0.4863 0.1758 0.6738 0.0781 0.1836 0.1719 0.336 0.2813 0.457 0.1132 0.1172 0.2421 0.2032 0.3867 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441s0.0879-0.6699 0.0879-1.0957z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m36.02 60.784h0.1758v1.1543h-0.0996c-0.5039 0-0.9395 0.078-1.3066 0.2343-0.3633 0.1563-0.6621 0.3711-0.8965 0.6446-0.2344 0.2734-0.4102 0.5937-0.5274 0.9609-0.1132 0.3633-0.1699 0.75-0.1699 1.1602v1.3418c0 0.3398 0.0371 0.6406 0.1113 0.9023 0.0743 0.2578 0.1778 0.4746 0.3106 0.6504 0.1367 0.1719 0.293 0.3027 0.4687 0.3926 0.1758 0.09 0.3653 0.1347 0.5684 0.1347 0.2109 0 0.4023-0.043 0.5742-0.1289 0.1719-0.09 0.3184-0.2129 0.4395-0.3691 0.1211-0.1563 0.2129-0.3418 0.2754-0.5567 0.0625-0.2148 0.0937-0.4492 0.0937-0.7031 0-0.2422-0.0312-0.4687-0.0937-0.6797-0.0586-0.2148-0.1465-0.4023-0.2637-0.5625-0.1172-0.164-0.2637-0.291-0.4395-0.3808-0.1718-0.094-0.3711-0.1406-0.5976-0.1406-0.2813 0-0.5371 0.066-0.7676 0.1992-0.2266 0.1328-0.4102 0.3066-0.5508 0.5215-0.1367 0.2109-0.2109 0.4355-0.2226 0.6738l-0.5391-0.1758c0.0313-0.3633 0.1113-0.6895 0.2402-0.9785 0.1328-0.2891 0.3067-0.5352 0.5215-0.7383 0.2149-0.2031 0.4629-0.3574 0.7442-0.4629 0.2851-0.1094 0.5976-0.164 0.9375-0.164 0.414 0 0.7734 0.078 1.0781 0.2343s0.5566 0.3692 0.7558 0.6387c0.2032 0.2656 0.3536 0.5703 0.4512 0.9141 0.1016 0.3398 0.1524 0.6953 0.1524 1.0664 0 0.4101-0.0625 0.7929-0.1875 1.1484-0.125 0.3516-0.3086 0.6602-0.5508 0.9258-0.2383 0.2656-0.5293 0.4726-0.8731 0.6211-0.3398 0.1484-0.7265 0.2226-1.1601 0.2226-0.4571 0-0.8653-0.088-1.2246-0.2636-0.3555-0.1758-0.6582-0.418-0.9082-0.7266-0.2461-0.3086-0.4336-0.6641-0.5625-1.0664s-0.1934-0.8281-0.1934-1.2773v-0.586c0-0.6484 0.082-1.2598 0.2461-1.834 0.1641-0.5781 0.416-1.0879 0.7559-1.5293 0.3437-0.4414 0.7832-0.7871 1.3183-1.0371 0.5352-0.2539 1.1738-0.3808 1.916-0.3808zm8.3653 3.6035v1.3945c0 0.668-0.0664 1.2383-0.1993 1.7109-0.1289 0.4688-0.3164 0.8497-0.5625 1.1426-0.246 0.293-0.541 0.5078-0.8847 0.6446-0.3399 0.1367-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.2929-0.2852-0.6425-0.375-1.0488-0.086-0.4062-0.1289-0.8769-0.1289-1.4121v-1.3945c0-0.6719 0.0664-1.2383 0.1992-1.6992 0.1328-0.4649 0.3222-0.8418 0.5683-1.1309 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.043 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3926 0.2305 0.1797 0.4258 0.4141 0.586 0.7031 0.164 0.2852 0.289 0.6309 0.375 1.0371 0.0859 0.4024 0.1289 0.8711 0.1289 1.4063zm-1.4121 1.5937v-1.8047c0-0.3398-0.0196-0.6386-0.0586-0.8964-0.0391-0.2618-0.0977-0.4825-0.1758-0.6622-0.0742-0.1835-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2011-0.3867-0.2519-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2148-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2968-0.0879 0.6582-0.0879 1.0839v1.8047c0 0.3438 0.0196 0.6465 0.0586 0.9082 0.0391 0.2618 0.0977 0.4864 0.1758 0.6739 0.0781 0.1836 0.1719 0.3359 0.2813 0.457 0.1132 0.1172 0.2421 0.2031 0.3867 0.2578 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2226 0.4336-0.4101 0.1172-0.1914 0.2051-0.4395 0.2637-0.7442s0.0879-0.6699 0.0879-1.0957z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m37.631 90.687v1.125h-6.1524l-0.0469-0.8496 3.6797-5.7656h1.1309l-1.2246 2.0977-2.1153 3.3925zm-1.0664-5.4902v8.5313h-1.4122v-8.5313zm7.8203 3.5508v1.3945c0 0.668-0.0664 1.2383-0.1993 1.711-0.1289 0.4687-0.3164 0.8496-0.5625 1.1425-0.246 0.293-0.541 0.5078-0.8847 0.6446-0.3399 0.1367-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.0429-0.9375-0.1289-0.2852-0.0859-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.7089-0.1602-0.293-0.2852-0.6426-0.375-1.0489-0.086-0.4062-0.1289-0.8769-0.1289-1.4121v-1.3945c0-0.6719 0.0664-1.2383 0.1992-1.6992 0.1328-0.4649 0.3222-0.8418 0.5683-1.1309 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.043 0.9375 0.1289 0.289 0.0821 0.5469 0.2129 0.7734 0.3926 0.2305 0.1797 0.4258 0.4141 0.586 0.7031 0.164 0.2852 0.289 0.6309 0.375 1.0371 0.0859 0.4024 0.1289 0.8711 0.1289 1.4063zm-1.4121 1.5937v-1.8047c0-0.3398-0.0196-0.6386-0.0586-0.8964-0.0391-0.2618-0.0977-0.4825-0.1758-0.6621-0.0742-0.1836-0.168-0.3321-0.2813-0.4454-0.1132-0.1171-0.2422-0.2011-0.3867-0.2519-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.0429-0.586 0.1289-0.1718 0.082-0.3164 0.2148-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2968-0.0879 0.6582-0.0879 1.0839v1.8047c0 0.3438 0.0196 0.6465 0.0586 0.9082 0.0391 0.2618 0.0977 0.4864 0.1758 0.6739 0.0781 0.1836 0.1719 0.3359 0.2813 0.457 0.1132 0.1172 0.2421 0.2031 0.3867 0.2578 0.1484 0.0547 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.0429 0.5918-0.1289 0.1719-0.0859 0.3164-0.2226 0.4336-0.4101 0.1172-0.1914 0.2051-0.4395 0.2637-0.7442s0.0879-0.6699 0.0879-1.0957z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m37.473 116.48v1.125h-5.7188v-0.967l2.7773-3.029c0.3047-0.344 0.545-0.641 0.7208-0.891 0.1757-0.25 0.2988-0.474 0.3691-0.673 0.0742-0.204 0.1113-0.401 0.1113-0.592 0-0.27-0.0508-0.506-0.1523-0.709-0.0977-0.207-0.2422-0.369-0.4336-0.487-0.1914-0.121-0.4238-0.181-0.6973-0.181-0.3164 0-0.582 0.068-0.7969 0.205-0.2148 0.137-0.3769 0.326-0.4863 0.568-0.1094 0.239-0.164 0.512-0.164 0.821h-1.4122c0-0.497 0.1133-0.95 0.3399-1.36 0.2265-0.414 0.5547-0.742 0.9844-0.984 0.4297-0.246 0.9472-0.369 1.5527-0.369 0.5703 0 1.0547 0.095 1.4531 0.287 0.3985 0.191 0.7012 0.463 0.9082 0.814 0.211 0.352 0.3164 0.768 0.3164 1.248 0 0.266-0.0429 0.53-0.1289 0.791-0.0859 0.262-0.209 0.524-0.3691 0.785-0.1563 0.258-0.3418 0.518-0.5567 0.78-0.2148 0.258-0.4511 0.519-0.7089 0.785l-1.8457 2.033zm6.9121-3.855v1.394c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.642-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.7 0.1328-0.464 0.3222-0.841 0.5683-1.13 0.2461-0.293 0.5391-0.506 0.8789-0.639 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.129 0.289 0.082 0.5469 0.212 0.7734 0.392 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.183-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.215-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.297-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.909 0.0391 0.261 0.0977 0.486 0.1758 0.673 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.118 0.2421 0.204 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z" fill="#000" fill-opacity=".38"/> |
|||
<path d="m44.385 139.02v1.394c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.643-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.7 0.1328-0.465 0.3222-0.841 0.5683-1.131 0.2461-0.293 0.5391-0.505 0.8789-0.638 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.128 0.289 0.082 0.5469 0.213 0.7734 0.393 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.184-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.214-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.296-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.908 0.0391 0.262 0.0977 0.487 0.1758 0.674 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.118 0.2421 0.203 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z" fill="#000" fill-opacity=".38"/> |
|||
<line x1="52" x2="64" y1="10.5" y2="10.5" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="13.136" y2="13.136" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="15.772" y2="15.772" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="18.408" y2="18.408" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="21.044" y2="21.044" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="23.68" y2="23.68" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="26.316" y2="26.316" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="28.952" y2="28.952" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="31.588" y2="31.588" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="34.224" y2="34.224" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="39.496" y2="39.496" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="36.86" y2="36.86" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="42.132" y2="42.132" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="44.768" y2="44.768" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="47.404" y2="47.404" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="50.04" y2="50.04" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="52.676" y2="52.676" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="55.312" y2="55.312" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="57.948" y2="57.948" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="60.584" y2="60.584" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="65.856" y2="65.856" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="63.22" y2="63.22" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="68.492" y2="68.492" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="71.128" y2="71.128" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="73.764" y2="73.764" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="76.4" y2="76.4" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="81.672" y2="81.672" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="79.036" y2="79.036" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="84.308" y2="84.308" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="89.58" y2="89.58" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="86.944" y2="86.944" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="92.216" y2="92.216" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="94.852" y2="94.852" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="97.488" y2="97.488" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="100.12" y2="100.12" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="102.76" y2="102.76" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="105.4" y2="105.4" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="108.03" y2="108.03" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="110.67" y2="110.67" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="115.94" y2="115.94" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="113.3" y2="113.3" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="118.58" y2="118.58" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="121.21" y2="121.21" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="123.85" y2="123.85" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="126.48" y2="126.48" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="129.12" y2="129.12" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="131.76" y2="131.76" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="134.39" y2="134.39" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="137.03" y2="137.03" stroke="#747474"/> |
|||
<line x1="52" x2="64" y1="142.5" y2="142.5" stroke="#747474"/> |
|||
<line x1="58" x2="64" y1="139.66" y2="139.66" stroke="#747474"/> |
|||
<path d="m63 10v133h1v-133z" fill="#747474"/> |
|||
</g><g filter="url(#filter0_ii_3742_299961)" tb:tag="value-box"> |
|||
<rect x="22" y="164" width="56" height="28" rx="4" fill="#FFFEFE" fill-opacity=".75" tb:tag="value-box-background"/> |
|||
<rect x="23" y="165" width="54" height="26" rx="3" stroke="#fff" stroke-width="2"/> |
|||
<text x="49.853027" y="179.5625" fill="#727171" font-family="Roboto" font-size="14px" font-weight="500" text-anchor="middle" tb:tag="value-text" xml:space="preserve"><tspan dominant-baseline="middle">37%</tspan></text> |
|||
</g><g tb:tag="progressBar"> |
|||
<rect x="69" y="10.5" width="6" height="134" ry="1.12" stroke="#cecece" tb:tag="progressBorder"/> |
|||
<rect transform="scale(1,-1)" x="69" y="-144.5" width="6" height="50" ry="1.12" fill="#4d94e1" stroke="#4d94e1" tb:tag="progressFill"/> |
|||
<circle cx="72" cy="150" r="7" fill="#4d94e1" tb:tag="progressCircle"/> |
|||
</g><g transform="translate(0,132)" fill="#1c943e" style="display: none;" tb:tag="progress-indicator"> |
|||
<path d="m64 10.562 10.5 6.062v-12.124z" style=""/> |
|||
</g><path d="m37.56 0s-25.56 0-25.56 33.5v164.18c0 1.3256 0.68053 2.3202 1.52 2.3202h72.96c0.83942 0 1.52-0.9946 1.52-2.3202v-164.18c0-33.5-25.107-33.5-25.107-33.5h-12.893zm25.487 40.6c-0.48969 0-0.88669 0.6268-0.88669 1.4v150.2c0 0.7732 0.39697 1.4 0.88669 1.4h5.5733c0.48969 0 0.88669-0.6268 0.88669-1.4v-150.2c0-0.7732-0.39697-1.4-0.88669-1.4z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><defs> |
|||
<filter id="filter0_ii_3742_299961" x="20" y="162" width="60" height="32" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"> |
|||
<feFlood flood-opacity="0" result="BackgroundImageFix"/> |
|||
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/> |
|||
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> |
|||
<feOffset dx="-2" dy="2"/> |
|||
<feGaussianBlur stdDeviation="3"/> |
|||
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/> |
|||
<feColorMatrix values="0 0 0 0 0.445833 0 0 0 0 0.445833 0 0 0 0 0.445833 0 0 0 0.5 0"/> |
|||
<feBlend in2="shape" result="effect1_innerShadow_3742_299961"/> |
|||
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> |
|||
<feOffset dx="2" dy="-2"/> |
|||
<feGaussianBlur stdDeviation="2"/> |
|||
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/> |
|||
<feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0"/> |
|||
<feBlend in2="effect1_innerShadow_3742_299961" result="effect2_innerShadow_3742_299961"/> |
|||
</filter> |
|||
<linearGradient id="paint0_linear_3742_299961" x1="88" x2="12" y1="100" y2="100.09" gradientUnits="userSpaceOnUse"> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="0"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".02629"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".11617"/> |
|||
<stop stop-color="#fff" stop-opacity=".3" offset=".49829"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".88762"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".96591"/> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="1"/> |
|||
</linearGradient> |
|||
</defs> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 44 KiB |
@ -0,0 +1,359 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="400" fill="none" version="1.1" viewBox="0 0 400 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Small power transformer", |
|||
"description": "Small power transformer with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<path d="m67 35.406c0-3.4797 1.5105-6.788 4.1398-9.0673l5.4938-4.7625c5.6366-4.8862 12.846-7.576 20.306-7.576h6.1218c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.1947 0-8.3588-0.7133-12.314-2.1094l-2.1886-0.7724c-4.7978-1.6933-8.0062-6.2281-8.0062-11.316v-2.3965z"/> |
|||
<path d="m67 73.406c0-3.4797 1.5105-6.788 4.1398-9.0673l5.4938-4.7625c5.6366-4.8862 12.846-7.576 20.306-7.576h6.1218c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.1947 0-8.3588-0.7133-12.314-2.1094l-2.1886-0.7724c-4.7978-1.6933-8.0062-6.2281-8.0062-11.316v-2.3965z"/> |
|||
<path d="m67 111.41c0-3.48 1.5105-6.788 4.1398-9.068l5.4938-4.762c5.6366-4.8862 12.846-7.576 20.306-7.576h6.1218c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.762c2.63 2.28 4.14 5.588 4.14 9.068v2.396c0 5.088-3.208 9.623-8.006 11.316l-2.189 0.773c-3.955 1.396-8.119 2.109-12.314 2.109h-20.982c-4.1947 0-8.3588-0.713-12.314-2.109l-2.1886-0.773c-4.7978-1.693-8.0062-6.228-8.0062-11.316v-2.396z"/> |
|||
<rect x="85" y="128" width="30" height="11" rx="1"/> |
|||
<path d="m267 35.406c0-3.4797 1.51-6.788 4.14-9.0673l5.494-4.7625c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.195 0-8.359-0.7133-12.314-2.1094l-2.189-0.7724c-4.798-1.6933-8.006-6.2281-8.006-11.316v-2.3965z"/> |
|||
<path d="m267 73.406c0-3.4797 1.51-6.788 4.14-9.0673l5.494-4.7625c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.195 0-8.359-0.7133-12.314-2.1094l-2.189-0.7724c-4.798-1.6933-8.006-6.2281-8.006-11.316v-2.3965z"/> |
|||
<path d="m267 111.41c0-3.48 1.51-6.788 4.14-9.068l5.494-4.762c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.762c2.63 2.28 4.14 5.588 4.14 9.068v2.396c0 5.088-3.208 9.623-8.006 11.316l-2.189 0.773c-3.955 1.396-8.119 2.109-12.314 2.109h-20.982c-4.195 0-8.359-0.713-12.314-2.109l-2.189-0.773c-4.798-1.693-8.006-6.228-8.006-11.316v-2.396z"/> |
|||
<rect x="285" y="128" width="30" height="11" rx="1"/> |
|||
<path d="m167 35.406c0-3.4797 1.51-6.788 4.14-9.0673l5.494-4.7625c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.195 0-8.359-0.7133-12.314-2.1094l-2.189-0.7724c-4.798-1.6933-8.006-6.2281-8.006-11.316v-2.3965z"/> |
|||
<path d="m167 73.406c0-3.4797 1.51-6.788 4.14-9.0673l5.494-4.7625c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.7625c2.63 2.2793 4.14 5.5876 4.14 9.0673v2.3965c0 5.0878-3.208 9.6226-8.006 11.316l-2.189 0.7724c-3.955 1.3961-8.119 2.1094-12.314 2.1094h-20.982c-4.195 0-8.359-0.7133-12.314-2.1094l-2.189-0.7724c-4.798-1.6933-8.006-6.2281-8.006-11.316v-2.3965z"/> |
|||
<path d="m167 111.41c0-3.48 1.51-6.788 4.14-9.068l5.494-4.762c5.636-4.8862 12.846-7.576 20.305-7.576h6.122c7.459 0 14.669 2.6899 20.305 7.576l5.494 4.762c2.63 2.28 4.14 5.588 4.14 9.068v2.396c0 5.088-3.208 9.623-8.006 11.316l-2.189 0.773c-3.955 1.396-8.119 2.109-12.314 2.109h-20.982c-4.195 0-8.359-0.713-12.314-2.109l-2.189-0.773c-4.798-1.693-8.006-6.228-8.006-11.316v-2.396z"/> |
|||
<rect x="185" y="128" width="30" height="11" rx="1"/> |
|||
<rect x="17" y="160" width="366" height="217" rx="5"/> |
|||
<rect x="1" y="138" width="398" height="22" rx="5"/> |
|||
<rect x="1" y="377" width="398" height="22" rx="5"/> |
|||
</g><path d="m204.37 266.34-16.841 15.085c-1.041 0.943-0.455 2.682 0.943 2.812l13.151 1.268-7.884 10.989c-0.358 0.504-0.309 1.203 0.13 1.642 0.487 0.488 1.251 0.504 1.755 0.033l16.841-15.086c1.041-0.943 0.455-2.682-0.943-2.812l-13.151-1.268 7.885-10.989c0.357-0.504 0.308-1.203-0.131-1.642-0.487-0.488-1.251-0.504-1.755-0.032z" fill="#1A1A1A"/><path d="m150.82 313.75c-1.541 0-2.503-1.669-1.731-3.002l49.176-84.942c0.771-1.33 2.692-1.33 3.462 0l49.177 84.942c0.772 1.333-0.19 3.002-1.731 3.002h-98.353z" stroke="#1A1A1A" stroke-width="8"/><rect x="90" width="20" height="15" rx="2" fill="#1A1A1A"/><rect x="290" width="20" height="15" rx="2" fill="#1A1A1A"/><rect x="190" width="20" height="15" rx="2" fill="#1A1A1A"/><path d="m134.53 0s-134.53 0-134.53 67v328.36c0 2.6512 3.5818 4.6403 8 4.6403h384c4.418 0 8-1.9892 8-4.6403v-328.36c0-67-132.14-67-132.14-67h-67.86zm134.14 81.2c-2.5774 0-4.6666 1.2536-4.6666 2.8v300.4c0 1.5464 2.0894 2.8 4.6666 2.8h29.332c2.5774 0 4.6666-1.2536 4.6666-2.8v-300.4c0-1.5464-2.0894-2.8-4.6666-2.8z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 320.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 17 KiB |
@ -0,0 +1,717 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="100" height="200" fill="none" version="1.1" viewBox="0 0 100 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "Small right meter", |
|||
"description": "Small right meter displays the current value with a moving pointer on the scale.", |
|||
"searchTags": [ |
|||
"scale", |
|||
"level", |
|||
"progress", |
|||
"thermometer" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "progress-indicator", |
|||
"stateRenderFunction": "function calculateOffset(value, minValue, maxValue, initial) {\n var clampedValue = Math.max(Math.min(value, Math.max(minValue, maxValue)), Math.min(minValue, maxValue));\n var normalizedValue = minValue < maxValue\n ? (clampedValue - minValue) / (maxValue - minValue)\n : (minValue - clampedValue) / (minValue - maxValue);\n var offset = initial - (normalizedValue * initial);\n return offset;\n}\n\nvar valueSet = element.remember('valueSet');\n\nif (ctx.properties.progressArrow && !ctx.properties.progressBar) {\n element.show();\n var initial = ctx.properties.valueBox ? 135 : 168;\n if (!valueSet) {\n element.remember('valueSet', true);\n element.transform({\n translateY: initial\n });\n }\n \n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n var value = ctx.values.value;\n \n var colorProcessor = ctx.properties.progressArrowColor;\n colorProcessor.update(value);\n var fill = colorProcessor.color;\n element.attr({fill: fill});\n \n var offset = calculateOffset(value, minValue, maxValue, initial);\n\n var elementOffset = element.remember('offset');\n if (offset !== elementOffset) {\n element.remember('offset', offset);\n ctx.api.cssAnimate(element, 500).transform({\n translateY: offset\n });\n }\n} else {\n element.hide();\n if (valueSet) {\n element.remember('valueSet', false);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressBar", |
|||
"stateRenderFunction": "if (ctx.properties.progressBar) {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressBorder", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n element.attr({'height': 137})\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressCircle", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n element.attr({cy:152});\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "progressFill", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n element.attr({y:-147});\n}\n\nfunction calculateOffset(value, minValue, maxValue, initial) {\n var clampedValue = Math.max(Math.min(value, Math.max(minValue, maxValue)), Math.min(minValue, maxValue));\n var normalizedValue = minValue < maxValue\n ? (clampedValue - minValue) / (maxValue - minValue)\n : (minValue - clampedValue) / (minValue - maxValue);\n var offset = normalizedValue * initial;\n return offset;\n}\n\nvar valueSet = element.remember('valueSet');\nif (ctx.properties.progressBar) {\n var initial = ctx.properties.valueBox ? 135: 168;\n if (!valueSet) {\n element.remember('valueSet', true);\n element.attr({height: 2});\n }\n \n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n var value = ctx.values.value;\n \n var colorProcessor = ctx.properties.progressBarColor;\n colorProcessor.update(value);\n var fill = colorProcessor.color;\n element.attr({fill: fill, stroke: fill});\n ctx.tags.progressCircle[0].fill(fill);\n \n var height = calculateOffset(value, minValue, maxValue, initial);\n\n var elementHeight = element.remember('height');\n if (height !== elementHeight) {\n element.remember('height', height);\n ctx.api.cssAnimate(element, 500).attr({height: height+2});\n }\n} else {\n if (valueSet) {\n element.remember('valueSet', false);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "scale", |
|||
"stateRenderFunction": "var scaleSet = element.remember('scaleSet');\nif (!scaleSet) {\n element.remember('scaleSet', true);\n element.clear();\n \n var majorIntervals = ctx.properties.majorIntervals;\n var minorIntervals = ctx.properties.minorIntervals;\n var minValue = ctx.properties.minValue;\n var maxValue = ctx.properties.maxValue;\n \n var start = 11;\n var end = ctx.properties.valueBox ? 134 : 167;\n var majorIntervalLength = end / majorIntervals;\n var minorIntervalLength = majorIntervalLength / minorIntervals;\n element.add(ctx.svg.line(73, end+11, 73, 11).stroke({ width: 1 }).attr({class: 'majorTick'}));\n for (var i = 0; i < majorIntervals+1; i++) {\n var y = start + i * majorIntervalLength;\n var line = ctx.svg.line(61, y, 73, y).stroke({ width: 1 }).attr({class: 'majorTick'});\n element.add(line);\n var majorText = (maxValue - ((maxValue - (minValue)) / (majorIntervals) * i)).toFixed(0);\n var majorTickText = ctx.svg.text(majorText);\n majorTickText.attr({x: 55, y: y + 2, 'text-anchor': 'end', class: 'majorTickText'});\n majorTickText.first().attr({'dominant-baseline': 'middle'});\n element.add(majorTickText);\n if (i < majorIntervals) {\n drawMinorTicks(y, minorIntervals, minorIntervalLength);\n }\n }\n}\n\nvar majorFont = ctx.properties.majorFont;\nvar majorColor = ctx.properties.majorColor;\nvar minorColor = ctx.properties.minorColor;\nif (ctx.values.critical) {\n majorColor = ctx.properties.majorCriticalColor;\n minorColor = ctx.properties.minorCriticalColor;\n} else if (ctx.values.warning) {\n majorColor = ctx.properties.minorWarningColor;\n minorColor = ctx.properties.minorWarningColor;\n}\n\nvar majorTicks = element.find('line.majorTick');\nmajorTicks.forEach(t => t.attr({stroke: majorColor}));\n\nvar majorTicksText = element.find('text.majorTickText');\nctx.api.font(majorTicksText, majorFont, majorColor);\n\nvar minorTicks = element.find('line.minorTick');\nminorTicks.forEach(t => t.attr({stroke: minorColor}));\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\nfunction drawMinorTicks(start, minorIntervals, minorIntervalLength) {\n for (var i = 1; i < minorIntervals; i++) {\n var minorY = start + i * minorIntervalLength;\n var minorLine = ctx.svg.line(67, minorY, 73, minorY).stroke({ width: 1 }).attr({class: 'minorTick'});\n element.add(minorLine);\n }\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n element.show();\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-background", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n var colorProcessor = ctx.properties.valueBoxColor;\n colorProcessor.update(ctx.values.value);\n element.attr({fill: colorProcessor.color});\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-text", |
|||
"stateRenderFunction": "if (ctx.properties.valueBox) {\n var valueTextFont = ctx.properties.valueTextFont;\n var valueTextColor = ctx.properties.valueTextColor;\n var currentVolume = ctx.values.value;\n var valueText = ctx.api.formatValue(currentVolume, 0, ctx.properties.valueUnits, false);\n var colorProcessor = ctx.properties.valueTextColor;\n colorProcessor.update(ctx.values.value);\n ctx.api.font(element, valueTextFont, colorProcessor.color);\n ctx.api.text(element, valueText);\n}", |
|||
"actions": null |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "value", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"hint": null, |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "waterLevel" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning-state}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical-state}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "minValue", |
|||
"name": "{i18n:scada.symbol.min-max-value}", |
|||
"type": "number", |
|||
"default": 0, |
|||
"required": true, |
|||
"subLabel": "{i18n:scada.symbol.min-value}", |
|||
"divider": true, |
|||
"min": -1000, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "maxValue", |
|||
"name": "{i18n:scada.symbol.min-max-value}", |
|||
"type": "number", |
|||
"default": 100, |
|||
"required": true, |
|||
"subLabel": "{i18n:scada.symbol.max-value}", |
|||
"max": 1000, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressBar", |
|||
"name": "{i18n:scada.symbol.progress-bar}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressBarColor", |
|||
"name": "{i18n:scada.symbol.progress-bar}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#4D94E1", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "progressBar", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressArrow", |
|||
"name": "{i18n:scada.symbol.progress-arrow}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "progressArrowColor", |
|||
"name": "{i18n:scada.symbol.progress-arrow}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#1C943E", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "progressArrow", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueBox", |
|||
"name": "{i18n:scada.symbol.value-box}", |
|||
"type": "switch", |
|||
"default": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueBoxColor", |
|||
"name": "{i18n:scada.symbol.value-box}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#F3F3F3", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueUnits", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "units", |
|||
"default": "%", |
|||
"subLabel": "{i18n:scada.symbol.units}", |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueTextFont", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 14, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueTextColor", |
|||
"name": "{i18n:scada.symbol.value-text}", |
|||
"type": "color_settings", |
|||
"default": { |
|||
"type": "constant", |
|||
"color": "#0000008A", |
|||
"gradient": { |
|||
"advancedMode": false, |
|||
"gradient": [ |
|||
"rgba(0, 255, 0, 1)", |
|||
"rgba(255, 0, 0, 1)" |
|||
], |
|||
"gradientAdvanced": [ |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(0, 255, 0, 1)" |
|||
}, |
|||
{ |
|||
"source": { |
|||
"type": "constant" |
|||
}, |
|||
"color": "rgba(255, 0, 0, 1)" |
|||
} |
|||
], |
|||
"minValue": 0, |
|||
"maxValue": 100 |
|||
}, |
|||
"rangeList": { |
|||
"advancedMode": false, |
|||
"range": [], |
|||
"rangeAdvanced": [] |
|||
}, |
|||
"colorFunction": "var temperature = value;\nif (typeof temperature !== undefined) {\n var percent = (temperature + 60)/120 * 100;\n return tinycolor.mix('blue', 'red', percent).toHexString();\n}\nreturn 'blue';" |
|||
}, |
|||
"disableOnProperty": "valueBox", |
|||
"disabled": true, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorIntervals", |
|||
"name": "{i18n:scada.symbol.major-ticks}", |
|||
"type": "number", |
|||
"default": 5, |
|||
"subLabel": "{i18n:scada.symbol.intervals}", |
|||
"divider": true, |
|||
"min": 1, |
|||
"step": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorFont", |
|||
"name": "{i18n:scada.symbol.major-ticks}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 12, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#747474", |
|||
"subLabel": "{i18n:scada.symbol.normal}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorWarningColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "majorCriticalColor", |
|||
"name": "{i18n:scada.symbol.major-ticks-color}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorIntervals", |
|||
"name": "{i18n:scada.symbol.minor-ticks}", |
|||
"type": "number", |
|||
"default": 10, |
|||
"subLabel": "{i18n:scada.symbol.intervals}", |
|||
"min": 1, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#747474", |
|||
"subLabel": "{i18n:scada.symbol.normal}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorWarningColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "minorCriticalColor", |
|||
"name": "{i18n:scada.symbol.minor-ticks-color}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m28 200c-2.2091 0-4-1.791-4-4v-192c0-2.2091 1.7909-4 4-4h68c2.2091 0 4 1.7909 4 4v192c0 2.209-1.7909 4-4 4h-68z" fill="#E5E5E5" tb:tag="background"/><path d="m28 200c-2.2091 0-4-1.791-4-4v-192c0-2.2091 1.7909-4 4-4h68c2.2091 0 4 1.7909 4 4v192c0 2.209-1.7909 4-4 4h-68z" fill="url(#paint0_linear_3742_299973)"/><path d="m28 198.5c-1.3807 0-2.5-1.119-2.5-2.5v-192c0-1.3807 1.1193-2.5 2.5-2.5h68c1.3807 0 2.5 1.1193 2.5 2.5v192c0 1.381-1.1193 2.5-2.5 2.5h-68z" stroke="#000" stroke-opacity=".12" stroke-width="3"/><g tb:tag="scale"> |
|||
<g transform="translate(23.965)" fill="#919191"> |
|||
<path d="m14.539 10.088v8.5605h-1.4121v-6.8848l-2.0918 0.709v-1.166l3.3339-1.2187zm8.7754 3.58v1.3946c0 0.6679-0.0665 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.2461 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2383 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5468 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.5859 0.7032 0.1641 0.2851 0.2891 0.6308 0.375 1.0371 0.086 0.4023 0.129 0.8711 0.129 1.4062zm-1.4122 1.5938v-1.8047c0-0.3398-0.0195-0.6387-0.0585-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1133-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4336 0.3984-0.1171 0.1836-0.207 0.4258-0.2695 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0195 0.6465 0.0586 0.9082s0.0977 0.4863 0.1758 0.6738c0.0781 0.1836 0.1719 0.3359 0.2812 0.457 0.1133 0.1172 0.2422 0.2032 0.3868 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2226 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441 0.0585-0.3047 0.0878-0.6699 0.0878-1.0957zm8.4825-1.5938v1.3946c0 0.6679-0.0664 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.246 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2383 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.586 0.7032 0.164 0.2851 0.289 0.6308 0.375 1.0371 0.0859 0.4023 0.1289 0.8711 0.1289 1.4062zm-1.4121 1.5938v-1.8047c0-0.3398-0.0196-0.6387-0.0586-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0196 0.6465 0.0586 0.9082 0.0391 0.2617 0.0977 0.4863 0.1758 0.6738 0.0781 0.1836 0.1719 0.3359 0.2813 0.457 0.1132 0.1172 0.2421 0.2032 0.3867 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441s0.0879-0.6699 0.0879-1.0957z"/> |
|||
<path d="m23.332 49.374c0 0.5313-0.123 0.9785-0.3691 1.3418s-0.582 0.6387-1.0078 0.8262c-0.4219 0.1836-0.8985 0.2754-1.4297 0.2754-0.5313 0-1.0098-0.0918-1.4356-0.2754-0.4257-0.1875-0.7617-0.4629-1.0078-0.8262s-0.3691-0.8105-0.3691-1.3418c0-0.3515 0.0683-0.6699 0.2051-0.955 0.1367-0.2891 0.33-0.5372 0.58-0.7442 0.254-0.2109 0.5508-0.373 0.8907-0.4863 0.3437-0.1133 0.7187-0.1699 1.125-0.1699 0.539 0 1.0215 0.0996 1.4472 0.2988 0.4258 0.1992 0.7598 0.4746 1.002 0.8262 0.2461 0.3515 0.3691 0.7617 0.3691 1.2304zm-1.4179-0.0703c0-0.2851-0.0586-0.5351-0.1758-0.75-0.1172-0.2148-0.2813-0.3808-0.4922-0.498s-0.4551-0.1758-0.7324-0.1758c-0.2813 0-0.5254 0.0586-0.7325 0.1758-0.207 0.1172-0.3691 0.2832-0.4863 0.498-0.1133 0.2149-0.1699 0.4649-0.1699 0.75 0 0.2891 0.0566 0.5391 0.1699 0.75 0.1133 0.207 0.2754 0.3653 0.4863 0.4746 0.211 0.1094 0.459 0.1641 0.7442 0.1641 0.2851 0 0.5312-0.0547 0.7383-0.1641 0.207-0.1093 0.3672-0.2676 0.4804-0.4746 0.1133-0.2109 0.17-0.4609 0.17-0.75zm1.2246-3.8906c0 0.4258-0.1133 0.8047-0.3399 1.1367-0.2226 0.332-0.5312 0.5938-0.9258 0.7852-0.3945 0.1875-0.8437 0.2812-1.3476 0.2812-0.5078 0-0.9609-0.0937-1.3594-0.2812-0.3945-0.1914-0.7051-0.4532-0.9316-0.7852-0.2227-0.332-0.334-0.7109-0.334-1.1367 0-0.5078 0.1113-0.9356 0.334-1.2832 0.2265-0.3516 0.5371-0.6192 0.9316-0.8027 0.3945-0.1836 0.8457-0.2754 1.3535-0.2754s0.959 0.0918 1.3535 0.2754c0.3946 0.1835 0.7032 0.4511 0.9258 0.8027 0.2266 0.3476 0.3399 0.7754 0.3399 1.2832zm-1.4121 0.0469c0-0.2539-0.0508-0.4766-0.1524-0.668-0.0976-0.1953-0.2363-0.3477-0.416-0.457-0.1797-0.1094-0.3926-0.1641-0.6387-0.1641s-0.459 0.0527-0.6386 0.1582c-0.1797 0.1055-0.3184 0.2539-0.4161 0.4453-0.0976 0.1914-0.1464 0.4199-0.1464 0.6856 0 0.2617 0.0488 0.4902 0.1464 0.6855 0.0977 0.1914 0.2364 0.3418 0.4161 0.4512 0.1836 0.1094 0.3984 0.164 0.6445 0.164s0.459-0.0546 0.6387-0.164 0.3183-0.2598 0.416-0.4512c0.0976-0.1953 0.1465-0.4238 0.1465-0.6855zm8.6582 1.2597v1.3946c0 0.6679-0.0664 1.2382-0.1993 1.7109-0.1289 0.4688-0.3164 0.8496-0.5625 1.1426-0.246 0.2929-0.541 0.5078-0.8847 0.6445-0.3399 0.1367-0.7207 0.2051-1.1426 0.2051-0.3359 0-0.6484-0.043-0.9375-0.1289-0.2852-0.086-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.293-0.2852-0.6426-0.375-1.0488-0.086-0.4063-0.1289-0.877-0.1289-1.4121v-1.3946c0-0.6718 0.0664-1.2382 0.1992-1.6992 0.1328-0.4648 0.3222-0.8418 0.5683-1.1308 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.0429 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3925 0.2305 0.1797 0.4258 0.4141 0.586 0.7032 0.164 0.2851 0.289 0.6308 0.375 1.0371 0.0859 0.4023 0.1289 0.8711 0.1289 1.4062zm-1.4121 1.5938v-1.8047c0-0.3398-0.0196-0.6387-0.0586-0.8965-0.0391-0.2617-0.0977-0.4824-0.1758-0.6621-0.0742-0.1836-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2012-0.3867-0.252-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.1289-0.1718 0.082-0.3164 0.2149-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2969-0.0879 0.6582-0.0879 1.084v1.8047c0 0.3437 0.0196 0.6465 0.0586 0.9082 0.0391 0.2617 0.0977 0.4863 0.1758 0.6738 0.0781 0.1836 0.1719 0.336 0.2813 0.457 0.1132 0.1172 0.2421 0.2032 0.3867 0.2579 0.1484 0.0546 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.1289 0.1719-0.086 0.3164-0.2227 0.4336-0.4102 0.1172-0.1914 0.2051-0.4394 0.2637-0.7441s0.0879-0.6699 0.0879-1.0957z"/> |
|||
<path d="m22.02 74.016h0.1758v1.1543h-0.0996c-0.5039 0-0.9395 0.0781-1.3066 0.2343-0.3633 0.1563-0.6621 0.3711-0.8965 0.6446-0.2344 0.2734-0.4102 0.5937-0.5274 0.9609-0.1132 0.3633-0.1699 0.75-0.1699 1.1602v1.3418c0 0.3398 0.0371 0.6406 0.1113 0.9023 0.0743 0.2578 0.1778 0.4746 0.3106 0.6504 0.1367 0.1719 0.293 0.3027 0.4687 0.3926 0.1758 0.0898 0.3653 0.1347 0.5684 0.1347 0.2109 0 0.4023-0.0429 0.5742-0.1289 0.1719-0.0898 0.3184-0.2129 0.4395-0.3691 0.1211-0.1563 0.2129-0.3418 0.2754-0.5567 0.0625-0.2148 0.0937-0.4492 0.0937-0.7031 0-0.2422-0.0312-0.4687-0.0937-0.6797-0.0586-0.2148-0.1465-0.4023-0.2637-0.5625-0.1172-0.164-0.2637-0.291-0.4395-0.3808-0.1718-0.0938-0.3711-0.1406-0.5976-0.1406-0.2813 0-0.5371 0.0664-0.7676 0.1992-0.2266 0.1328-0.4102 0.3066-0.5508 0.5215-0.1367 0.2109-0.2109 0.4355-0.2226 0.6738l-0.5391-0.1758c0.0313-0.3633 0.1113-0.6895 0.2402-0.9785 0.1328-0.2891 0.3067-0.5352 0.5215-0.7383 0.2149-0.2031 0.4629-0.3574 0.7442-0.4629 0.2851-0.1094 0.5976-0.164 0.9375-0.164 0.414 0 0.7734 0.0781 1.0781 0.2343 0.3047 0.1563 0.5566 0.3692 0.7558 0.6387 0.2032 0.2656 0.3536 0.5703 0.4512 0.9141 0.1016 0.3398 0.1524 0.6953 0.1524 1.0664 0 0.4101-0.0625 0.7929-0.1875 1.1484-0.125 0.3516-0.3086 0.6602-0.5508 0.9258-0.2383 0.2656-0.5293 0.4726-0.8731 0.6211-0.3398 0.1484-0.7265 0.2226-1.1601 0.2226-0.4571 0-0.8653-0.0879-1.2246-0.2636-0.3555-0.1758-0.6582-0.418-0.9082-0.7266-0.2461-0.3086-0.4336-0.6641-0.5625-1.0664s-0.1934-0.8281-0.1934-1.2773v-0.586c0-0.6484 0.082-1.2598 0.2461-1.834 0.1641-0.5781 0.416-1.0879 0.7559-1.5293 0.3437-0.4414 0.7832-0.7871 1.3183-1.0371 0.5352-0.2539 1.1738-0.3808 1.916-0.3808zm8.3653 3.6035v1.3945c0 0.668-0.0664 1.2383-0.1993 1.7109-0.1289 0.4688-0.3164 0.8497-0.5625 1.1426-0.246 0.293-0.541 0.5078-0.8847 0.6446-0.3399 0.1367-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.0429-0.9375-0.1289-0.2852-0.0859-0.543-0.2207-0.7734-0.4043-0.2305-0.1836-0.4278-0.4199-0.5918-0.709-0.1602-0.2929-0.2852-0.6425-0.375-1.0488-0.086-0.4062-0.1289-0.8769-0.1289-1.4121v-1.3945c0-0.6719 0.0664-1.2383 0.1992-1.6992 0.1328-0.4649 0.3222-0.8418 0.5683-1.1309 0.2461-0.293 0.5391-0.5059 0.8789-0.6387 0.3438-0.1328 0.7266-0.1992 1.1485-0.1992 0.3398 0 0.6523 0.043 0.9375 0.1289 0.289 0.082 0.5469 0.2129 0.7734 0.3926 0.2305 0.1797 0.4258 0.4141 0.586 0.7031 0.164 0.2852 0.289 0.6309 0.375 1.0371 0.0859 0.4024 0.1289 0.8711 0.1289 1.4063zm-1.4121 1.5937v-1.8047c0-0.3398-0.0196-0.6386-0.0586-0.8964-0.0391-0.2618-0.0977-0.4825-0.1758-0.6622-0.0742-0.1835-0.168-0.332-0.2813-0.4453-0.1132-0.1172-0.2422-0.2011-0.3867-0.2519-0.1445-0.0547-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.0429-0.586 0.1289-0.1718 0.082-0.3164 0.2148-0.4335 0.3984-0.1172 0.1836-0.2071 0.4258-0.2696 0.7266-0.0586 0.2968-0.0879 0.6582-0.0879 1.0839v1.8047c0 0.3438 0.0196 0.6465 0.0586 0.9082 0.0391 0.2618 0.0977 0.4864 0.1758 0.6739 0.0781 0.1836 0.1719 0.3359 0.2813 0.457 0.1132 0.1172 0.2421 0.2031 0.3867 0.2578 0.1484 0.0547 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.0429 0.5918-0.1289 0.1719-0.0859 0.3164-0.2226 0.4336-0.4101 0.1172-0.1914 0.2051-0.4395 0.2637-0.7442s0.0879-0.6699 0.0879-1.0957z"/> |
|||
<path d="m23.631 111.66v1.125h-6.1524l-0.0469-0.85 3.6797-5.765h1.1309l-1.2246 2.097-2.1153 3.393zm-1.0664-5.49v8.531h-1.4122v-8.531zm7.8203 3.55v1.395c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.292-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.643-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.395c0-0.671 0.0664-1.238 0.1992-1.699 0.1328-0.465 0.3222-0.842 0.5683-1.131 0.2461-0.293 0.5391-0.505 0.8789-0.638 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.042 0.9375 0.128 0.289 0.082 0.5469 0.213 0.7734 0.393 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.406zm-1.4121 1.594v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.184-0.168-0.332-0.2813-0.445-0.1132-0.118-0.2422-0.202-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.214-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.296-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.908 0.0391 0.262 0.0977 0.487 0.1758 0.674 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.117 0.2421 0.203 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z"/> |
|||
<path d="m23.473 145.48v1.125h-5.7188v-0.967l2.7773-3.029c0.3047-0.344 0.545-0.641 0.7208-0.891 0.1757-0.25 0.2988-0.474 0.3691-0.673 0.0742-0.204 0.1113-0.401 0.1113-0.592 0-0.27-0.0508-0.506-0.1523-0.709-0.0977-0.207-0.2422-0.369-0.4336-0.487-0.1914-0.121-0.4238-0.181-0.6973-0.181-0.3164 0-0.582 0.068-0.7969 0.205-0.2148 0.137-0.3769 0.326-0.4863 0.568-0.1094 0.239-0.164 0.512-0.164 0.821h-1.4122c0-0.497 0.1133-0.95 0.3399-1.36 0.2265-0.414 0.5547-0.742 0.9844-0.984 0.4297-0.246 0.9472-0.369 1.5527-0.369 0.5703 0 1.0547 0.095 1.4531 0.287 0.3985 0.191 0.7012 0.463 0.9082 0.814 0.211 0.352 0.3164 0.768 0.3164 1.248 0 0.266-0.0429 0.53-0.1289 0.791-0.0859 0.262-0.209 0.524-0.3691 0.785-0.1563 0.258-0.3418 0.518-0.5567 0.78-0.2148 0.258-0.4511 0.519-0.7089 0.785l-1.8457 2.033zm6.9121-3.855v1.394c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.642-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.7 0.1328-0.464 0.3222-0.841 0.5683-1.13 0.2461-0.293 0.5391-0.506 0.8789-0.639 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.129 0.289 0.082 0.5469 0.212 0.7734 0.392 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.183-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.215-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.297-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.909 0.0391 0.261 0.0977 0.486 0.1758 0.673 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.118 0.2421 0.204 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z"/> |
|||
<path d="m30.385 173.02v1.394c0 0.668-0.0664 1.238-0.1993 1.711-0.1289 0.469-0.3164 0.85-0.5625 1.143-0.246 0.293-0.541 0.507-0.8847 0.644-0.3399 0.137-0.7207 0.205-1.1426 0.205-0.3359 0-0.6484-0.043-0.9375-0.129-0.2852-0.086-0.543-0.22-0.7734-0.404-0.2305-0.184-0.4278-0.42-0.5918-0.709-0.1602-0.293-0.2852-0.643-0.375-1.049-0.086-0.406-0.1289-0.877-0.1289-1.412v-1.394c0-0.672 0.0664-1.239 0.1992-1.7 0.1328-0.465 0.3222-0.841 0.5683-1.131 0.2461-0.293 0.5391-0.505 0.8789-0.638 0.3438-0.133 0.7266-0.199 1.1485-0.199 0.3398 0 0.6523 0.043 0.9375 0.128 0.289 0.082 0.5469 0.213 0.7734 0.393 0.2305 0.18 0.4258 0.414 0.586 0.703 0.164 0.285 0.289 0.631 0.375 1.037 0.0859 0.403 0.1289 0.871 0.1289 1.407zm-1.4121 1.593v-1.804c0-0.34-0.0196-0.639-0.0586-0.897-0.0391-0.262-0.0977-0.482-0.1758-0.662-0.0742-0.184-0.168-0.332-0.2813-0.445-0.1132-0.117-0.2422-0.201-0.3867-0.252-0.1445-0.055-0.3066-0.082-0.4863-0.082-0.2188 0-0.4141 0.043-0.586 0.129-0.1718 0.082-0.3164 0.214-0.4335 0.398-0.1172 0.184-0.2071 0.426-0.2696 0.727-0.0586 0.296-0.0879 0.658-0.0879 1.084v1.804c0 0.344 0.0196 0.647 0.0586 0.908 0.0391 0.262 0.0977 0.487 0.1758 0.674 0.0781 0.184 0.1719 0.336 0.2813 0.457 0.1132 0.118 0.2421 0.203 0.3867 0.258 0.1484 0.055 0.3105 0.082 0.4863 0.082 0.2227 0 0.4199-0.043 0.5918-0.129s0.3164-0.222 0.4336-0.41c0.1172-0.191 0.2051-0.439 0.2637-0.744s0.0879-0.67 0.0879-1.096z"/> |
|||
</g> |
|||
<g transform="matrix(1 0 0 1.0194 24.515 -3.9105)" stroke="#747474"> |
|||
<path d="m50.695 14.031v164.03h0.22794v-164.03z" fill="#747474" stroke-width=".77206"/> |
|||
<line x1="39" x2="51" y1="14.145" y2="14.145"/> |
|||
<line x1="45" x2="51" y1="17.76" y2="17.76"/> |
|||
<line x1="45" x2="51" y1="21.02" y2="21.02"/> |
|||
<line x1="45" x2="51" y1="24.28" y2="24.28"/> |
|||
<line x1="45" x2="51" y1="27.54" y2="27.54"/> |
|||
<line x1="45" x2="51" y1="30.8" y2="30.8"/> |
|||
<line x1="45" x2="51" y1="34.06" y2="34.06"/> |
|||
<line x1="45" x2="51" y1="37.32" y2="37.32"/> |
|||
<line x1="45" x2="51" y1="40.58" y2="40.58"/> |
|||
<line x1="45" x2="51" y1="43.84" y2="43.84"/> |
|||
<line x1="39" x2="51" y1="47.1" y2="47.1"/> |
|||
<line x1="45" x2="51" y1="50.36" y2="50.36"/> |
|||
<line x1="45" x2="51" y1="53.62" y2="53.62"/> |
|||
<line x1="45" x2="51" y1="56.88" y2="56.88"/> |
|||
<line x1="45" x2="51" y1="60.14" y2="60.14"/> |
|||
<line x1="45" x2="51" y1="63.4" y2="63.4"/> |
|||
<line x1="45" x2="51" y1="66.66" y2="66.66"/> |
|||
<line x1="45" x2="51" y1="69.92" y2="69.92"/> |
|||
<line x1="45" x2="51" y1="73.18" y2="73.18"/> |
|||
<line x1="45" x2="51" y1="76.44" y2="76.44"/> |
|||
<line x1="39" x2="51" y1="79.7" y2="79.7"/> |
|||
<line x1="45" x2="51" y1="82.96" y2="82.96"/> |
|||
<line x1="45" x2="51" y1="86.22" y2="86.22"/> |
|||
<line x1="45" x2="51" y1="89.48" y2="89.48"/> |
|||
<line x1="45" x2="51" y1="92.74" y2="92.74"/> |
|||
<line x1="45" x2="51" y1="96" y2="96"/> |
|||
<line x1="45" x2="51" y1="99.26" y2="99.26"/> |
|||
<line x1="45" x2="51" y1="102.52" y2="102.52"/> |
|||
<line x1="45" x2="51" y1="105.78" y2="105.78"/> |
|||
<line x1="45" x2="51" y1="109.04" y2="109.04"/> |
|||
<line x1="39" x2="51" y1="112.3" y2="112.3"/> |
|||
<line x1="45" x2="51" y1="115.56" y2="115.56"/> |
|||
<line x1="45" x2="51" y1="118.82" y2="118.82"/> |
|||
<line x1="45" x2="51" y1="122.08" y2="122.08"/> |
|||
<line x1="45" x2="51" y1="125.34" y2="125.34"/> |
|||
<line x1="45" x2="51" y1="128.6" y2="128.6"/> |
|||
<line x1="45" x2="51" y1="131.86" y2="131.86"/> |
|||
<line x1="45" x2="51" y1="135.12" y2="135.12"/> |
|||
<line x1="45" x2="51" y1="138.38" y2="138.38"/> |
|||
<line x1="45" x2="51" y1="141.64" y2="141.64"/> |
|||
<line x1="39" x2="51" y1="144.9" y2="144.9"/> |
|||
<line x1="45" x2="51" y1="148.16" y2="148.16"/> |
|||
<line x1="45" x2="51" y1="151.42" y2="151.42"/> |
|||
<line x1="45" x2="51" y1="154.68" y2="154.68"/> |
|||
<line x1="45" x2="51" y1="157.94" y2="157.94"/> |
|||
<line x1="45" x2="51" y1="161.2" y2="161.2"/> |
|||
<line x1="45" x2="51" y1="164.46" y2="164.46"/> |
|||
<line x1="45" x2="51" y1="167.72" y2="167.72"/> |
|||
<line x1="45" x2="51" y1="170.98" y2="170.98"/> |
|||
<line x1="45" x2="51" y1="174.24" y2="174.24"/> |
|||
<line x1="38.985" x2="50.985" y1="177.96" y2="177.96"/> |
|||
</g> |
|||
</g><g tb:tag="progressBar"> |
|||
<rect x="79.5" y="10.5" width="6" height="169" ry="1.12" stroke="#cecece" tb:tag="progressBorder"/> |
|||
<rect transform="scale(1,-1)" x="79.5" y="-180" width="6" height="62" ry="1.12" fill="#4d94e1" stroke="#4d94e1" tb:tag="progressFill"/> |
|||
<circle cx="82.5" cy="185" r="7" fill="#4d94e1" tb:tag="progressCircle"/> |
|||
</g><g transform="translate(0,167)" fill="#1c943e" style="display: none;" tb:tag="progress-indicator"> |
|||
<path d="m75 10.562 10.5 6.062v-12.124z" style=""/> |
|||
</g><g transform="translate(12)" filter="url(#filter0_ii_3742_299961)" style="display: none;" tb:tag="value-box"> |
|||
<rect x="22" y="164" width="56" height="28" rx="4" fill="#fffefe" fill-opacity=".75" tb:tag="value-box-background" style=""/> |
|||
<rect x="23" y="165" width="54" height="26" rx="3" stroke="#fff" stroke-width="2" style=""/> |
|||
<text x="49.853027" y="179.5625" fill="#727171" font-family="Roboto" font-size="14px" font-weight="500" text-anchor="middle" tb:tag="value-text" xml:space="preserve" style=""><tspan dominant-baseline="middle">37%</tspan></text> |
|||
</g><path d="m49.56 0s-25.56 0-25.56 33.5v164.18c0 1.3256 0.68053 2.3202 1.52 2.3202h72.96c0.83942 0 1.52-0.9946 1.52-2.3202v-164.18c0-33.5-25.107-33.5-25.107-33.5h-12.893zm25.487 40.6c-0.48969 0-0.88669 0.6268-0.88669 1.4v150.2c0 0.7732 0.39697 1.4 0.88669 1.4h5.5733c0.48969 0 0.88669-0.6268 0.88669-1.4v-150.2c0-0.7732-0.39697-1.4-0.88669-1.4z" fill-opacity="0" tb:tag="clickArea"/><path d="m8 200c2.2091 0 4-1.791 4-4v-192c0-2.2091-1.7909-4-4-4h-4c-2.2091 0-4 1.7909-4 4v192c0 2.209 1.7909 4 4 4h4z" fill="#93979B"/><path d="m8 200c2.2091 0 4-1.791 4-4v-192c0-2.2091-1.7909-4-4-4h-4c-2.2091 0-4 1.7909-4 4v192c0 2.209 1.7909 4 4 4h4z" fill="url(#paint1_linear_3742_299973)"/><path d="m8 198.5c1.3807 0 2.5-1.119 2.5-2.5v-192c0-1.3807-1.1193-2.5-2.5-2.5h-4c-1.3807 0-2.5 1.1193-2.5 2.5v192c0 1.381 1.1193 2.5 2.5 2.5h4z" stroke="#000" stroke-opacity=".12" stroke-width="3"/><path d="m12 146c0 2.209 1.7908 4 3.9999 4h4c2.2092 0 4.0001-1.791 4.0001-4v-92c0-2.2091-1.7909-4-4-4h-4c-2.2091 0-4 1.7909-4 4v92z" fill="#647484"/><path d="m12 146c0 2.209 1.7908 4 3.9999 4h4c2.2092 0 4.0001-1.791 4.0001-4v-92c0-2.2091-1.7909-4-4-4h-4c-2.2091 0-4 1.7909-4 4v92z" fill="url(#paint2_linear_3742_299973)"/><path d="m13.5 146c0 1.38 1.1193 2.5 2.4999 2.5h4c1.3808 0 2.5001-1.119 2.5001-2.5v-92c0-1.3807-1.1193-2.5-2.5-2.5h-4c-1.3807 0-2.5 1.1193-2.5 2.5v92z" stroke="#000" stroke-opacity=".12" stroke-width="3"/><defs> |
|||
<linearGradient id="paint0_linear_3742_299973" x1="100" x2="24" y1="100" y2="100.09" gradientUnits="userSpaceOnUse"> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="0"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".02629"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".11617"/> |
|||
<stop stop-color="#fff" stop-opacity=".3" offset=".49829"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".88762"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".96591"/> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="1"/> |
|||
</linearGradient> |
|||
<linearGradient id="paint1_linear_3742_299973" x1="1.9297" x2="46.003" y1="-14.344" y2="205.53" gradientUnits="userSpaceOnUse"> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="0"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".23574"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".39937"/> |
|||
<stop stop-color="#fff" stop-opacity=".3" offset=".49829"/> |
|||
<stop stop-color="#fff" stop-opacity=".12" offset=".59721"/> |
|||
<stop stop-color="#020202" stop-opacity=".12" offset=".76303"/> |
|||
<stop stop-color="#020202" stop-opacity=".35" offset="1"/> |
|||
</linearGradient> |
|||
<linearGradient id="paint2_linear_3742_299973" x1="19.045" x2="14.639" y1="53.812" y2="145.03" gradientUnits="userSpaceOnUse"> |
|||
<stop stop-color="#020202" stop-opacity=".2" offset="0"/> |
|||
<stop stop-color="#020202" stop-opacity=".18" offset=".090959"/> |
|||
<stop stop-color="#020202" stop-opacity=".1" offset=".1"/> |
|||
<stop stop-color="#020202" stop-opacity=".08" offset=".20513"/> |
|||
<stop stop-color="#020202" stop-opacity=".05" offset=".21555"/> |
|||
<stop stop-color="#020202" stop-opacity=".02" offset=".36962"/> |
|||
<stop stop-color="#fff" stop-opacity=".01" offset=".37768"/> |
|||
<stop stop-color="#fff" stop-opacity=".01" offset=".62413"/> |
|||
<stop stop-color="#020202" stop-opacity=".02" offset=".6313"/> |
|||
<stop stop-color="#020202" stop-opacity=".05" offset=".77601"/> |
|||
<stop stop-color="#020202" stop-opacity=".08" offset=".7898"/> |
|||
<stop stop-color="#020202" stop-opacity=".1" offset=".9"/> |
|||
<stop stop-color="#020202" stop-opacity=".18" offset=".90846"/> |
|||
<stop stop-color="#020202" stop-opacity=".2" offset="1"/> |
|||
</linearGradient> |
|||
<filter id="filter0_ii_3742_299961" x="20" y="162" width="60" height="32" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"> |
|||
<feFlood flood-opacity="0" result="BackgroundImageFix"/> |
|||
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/> |
|||
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> |
|||
<feOffset dx="-2" dy="2"/> |
|||
<feGaussianBlur stdDeviation="3"/> |
|||
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/> |
|||
<feColorMatrix values="0 0 0 0 0.445833 0 0 0 0 0.445833 0 0 0 0 0.445833 0 0 0 0.5 0"/> |
|||
<feBlend in2="shape" result="effect1_innerShadow_3742_299961"/> |
|||
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> |
|||
<feOffset dx="2" dy="-2"/> |
|||
<feGaussianBlur stdDeviation="2"/> |
|||
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/> |
|||
<feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0"/> |
|||
<feBlend in2="effect1_innerShadow_3742_299961" result="effect2_innerShadow_3742_299961"/> |
|||
</filter> |
|||
</defs> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 45 KiB |
@ -0,0 +1,342 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="1000" fill="none" version="1.1" viewBox="0 0 400 1000"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Small vertical separator with connector", |
|||
"description": "Small vertical separator with connector with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 5, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m1 260c0-37.263 0.00859-55.699 4.0548-70.799 11.004-41.066 43.08-73.143 84.146-84.146 15.1-4.046 33.536-4.055 70.8-4.055s55.699 9e-3 70.799 4.055c41.066 11.003 73.143 43.08 84.146 84.146 4.046 15.1 4.055 33.536 4.055 70.799v580c0 37.263-9e-3 55.699-4.055 70.799-11.003 41.066-43.08 73.143-84.146 84.146-15.1 4.046-33.536 4.055-70.799 4.055s-55.699-9e-3 -70.8-4.055c-41.066-11.003-73.142-43.08-84.146-84.146-4.0462-15.1-4.0548-33.536-4.0548-70.799v-580z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m400 700h-8c-16.569 0-30-13.431-30-30v-637c0-16.569-13.431-30-30-30h-147c-16.569 0-30 13.432-30 30v67" stroke="#1A1A1A" stroke-width="6"/><path d="m134.4 0s-134.53 0-134.53 167.5v820.9c0 6.628 3.5818 11.601 8 11.601h384c4.418 0 8-4.973 8-11.601v-820.9c0-167.5-132.14-167.5-132.14-167.5h-67.86zm134.14 203c-2.5774 0-4.6664 3.134-4.6664 7v751c0 3.866 2.0894 7 4.6664 7h29.332c2.5774 0 4.6664-3.134 4.6664-7v-751c0-3.866-2.0894-7-4.6664-7z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,916)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 916)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,342 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="1000" fill="none" version="1.1" viewBox="0 0 400 1000"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Small vertical separator", |
|||
"description": "Small vertical separator with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 5, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="m1 200c0-37.22 0.00484-55.684 3.0551-71.019 12.546-63.074 61.852-112.38 124.93-124.93 15.335-3.0503 33.799-3.0551 71.019-3.0551 37.22 1e-5 55.684 0.00485 71.019 3.0552 63.074 12.546 112.38 61.852 124.93 124.93 3.05 15.335 3.055 33.799 3.055 71.019v600c0 37.22-5e-3 55.684-3.055 71.019-12.546 63.074-61.852 112.38-124.93 124.93-15.335 3.05-33.799 3.055-71.019 3.055s-55.684-5e-3 -71.019-3.055c-63.074-12.546-112.38-61.852-124.93-124.93-3.0503-15.335-3.0551-33.799-3.0551-71.019v-600z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m134.53 0s-134.53 0-134.53 167.5v820.9c0 6.628 3.5818 11.601 8 11.601h384c4.418 0 8-4.973 8-11.601v-820.9c0-167.5-132.14-167.5-132.14-167.5h-67.86zm134.14 203c-2.5774 0-4.6664 3.134-4.6664 7v751c0 3.866 2.0894 7 4.6664 7h29.332c2.5774 0 4.6664-3.134 4.6664-7v-751c0-3.866-2.0894-7-4.6664-7z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,916)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 916)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,353 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="400" fill="none" version="1.1" viewBox="0 0 200 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Solar panel", |
|||
"description": "Solar panel with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"renewable", |
|||
"generation" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<path d="M21 1H199V359H21V1Z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m65 0v40" stroke="#1A1A1A" stroke-width="2"/><path d="m110 0v40" stroke="#1A1A1A" stroke-width="2"/><path d="m155 0v40" stroke="#1A1A1A" stroke-width="2"/><path d="m180 180h20" stroke="#1A1A1A" stroke-width="2"/><path d="m180 90h20" stroke="#1A1A1A" stroke-width="2"/><path d="m180 270h20" stroke="#1A1A1A" stroke-width="2"/><rect x="1" y="41" width="178" height="358" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m45 40v360" stroke="#1A1A1A" stroke-width="2"/><path d="m90 40v360" stroke="#1A1A1A" stroke-width="2"/><path d="m135 40v360" stroke="#1A1A1A" stroke-width="2"/><path d="m0 220h180" stroke="#1A1A1A" stroke-width="2"/><path d="m0 130h180" stroke="#1A1A1A" stroke-width="2"/><path d="m0 310h180" stroke="#1A1A1A" stroke-width="2"/><path d="m67.265 0s-67.265 0-67.265 67v328.36c0 2.6512 1.7909 4.6404 4 4.6404h192c2.209 0 4-1.9892 4-4.6404v-328.36c0-67-66.07-67-66.07-67h-33.929zm67.07 81.2c-1.2887 0-2.3333 1.2536-2.3333 2.8v300.4c0 1.5464 1.0447 2.8 2.3333 2.8h14.666c1.2887 0 2.3333-1.2536 2.3333-2.8v-300.4c0-1.5464-1.0447-2.8-2.3333-2.8z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,357 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="400" fill="none" version="1.1" viewBox="0 0 600 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Stand solar panel", |
|||
"description": "Stand solar panel with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"renewable", |
|||
"generation" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<path d="m116.44 357 33.471-33h299.17l32.528 33h-365.17z"/> |
|||
<path d="m1.3942 324 109.32-323h378.57l109.32 323h-597.21z"/> |
|||
<rect x="56" y="357" width="478" height="42" rx="5"/> |
|||
</g><path d="M450 324L395 1" stroke="#1A1A1A" stroke-width="2"/><path d="M150 324L205 1" stroke="#1A1A1A" stroke-width="2"/><path d="M300 324V1" stroke="#1A1A1A" stroke-width="2"/><path d="m57 162h486" stroke="#1A1A1A" stroke-width="2"/><path d="m201.8 0s-201.8 0-201.8 67v328.36c0 2.6512 5.3727 4.6404 12 4.6404h576c6.627 0 12-1.9892 12-4.6404v-328.36c0-67-198.21-67-198.21-67h-101.79zm201.21 81.2c-3.8661 0-6.9999 1.2536-6.9999 2.8v300.4c0 1.5464 3.1341 2.8 6.9999 2.8h43.998c3.8661 0 6.9999-1.2536 6.9999-2.8v-300.4c0-1.5464-3.1341-2.8-6.9999-2.8z" fill="#000" fill-opacity="0" style="stroke-width:1.732" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 320.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,747 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="400" fill="none" version="1.1" viewBox="0 0 600 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Three-rate energy meter", |
|||
"description": "Three-rate energy meter with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "night-label", |
|||
"stateRenderFunction": "if (ctx.properties.showNightLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.nightLabelFont, ctx.properties.nightLabelColor);\n ctx.api.text(element, ctx.properties.nightLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "night-rate", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.nightValueFont, ctx.properties.nightValueColor);\nctx.api.text(element, ctx.api.formatValue(ctx.values.nightRate, 0, null, 0));", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "off-peak-label", |
|||
"stateRenderFunction": "if (ctx.properties.showOffPeakLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.offPeakLabelFont, ctx.properties.offPeakLabelColor);\n ctx.api.text(element, ctx.properties.offPeakLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "off-peak-rate", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.offPeakValueFont, ctx.properties.offPeakValueColor);\nctx.api.text(element, ctx.api.formatValue(ctx.values.offPeakRate, 0, null, 0));", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "peak-label", |
|||
"stateRenderFunction": "if (ctx.properties.showPeakLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.peakLabelFont, ctx.properties.peakLabelColor);\n ctx.api.text(element, ctx.properties.peakLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "peak-rate", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.peakValueFont, ctx.properties.peakValueColor);\nctx.api.text(element, ctx.api.formatValue(ctx.values.peakRate, 0, null, 0));", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "units", |
|||
"stateRenderFunction": "if (ctx.properties.showUnits) {\n element.show();\n ctx.api.font(element, ctx.properties.unitsFont, ctx.properties.unitsColor);\n ctx.api.text(element, ctx.properties.units);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-night", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.nightValueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-off-peak", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.offPeakValueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-peak", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.peakValueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "offPeakRate", |
|||
"name": "{i18n:scada.symbol.off-peak-rate}", |
|||
"hint": "{i18n:scada.symbol.measured-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "offPeakRate" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "nightRate", |
|||
"name": "{i18n:scada.symbol.night-rate}", |
|||
"hint": "{i18n:scada.symbol.measured-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "nightRate" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "peakRate", |
|||
"name": "{i18n:scada.symbol.peak-rate}", |
|||
"hint": "{i18n:scada.symbol.measured-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "peakRate" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showOffPeakLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "text", |
|||
"default": "T1", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "color", |
|||
"default": "#000000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakValueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 48, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "offPeakValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.off-peak-rate}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showNightLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "text", |
|||
"default": "T2", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightValueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 48, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showPeakLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "text", |
|||
"default": "T3", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakValueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 48, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "peakValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.peak-rate}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showUnits", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "units", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "units", |
|||
"default": "kWh", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "unitsFont", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "unitsColor", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="598" height="398" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><rect x="49" y="81" width="238" height="82" rx="3" fill="#DEDEDE" stroke="#1A1A1A" stroke-width="2" tb:tag="value-box-off-peak"/><rect x="313" y="81" width="238" height="82" rx="3" fill="#DEDEDE" stroke="#1A1A1A" stroke-width="2" tb:tag="value-box-night"/><rect x="181" y="237" width="238" height="82" rx="3" fill="#DEDEDE" stroke="#1A1A1A" stroke-width="2" tb:tag="value-box-peak"/><text x="171.2998" y="58.286133" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="off-peak-label" xml:space="default"><tspan dominant-baseline="start">T1</tspan></text><text x="432.2998" y="58.734375" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="night-label"><tspan dominant-baseline="start">T2</tspan></text><text x="301.61865" y="214.39307" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="peak-label" xml:space="default"><tspan dominant-baseline="start">T3</tspan></text><text x="170.09232" y="139.47266" fill="#002878" font-family="Roboto" font-size="48px" font-weight="400" text-anchor="middle" tb:tag="off-peak-rate" xml:space="default"><tspan dominant-baseline="start">000223</tspan></text><text x="434.09232" y="139.47266" fill="#002878" font-family="Roboto" font-size="48px" font-weight="400" text-anchor="middle" tb:tag="night-rate" xml:space="default"><tspan dominant-baseline="start">000223</tspan></text><text x="302.09232" y="295.47266" fill="#002878" font-family="Roboto" font-size="48px" font-weight="400" text-anchor="middle" tb:tag="peak-rate" xml:space="default"><tspan dominant-baseline="start">000223</tspan></text><text x="299.89453" y="371.67578" fill="#000000" font-family="Roboto" font-size="36px" font-weight="400" text-anchor="middle" tb:tag="units" xml:space="preserve"><tspan dominant-baseline="start">kWh</tspan></text><path d="m201.8-2e-4s-201.8 0-201.8 67v328.36c0 2.6512 5.3727 4.6404 12 4.6404h576c6.627 0 12-1.9892 12-4.6404v-328.36c0-67-198.21-67-198.21-67h-101.79zm201.21 81.2c-3.8661 0-6.9999 1.2536-6.9999 2.8v300.4c0 1.5464 3.1341 2.8 6.9999 2.8h43.998c3.8661 0 6.9999-1.2536 6.9999-2.8v-300.4c0-1.5464-3.1341-2.8-6.9999-2.8z" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 72 KiB |
@ -0,0 +1,346 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="200" fill="none" version="1.1" viewBox="0 0 200 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Top light bulb", |
|||
"description": "Top light bulb with various states.", |
|||
"searchTags": [ |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<path d="m77.22 131 1.6 8h42.36l1.6-8h-45.56z"/> |
|||
<path d="m77.117 131h45.742c0.108-0.257 0.244-0.505 0.385-0.736 0.342-0.558 0.824-1.187 1.403-1.87 1.16-1.367 2.802-3.062 4.738-5.019 0.519-0.524 1.059-1.069 1.62-1.633 3.641-3.666 8.098-8.154 12.557-13.274 10.326-11.856 20.438-26.862 20.438-42.468 0-21.266-7.121-37.489-18.622-48.4-11.511-10.919-27.5-16.6-45.378-16.6-17.878 0-33.867 5.6814-45.378 16.6-11.502 10.91-18.622 27.134-18.622 48.4 0 15.606 10.106 30.612 20.426 42.468 4.456 5.12 8.9107 9.608 12.55 13.274 0.5601 0.564 1.1009 1.109 1.6194 1.633 1.9344 1.958 3.576 3.652 4.735 5.02 0.5788 0.683 1.0604 1.311 1.4022 1.869 0.1413 0.231 0.2771 0.479 0.3847 0.736z"/> |
|||
<path d="m80.13 194.02c1.5245 3.049 4.6409 4.975 8.0498 4.975h23.64c3.409 0 6.525-1.926 8.05-4.975l6.18-12.361c0.625-1.249 0.95-2.627 0.95-4.025v-38.639h-54v38.639c0 1.398 0.3253 2.776 0.9502 4.025l6.1803 12.361z"/> |
|||
</g><path d="m73 147h54" stroke="#1A1A1A" stroke-width="2"/><path d="m73 179h54" stroke="#1A1A1A" stroke-width="2"/><path d="m67.265 0s-67.265 0-67.265 33.5v164.18c0 1.3256 1.7909 2.3202 4 2.3202h192c2.209 0 4-0.9946 4-2.3202v-164.18c0-33.5-66.07-33.5-66.07-33.5h-33.93zm67.07 40.6c-1.2887 0-2.3333 0.6268-2.3333 1.4v150.2c0 0.7732 1.0447 1.4 2.3333 1.4h14.666c1.2887 0 2.3333-0.6268 2.3333-1.4v-150.2c0-0.7732-1.0447-1.4-2.3333-1.4z" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,377 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="800" height="400" fill="none" version="1.1" viewBox="0 0 800 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Turbine", |
|||
"description": "Turbine with various states.", |
|||
"searchTags": [ |
|||
"extraction" |
|||
], |
|||
"widgetSizeX": 4, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "secondary-background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = '#999';\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"> |
|||
<path d="m24 7.458c0-1.4928 1.0864-2.743 2.5495-2.9373 7.9591-1.0573 28.201-3.5206 43.95-3.5206s35.991 2.4633 43.95 3.5206c1.464 0.19436 2.55 1.4446 2.55 2.9373v385.06c0 1.501-1.093 2.755-2.564 2.944-8.156 1.05-29.041 3.535-43.936 3.535s-35.78-2.485-43.936-3.535c-1.4708-0.189-2.5641-1.443-2.5641-2.944v-385.06z"/> |
|||
<path d="M1 16H24V384H1V16Z"/> |
|||
<path d="m117 36h141.26c0.685 0 1.361 0.1404 1.989 0.4125l38.745 16.796c1.828 0.7925 3.011 2.5949 3.011 4.5875v284.41c0 1.993-1.183 3.795-3.011 4.588l-38.745 16.795c-0.628 0.273-1.304 0.413-1.989 0.413h-141.26v-328z"/> |
|||
<rect x="302" y="91" width="321" height="218"/> |
|||
<rect x="334" y="91" width="98" height="218"/> |
|||
<rect x="623" y="59" width="118" height="282"/> |
|||
<rect x="741" y="121" width="41" height="158"/> |
|||
<rect x="782" y="111" width="17" height="178"/> |
|||
</g><g fill="#999" stroke="#1A1A1A" stroke-width="2" tb:tag="secondary-background"> |
|||
<rect x="578" y="91" width="12" height="218"/> |
|||
<rect x="540" y="91" width="12" height="218"/> |
|||
<rect x="502" y="91" width="12" height="218"/> |
|||
<rect x="251" y="36" width="8" height="328"/> |
|||
<rect x="215" y="36" width="8" height="328"/> |
|||
<rect x="179" y="36" width="8" height="328"/> |
|||
<rect x="464" y="91" width="12" height="218"/> |
|||
<rect x="143" y="36" width="8" height="328"/> |
|||
<path d="m196.96 364c-0.419 5.029-4 8.736-9.2 11.449-5.538 2.89-13.138 4.785-21.485 6.04-16.304 2.452-35.811 2.51-49.274 2.511v8.999c15.934-0.021 38.037-0.586 56.285-4.601 9.322-2.05 17.547-4.983 23.419-9.136 5.552-3.927 8.95-8.899 9.271-15.262h-9.016z"/> |
|||
<path d="m785.99 289c-0.236 12.22-4.835 20.271-12.839 25.225-7.92 4.903-19.041 6.687-32.151 6.772v8.998c15.452-0.143 28.851-3.617 38.42-10.434 9.501-6.77 15.301-16.886 15.57-30.561h-9z"/> |
|||
<path d="m785.99 111c-0.236-12.22-4.835-20.271-12.839-25.225-7.92-4.9031-19.041-6.6864-32.151-6.7715v-8.9986c15.452 0.1433 28.851 3.6171 38.42 10.435 9.501 6.7698 15.301 16.886 15.57 30.561h-9z"/> |
|||
<path d="m196.96 36c-0.419-5.0286-4-8.7363-9.2-11.449-5.538-2.8898-13.138-4.7845-21.485-6.0398-16.304-2.4517-35.811-2.5097-49.274-2.5111v-8.9993c15.934 0.02162 38.037 0.58638 56.285 4.6009 9.322 2.0509 17.547 4.9835 23.419 9.1367 5.552 3.9269 8.95 8.8992 9.271 15.262h-9.016z"/> |
|||
</g><path d="m269.05 0s-269.05 0-269.05 67v328.36c0 2.6512 7.1636 4.6404 16 4.6404h768c8.836 0 16-1.9892 16-4.6404v-328.36c0-67-264.28-67-264.28-67h-135.72zm268.28 81.2c-5.1548 0-9.3332 1.2536-9.3332 2.8v300.4c0 1.5464 4.1788 2.8 9.3332 2.8h58.664c5.1548 0 9.3332-1.2536 9.3332-2.8v-300.4c0-1.5464-4.1788-2.8-9.3332-2.8z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,316)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 316)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m38.422 7.1554c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m40.211 8.0498c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 37.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,489 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="200" fill="none" version="1.1" viewBox="0 0 200 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Two-key switch", |
|||
"description": "Two-key switch with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.backgroundColor});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "left-button", |
|||
"stateRenderFunction": "var color = ctx.properties.disabledColor;\nif (ctx.values.initialStateLeftButton) {\n color = ctx.properties.enabledColor;\n}\nelement.attr({fill: color});", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "var initial = ctx.values.initialStateLeftButton;\nvar action = initial ? 'offUpdateStateLeftButton' : 'onUpdateStateLeftButton';\n\nctx.api.callAction(event, action, undefined, {\n next: () => {\n ctx.api.setValue('initialStateLeftButton', !initial);\n }\n});" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "right-button", |
|||
"stateRenderFunction": "var color = ctx.properties.disabledColor;\nif (ctx.values.initialStateRightButton) {\n color = ctx.properties.enabledColor;\n}\nelement.attr({fill: color});", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "var initial = ctx.values.initialStateRightButton;\nvar action = initial ? 'offUpdateStateRightButton' : 'onUpdateStateRightButton';\n\nctx.api.callAction(event, action, undefined, {\n next: () => {\n ctx.api.setValue('initialStateRightButton', !initial);\n }\n});" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "initialStateLeftButton", |
|||
"name": "{i18n:scada.symbol.on-off-state}", |
|||
"hint": "{i18n:scada.symbol.on-off-state-hint}", |
|||
"group": "{i18n:scada.symbol.left-button}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": "{i18n:scada.symbol.on}", |
|||
"falseLabel": "{i18n:scada.symbol.off}", |
|||
"stateLabel": "", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "leftButton" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "onUpdateStateLeftButton", |
|||
"name": "{i18n:scada.symbol.on-update-state}", |
|||
"hint": "{i18n:scada.symbol.on-update-state-hint}", |
|||
"group": "{i18n:scada.symbol.left-button}", |
|||
"type": "action", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": { |
|||
"action": "EXECUTE_RPC", |
|||
"executeRpc": { |
|||
"method": "setState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"setAttribute": { |
|||
"scope": "SERVER_SCOPE", |
|||
"key": "state" |
|||
}, |
|||
"putTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"valueToData": { |
|||
"type": "CONSTANT", |
|||
"constantValue": true, |
|||
"valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;" |
|||
} |
|||
}, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "offUpdateStateLeftButton", |
|||
"name": "{i18n:scada.symbol.off-update-state}", |
|||
"hint": "{i18n:scada.symbol.off-update-state-hint}", |
|||
"group": "{i18n:scada.symbol.left-button}", |
|||
"type": "action", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": { |
|||
"action": "EXECUTE_RPC", |
|||
"executeRpc": { |
|||
"method": "setState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"setAttribute": { |
|||
"key": "state", |
|||
"scope": "SERVER_SCOPE" |
|||
}, |
|||
"putTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"valueToData": { |
|||
"type": "CONSTANT", |
|||
"constantValue": false, |
|||
"valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;" |
|||
} |
|||
}, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "initialStateRightButton", |
|||
"name": "{i18n:scada.symbol.on-off-state}", |
|||
"hint": "{i18n:scada.symbol.on-off-state-hint}", |
|||
"group": "{i18n:scada.symbol.right-button}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": "{i18n:scada.symbol.on}", |
|||
"falseLabel": "{i18n:scada.symbol.off}", |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "rightButton" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "onUpdateStateRightButton", |
|||
"name": "{i18n:scada.symbol.on-update-state}", |
|||
"hint": "{i18n:scada.symbol.on-update-state-hint}", |
|||
"group": "{i18n:scada.symbol.right-button}", |
|||
"type": "action", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": { |
|||
"action": "EXECUTE_RPC", |
|||
"executeRpc": { |
|||
"method": "setState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"setAttribute": { |
|||
"scope": "SERVER_SCOPE", |
|||
"key": "state" |
|||
}, |
|||
"putTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"valueToData": { |
|||
"type": "CONSTANT", |
|||
"constantValue": true, |
|||
"valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;" |
|||
} |
|||
}, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "offUpdateStateRightButton", |
|||
"name": "{i18n:scada.symbol.off-update-state}", |
|||
"hint": "{i18n:scada.symbol.off-update-state-hint}", |
|||
"group": "{i18n:scada.symbol.right-button}", |
|||
"type": "action", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": { |
|||
"action": "EXECUTE_RPC", |
|||
"executeRpc": { |
|||
"method": "setState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"setAttribute": { |
|||
"key": "state", |
|||
"scope": "SERVER_SCOPE" |
|||
}, |
|||
"putTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"valueToData": { |
|||
"type": "CONSTANT", |
|||
"constantValue": false, |
|||
"valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;" |
|||
} |
|||
}, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "backgroundColor", |
|||
"name": "{i18n:scada.symbol.background-color}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "enabledColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.enabled}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "disabledColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.disabled}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="198" height="198" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><path d="m26 29c0-1.6569 1.3431-3 3-3h64c1.6569 0 3 1.3431 3 3v142c0 1.657-1.3431 3-3 3h-64c-1.6569 0-3-1.343-3-3v-142z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="left-button"/><path d="m104 29c0-1.6569 1.343-3 3-3h64c1.657 0 3 1.3431 3 3v142c0 1.657-1.343 3-3 3h-64c-1.657 0-3-1.343-3-3v-142z" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="right-button"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 18 KiB |
@ -0,0 +1,618 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="400" fill="none" version="1.1" viewBox="0 0 400 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Two-rate energy meter", |
|||
"description": "Two-rate energy meter with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "day-label", |
|||
"stateRenderFunction": "if (ctx.properties.showDayLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.dayLabelFont, ctx.properties.dayLabelColor);\n ctx.api.text(element, ctx.properties.dayLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "day-rate", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.dayValueFont, ctx.properties.dayValueColor);\nctx.api.text(element, ctx.api.formatValue(ctx.values.dayRate, 0, null, 0));", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "night-label", |
|||
"stateRenderFunction": "if (ctx.properties.showNightLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.nightLabelFont, ctx.properties.nightLabelColor);\n ctx.api.text(element, ctx.properties.nightLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "night-rate", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.nightValueFont, ctx.properties.nightValueColor);\nctx.api.text(element, ctx.api.formatValue(ctx.values.nightRate, 0, null, 0));", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "units", |
|||
"stateRenderFunction": "if (ctx.properties.showUnits) {\n element.show();\n ctx.api.font(element, ctx.properties.unitsFont, ctx.properties.unitsColor);\n ctx.api.text(element, ctx.properties.units);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-day", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.dayValueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box-night", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.nightValueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "dayRate", |
|||
"name": "{i18n:scada.symbol.day-rate}", |
|||
"hint": "{i18n:scada.symbol.measured-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "dayRate" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "nightRate", |
|||
"name": "{i18n:scada.symbol.night-rate}", |
|||
"hint": "{i18n:scada.symbol.measured-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "nightRate" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showDayLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.day-rate}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "dayLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.day-rate}", |
|||
"type": "text", |
|||
"default": "T1", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "dayLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.day-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "dayLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.day-rate}", |
|||
"type": "color", |
|||
"default": "#000000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "dayValueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.day-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 48, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "dayValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.day-rate}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "dayValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.day-rate}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showNightLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "text", |
|||
"default": "T2", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightValueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 48, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "nightValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.night-rate}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showUnits", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "units", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "units", |
|||
"default": "kWh", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "unitsFont", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "unitsColor", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="1" y="1" width="398" height="398" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><rect x="49" y="237" width="302" height="82" rx="3" fill="#DEDEDE" stroke="#1A1A1A" stroke-width="2" tb:tag="value-box-night"/><rect x="49" y="81" width="302" height="82" rx="3" fill="#DEDEDE" stroke="#1A1A1A" stroke-width="2" tb:tag="value-box-day"/><text x="199.70117" y="58.076347" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="day-label" xml:space="default"><tspan dominant-baseline="start">T1</tspan></text><text x="199.70117" y="214.37646" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="night-label"><tspan dominant-baseline="start">T2</tspan></text><text x="200.33984" y="139.47266" fill="#002878" font-family="Roboto" font-size="48px" font-weight="400" text-anchor="middle" tb:tag="day-rate" xml:space="default"><tspan dominant-baseline="start">000023</tspan></text><text x="200.33984" y="295.47266" fill="#002878" font-family="Roboto" font-size="48px" font-weight="400" text-anchor="middle" tb:tag="night-rate" xml:space="default"><tspan dominant-baseline="start">000023</tspan></text><text x="199.89453" y="371.67578" fill="#000000" font-family="Roboto" font-size="36px" font-weight="400" text-anchor="middle" tb:tag="units" xml:space="preserve"><tspan dominant-baseline="start">kWh</tspan></text><path d="m134.53-2e-4s-134.53 0-134.53 67v328.36c0 2.6512 3.5818 4.6404 8 4.6404h384c4.418 0 8-1.9892 8-4.6404v-328.36c0-67-132.14-67-132.14-67h-67.858zm134.14 81.2c-2.5774 0-4.6666 1.2536-4.6666 2.8v300.4c0 1.5464 2.0894 2.8 4.6666 2.8h29.332c2.5774 0 4.6666-1.2536 4.6666-2.8v-300.4c0-1.5464-2.0894-2.8-4.6666-2.8z" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.3 KiB |
@ -0,0 +1,378 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="600" fill="none" version="1.1" viewBox="0 0 400 600"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Vertical energy systems controller", |
|||
"description": "Vertical energy systems controller with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"monitoring" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 3, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.disconnectedColor;\nif (ctx.values.connected) {\n color = ctx.properties.connectedColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "indicator", |
|||
"stateRenderFunction": "var color = ctx.properties.disconnectedIndicatorColor;\nif (ctx.values.connected) {\n color = ctx.properties.connectedIndicatorColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "label", |
|||
"stateRenderFunction": "ctx.api.font(element, ctx.properties.labelFont, ctx.properties.labelColor);\n ctx.api.text(element, ctx.properties.label);", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "connected", |
|||
"name": "{i18n:scada.symbol.connected}", |
|||
"hint": "{i18n:scada.symbol.connected-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.connected}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "connected" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "connectedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.connected}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "disconnectedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.disconnected}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "connectedIndicatorColor", |
|||
"name": "{i18n:scada.symbol.indicator}", |
|||
"type": "color", |
|||
"default": "#198038", |
|||
"subLabel": "{i18n:scada.symbol.connected}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "disconnectedIndicatorColor", |
|||
"name": "{i18n:scada.symbol.indicator}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"subLabel": "{i18n:scada.symbol.disconnected}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "label", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "text", |
|||
"default": "Connected", |
|||
"fieldClass": "medium-width", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 30, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "labelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect x="17" y="1" width="366" height="598" rx="5" fill="#fff" stroke="#1A1A1A" stroke-width="2" tb:tag="background"/><rect transform="matrix(1 0 0 -1 382 173)" x="1" y="-1" width="16" height="148" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect transform="matrix(1 0 0 -1 0 173)" x="1" y="-1" width="16" height="148" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect transform="matrix(1 0 0 -1 382 373)" x="1" y="-1" width="16" height="148" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect transform="matrix(1 0 0 -1 382 573)" x="1" y="-1" width="16" height="148" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><rect transform="matrix(1 0 0 -1 0 573)" x="1" y="-1" width="16" height="148" rx="1" fill="#999" stroke="#1A1A1A" stroke-width="2"/><circle cx="66" cy="86" r="10" fill="#198038" tb:tag="indicator"/><text x="83.31543" y="89.589844" fill="#000000" font-family="Roboto" font-size="30px" font-weight="400" tb:tag="label" xml:space="preserve"><tspan dominant-baseline="middle">Connected</tspan></text><path d="m134.53 0s-134.53 0-134.53 100.5v492.54c0 3.9768 3.5818 6.9604 8 6.9604h384c4.418 0 8-2.9838 8-6.9604v-492.54c0-100.5-132.14-100.5-132.14-100.5h-67.86zm134.14 121.8c-2.5774 0-4.6666 1.8804-4.6666 4.2v450.6c0 2.3196 2.0894 4.2 4.6666 4.2h29.332c2.5774 0 4.6666-1.8804 4.6666-4.2v-450.6c0-2.3196-2.0894-4.2-4.6666-4.2z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,516)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 520.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 76 KiB |
@ -0,0 +1,439 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="200" height="400" fill="none" version="1.1" viewBox="0 0 200 400"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Voltage relay", |
|||
"description": "One phase voltage relay with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"protection" |
|||
], |
|||
"widgetSizeX": 1, |
|||
"widgetSizeY": 2, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "units", |
|||
"stateRenderFunction": "if (ctx.properties.showUnits) {\n element.show();\n ctx.api.font(element, ctx.properties.unitsFont, ctx.properties.unitsColor);\n ctx.api.text(element, ctx.properties.units);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value", |
|||
"stateRenderFunction": "if (ctx.values.running) {\n element.show();\n ctx.api.font(element, ctx.properties.currentVoltageFont, ctx.properties.currentVoltageColor);\n ctx.api.text(element, ctx.api.formatValue(ctx.values.voltage, 0, null, 0));\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "value-box", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.valueBoxBackground;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "voltage", |
|||
"name": "{i18n:scada.symbol.voltage}", |
|||
"hint": "{i18n:scada.symbol.voltage-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "voltage" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "valueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "currentVoltageFont", |
|||
"name": "{i18n:scada.symbol.current-voltage-color}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 32, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "400", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "currentVoltageColor", |
|||
"name": "{i18n:scada.symbol.current-voltage-color}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showUnits", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "units", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "units", |
|||
"default": "V", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "unitsFont", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 24, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "500", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "unitsColor", |
|||
"name": "{i18n:scada.symbol.units}", |
|||
"type": "color", |
|||
"default": "#000000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect width="200" height="400" fill="#fff" tb:tag="background"/><rect x="1" y="1" width="198" height="398" stroke="#000" stroke-opacity=".87" stroke-width="2"/><circle cx="100" cy="50" r="19" stroke="#000" stroke-opacity=".87" stroke-width="2"/><circle cx="52" cy="50" r="19" stroke="#000" stroke-opacity=".87" stroke-width="2"/><circle cx="148" cy="50" r="19" stroke="#000" stroke-opacity=".87" stroke-width="2"/><circle cx="100" cy="350" r="19" stroke="#000" stroke-opacity=".87" stroke-width="2"/><circle cx="52" cy="350" r="19" stroke="#000" stroke-opacity=".87" stroke-width="2"/><circle cx="148" cy="350" r="19" stroke="#000" stroke-opacity=".87" stroke-width="2"/><rect x="36" y="137" width="128" height="80" rx="2" fill="#DEDEDE" tb:tag="value-box"/><rect x="37" y="138" width="126" height="78" rx="1" stroke="#000" stroke-opacity=".87" stroke-width="2"/><text x="99.890625" y="190.70906" fill="#002878" font-family="Roboto" font-size="32px" font-weight="400" text-anchor="middle" tb:tag="value" xml:space="preserve"><tspan dominant-baseline="start">220</tspan></text><text x="99.643097" y="257.79694" fill="black" font-family="Roboto" font-size="28px" font-weight="400" text-anchor="middle" tb:tag="units" xml:space="preserve"><tspan dominant-baseline="start">v</tspan></text><path d="m67.265 0s-67.265 0-67.265 67v328.36c0 2.6512 1.7909 4.6404 4 4.6404h192c2.209 0 4-1.9892 4-4.6404v-328.36c0-67-66.07-67-66.07-67h-33.929zm67.07 81.2c-1.2887 0-2.3333 1.2536-2.3333 2.8v300.4c0 1.5464 1.0447 2.8 2.3333 2.8h14.666c1.2887 0 2.3333-1.2536 2.3333-2.8v-300.4c0-1.5464-1.0447-2.8-2.3333-2.8z" fill="#000" fill-opacity="0" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 17 KiB |
@ -0,0 +1,584 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="400" height="200" fill="none" version="1.1" viewBox="0 0 400 200"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Voltage stabilizer", |
|||
"description": "Voltage stabilizer with various states.", |
|||
"searchTags": [ |
|||
"power", |
|||
"energy", |
|||
"protection" |
|||
], |
|||
"widgetSizeX": 2, |
|||
"widgetSizeY": 1, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.operatingMode === 1) {\n color = ctx.properties.runningColor;\n} else if (ctx.values.operatingMode === 2) {\n color = ctx.properties.bypassColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "in-label", |
|||
"stateRenderFunction": "if (ctx.properties.showInputLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.inputLabelFont, ctx.properties.inputLabelColor);\n ctx.api.text(element, ctx.properties.inputLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "in-value", |
|||
"stateRenderFunction": "if (ctx.values.operatingMode === 1) {\n element.show();\n ctx.api.font(element, ctx.properties.inputValutFont, ctx.properties.inputValueColor);\n ctx.api.text(element, ctx.api.formatValue(ctx.values.inputVoltage, 0, null, 0));\n} else {\n element.hide();\n}\n", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "in-value-box", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.operatingMode === 1) {\n color = ctx.properties.inputValueBoxBackground;\n} else if (ctx.values.operatingMode === 2) {\n color = ctx.properties.bypassColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "out-label", |
|||
"stateRenderFunction": "if (ctx.properties.showOutputLabel) {\n element.show();\n ctx.api.font(element, ctx.properties.outputLabelFont, ctx.properties.outputLabelColor);\n ctx.api.text(element, ctx.properties.outputLabel);\n} else {\n element.hide();\n}", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "out-value", |
|||
"stateRenderFunction": "if (ctx.values.operatingMode === 1) {\n element.show();\n ctx.api.font(element, ctx.properties.outputValueFont, ctx.properties.outputValueColor);\n ctx.api.text(element, ctx.api.formatValue(ctx.values.outputVoltage, 0, null, 0));\n} else {\n element.hide();\n}\n", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "out-value-box", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.operatingMode === 1) {\n color = ctx.properties.outputValueBoxBackground;\n} else if (ctx.values.operatingMode === 2) {\n color = ctx.properties.bypassColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "operatingMode", |
|||
"name": "{i18n:scada.symbol.operating-mode}", |
|||
"hint": "{i18n:scada.symbol.operating-mode-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "INTEGER", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "operatingMode" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "inputVoltage", |
|||
"name": "{i18n:scada.symbol.input-voltage}", |
|||
"hint": "{i18n:scada.symbol.input-voltage-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "inputVoltage" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "outputVoltage", |
|||
"name": "{i18n:scada.symbol.output-voltage}", |
|||
"hint": "{i18n:scada.symbol.output-voltage-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "DOUBLE", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_TIME_SERIES", |
|||
"defaultValue": null, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "outputVoltage" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "bypassColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"subLabel": "{i18n:scada.symbol.bypass-mode}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": false, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showInputLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.input-voltage}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "inputLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.input-voltage}", |
|||
"type": "text", |
|||
"default": "in", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "inputLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.input-voltage}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "inputLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.input-voltage}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "inputValutFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.input-voltage}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 44, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "inputValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.input-voltage}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "inputValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.input-voltage}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "showOutputLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.output-voltage}", |
|||
"type": "switch", |
|||
"default": true, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "outputLabel", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.output-voltage}", |
|||
"type": "text", |
|||
"default": "out", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "outputLabelFont", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.output-voltage}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 36, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "outputLabelColor", |
|||
"name": "{i18n:scada.symbol.label}", |
|||
"group": "{i18n:scada.symbol.output-voltage}", |
|||
"type": "color", |
|||
"default": "#000", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "outputValueFont", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.output-voltage}", |
|||
"type": "font", |
|||
"default": { |
|||
"size": 44, |
|||
"sizeUnit": "px", |
|||
"family": "Roboto", |
|||
"weight": "normal", |
|||
"style": "normal" |
|||
}, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "outputValueColor", |
|||
"name": "{i18n:scada.symbol.value}", |
|||
"group": "{i18n:scada.symbol.output-voltage}", |
|||
"type": "color", |
|||
"default": "#002878", |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "outputValueBoxBackground", |
|||
"name": "{i18n:scada.symbol.value-box-background}", |
|||
"group": "{i18n:scada.symbol.output-voltage}", |
|||
"type": "color", |
|||
"default": "#DEDEDE", |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<rect width="400" height="200" fill="#fff" tb:tag="background"/><rect x="1" y="1" width="398" height="198" stroke="#000" stroke-opacity=".87" stroke-width="2"/><rect x="213" y="81" width="126" height="78" rx="1" fill="#dedede" stroke="#000" stroke-opacity=".87" stroke-width="2" tb:tag="out-value-box"/><text x="275.76855" y="136.65625" fill="#002878" font-family="Roboto" font-size="44px" font-weight="400" text-anchor="middle" tb:tag="out-value" xml:space="default"><tspan dominant-baseline="start">220</tspan></text><rect x="61" y="81" width="126" height="78" rx="1" fill="#dedede" stroke="#000" stroke-opacity=".87" stroke-width="2" tb:tag="in-value-box"/><text x="123.76855" y="136.65625" fill="#002878" font-family="Roboto" font-size="44px" font-weight="400" text-anchor="middle" tb:tag="in-value" xml:space="default"><tspan dominant-baseline="start">230</tspan></text><text x="123.29346" y="57.832031" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="in-label" xml:space="default"><tspan dominant-baseline="start">in</tspan></text><text x="275.96484" y="55.873047" fill="#000000" font-family="Roboto" font-size="34px" font-weight="400" text-anchor="middle" tb:tag="out-label" xml:space="default"><tspan dominant-baseline="start">out</tspan></text><path d="m134.53 0s-134.53 0-134.53 33.5v164.18c0 1.3256 3.5818 2.3202 8 2.3202h384c4.418 0 8-0.9946 8-2.3202v-164.18c0-33.5-132.14-33.5-132.14-33.5h-67.858zm134.14 40.6c-2.5774 0-4.6666 0.6268-4.6666 1.4v150.2c0 0.7732 2.0894 1.4 4.6666 1.4h29.332c2.5774 0 4.6666-0.6268 4.6666-1.4v-150.2c0-0.7732-2.0894-1.4-4.6666-1.4z" fill="#000" fill-opacity="0" style="stroke-width:.70711" tb:tag="clickArea"/><g fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 21 KiB |
@ -0,0 +1,370 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="800" fill="none" version="1.1" viewBox="0 0 600 800"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Wind turbine cluster", |
|||
"description": "Wind turbine cluster with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"renewable", |
|||
"generation" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 4, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#1a1a1a" stroke-width="2" tb:tag="background"> |
|||
<path d="m413.82 165.21c0.064-0.16596 0.125-0.32492 0.184-0.47689 0.059 0.15197 0.12 0.31093 0.184 0.47689 0.709 1.8416 1.722 4.5229 2.938 7.8751 2.433 6.7044 5.677 16.091 8.921 26.818 6.495 21.48 12.957 48.231 12.957 69.568 0 21.337-6.462 48.088-12.957 69.568-3.244 10.726-6.488 20.113-8.921 26.818-1.216 3.3522-2.229 6.0336-2.938 7.8751-0.064 0.16596-0.125 0.32493-0.184 0.47689-0.059-0.15196-0.12-0.31093-0.184-0.47689-0.709-1.8416-1.722-4.5229-2.938-7.8751-2.433-6.7044-5.677-16.091-8.921-26.818-6.495-21.48-12.957-48.231-12.957-69.568 0-21.337 6.462-48.088 12.957-69.568 3.244-10.726 6.488-20.113 8.921-26.818 1.216-3.3522 2.229-6.0336 2.938-7.8751z"/> |
|||
<path d="m186.82 165.21c0.064-0.16596 0.125-0.32492 0.184-0.47689 0.059 0.15197 0.12 0.31093 0.184 0.47689 0.709 1.8416 1.722 4.5229 2.938 7.8751 2.433 6.7044 5.677 16.091 8.921 26.818 6.495 21.48 12.957 48.231 12.957 69.568 0 21.337-6.462 48.088-12.957 69.568-3.244 10.726-6.488 20.113-8.921 26.818-1.216 3.3522-2.229 6.0336-2.938 7.8751-0.064 0.16596-0.125 0.32493-0.184 0.47689-0.059-0.15196-0.12-0.31093-0.184-0.47689-0.709-1.8416-1.722-4.5229-2.938-7.8751-2.433-6.7044-5.677-16.091-8.921-26.818-6.495-21.48-12.957-48.231-12.957-69.568 0-21.337 6.462-48.088 12.957-69.568 3.244-10.726 6.488-20.113 8.921-26.818 1.216-3.3522 2.229-6.0336 2.938-7.8751z"/> |
|||
<path d="m384.05 799 20.054-421h19.793l20.055 421z"/> |
|||
<path d="m157.05 799 20.054-421h19.793l20.055 421z"/> |
|||
<path d="m416.33 379.11c-0.11966-0.14937-0.23334-0.2917-0.34205-0.42803 0.17153 0.0261 0.35203 0.0542 0.53951 0.0831 1.9515 0.30172 4.7826 0.75682 8.2957 1.3713 7.0283 1.229 16.786 3.0904 27.702 5.6266 21.862 5.0772 48.264 12.83 66.722 23.542 18.457 10.713 38.337 29.821 53.642 46.313 7.6426 8.2358 14.125 15.799 18.698 21.302 2.2866 2.7526 4.0945 4.989 5.33 6.5367 0.11867 0.14936 0.23334 0.29171 0.34104 0.42804-0.17151-0.0261-0.35101-0.0542-0.53949-0.0833-1.9515-0.30171-4.7816-0.75782-8.2957-1.3713-7.0283-1.229-16.786-3.0914-27.702-5.6265-21.861-5.0772-48.263-12.83-66.721-23.543-18.458-10.712-38.337-29.82-53.642-46.312-7.6426-8.2358-14.126-15.799-18.699-21.303-2.2856-2.7516-4.0935-4.988-5.329-6.5357z"/> |
|||
<path d="m189.34 379.12c-0.11967-0.15082-0.23334-0.29458-0.34205-0.43225 0.17154 0.0264 0.35201 0.0546 0.5395 0.084 1.9516 0.30469 4.7827 0.76428 8.2959 1.3848 7.0284 1.2411 16.786 3.1209 27.703 5.682 21.862 5.1272 48.265 12.956 66.723 23.774 18.458 10.818 38.338 30.115 53.644 46.77 7.6427 8.317 14.126 15.955 18.698 21.512 2.2866 2.7797 4.0946 5.0382 5.3302 6.6011 0.11866 0.15082 0.23334 0.29458 0.34105 0.43224-0.17154-0.0264-0.35102-0.0546-0.5395-0.084-1.9516-0.30469-4.7817-0.76528-8.2959-1.3848-7.0284-1.2411-16.786-3.1219-27.703-5.682-21.861-5.1272-48.264-12.956-66.722-23.775-18.459-10.817-38.338-30.114-53.644-46.769-7.6427-8.317-14.127-15.955-18.699-21.513-2.2856-2.7787-4.0936-5.0371-5.3292-6.6001z"/> |
|||
<path d="m410.21 378.76c0.18845-0.0291 0.36793-0.0562 0.53942-0.0832-0.10768 0.13636-0.22135 0.27974-0.341 0.42913-1.2354 1.548-3.043 3.7849-5.3283 6.5371-4.5726 5.5054-11.055 13.07-18.696 21.308-15.303 16.496-35.181 35.608-53.635 46.322-18.456 10.715-44.854 18.469-66.713 23.547-10.915 2.5356-20.671 4.3985-27.699 5.6267-3.5127 0.61461-6.3434 1.0708-8.2946 1.3726-0.18745 0.0291-0.36793 0.0561-0.53941 0.0832 0.10868-0.13635 0.22234-0.27973 0.34199-0.42912 1.2354-1.548 3.0431-3.7849 5.3284-6.5371 4.5716-5.5054 11.055-13.07 18.696-21.307 15.303-16.497 35.18-35.608 53.635-46.323 18.456-10.715 44.854-18.469 66.712-23.547 10.915-2.5356 20.671-4.3985 27.699-5.6267 3.5137-0.6146 6.3444-1.0708 8.2946-1.3726z"/> |
|||
<path d="m183.22 378.76c0.18844-0.0291 0.36792-0.0561 0.53942-0.0832-0.10768 0.13634-0.22135 0.27971-0.34101 0.4291-1.2354 1.548-3.0431 3.7849-5.3285 6.537-4.5727 5.5054-11.055 13.07-18.696 21.308-15.303 16.496-35.181 35.608-53.637 46.322-18.456 10.715-44.855 18.469-66.714 23.547-10.915 2.5356-20.672 4.3985-27.699 5.6267-3.5134 0.6146-6.3438 1.0708-8.2948 1.3726-0.18807 0.0291-0.36798 0.0561-0.53953 0.0832 0.10838-0.13634 0.22218-0.27971 0.34129-0.42911 1.2356-1.548 3.0432-3.7849 5.329-6.537 4.5719-5.5054 11.055-13.07 18.696-21.306 15.303-16.497 35.181-35.608 53.637-46.323 18.456-10.715 44.855-18.469 66.713-23.547 10.915-2.5356 20.672-4.3985 27.699-5.6267 3.5138-0.6146 6.3445-1.0708 8.2948-1.3726z"/> |
|||
<circle cx="414" cy="378" r="27"/> |
|||
<circle cx="187" cy="378"/> |
|||
<path d="m299.84 3.9752c0.178-0.45587 0.34-0.87084 0.486-1.2433 0.147 0.37248 0.309 0.78745 0.486 1.2433 0.9 2.3145 2.187 5.6829 3.732 9.8942 3.089 8.4232 7.207 20.216 11.326 33.692 8.245 26.98 16.456 60.603 16.456 87.437s-8.211 60.457-16.456 87.437c-4.119 13.476-8.237 25.269-11.326 33.692-1.545 4.2111-2.832 7.5794-3.732 9.8939-0.177 0.4559-0.339 0.87081-0.486 1.2437-0.146-0.37292-0.308-0.78783-0.486-1.2437-0.9-2.3145-2.187-5.6828-3.731-9.8939-3.089-8.4232-7.208-20.216-11.326-33.692-8.246-26.98-16.457-60.603-16.457-87.437s8.211-60.457 16.457-87.437c4.118-13.476 8.237-25.269 11.326-33.692 1.544-4.2114 2.831-7.5797 3.731-9.8942z"/> |
|||
<path d="m261.38 799 25.902-528h26.096l25.902 528z"/> |
|||
<path d="m303.5 272.39c-0.30616-0.38092-0.58532-0.72884-0.83445-1.0418 0.39622 0.059 0.83645 0.12598 1.3207 0.20096 2.4564 0.37792 6.0193 0.94779 10.442 1.7156 8.8458 1.5376 21.127 3.8671 34.866 7.0394 27.508 6.3506 60.756 16.052 84.014 29.469 23.257 13.418 48.289 37.339 67.548 57.967 9.6182 10.304 17.779 19.767 23.534 26.653 2.8766 3.4422 5.1528 6.2406 6.7077 8.1772 0.30717 0.38191 0.58533 0.72984 0.83445 1.0428-0.39521-0.06-0.83645-0.12696-1.3197-0.20095-2.4563-0.37791-6.0203-0.94779-10.443-1.7166-8.8448-1.5367-21.127-3.8671-34.866-7.0384-27.508-6.3516-60.756-16.053-84.013-29.47-23.258-13.417-48.29-37.338-67.548-57.967-9.6192-10.304-17.78-19.766-23.535-26.652-2.8766-3.4432-5.1528-6.2406-6.7077-8.1782z"/> |
|||
<path d="m296.78 271.55c0.48325-0.075 0.92446-0.14197 1.3207-0.20096-0.25013 0.31293-0.52826 0.66085-0.83442 1.0418-1.5558 1.9366-3.8309 4.7349-6.7084 8.1781-5.7549 6.8864-13.914 16.348-23.533 26.652-19.258 20.629-44.289 44.55-67.545 57.967-23.257 13.417-56.503 23.119-84.01 29.469-13.739 3.1723-26.019 5.5027-34.864 7.0394-4.4223 0.76882-7.9852 1.3387-10.441 1.7166-0.48374 0.074-0.92456 0.14097-1.3206 0.20096 0.24953-0.31294 0.52796-0.66086 0.83442-1.0428 1.5555-1.9366 3.8309-4.7349 6.7081-8.1781 5.7547-6.8854 13.914-16.348 23.533-26.652 19.257-20.629 44.288-44.549 67.545-57.967 23.256-13.417 56.502-23.119 84.009-29.469 13.739-3.1723 26.02-5.5018 34.864-7.0394 4.4232-0.76782 7.986-1.3377 10.442-1.7156z"/> |
|||
<circle cx="300.33" cy="270" r="33"/> |
|||
<rect x="136.33" y="777" width="328" height="22" rx="1"/> |
|||
</g><path d="m201.8-4e-4s-201.8 0-201.8 134v656.72c0 5.3024 5.3727 9.2808 12 9.2808h576c6.627 0 12-3.9784 12-9.2808v-656.72c0-134-198.21-134-198.21-134h-101.79zm201.21 162.4c-3.8661 0-6.9999 2.5072-6.9999 5.6v600.8c0 3.0928 3.1341 5.6 6.9999 5.6h43.998c3.8661 0 6.9999-2.5072 6.9999-5.6v-600.8c0-3.0928-3.1341-5.6-6.9999-5.6z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,716)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0,720.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 19 KiB |
@ -0,0 +1,360 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:tb="https://thingsboard.io/svg" width="600" height="800" fill="none" version="1.1" viewBox="0 0 600 800"><tb:metadata xmlns=""><![CDATA[{ |
|||
"title": "HP Wind turbine", |
|||
"description": "Wind turbine with various states.", |
|||
"searchTags": [ |
|||
"energy", |
|||
"power", |
|||
"renewable", |
|||
"generation" |
|||
], |
|||
"widgetSizeX": 3, |
|||
"widgetSizeY": 4, |
|||
"tags": [ |
|||
{ |
|||
"tag": "background", |
|||
"stateRenderFunction": "var color = ctx.properties.stoppedColor;\nif (ctx.values.running) {\n color = ctx.properties.runningColor;\n}\nelement.attr({fill: color});", |
|||
"actions": null |
|||
}, |
|||
{ |
|||
"tag": "clickArea", |
|||
"stateRenderFunction": null, |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'click');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "critical", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.criticalColor});\nif (ctx.values.critical) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = ctx.values.critical && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'criticalClick');" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"tag": "warning", |
|||
"stateRenderFunction": "element.attr({fill: ctx.properties.warningColor});\nvar warning = ctx.values.warning && !(ctx.values.warning && ctx.values.critical)\nif (warning) {\n element.show();\n} else {\n element.hide();\n}\n\nvar elementCriticalAnimation = element.remember('criticalAnimation');\nvar criticalAnimation = warning && ctx.values.criticalAnimation;\n\nif (elementCriticalAnimation !== criticalAnimation) {\n element.remember('criticalAnimation', criticalAnimation);\n if (criticalAnimation) {\n ctx.api.cssAnimate(element, 500).attr({opacity: 0.15}).loop(0, true);\n } else {\n ctx.api.resetCssAnimation(element);\n }\n}\n", |
|||
"actions": { |
|||
"click": { |
|||
"actionFunction": "ctx.api.callAction(event, 'warningClick');" |
|||
} |
|||
} |
|||
} |
|||
], |
|||
"behavior": [ |
|||
{ |
|||
"id": "running", |
|||
"name": "{i18n:scada.symbol.running}", |
|||
"hint": "{i18n:scada.symbol.running-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.running}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ATTRIBUTE", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": "SHARED_SCOPE", |
|||
"key": "running" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": null, |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warning", |
|||
"name": "{i18n:scada.symbol.warning}", |
|||
"hint": "{i18n:scada.symbol.warning-state-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.warning}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"MAJOR", |
|||
"MINOR", |
|||
"WARNING", |
|||
"INDETERMINATE" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "warningClick", |
|||
"name": "{i18n:scada.symbol.warning-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.warning-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "critical", |
|||
"name": "{i18n:scada.symbol.critical}", |
|||
"hint": "{i18n:scada.symbol.critical-state-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.critical}", |
|||
"defaultGetValueSettings": { |
|||
"action": "GET_ALARM_STATUS", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"scope": null, |
|||
"key": "state" |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"getAlarmStatus": { |
|||
"severityList": [ |
|||
"CRITICAL" |
|||
], |
|||
"typeList": null |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;", |
|||
"compareToValue": true |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "criticalClick", |
|||
"name": "{i18n:scada.symbol.critical-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": "{i18n:scada.symbol.critical-state}", |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
}, |
|||
{ |
|||
"id": "criticalAnimation", |
|||
"name": "{i18n:scada.symbol.warning-critical-state-animation}", |
|||
"hint": "{i18n:scada.symbol.warning-critical-state-animation-hint}", |
|||
"group": null, |
|||
"type": "value", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": "{i18n:scada.symbol.animation}", |
|||
"defaultGetValueSettings": { |
|||
"action": "DO_NOTHING", |
|||
"defaultValue": false, |
|||
"executeRpc": { |
|||
"method": "getState", |
|||
"requestTimeout": 5000, |
|||
"requestPersistent": false, |
|||
"persistentPollingInterval": 1000 |
|||
}, |
|||
"getAttribute": { |
|||
"key": "state", |
|||
"scope": null |
|||
}, |
|||
"getTimeSeries": { |
|||
"key": "state" |
|||
}, |
|||
"dataToValue": { |
|||
"type": "NONE", |
|||
"compareToValue": true, |
|||
"dataToValueFunction": "/* Should return boolean value */\nreturn data;" |
|||
} |
|||
}, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": null |
|||
}, |
|||
{ |
|||
"id": "click", |
|||
"name": "{i18n:scada.symbol.on-click}", |
|||
"hint": "{i18n:scada.symbol.on-click-hint}", |
|||
"group": null, |
|||
"type": "widgetAction", |
|||
"valueType": "BOOLEAN", |
|||
"trueLabel": null, |
|||
"falseLabel": null, |
|||
"stateLabel": null, |
|||
"defaultGetValueSettings": null, |
|||
"defaultSetValueSettings": null, |
|||
"defaultWidgetActionSettings": { |
|||
"type": "doNothing", |
|||
"targetDashboardStateId": null, |
|||
"openRightLayout": false, |
|||
"setEntityId": false, |
|||
"stateEntityParamName": null |
|||
} |
|||
} |
|||
], |
|||
"properties": [ |
|||
{ |
|||
"id": "runningColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#FFFFFF", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.running}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "stoppedColor", |
|||
"name": "{i18n:scada.symbol.colors}", |
|||
"type": "color", |
|||
"default": "#666666", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.stopped}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "warningColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#FAA405", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.warning}", |
|||
"divider": true, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
}, |
|||
{ |
|||
"id": "criticalColor", |
|||
"name": "{i18n:scada.symbol.alarm-colors}", |
|||
"type": "color", |
|||
"default": "#D12730", |
|||
"required": null, |
|||
"subLabel": "{i18n:scada.symbol.critical}", |
|||
"divider": null, |
|||
"fieldSuffix": null, |
|||
"disableOnProperty": null, |
|||
"rowClass": "", |
|||
"fieldClass": "", |
|||
"min": null, |
|||
"max": null, |
|||
"step": null, |
|||
"disabled": false, |
|||
"visible": true |
|||
} |
|||
] |
|||
}]]></tb:metadata> |
|||
<g fill="#fff" stroke="#000" tb:tag="background"> |
|||
<path d="m299.54 4.8761c0.168-0.54602 0.322-1.0458 0.462-1.4976 0.14 0.4518 0.294 0.95157 0.462 1.4976 0.90101 2.9339 2.188 7.2028 3.734 12.54 3.09 10.674 7.211 25.619 11.332 42.697 8.247 34.178 16.472 76.822 16.472 110.89s-8.225 76.708-16.472 110.89c-4.121 17.079-8.242 32.023-11.332 42.698-1.546 5.3367-2.833 9.6057-3.734 12.54-0.168 0.54586-0.322 1.0457-0.462 1.4976-0.14-0.45189-0.294-0.95177-0.462-1.4976-0.90101-2.9343-2.188-7.2032-3.734-12.54-3.09-10.674-7.211-25.619-11.332-42.698-8.247-34.178-16.472-76.821-16.472-110.89s8.225-76.708 16.472-110.89c4.121-17.078 8.242-32.023 11.332-42.697 1.546-5.337 2.833-9.606 3.734-12.54z" stroke-width="2"/> |
|||
<path d="m594.35 510.77c0.38868 0.4189 0.74439 0.80179 1.0651 1.1497-0.46062-0.10497-0.97021-0.22094-1.5268-0.34891-2.9896-0.68682-7.328-1.7065-12.719-3.0372-10.783-2.6613-25.777-6.5663-42.618-11.537-33.703-9.9494-74.721-24.149-104.2-41.181-29.484-17.032-62.284-45.474-87.747-69.704-12.724-12.107-23.6-23.146-31.295-31.16-3.8479-4.0059-6.8994-7.2551-8.9887-9.5015-0.38868-0.4189-0.74439-0.80179-1.0651-1.1497 0.46063 0.10497 0.97021 0.22094 1.5268 0.34891 2.9896 0.68682 7.328 1.7065 12.72 3.0372 10.782 2.6613 25.776 6.5663 42.617 11.537 33.703 9.9494 74.721 24.149 104.21 41.181 29.483 17.032 62.283 45.474 87.746 69.704 12.724 12.107 23.6 23.146 31.295 31.16 3.8479 4.0059 6.8994 7.2551 8.9887 9.5015z" stroke-width="1.9997"/> |
|||
<path d="m8.8693 513.3c-0.55636 0.12796-1.066 0.24393-1.527 0.3489 0.32108-0.3479 0.67656-0.73081 1.0654-1.1497 2.0893-2.2464 5.1409-5.4956 8.9883-9.5025 7.695-8.0129 18.571-19.052 31.294-31.159 25.462-24.23 58.262-52.672 87.745-69.704 29.484-17.032 70.502-31.232 104.2-41.181 16.841-4.9707 31.835-8.8756 42.617-11.537 5.3916-1.3306 9.73-2.3504 12.72-3.0372 0.55655-0.12797 1.0661-0.24394 1.5267-0.34891-0.32074 0.34791-0.67644 0.73081-1.0651 1.1497-2.0893 2.2464-5.1408 5.4956-8.9886 9.5015-7.6947 8.0139-18.571 19.053-31.294 31.16-25.462 24.23-58.262 52.672-87.746 69.704-29.483 17.032-70.502 31.232-104.2 41.181-16.84 4.9707-31.834 8.8756-42.617 11.537-5.3914 1.3306-9.7295 2.3504-12.719 3.0372z" stroke-width="1.9997"/> |
|||
<path d="m261.06 799 25.887-456h26.11l25.887 456z" stroke-width="2"/> |
|||
<circle cx="300" cy="342" r="33" stroke-width="2"/> |
|||
<rect x="247" y="777" width="106" height="22" rx="1" stroke-width="2"/> |
|||
</g><path d="m201.8 0s-201.8 0-201.8 134v656.72c0 5.3024 5.3727 9.2808 12 9.2808h576c6.627 0 12-3.9784 12-9.2808v-656.72c0-134-198.21-134-198.21-134h-101.79zm201.21 162.4c-3.8661 0-6.9999 2.5072-6.9999 5.6v600.8c0 3.0928 3.1341 5.6 6.9999 5.6h43.998c3.8661 0 6.9999-2.5072 6.9999-5.6v-600.8c0-3.0928-3.1341-5.6-6.9999-5.6z" fill-opacity="0" tb:tag="clickArea"/><g transform="translate(0,716)" fill="#d12730" style="display: none;" tb:tag="critical"> |
|||
<rect width="84" height="84" rx="4" fill="#fff" style=""/> |
|||
<rect width="84" height="84" rx="4" style=""/> |
|||
<rect x="2" y="2" width="80" height="80" rx="2" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m44.559 27.562-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g><g transform="translate(0 720.94)" fill="#faa405" style="display: none;" tb:tag="warning"> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" fill="#fff" style=""/> |
|||
<path d="m35.955 2.2112c1.4741-2.9482 5.6813-2.9482 7.1554 0l35.528 71.056c1.3298 2.6596-0.6042 5.7889-3.5777 5.7889h-71.056c-2.9735 0-4.9075-3.1292-3.5777-5.7889z" style=""/> |
|||
<path d="m37.72 3.1061c0.7371-1.4741 2.8407-1.4741 3.5778-1e-5l35.528 71.056c0.6649 1.3298-0.3021 2.8944-1.7888 2.8944h-71.056c-1.4868 0-2.4538-1.5646-1.7889-2.8944z" stroke="#000" stroke-opacity=".87" stroke-width="4" style=""/> |
|||
<path d="m42.092 32.618-0.4688 20.059h-4.0234l-0.4883-20.059zm-5.1172 26.211c0-0.7161 0.2344-1.3151 0.7031-1.7968 0.4818-0.4948 1.1459-0.7422 1.9922-0.7422 0.8334 0 1.4909 0.2474 1.9727 0.7422 0.4817 0.4817 0.7226 1.0807 0.7226 1.7968 0 0.6901-0.2409 1.2826-0.7226 1.7774-0.4818 0.4818-1.1393 0.7226-1.9727 0.7226-0.8463 0-1.5104-0.2408-1.9922-0.7226-0.4687-0.4948-0.7031-1.0873-0.7031-1.7774z" fill="#000" fill-opacity=".87" style=""/> |
|||
</g> |
|||
</svg> |
|||
|
After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,48 @@ |
|||
{ |
|||
"widgetsBundle": { |
|||
"alias": "high_performance_scada_energy_system", |
|||
"title": "High-performance SCADA energy system", |
|||
"image": "tb-image:aHBfc2NhZGFfZW5lcmd5X3N5c3RlbV9idW5kbGVfaW1hZ2UucG5n:IkhpZ2gtcGVyZm9ybWFuY2UgU0NBREEgZW5lcmd5IHN5c3RlbSIgc3lzdGVtIGJ1bmRsZSBpbWFnZQ==:SU1BR0U=;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAAAllBMVEXe3t7b29vf398AAADf39/e3t7e3t7////Gxsbj4+OpqanFxcW5ubmtra2xsbGVlZWlpaWhoaHS0tLx8fG2trbU1NTBwcGvr6+MjIybm5twcHC+vr6jo6OYmJizs7Orq6vExMSZmZnCwsKdnZ2ampqRkZE3Nze7u7t+fn6EhIRjY2NVVVVsbGx5eXmJiYlEREQvLy8aGhprAy3xAAAABnRSTlPvIK8Av79l/pT7AAAJyElEQVR42uzVXW/aMBiGYWin57VjmyRmNGFLKOWjQACt/P8/t7yJQVMPrE62KkBcR88ZuokTD56HPwa4dU/D58Hw9jNabcYT7sIdHKve4F5C8Ai5No+Qa/MIuTaPkGvzCLk2QSHKIB6rFAIEhayniCc9fVx2c2ou++OUwi88ZGEtYrHbfZOf9/59r9w2f963Fj7hIUaOK0SSWyKSS8s7461rsOmk3TMNj/CQKVGBOJSiTsJNkpjcACjHxOYWHsEhCyJhEYWW1FkDeKNeDcD0c2LgERpi+McrxFFqIYQeaQCqnshWrQAUL7zFGh7BIVNq5YjDJm1Jnfd7lySrnQLT23aX8AgPWbjTG0VFTHKJyohlXLKZ8xy/wiMwxB3rsUEwd0yZ+ecdyQCs+yk1PAJDMuokiMFmxMZl/9W6PJ2EOlrBIzAkp84IUahym6yOG7D0WCarXQE2Oq6Scm3gERoyJxbrA5wJfiCV4l3zljVPu5R8IW7gERZy+fKPC0SgJu4e+XS0Ss+/FSkkI2eKQJ8vxOx7L8RXcjaI4W3GF2KhAKhU8CXYbTHjrZfwCAz5Tc4LohA/pVy7nbZRqds7IVYaHqEhc3ImFgGKkZM1TVO6XR4Oh9rtX+2uRo4BYodYQY7UCCDofwggdoiRdJYDuOEQYuFXYjEqk68qqwKIHZJHCoGQ9FVSgcUNSe8lxNBFBXarIVrSmQG71ZC/1Jpdc6sgEIbv3AXRIB9VE2OStmN6mpnT8/9/3RlSbGTxzmFC9yYTfV14wrIsRLQk/f4ikHDhM+ANVSD6BSB/VLg39SbDJKCyBxFst1o0tkEOsEP2ID20q/nXEFH2IK+Aai1tVVSUOYgrrnYrsx0VEQ2Zg3A6HVq/rlNRkzlI7U/jouMgutsyKmuQEulpHMYHdKW9X8kapIl//hHcIK2Isgbp4zWDRznr9C3KGuQAzkSQorSf60R0zhnEb9G1WF77K7AvYxETm0HYJ0sEUuko2V6lu/Zax6JhM8j+a58IZIjqkav13uuoaum3gtgJJkwDYqJ6ZARvZ0VFm0Nr4oC3NCBv3teBhJGzHS2I240g3MXVjScBEXTzcVm0S0WHbSBsYsAY+6fTgJDJLtOBdB2wzn0kD62yMYdew2z94dSIbaFFB2T/9Ql6YglA5kh6UxUf7X0cwNu9J/b1VCk5izaB7J1nt470t2TpVwup5pGwc/q1P0Q73ymzBYRPrqF7KzdMMEcYAHK79CpHDaDNUcHDEHFraE0ffLaPKUGJYizqwGldnAQKcyyuNrjO0YotIN3+YX2CEbno0OelKCofRgMLb/WiyLZolBYijqKZy5GakbudyhOkbHXM4Yt2UayQgCxzBMER1jiK2oOskZzb/EDqgvqTi7Kx8SJLRcfcQI60oWLwd16W5Qi+RCR5gYQcwYuSPKgiSxkNXE4glEO3D2cYvi6gBNXKfEAoB17oDv1loZaGkuQCQji0sG/0Pyu+BGFIHjjmASKDNrTr+VmRHmB4GoSchTM+B5CWLSisQOKrYvQwnvtiSy9n/PNBSvUYC/7hO4enWswgofNyd+Je33Hxw2KvzwYpR991I6wG9L44ADNVXYYgqhGSwY8I70/5b+fyuSBKAjDRCaPBmX4HZ8a3ik1dDt/OK7VrEVZEWvB3YQFG9VQQ+b+9c1tuGwTCcI+wIJCEhK26suW2aafpRfv+j9ehIgtZuQk20QRn8t9kRP7Y+5nDamUUDfbzr1AzWT2oDTQ65G+YQfiPYPqmBxD3TU0jh9tnHlo74CgGzHLRH5gKqUJ6xGBSTM6mLxwl1NMNrc1FPdLxexzsZq6iFONegCDBdJxPWgBNzvDgwrVnG5GqDavPBemkIBxM+ewHd4Rq/lEtTYREHLvn2njmJnJQB/Nq64sPtcWhFf34AswXjcd/JkvqrGcAoSey3xR+iauiX4sdjrBwTjwG00RIngGk2vJIdcUwRuMNNecCZDTC9pFJn/w0/kfSwjlqk0Eoh5Cdb67ji7o7AA4IEkwu+AFNgpCsKQpCxsQ0YLvDq9FkcdUCrtoKTTEtM1MGSS4Ijoj5KiJDWceFpmiyyz4Eacm2pzrq3WlVEgrSIQeM97deWayiPGzlffFkBm8Kqs3msRm/AgherIaBvOsco41NNk6I+46aUFVtgKNpJVGQnYOo5bB8xw5wZZWzyUfXyhF6nz0ATm986IysnWnHVhIF+dMcW92xpXxhC7EJws0KejoOf5xJeNMJdXq6GRqWqfydDyDIWRvAcgOdciZYcyrkg2hBzqMdmZOKTb0zFQ5CN2doDwJdbLoSkF5HDf2ySDBzzchWUz6IX3JjECzbqKlskNpvckA1WAJSk2HrKR/kK90c5IKmw61N3BxUGQVBzdmTSis4XApiKUjLvczS9JgU+X4rHQE/RMgDORAQMtwkmlJeDCVU6HhtHtbXLhPkBrNfFAztgGPiBwycT7XXPl7nJH9UQw4IjgZJyHzcxJQCgn+lRQQCKRe38kA0TePqBIjhTscUkPoUCKSA6DyQAUEiMjrcRm9KAWmn7SwAsFsvmSA7HjJAfIyGkDntqEmngPzu+cXqf2eA1HRL2ci9FF3JhhQQyTMkM0C2y4TopalpLBrEcqeJBO00UFN7BSBb0kA6AGZT0SDw34TYLkwlg3RAJzbQ/zCAaUCWDOJvBAVCFncAVr9QNIjAcjAiIx2gPEhVMIgWpBxUgl7qx+pXFA1CT7h1jyBVMF0NSK/jBhq38Q26YJA9TeMmAqGmkkFqWg7uA4imJlMwyFdaDtYcpWn1uy8YxD5w20WzMF0ByCFuoHFLNKWCbCRKcREdrAZyQ9O4XILg/SNtMogA1Ib30cFqIIqm8SNHHRamgoeWpuWg4ihLl+RjwSADBTEcJWn1q9LnyGfUrTtArQWCMZq4gcY9XlFCHEMDStEleSgYZEtXqImjDDWNySC9QPXxgVg9j0xx0DRue/byC59Qkm8+Ba0Oso3zCI0b7kwFDy2gSy1w1LQwlQuCFbqKG0gHAKyYEDfKKlB9Jkio0CEOmsQNAk1PDvJ9RpAiF0TgjtWogcStEKR6ahDZI1AeiBakHNQxSEfKeJEAouQZ+o7939+6Y3U5CP26T5N9xdiWBGL5eUKOsDtXZYL0OjTQuA0tfk8LnelC8DAk9WUge1rXNjGIWpoeVqXhLH2KmMBJmeoCkP1u90Pe6dfOCRtCGzG17FE1QogmeYrSpf0CkJZfoG0CCNb7yVUE/1JdN0jV4s3nhYIYlkiigHMx/mQ5IKa5QIYlvTBLVqUbxU7p9Rk9heoVpDS9gpSmV5DS9ApSml7Mg3XffGAvQu9ezkO037+9/sdov/n49v1fKIFpFaO3gooAAAAASUVORK5CYII=", |
|||
"scada": true, |
|||
"description": "Bundle with high-performance SCADA symbols for energy system", |
|||
"order": 9410, |
|||
"name": "High-performance SCADA energy system" |
|||
}, |
|||
"widgetTypeFqns": [ |
|||
"hp_solar_panel", |
|||
"hp_stand_solar_panel", |
|||
"hp_wind_turbine", |
|||
"hp_wind_turbine_cluster", |
|||
"hp_fuel_generator", |
|||
"hp_industrial_fuel_generator", |
|||
"hp_circuit_breaker2", |
|||
"hp_horizontal_circuit_breaker", |
|||
"hp_voltage_relay", |
|||
"hp_3_phase_voltage_relay", |
|||
"hp_voltage_stabilizer", |
|||
"hp_energy_meter", |
|||
"hp_two_rate_energy_meter", |
|||
"hp_three_rate_energy_meter", |
|||
"hp_four_rate_energy_meter", |
|||
"hp_electrical_distribution_board", |
|||
"hp_power_socket", |
|||
"hp_single_key_switch", |
|||
"hp_two_key_switch", |
|||
"hp_top_light_bulb", |
|||
"hp_bottom_light_bulb", |
|||
"hp_battery", |
|||
"hp_inverter", |
|||
"hp_large_inverter", |
|||
"hp_horizontal_energy_systems_controller", |
|||
"hp_vertical_energy_systems_controller", |
|||
"hp_small_power_transformer", |
|||
"hp_power_transformer", |
|||
"hp_low_voltage_transformer_tower", |
|||
"hp_low_voltage_tower", |
|||
"hp_high_voltage_tower", |
|||
"hp_consumers", |
|||
"hp_house", |
|||
"hp_apartments", |
|||
"hp_manufacture" |
|||
] |
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
{ |
|||
"widgetsBundle": { |
|||
"alias": "high_performance_scada_oil_gas", |
|||
"title": "High-performance SCADA oil & gas", |
|||
"image": "tb-image:aHBfc2NhZGFfb2lsX2dhc19zeXN0ZW1fYnVuZGxlX2ltYWdlLnBuZw==:IkhpZ2gtcGVyZm9ybWFuY2UgU0NBREEgb2lsICYgZ2FzIiBzeXN0ZW0gYnVuZGxlIGltYWdl:SU1BR0U=;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAAAflBMVEXe3t7b29vf398AAADf39/e3t7e3t7////Gxsapqam5ubnR0NDj4+Otra2hoaHS0tLi4uK4uLjx8fGYmJikpKSdnZ2VlZWWlpbU1NS1tbWnp6eKioqysrLLy8uampra2tqvr6/X19eRkZF+fn7Dw8N1dXW/vr6FhYViYmJwcHCzXr36AAAABnRSTlPvIK8Av79l/pT7AAAI0UlEQVR42uza23LaMBSF4Z5msbyFpOFMAXcg0HT6/i/YGqvdNhBiYXtipf0v7CRX+UaSbWQ+fP745QNS79PHzx8+ps8A8JvxCe+idzCtwpC8Fwj+Q4bWvw0R7oQiJIbTAxAvwOmAIsFgiodYXxxPODecMYmGeD4fAOQoGtCYxEIMgcMQJbEQD5wlCvEYRLEQoig/wCBkMIgiIYKyE+claTBzKxJClO0AegDI8x0GUTREz5NTbvJUR0RwzjjAn1GpQlgcDif4nfiDAZAqBAIc8nBjNyY3ef6MQRR/HzlI7ZI7lCfHaIg5oA5Bu5bZzZaIKh6Cha9BHFq2HN2sb4gjra84rHAreCDKcjUr+n4b8n1WtHKW0LqDSGGwyFFmaOBMLGRv57uM4+moSWNONvuF7RrC8vhsBTBSEJwBEdfXUXRfux+RADIiJM4OSIIQVs8sHUmOiKlBSgd8pGS/2M8zrhutkemY2XyZ7TuGeKlBXHAJ4qN1q9mP+4ofs5WTXq5agipkqePzYLP7kBkiioIQIRrAifouSggCOsN0IaIQxyorJiOrb4uy5StrZFG2WVnTF8QZkAh5NjW4ebbKxqPo1pPdk2paQ7xHaGsAWMTMreXW7ibTUYum3DxtXBcQHRA5H6PmVjbqpKxLCEE9FUliEP49Uc9FNjGIBIdCwHSnFm8cwKQg9PqPXxgEr3ZkB4zp+tgBxNSWif7cDAJx3542nLa4+NrtkugAItefR3TxN4x2tthN1uPQ6G7jP01W2dyxszu7BXELAkIQk7Gh433I0ZaJ6fZZi8RtCEiPagN/aHS4hNSN2rAhwpch1qLasCEEX4JYCuIy4lbfXn+M36ycGHQMEby02K0aG27QbSbjadM7Bzfzhe0YAtYg6oAASGU7iLi8IaoD9OlAJBAUog5AkoHI1cBQHVEQu3nabyacNlsi2W6ebdkhRBe6QtQBIjKxDV4rzB0NtE4goiSFSI131SBf9ChEP+qKwV3IIF+9GWgsIRUHPNFDPUC8oJItDq7iePvX7U0hgmokIALt7b9L9yAEFENo6YwIL34TIk2IQPu796ulOrXC3q/29pethhDvoYV3PBzU3GoIEVRypr73W/TmcysaUjiqe7+hVCBE6OwIkPrfLTqvzxEpHApRSSojEiDBcXv/2qPv2kPoURQcNYhKBH3XHmJQFhw1COSsTAMixUEddQhcKSH6rj3EAlDHBaSUpDEiBCqOS0iQ0KPbeppa6riGBAn6rD3kynENKSWCfmsP4YXjGlJIHoYcs4t+ekQUARF1XENUQjyUrEcXrYmIYiDquIao5Fd797rcJgxEAbjX1UogBBRfErupm16mff8XbO2RWYuDqyCBx+30/EiMmTb6ugtSgYwtJcW2Q0hbUSSJkJ04ECJZO0rJRkE2hJkF4l4EYUMp0Qh5IswMEEPGvQDClAZ5RoglzAwQJpFch3DqRLK/WWsZEslVCFMqRE+4H5ILCSWWDf+OYQu0hDhGCDNh8iEFhRIbvhCCS5HYEiG1IUguRIZn+Cok55crqwm3R/IgRlrq/J3ZXLZW1u2exwnPCmRDROJj4PGB5Io8T3i+LA/CNJQUXFBRyf4syGEM0hFkvoqIpCJyFhxzttaeILNBRGKJ2BEVFsbupktcMwZpHEFyIc7RQGL8Y4GOxZHUW7KIjy3k8yE4NsvGT/bE4kjuraoFBS7kF4GQXR/fNcaRYcqGbJSKH+05EBwbnoUr3EVToxUGF/JLVETmePcCdco0ggv5hSDM67Wxds1MEEcTs79VaxkcWsU+6yg7sbVwIZ8PKQhi5UU2hFmpCeffnIpMg0z9+bYch9SWJEtBmC3z6UtuRar1D30lP9YVQXIgfPXNEcfEK9mdL0ezC868jS+KSJaoiBDYMmX1Fu/9iJvgiNeN9z06yoLEHb4iZPN6a3UugWpacbSstN98pvkgPPqWh4gkBdKVZ4falgKpWbXavzzQghXBhzNRPqWxjo1UbwXCx+1GmmshCD4uC39gSmP5MdccQI46aa5lWotDDUqcm9pYYxClW2muBSoy/kh5Ukm+6VO++Hm8d/jjpf3p9ydD4g6BiGQ6pPPnWqmCHOyyQ3UzQRi3QghKOAHSBPPIEhBLkqIigIhkIoR3/ajbAeTpEvKFZ28tcQhEJNMghWbuIY0uw5m91rqHMAslB1KEDoSgxMV/sOmUuoAoHa61tuoColTH+RDH6BBIIBayiToeVAhRtRaHLlUIUQ8mG2LAARCQRHuLH9UAIlO5nwp1K5CjhLMh4AAISKIV2akAwuW5DnLyrTmAqEMuhMEBEJDEIPsygPgRw7cA0la5FQEHQFDCsStyoxBuL9cqTQhRXT5EHAhBSfy0ZcsBpJHp4wgYh9Q2C+IcOBCCEhO/iyCQmi8ndN2vHEOI+pAFMehACEpc/MqiQJp2DNI2A4jNg6ADISjh+JVFgWjlcxKx8tEDSJcFYXQgBCU2slgEiPzPkHvWrBCDDoSghJMgzWnzGuSQBbEVRSDTJXoA2fbNFKzn6wFklQMxa0qBUGGi04hAlEBgc67WKigNQuYFV60bfcpOha3V9mtgfUrjPZxVkVQIT3xkQ2b2VqvRVHRzSHRGtFuFkUVWG7k2nwLhFEj8SvbTHxyqHd27o2UrktZbrhtxlP0/fqMgmyILYigJEl/JM0iai3bbNuBgyoLwUhByq1JdpNXBZv3UBpvPUo+bV4QpkvWu7BkffsAh8bWntN2B6I4hRHa1b5ibx9WmYK/qx87UrR6ZWW+0JclNWivpSjaz75oPD+L4+sFPxzIJ3q4i+Xepv5yXJKuCIFkQHAtLrP9yTpEKkXBX6YfDLsJIgcBf+bG8mo9YstTMD4HD7JO6mk80iKGFkt9aUyD3VRForSkQlyiZHYJn0EmQxN5aAIIjmQi5n4oMIX9tRUaer66vZkunfCafe4LISKAU8cLcU2tV3Odj+cJ85z7mBpL/H+x41/kPubf8Mx+s++od/RN58+98iPbb13//x2i/ev/67S8YXTU9MiU8PgAAAABJRU5ErkJggg==", |
|||
"scada": true, |
|||
"description": "Bundle with high-performance SCADA symbols for oil and gas system", |
|||
"order": 9405, |
|||
"name": "High-performance SCADA oil & gas" |
|||
}, |
|||
"widgetTypeFqns": [ |
|||
"hp_drilling_rig", |
|||
"hp_hook", |
|||
"hp_rotor", |
|||
"hp_preventer", |
|||
"hp_drill", |
|||
"hp_drilling_line", |
|||
"hp_platform", |
|||
"hp_electrical_engine", |
|||
"hp_oil_pump", |
|||
"hp_gas_wellhead", |
|||
"hp_gas_preventer", |
|||
"hp_heat_exchanger", |
|||
"hp_turbine", |
|||
"hp_large_vertical_separator", |
|||
"hp_large_vertical_separator_with_connector", |
|||
"hp_large_horizontal_separator", |
|||
"hp_large_horizontal_separator_with_connector", |
|||
"hp_small_vertical_separator", |
|||
"hp_small_vertical_separator_with_connector", |
|||
"hp_small_horizontal_separator", |
|||
"hp_small_horizontal_separator_with_connector" |
|||
] |
|||
} |
|||
@ -0,0 +1,51 @@ |
|||
{ |
|||
"fqn": "value_stepper", |
|||
"name": "Value stepper", |
|||
"deprecated": false, |
|||
"image": "tb-image;/api/images/system/value-stepper-widget.svg", |
|||
"description": "Allows users to click the buttons to send commands to devices or update attributes/time series data. Configurable settings let users define how to retrieve the initial state and specify actions for each button.", |
|||
"descriptor": { |
|||
"type": "rpc", |
|||
"sizeX": 3.5, |
|||
"sizeY": 2, |
|||
"resources": [], |
|||
"templateHtml": "<tb-value-stepper-widget\n [ctx]='ctx'\n [widgetTitlePanel]=\"widgetTitlePanel\">\n</tb-value-stepper-widget>", |
|||
"templateCss": "", |
|||
"controllerScript": "self.onInit = function() {\n self.ctx.$scope.actionWidget.onInit();\n}\n\nself.typeParameters = function() {\n return {\n previewWidth: '230px',\n previewHeight: '110px',\n embedTitlePanel: true,\n displayRpcMessageToast: false\n };\n};\n\nself.onDestroy = function() {\n}\n", |
|||
"dataKeySettingsForm": [], |
|||
"settingsDirective": "tb-value-stepper-widget-settings", |
|||
"hasBasicMode": true, |
|||
"basicModeDirective": "tb-value-stepper-basic-config", |
|||
"defaultConfig": "{\"showTitle\":true,\"backgroundColor\":\"#ffffff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"initialState\":{\"action\":\"EXECUTE_RPC\",\"defaultValue\":0,\"executeRpc\":{\"method\":\"getState\",\"requestTimeout\":5000,\"requestPersistent\":false,\"persistentPollingInterval\":1000},\"getAttribute\":{\"key\":\"state\",\"scope\":null},\"getTimeSeries\":{\"key\":\"state\"},\"getAlarmStatus\":{\"severityList\":null,\"typeList\":null},\"dataToValue\":{\"type\":\"NONE\",\"compareToValue\":true,\"dataToValueFunction\":\"/* Should return integer value */\\nreturn data;\"}},\"disabledState\":{\"action\":\"DO_NOTHING\",\"defaultValue\":false,\"getAttribute\":{\"key\":\"state\",\"scope\":null},\"getTimeSeries\":{\"key\":\"state\"},\"getAlarmStatus\":{\"severityList\":null,\"typeList\":null},\"dataToValue\":{\"type\":\"NONE\",\"compareToValue\":true,\"dataToValueFunction\":\"/* Should return boolean value */\\nreturn data;\"}},\"leftButtonClick\":{\"action\":\"EXECUTE_RPC\",\"executeRpc\":{\"method\":\"setState\",\"requestTimeout\":5000,\"requestPersistent\":false,\"persistentPollingInterval\":1000},\"setAttribute\":{\"key\":\"state\",\"scope\":\"SERVER_SCOPE\"},\"putTimeSeries\":{\"key\":\"state\"},\"valueToData\":{\"type\":\"VALUE\",\"constantValue\":0,\"valueToDataFunction\":\"/* Convert input integer value to RPC parameters or attribute/time-series value */\\nreturn value;\"}},\"rightButtonClick\":{\"action\":\"EXECUTE_RPC\",\"executeRpc\":{\"method\":\"setState\",\"requestTimeout\":5000,\"requestPersistent\":false,\"persistentPollingInterval\":1000},\"setAttribute\":{\"key\":\"state\",\"scope\":\"SERVER_SCOPE\"},\"putTimeSeries\":{\"key\":\"state\"},\"valueToData\":{\"type\":\"VALUE\",\"constantValue\":0,\"valueToDataFunction\":\"/* Convert input integer value to RPC parameters or attribute/time-series value */\\nreturn value;\"}},\"appearance\":{\"type\":\"simplified\",\"autoScale\":true,\"minValueRange\":-100,\"maxValueRange\":100,\"valueStep\":0.5,\"showValueBox\":true,\"valueUnits\":\"\",\"valueDecimals\":1,\"valueFont\":{\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"size\":16,\"sizeUnit\":\"px\",\"lineHeight\":\"24px\"},\"valueColor\":\"#000\",\"valueBoxBackground\":\"rgba(0, 0, 0, 0.04)\",\"showBorder\":true,\"borderWidth\":1,\"borderColor\":\"#305680\"},\"buttonAppearance\":{\"leftButton\":{\"showButton\":true,\"icon\":\"arrow_back_ios_new\",\"iconSize\":24,\"iconSizeUnit\":\"px\",\"mainColorOn\":\"#3F52DD\",\"backgroundColorOn\":\"#FFFFFF\",\"mainColorDisabled\":\"rgba(0,0,0,0.12)\",\"backgroundColorDisabled\":\"#FFFFFF\",\"customStyle\":{\"enabled\":null,\"hovered\":null,\"pressed\":null,\"activated\":null,\"disabled\":null}},\"rightButton\":{\"showButton\":true,\"icon\":\"arrow_forward_ios\",\"iconSize\":24,\"iconSizeUnit\":\"px\",\"mainColorOn\":\"#3F52DD\",\"backgroundColorOn\":\"#FFFFFF\",\"mainColorDisabled\":\"rgba(0,0,0,0.12)\",\"backgroundColorDisabled\":\"#FFFFFF\",\"customStyle\":{\"enabled\":null,\"hovered\":null,\"pressed\":null,\"activated\":null,\"disabled\":null}}},\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"padding\":\"12px\"},\"title\":\"Value stepper\",\"dropShadow\":true,\"enableFullscreen\":false,\"widgetStyle\":{},\"actions\":{},\"widgetCss\":\"\",\"noDataDisplayMessage\":\"\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":null,\"weight\":\"500\",\"style\":null,\"lineHeight\":\"24px\"},\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"pageSize\":1024,\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"configMode\":\"basic\",\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"datasources\":null,\"borderRadius\":null}" |
|||
}, |
|||
"resources": [ |
|||
{ |
|||
"link": "/api/images/system/value-stepper-widget.svg", |
|||
"title": "\"Value stepper\" system widget image", |
|||
"type": "IMAGE", |
|||
"subType": "IMAGE", |
|||
"fileName": "value-stepper-widget.svg", |
|||
"publicResourceKey": "s0UKoqbiMCcKVn0pD55XZzPUR89XlXAO", |
|||
"mediaType": "image/svg+xml", |
|||
"data": "PHN2ZyB3aWR0aD0iMjE0IiBoZWlnaHQ9Ijc2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbHRlcj0idXJsKCNhKSI+PHJlY3QgeD0iOC41IiB5PSI0LjUiIHdpZHRoPSIxOTciIGhlaWdodD0iNTkiIHJ4PSI0IiBmaWxsPSIjZmZmIiBzaGFwZS1yZW5kZXJpbmc9ImNyaXNwRWRnZXMiLz48cmVjdCB4PSI5IiB5PSI1IiB3aWR0aD0iMTk2IiBoZWlnaHQ9IjU4IiByeD0iMy41IiBzdHJva2U9IiMzMDU2ODAiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIvPjxyZWN0IHg9IjIwLjUiIHk9IjE4IiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHJ4PSIxNiIgZmlsbD0iIzMwNTY4MCIvPjxwYXRoIGQ9Im0zOC41IDQwIDEuNDEtMS40MUwzNS4zMyAzNGw0LjU4LTQuNTlMMzguNSAyOGwtNiA2IDYgNloiIGZpbGw9IiNmZmYiLz48cmVjdCB4PSI2NSIgeT0iMTguNSIgd2lkdGg9Ijg0IiBoZWlnaHQ9IjMxIiByeD0iMy41IiBmaWxsPSIjMzA1NjgwIiBmaWxsLW9wYWNpdHk9Ii4wNCIvPjxyZWN0IHg9IjY1IiB5PSIxOC41IiB3aWR0aD0iODQiIGhlaWdodD0iMzEiIHJ4PSIzLjUiIHN0cm9rZT0iIzMwNTY4MCIvPjxwYXRoIGQ9Ik04OC41OSAzNy41VjM5aC03LjYzdi0xLjI5bDMuNy00LjA0Yy40MS0uNDYuNzMtLjg1Ljk3LTEuMTkuMjMtLjMzLjQtLjYzLjQ5LS45YTIuMyAyLjMgMCAwIDAtLjA2LTEuNzNjLS4xMy0uMjctLjMyLS41LS41OC0uNjVhMS43IDEuNyAwIDAgMC0uOTMtLjI0Yy0uNDIgMC0uNzcuMS0xLjA2LjI3LS4yOC4xOS0uNS40NC0uNjUuNzZhMi42IDIuNiAwIDAgMC0uMjIgMS4xaC0xLjg4YzAtLjY3LjE1LTEuMjcuNDYtMS44Mi4zLS41NS43My0uOTkgMS4zLTEuM2E0LjEgNC4xIDAgMCAxIDIuMDgtLjVjLjc2IDAgMS40LjEzIDEuOTQuMzguNTMuMjYuOTMuNjIgMS4yIDEuMDlhMy4zNiAzLjM2IDAgMCAxIC4yNSAyLjcyIDUgNSAwIDAgMS0uNDkgMS4wNCA5IDkgMCAwIDEtLjc0IDEuMDRjLS4yOC4zNS0uNi43LS45NCAxLjA1bC0yLjQ2IDIuNzFoNS4yNVptOS4yNy05Ljg4djEuMDRMOTMuMyAzOWgtMS45OGw0LjU0LTkuODhoLTUuOXYtMS41aDcuODlabTEuOTggMTAuNDRjMC0uMjkuMS0uNTMuMy0uNzMuMi0uMi40Ni0uMy44LS4zcy42LjEuOC4zYy4yLjIuMy40NC4zLjczYTEgMSAwIDAgMS0uMy43NGMtLjIuMi0uNDYuMy0uOC4zcy0uNi0uMS0uOC0uM2ExIDEgMCAwIDEtLjMtLjc0Wm02LjQ5LTQuMzUtMS41LS4zNy42MS01LjcyaDYuMTR2MS42SDEwN2wtLjMyIDIuNzlhMy42NyAzLjY3IDAgMCAxIDEuODEtLjQ2Yy41NCAwIDEuMDIuMDkgMS40NC4yNi40Mi4xNy43OS40MyAxLjA4Ljc2LjMuMzMuNTMuNzMuNjggMS4yYTUgNSAwIDAgMSAwIDMuMDcgMy4xNyAzLjE3IDAgMCAxLTEuODUgMi4wM2MtLjQ2LjE5LTEuMDEuMjktMS42NS4yOWE0LjYgNC42IDAgMCAxLTEuMzYtLjIgMy43MyAzLjczIDAgMCAxLTEuMTctLjYyIDMuMTQgMy4xNCAwIDAgMS0xLjE5LTIuNDJoMS44NWMuMDUuMzcuMTUuNjkuMy45NS4xNi4yNS4zOC40NS42NC41OGEyIDIgMCAwIDAgLjkyLjJjLjMyIDAgLjYtLjA1LjgzLS4xNi4yMy0uMTEuNDItLjI3LjU3LS40OC4xNS0uMjIuMjctLjQ3LjM0LS43NWEzLjYyIDMuNjIgMCAwIDAtLjAyLTEuODcgMS45OCAxLjk4IDAgMCAwLS4zOC0uNzJjLS4xNy0uMi0uMzgtLjM2LS42My0uNDdhMi4xMyAyLjEzIDAgMCAwLS44OC0uMTdjLS40NSAwLS44LjA3LTEuMDQuMi0uMjMuMTMtLjQ1LjI5LS42NS40OFptMTEuNzUtNC4xNmMwLS4zOC4xLS43Mi4yOC0xLjA0LjE5LS4zMi40NC0uNTcuNzUtLjc2YTEuOTYgMS45NiAwIDAgMSAyLjA1IDBjLjMxLjE5LjU2LjQ0Ljc0Ljc2LjE5LjMyLjI4LjY2LjI4IDEuMDRzLS4xLjczLS4yOCAxLjA1Yy0uMTguMzEtLjQzLjU2LS43NC43NGEyLjA0IDIuMDQgMCAwIDEtMi44LS43NCAyLjAzIDIuMDMgMCAwIDEtLjI4LTEuMDVabTEuMDUgMGExIDEgMCAwIDAgMSAxIC45Ny45NyAwIDAgMCAuOTgtMSAxIDEgMCAwIDAtLjI3LS43Mi45My45MyAwIDAgMC0uNy0uM2MtLjI4IDAtLjUxLjEtLjcxLjMtLjIuMi0uMy40My0uMy43MlptMTIuMTkgNS43NWgxLjk1YTQuNSA0LjUgMCAwIDEtLjYyIDEuOTkgMy43MiAzLjcyIDAgMCAxLTEuNSAxLjM3IDUgNSAwIDAgMS0yLjMzLjUgNC4xNSA0LjE1IDAgMCAxLTMuMzQtMS40NWMtLjQtLjQ4LS43MS0xLjA0LS45Mi0xLjctLjIxLS42Ni0uMzItMS40LS4zMi0yLjIydi0uOTVjMC0uODEuMS0xLjU1LjMyLTIuMjIuMjItLjY2LjUzLTEuMjIuOTQtMS42OS40LS40Ny45LS44NCAxLjQ2LTEuMDlhNC43OCA0Ljc4IDAgMCAxIDEuOTMtLjM3Yy45IDAgMS42Ny4xNyAyLjMuNS42Mi4zMyAxLjEuOCAxLjQ1IDEuMzguMzUuNTkuNTYgMS4yNi42NCAyLjAyaC0xLjk1Yy0uMDUtLjQ4LS4xNy0uOS0uMzUtMS4yNWExLjc3IDEuNzcgMCAwIDAtLjc2LS44IDIuNzMgMi43MyAwIDAgMC0xLjMzLS4yOGMtLjQ1IDAtLjg0LjA4LTEuMTcuMjVhMi4yIDIuMiAwIDAgMC0uODQuNzNjLS4yMi4zMy0uMzkuNzItLjUgMS4yLS4xMS40Ny0uMTcgMS0uMTcgMS42di45N2MwIC41Ny4wNSAxLjEuMTUgMS41Ni4xLjQ3LjI2Ljg2LjQ3IDEuMi4yMS4zMy40OC41OS44MS43Ny4zMy4xOC43Mi4yNyAxLjE4LjI3LjU2IDAgMS0uMDggMS4zNS0uMjYuMzUtLjE4LjYxLS40NC44LS43OC4xNy0uMzQuMy0uNzYuMzUtMS4yNVoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjg3Ii8+PHJlY3QgeD0iMTYxLjUiIHk9IjE4IiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHJ4PSIxNiIgZmlsbD0iIzMwNTY4MCIvPjxwYXRoIGQ9Im0xNzUuNSAyOC0xLjQxIDEuNDEgNC41OCA0LjU5LTQuNTggNC41OUwxNzUuNSA0MGw2LTYtNi02WiIgZmlsbD0iI2ZmZiIvPjwvZz48ZGVmcz48ZmlsdGVyIGlkPSJhIiB4PSIuNSIgeT0iLjUiIHdpZHRoPSIyMTMiIGhlaWdodD0iNzUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz48ZmVPZmZzZXQgZHk9IjQiLz48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0Ii8+PGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0ib3V0Ii8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwLjA0IDAiLz48ZmVCbGVuZCBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTY2OV8xNjA3MDUiLz48ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTY2OV8xNjA3MDUiIHJlc3VsdD0ic2hhcGUiLz48L2ZpbHRlcj48L2RlZnM+PC9zdmc+", |
|||
"public": true |
|||
} |
|||
], |
|||
"scada": false, |
|||
"tags": [ |
|||
"command", |
|||
"downlink", |
|||
"device configuration", |
|||
"device control", |
|||
"invocation", |
|||
"remote method", |
|||
"remote function", |
|||
"interface", |
|||
"subroutine call", |
|||
"inter-process communication", |
|||
"server request", |
|||
"update attribute", |
|||
"set attribute", |
|||
"add time-series" |
|||
] |
|||
} |
|||